这篇文章的内容涉及比较多,我一次写不完,要分几次去更新。
相信很多人在刚开始学NX装配相关二次开发的时候,都会有点搞不清楚,什么是实例,什么是原型这些专业术语等等。
我在刚接触的时候,也是很懵逼的。今天我整理了一下,做个装配篇特辑。我喜欢把自己的所学每日记下来,变成一种习惯,日积月累,提升自己。
作为一名开发者。一名程序员。就是要不断的去学习新知识新技术。一旦停止学习就意味着被淘汰。所以我并不在意别人去学习我的博客文章。
因为我是在不断的提升自我,坚持写博客就是一种体现。
------------------------------------------------------------------------
Assembly装配的常用术语
在装配环境中总保持只有一个部件是当前活动的,它叫工作部件(workpart)。用户创建的所有UF对象、表达式等都是在工作部件中创建。此外,还有一个叫当前显示部件(displaypart)的概念。
在UG的某些应用(如Modeling)时,当前显示部件和工作部件可以不同。
装配图是一类特殊的Part,它本身由多个Part所组成。装配图中的各个子图称为组件,组件本身也可以是装配图。装配图中并不包含子图,而是子图的再现。子图的所有再现都来自子图的原型,
子图的每个再现都叫做子图的实例。
装配树的结构
UG装配是以树型结构组织装配中的部件,一个部件文件中只能有一棵装配树,即只能存在一个装配根节点。装配中的节点由部件原型、部件事件与部件实例3种对象进行描述。
装配节点具有相同部件实例的条件有3个:
Assembly结构范例
例如,由于Wheel Part-occur-tag-5与Wheel Part-occur-tag-7具有相同的部件原型和不同的父节点事件Axle Part-occur-tag-3与Axle Part-occur-tag-4,且父节点事件都指向相同
的部件原型,因此它们具有相同的部件实例Instance-tag-1;尽管Wheel Part-occur-tag-5与Wheel Part-occur-tag-6指向同一个部件原型,但其父节点相同,不满足上述条件(2),因此它们具有不同的部件实例Instance-tag-1与Instance-tag-2。
通俗讲解:
以上这一堆专业术语都是出自西门子文档里。
你能看懂,能理解最好,不理解,我下面在通俗的讲一下,我个人的理解。如果理解有误,请留言评论指正错误。
一个工作部件里面添加了装配,由装配树根目录可以找到实例,实例可以找到部件事件(partocc),事件可以找到原型对象(objectocc)
当前工作部件,当前显示部件,装配树,装配引用集这些我就不讲了,做二次开发的,应该多少都知道。
这里只重点介绍 部件事件,部件原型,部件实例。三种的区别。
请看下图
如图所示:我在当前的part里装配进来三个装配组件,这三个装配实际是由两个part装配进来的。而这两个单独part里的块和球是就是部件原型。
然后现在你把块装配进来了,就产生了一种映射关系,被装配进来的并不是部件原型,而是部件事件,一个部件原型块,被装配进来两次,就产生了两个部件事件。
上面装配进来显示的1,2,3块和球就是部件事件(partocc)。
那部件实例,又是什么呢?装配进来后,在装配树上体现父子级的,就是装配实例的体现。我们对装配子部件的操作,也都是要对部件实例去操作的,比如组件移动,组件抑制等等。
简单讲,每一个部件事件(partocc)都对应一个部件实例,想要在当前工作部件里对装配子部件做操作,就要先获取部件实例,在对其操作。如果操作部件事件或者部件原型是不管用的。
每个部件实例的名字是不同的,正常来说就是part文件的名字。但可以通过二次开发API把名字改掉,可以改成全部一样,或者全部不一样。手动没有办法去修改实例的名字,只能另存组件part,或者
重新装一个不同名字的组件进来。
装配模块常用API介绍:
1.UFUN C
2.NXOPEN C++
3.NXOPEN C#
Caesar卢尚宇
2020年9月19日
NX二次开发-装配篇详解(UFUN C,NXOPEN C++,C# API介绍)【还没更新完】
原文:https://www.cnblogs.com/nxopen2018/p/13696416.html