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)的主要内容,如果未能解决你的问题,请参考以下文章

UG NX二次开发(C#)-装配-删除阵列矩阵

UG NX二次开发(C#)-装配-替换组件

UG NX二次开发(C#)-装配-删除阵列矩阵

ug8.0包容块怎么弄

ug二次开发的装配环境中,检查干涉的函数是哪个啊?

UG NX二次开发(C#)-装配-添加组件