工程软件市场以各种通用的计算机辅助设计系统为代表,这些系统用于提高企业工程师的工作效率。3D建模系统就是其中之一。它们具有强大的实体和曲面建模功能以及强大的内置工具。但即使是这些解决方案有时也不足以执行特定的生产任务。
然后应用程序编程接口(API)需要专家的帮助,即一组现成的类、过程、函数、结构和常量,旨在简化与基础软件产品集成的自定义程序模块的创建.CAD系统中API的可用性允许微调设计系统,并且可以显着减少为企业现有的CAD开发附加软件组件的时间。因此,KOMPAS3D的基本功能可以通过应用程序轻松扩展,用于电子设备和电气设备、机器零件、管道、金属结构、建筑物和各种用途的结构的设计。
但是,如果没有一个可用的计算机辅助设计系统具有适当的功能范围以供专家充分使用,该怎么办?有一条出路-开发您自己的高度专业化的CAD!
API是一个辅助软件开发人员接口,它允许您使用一组现成的功能、方法和程序快速为它们创建程序和组件,这些功能、方法和程序以程序员容易理解和方便的形式呈现。通常,此类对象的内部实现对用户是隐藏的,并且是软件源代码所有者的知识产权的主体。
技术文档中规定了使用应用程序编程接口的功能。根据该函数的目的,它还指示需要将哪些值馈送到特定函数的输入,以便在其输出处获得正确的值。因此,API允许您在开发应用程序时从各个程序块的实现中抽象出来。黑匣子的例子清楚地揭示了这个概念(图1)。
从物理上讲,API函数被表示为一个单独的程序模块,它以DLL格式从外部动态连接到主项目(图2)。
那么,什么是“几何内核API”?
首先,这是计算机辅助设计系统在其工作中使用的内核的所有导出方法的集合,以及原始形式的内部内核对象:点、矩阵、坐标系、曲线、曲面、体、辅助物体等
同时,KOMPASAPI是选定高级方法的“包装器”,其中既有内核方法,也有构建在它们之上的KOMPAS方法(在更大程度上),让精通编程的专家能够使用CAD时自动执行日常操作。这可以是一个新的面板、按钮或一个单独的外部软件组件,它与质量上的新操作相关联,或者,例如,连续执行KOMPAS环境中已有的许多功能的结果。
这样:
C3DAPI以原始形式为开发人员提供所有低级方法;CADAPI是CAD系统某些高级方法的附加组件。下面是在Python中为_in_range的简单宏更改面部颜色的实现示例(图3):
我们连接结构和API:
importKompas10API5asKAPI
fromwin32com.clientimportDispatch
importLDefin2D
importLDefin3D
我们得到KOMPAS头部接口:
iKompasObject=Dispatch(‘KOMPAS.Application.5’)
iKompasObject=KAPI.KompasObject(iKompasObject)
我们得到3Ddocument界面:
iDocument3D=iKompasObject.ActiveDocument3D()
我们从文档中获取所选对象管理器的接口:
SlcMan=iDocument3D.GetSelectionMng()
我们看选择对象的数量来构建一个处理周期:
Count=SlcMan.GetCount()
我们取零,初始元素:
n=0
Face0=SlcMan.GetObjectByIndex(0)
我们记得他的颜色:
ColorFace0=Face0.ColorParam()
color0=ColorFace0.color
然后,在一个循环中,对于所有其他选定的对象,我们设置结果颜色值:
orninrange(0,Count,1):
Face=SlcMan.GetObjectByIndex(n)
ColorFace=Face.ColorParam()
color=ColorFace.color
ColorFace.color=color0
Face.Update()
SlcMan.UnselectAll()
因此,我们得到了一个小的自动化。因此,借助宏,我们可以立即选择一组面并以参考面的颜色对其进行着色,而使用标准KOMPAS3D工具,我们需要单击每个面,调用其属性,选择所需的颜色并应用指定的参数。
为了直观地比较这两个界面,让我们举一个使用C3DAPI在C++中构建挤压体的示例,
其中ExtrusionSolid是构建挤压体的方法;
sweptData-关于生成曲线的信息;
方向—挤压方向(矢量);
?solid1-向前挤压的对象;
solid2-以相反方向执行挤压的对象;
checkIntersection-用于组合solid1和solid2实体并检查相交的标志;
参数-有关挤压方法的信息:
side1-正向;
side2-在相反的方向;
way==sw_scalarValue-按scalarValue的长度;
种族-对相应方向有偏见;
厚度1-从曲线的母线向外缩进;
厚度2-从曲线的母线向内缩进;
shellClosed-构造体的封闭性;
?checkSelfInt-检查自相交的构造结果;
名称-面部命名器;
n-生成曲线段的名称;
结果-构建的外壳(主体)。
也就是说,使用C3DAPI允许您使用位于几何建模主题领域的基本对象,并执行各种操作,以及对它们进行转换。
基于KOMPAS3D系统的应用程序编程接口的功能特征和该CAD底层的C3D几何核心,形成了一组特征,开发人员可以通过这些特征明确地确定需要使用这些辅助软件工具中的每一个来成功实现他们的目标和目标。
因此,要开发扩展标准KOMPAS3D复合体的功能并作为一种插件或附加的程序,使用KOMPASAPI就足够了。此外,由于API的原因,产品中不会涉及任何新功能,无论是指定图元的不寻常方式的开发,还是构建非标准类型的2D和3D几何,都不能参与。要运行此类软件,您需要预先安装KOMPAS3D系统的许可版本。
如果开发人员需要在不参考现有CAD系统的情况下快速创建独特的软件产品,则需要使用C3DAPI。我们正在谈论创建专门的CAD/CAM/CAE系统或其他类型的工程软件,其功能与几何准确的2D和3D模型的构建和处理相关。
图上。图5显示了一个可视图像,说明了KOMPAS3DCAD系统如何与各种API交互。
莫尔多瓦州立大学的亚历山大·瓦西里耶维奇·谢金。NPOgareva正在为KOMPAS3D3D建模系统开发CNC模块:
“数控模块。Turning”(图6)旨在自动化CNC车床(2轴加工)控制程序的开发;“数控模块。铣削”用于编程CNC铣床(2.5轴加工)。这两个应用程序都使用直接在KOMPAS3D中创建的零件的三维模型,能够自动计算加工路径,在G代码中生成控制程序,并在系统窗口中可视化加工。以下是Alexander在编写应用程序过程中对API使用的评论:
“在C3D几何内核出现在软件市场之前,我们在使用KOMPAS3DAPI开发应用程序库方面拥有多年经验。然而,当使用几何模型解决需要特殊速度的问题时,使用KOMPAS编程接口被证明不是很方便。这个API的性能特点可以解释为使用它类似于用户在KOMPAS3D环境中的工作方式:为了执行任何计算操作,首先需要在文档中创建几何对象,然后才调用对应的数学API函数。此外,在文档中创建对象总是与将其写入内部KOMPAS容器相关联,并且通过COM接口调用本身需要一些时间。
我们到哪里去了?
我们目前正在使用基于两个应用程序编程接口的混合方法。KOMPASAPI仍用于开发嵌入式界面、处理文件以及使用KOMPAS3DCAD窗口中的外部三角测量对象进行可视化。我们在那些需要很高性能和节省计算资源的项目中使用C3DAPI。顺便说一句,关于通过外部三角测量对象的可视化,在这方面,KOMPASAPI显示出比直接使用OpenGL工作更高的性能和更大的便利性。”
因此,在软件开发过程中使用C3D几何核心可以让您在不参考现有CAD系统的情况下创建全新的跨平台CAD、CAM和CAE系统,设计移动和云应用程序,并补充现有程序的功能具有3D和2D建模、设置参数约束和转换数据的功能。
同时,当需要补充和完善KOMPAS3D3D建模系统,以及为该系统的现有用户开发新的软件模块时,使用KOMPAS3DAPI就足够了。
在http://www.C3DLabs.com上了解有关C3D几何建模引擎、其功能和许可条款的更多信息。如有任何问题,请联系C3DLabs或近期的ASCON办事处。?
链接:https://pan.baidu.com/s/1LeMAuTNC48TxzLbxe7jbeQ
提取码:ssss
命令:ap
APPLOAD已成功加载slopedrawing20220524.fas。
命令:
1.适用天汉V2005.1喷锚和桩锚,天汉V2015.1土钉及放坡、桩墙撑锚;
2.命令1:ssss,选择天汉基本信息图dxf文件夹,批量生产剖面图;
3.命令2:BP,选择天汉简图(放大1000)生成单个剖面图;
4.知乎用户:ssss岩土设计。
https://www.zhihu.com/video/1514734703525834752
在设计及施工阶段,经常出现图纸变更。依靠人工对比耗时长,还容易出现错漏。
以上图纸你能找到多少处不一样?市面上有很快的CAD快速看图工具,大多要求用户将图纸上传到服务,才能实现图纸对比。对于数据敏感的项目,容易造成数据泄露、产生安全风险。而且这类型应用按用户数进行收费,对于设计院及施工企业是一笔不少的长期开支。
针对以上难题,BCore图纸引擎为客户提供另一种选择。BCore是一款拥有自主知识产权的国产图纸引擎,支持本地私有化部署,并且提供强大的二次开发能力,帮助客户搭建个性化的CAD图纸应用。
快速显示新旧图纸的差异通过算法对图纸内容进行识别,快速找到图纸差异,并能智能判断图元属于新增、删除、修改等不同状态。图元较少的图纸,只需1秒就能找出全部不同,大幅提高效率。
BCore还提供差异图元列表,用户可逐个定位,查看图元细节。
图纸差异快速定位CAD与BIM二三位联动(revit模型)
CAD图纸图元能和BIM模型构件进行一一对应,选中图元/构件就能快速定位并高亮显示
二三维联动图元级操作
支持对图元进行选择、显隐,并能对通过关键字搜索快速定位图元。可对图纸中的图元、平面进行直线距离、角度、面积的测量。
支持对图元、平面进行多种测量除了CAD图纸引擎,BCore还为智能建造量身打造BIM轻量化引擎
BCore图形引擎:BCore图形引擎,让BIM应用开发更简单想了解更多更多关于BCore图形引擎的详细信息,可以查看BCore图形引擎主页简介