KOMPAS-3D的分析工程师兼程序员,程序员,开发人员Valery Golovanev说,如何在3D几何核心中开发CAD应用程序? 抒情介绍和对机械齿轮世界的深入了解。

我的曾曾祖父埃菲姆·斯蒂芬诺维奇(Efim Stepanovich)(一名犁夫,木匠和木匠),曾曾祖父特里丰·埃菲莫维奇(Trifon Efimovich)(一名犁夫和木匠)和我的祖父米哈伊尔·特里丰诺维奇(Mikhail Trifonovich)(铁匠,木匠,木匠,木匠)都是工匠。 而且我是一个熟练的人。 工程师和业余木匠。
对于任何一个高手来说,这都是困难的。。。如果没有有趣的任务,这将是困难的。如果没有足够的实施机会,这将是困难的。 摆在一个真正的工匠身上,有时似乎不太可行,摆在自己面前,并执行它们。
六年前,即2012年的夏天,我回到了我的心血结晶-设计旋转体KOMPAS-Shaft(现在是KOMPAS-3D的应用程序“轴和3D机械齿轮”的库),然后在我的IP印刷品上描绘了一对带有圆齿的技巧。 那时,我只梦想着有一天我可以用3D制作它们-这是一种象征。 随着年龄的增长,命运的标志和符号会变得更加谨慎……目标已经实现!
从蜗轮到KOMPAS-3D中的准双曲面传输
这一切是如何开始的? 有欲望! 我真的很想为设计人员提供机械齿轮的真实3D模型,而不是一些“相似之处”,以便您可以:
- 根据3D模型制作齿轮,蜗轮或星号。 或带有圆齿的小圆锥形,或(关于梦...)准双曲面对。
- 在3D装配中看到的不是有条件的“鳄鱼”,而是真实的模型。
- 还有……为什么,实际上,为什么有必要将机械传动的重点放在传统技术的可能性(局限性)上? 用技术侵犯设计是错误的。 从操作的角度来看,有必要使活动的工作表面具有最佳的3D几何形状的合适齿轮,技术应确保其制造。 这样的技术,称为添加剂,已经存在! 现代工业3D打印机使用金属打印完全装载的产品成为可能,并且实验进行得很远:用加成法创建的零件很快就会在机械制造产品中变得很普遍,即使不是质量,而是小规模-当然。
大约花了三年的时间,在2015年的春天,我决定使用COMPASS API制作真正的蜗轮。 很长时间以来,我就很清楚此任务的实现原理:必须使用工具扫掠工件的主体,即在KOMPAS-3D中模拟加工。 并不是说这很容易。 用一组众多的刀具位置进行切口是不正确且耗时的。 有必要形成一组工具位置的表面,并沿着它们创建切口的包络面。 这基本上发生了,但是工作非常缓慢。
另外,有必要在该过程中增加真实感,即要考虑到3D几何图形形成中的公差。 总的来说,解决了一个问题后,我需要更多-更高的精度,蜗轮齿的尺寸以及带有该齿轮廓的图纸中引线的形成(如果工具技术人员想要制作测量模板,该怎么办?)。 顺便说一下,在同一年,我在Kazzinkmash工厂根据我的模型制造了两对蜗轮,这些蜗轮成功地投入工作单位并获得了积极的反馈。


来吧! 在2015年秋天,随着KOMPAS-3D应用程序部门负责人Vladimir Panchenko的申请(或要求),在Alexei Sultanov的指导下,我开始研究C3D内核的编程,并以此为基础构建了KOMPAS-3D的数学模型。 目标是获得自由! 我明白了。 我不再受限于执行的操作和过程的数量。 一切都发生得足够快。 在出口处,我有一个车身-从蜗轮工件上切下的一排切口。 好了,那么一切都很简单:布尔运算和蜗轮已经准备就绪。

C3D Labs开发主管Nikolay Golovanov
KOMPAS-3D系统的某些应用程序(包括“轴和机械传动3D”应用程序)可直接与几何型芯C3D一起使用。 这使应用程序开发人员可以通过扩展功能(使用低级功能)和用于构造几何对象的技术来更灵活地解决问题。
如果您正在为KOMPAS-3D编写应用程序,并想直接使用C3D的功能,则有必要引用KOMPAS-3D本身内置的内核。 这种方法有一个局限性:您只需要使用C ++,因为COMPASS本身就是用这种语言编写的。 如果您决定在自己的应用程序中使用单独的内核副本,则可以使用C#,在某些情况下还可以使用JavaScript。
其次是外齿轮缸。 这似乎很简单,但是与此同时,在KOMPAS-3D中使用斜齿轮和螺旋切割的情况下,API的构建也花费了很长时间。 现在,这些齿轮可以形成真正的后盾。
好吧,在2015年底,开始了用圆齿加工圆锥齿的过程。
到那时,该算法已在COMPASS API上完成。 几何形状不是很好的第一个模型是在一天的纯时间之前形成的。 在这里,一张纸的表面还不够。 创建了磨合锥齿轮,有必要通过用原型齿轮切割头对其进行处理来形成砂轮。 然后,根据获得的3D几何形状,形成并保存齿轮工具的原型,从所有这些元素中删除受控尺寸,并将其转移到工程图上。 此外,由于已经证明是完全磨合的,所以已经在齿轮上了,有必要对接触进行局部定位,即,以确保接触点在齿轮中的正确位置和尺寸。
一项艰巨而有趣的任务。 根据我的评论,Nikolai Golovanov和他的团队有时会统治C3D的功能。 因此,我的小圆锥体对于内核也是一个很好的测试。

C3D Labs开发主管Nikolay Golovanov
最近,在C3D的几何核心中,在截面上构造的放样表面已进行了重大处理。 它们被用来模拟齿轮的接触点。
根据我的模型,Konichki在不同的企业中反复制作,并在真实节点中工作。 定位算法已经解决。

但是很难对此进行详细说明。 这种本地化不适合我。 这太难提供了。 在2018年春季,这个想法来自一种更加“简单”的本地化方式。 实际上,这个想法不是我的,我在Klingelnberg公司的材料中对其进行了监视-他们将其称为
轮廓和纵向凸度 。

我称它为“用小刀凿牙”,这种情况发生了。 在切口轮廓的每个部分中,都进行了重新计数,土墩成功了。 定位系数变得更加简单易懂。

简要介绍一下结果:一个接触点,这是齿轮齿每旋转一个周期的一组即时接触区域= 360 /齿轮齿数,现在始终位于齿的有效表面的中间(在“齿圈”的顶部),其尺寸大于60%整个表面。
它有什么作用:
- 齿轮将更加耐用可靠
- 传输中的噪音会降低
- 传输对安装错误的敏感度将降低。
没错,到目前为止,仅在CNC上制造它们是可能的,但是将来还会增加附加技术。
好吧,到最后...今年实现了梦想的传递,今天我最难的梦想是双曲面曲线的传递。 回到CAD开发的六年后,为此要做的事情很多。 尽管实际上这条道路可以追溯到1991年,当时它是一个定制项目,该项目创建了用于计算带有圆齿的锥齿轮的软件。

自然地,在它们中实现牙齿“土堆”。


ASCON KOMPAS-3D应用部主管Vladimir Panchenko
审查“ Kazzinkmash”促使在“轴和机械传动”应用程序中使用了芯子。 对我来说很明显,您可以更快地构建,剩下的就是让Valery相信这一点。 令人不安的情况是Valery不喜欢C ++,并且您只能以这种编程语言在KOMPAS-3D的上下文中使用C3D函数。 感谢Alexei Sultanov,我不得不进行布局。
只需将代码简单地翻译到额头,即可立即获得明显的速度提高:蜗轮齿的精确模型在10秒钟内建成。 蜗轮在API上构建了大约一个小时。
好吧,瓦雷里(Valery)的精湛技艺允许他用圆齿制造圆锥。
这就是我们将“轴和机械传动”项目提升到一个全新水平的方式。
3D核心如何在机械齿轮仿真中工作
内核功能使用了最常见的操作:创建平面,构建草图/曲面/曲面的交集等。
例如,请考虑形成带有圆齿的斜齿轮(即齿轮,而不是齿轮)的切口的3D模型所需的操作顺序:
- 我们形成锥的表面-分隔锥,峰锥和谷锥。 为此,在相应的计算距离处创建平面,并在其上构建具有所计算直径的圆的草图,并且圆锥体已经基于它们。
- 我们绘制分割锥和槽锥的中心点。
- 接下来,形成到凹部(1)的圆锥的切平面和沿着凹部(2)中的轮的中点的平面。 在平面(1)和XOY平面的相交处,形成相交轴(3),并且在平面(2)与平面(1)相交处,形成相交轴(4)。
- 在这些轴的交点处,将有一个齿轮切割头的顶部穿过的点。

- 从这一点出发,知道了齿的平均倾斜角度(就在这一点上),我们就可以计算出齿轮切割头的中心。
- 齿轮切割头的半圆弧在槽(5)的圆锥和分隔圆锥上的投影将作为我们的引导。 在该导向装置(5)上,将构建切口的底面(分三部分的放样,并计算出齿轮切割头的轮廓)。

- 此外,通过在加工车轮时在齿轮切割头的不同旋转角度执行类似操作的过程,我们获得了一系列切割表面(6)。

- 之后,在导向的法向平面中有足够数量的截面(至少20个)(齿轮切割头的半圆弧在分隔锥上的投影),将获得表面阵列的交集。

- 对所得的相交线集进行数学处理将使您能够获得其包络线,这将是车轮齿的真实切口的一部分。

- 根据切口的这些部分的总和,将建立最终的放样-轮齿的切口。



- 控制尺寸,齿廓本身以及所有这些将转移到工程图上,将自动从获得的几何图形中获取(构建牙齿,制作截面以及根据其制作和计算截面)。


- 尽管在这种特殊情况下,一切都非常简单,而且没有考虑读者看不见的数学计算的“细微”细微差别。
在这种情况下,主机还需要什么? 空间想象力,幻想和梦想的能力到最后!

ASCON KOMPAS-3D应用部主管Vladimir Panchenko
什么是更快的KOMPAS-3D或C3D API? 这个问题听起来很矛盾。 C3D是KOMPAS-3D几何核心! 内核如何工作,COMPASS-3D也是如此。 但是经过仔细检查,尤其是在应用程序开发人员的上下文中,一切都准备就绪。
开发人员的标准方案如下所示。 调用KOMPAS-3D API函数会导致在文档模型中添加一个对象,然后创建几何图形,请转到C3D。 然后沿着链以相反的顺序将数据返回给API,现在由开发人员掌握创建对象的接口。
同时,每个步骤的数据都会发生一些变化:在API中将它们打包在COM中,在文档模型中检查它们在当前上下文中的正确性,并添加属性和图形数据。 当然,所有这些动作都是经过优化的,只需很少的时间。 如果开发人员需要获得圆柱状的轴台阶,那么他可以在KOMPAS-3D中创建草图和拉伸操作-沿链条只有两个对象和两个调用。 但是这种情况从根本上改变了带有圆齿的锥齿轮的几何形状。 为此,您需要创建许多辅助曲线,曲面(它们都不是分析圆柱体和圆锥体,而是NURBS)及其相交。 数据泵送开始花费大量时间。 核心将大部分处于空闲状态。 为避免时间浪费,请尽量减少与API和文档模型的交互-在主体中添加一个操作并获取主体,该主体在C3D中建模。 我们只有一次进入C3D的过程,并且在堆栈上的最佳状态是,我们创建了所有辅助几何图形,与所需的几何图形相交,并得到结果。 只有内核可以工作并且非常快。
Valery Golovanev ,Kurgan公司分析师兼程序员 温暖的斯坦。