UG中通过API如何在装配环境下获取组件的包容盒(bounding box)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UG中通过API如何在装配环境下获取组件的包容盒(bounding box)相关的知识,希望对你有一定的参考价值。
小弟在对UG二次开发过程需要用到装配体中组件的包容盒,用 UF_MODL_ask_bounding_box这个函数始终无法获取正确的包容盒,不知道有没有人搞过这方面的研究,还请不吝赐教!:$
我感觉UG的包容盒功能比较弱,特别是在装配环境下,好像只能得到实体(SOLID)以及曲线等等的包容盒,而且也是针对组件自身的坐标系而不是装配坐标系,我想得到一个零件在整个装配坐标系中的包容盒,而且最好包含该零件中所有的实体,有什么办法吗? 参考技术A 偶是新手,正在做关于求这个包容盒的东西 ,对于这个偏大的问题,似乎是可以通过重新设置坐标系来解决,不过这个 设置坐标系的问题我就头大了,有没有人可以指点下阿。怎么实现在视图中拾取x,y轴,原点? 参考技术B 请提供一切有关UG中包容盒的信息!多谢啦!UG NX二次开发(C#)-装配-替换组件
UG NX装配中的替换组件的代码如下:
public static void Replace(Component olderComponent, string newer)
string name = newer.Split('.')[0].Split('\\\\')[newer.Split('.')[0].Split('\\\\').Length - 1].ToUpper();
NXOpen.Assemblies.ReplaceComponentBuilder replaceComponentBuilder1;
replaceComponentBuilder1 = workPart.AssemblyManager.CreateReplaceComponentBuilder();
replaceComponentBuilder1.MaintainRelationships = false;
replaceComponentBuilder1.ComponentNameType = NXOpen.Assemblies.ReplaceComponentBuilder.ComponentNameOption.AsSpecified;
replaceComponentBuilder1.ComponentName = name;
NXOpen.Assemblies.Component component1 = olderComponent;
bool added1;
added1 = replaceComponentBuilder1.ComponentsToReplace.Add(component1);
replaceComponentBuilder1.ReplacementPart = newer;
replaceComponentBuilder1.SetComponentReferenceSetType(NXOpen.Assemblies.ReplaceComponentBuilder.ComponentReferenceSet.Maintain, null);
NXOpen.PartLoadStatus partLoadStatus1;
partLoadStatus1 = replaceComponentBuilder1.RegisterReplacePartLoadStatus();
NXOpen.NXObject nXObject1;
nXObject1 = replaceComponentBuilder1.Commit();
partLoadStatus1.Dispose();
replaceComponentBuilder1.Destroy();
其中,第一个参数是装配体中已有的组件,第二个参数是替换的组件完整路径。
以上是关于UG中通过API如何在装配环境下获取组件的包容盒(bounding box)的主要内容,如果未能解决你的问题,请参考以下文章