UG NX8.5坐标系 输出坐标里的“参考”:绝对-工作部件 绝对对-显示部件 WCS 各指啥意思?麻烦说明白些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UG NX8.5坐标系 输出坐标里的“参考”:绝对-工作部件 绝对对-显示部件 WCS 各指啥意思?麻烦说明白些相关的知识,希望对你有一定的参考价值。

重点说下:绝对-工作部件和绝对-显示部件这两个的区别?

参考技术A 把这个部件设为工作部件就是目前你在装配窗口可以操作该部件,同时还可以看到其它的部件,操作的同时还可以链接其它部件中的一些对象 。
显示部件就是独立打开该部件,只显示该部件,
俩个都是在该部件的工作状态,都能操作编辑该部件

UG NX二次开发(C#)-最小包容体(块)

前言

在做一些仿真项目中,经常遇到将UG NX的三维模型导入到其他仿真软件中,这是由于UG NX的造型功能比较强大,能对三维模型进行前期处理。本文将讲述采用UG NX二次开发来实现模型处理中的简化功能,即将一个实体简化为一个长方体,而且这个长方体是沿着某一个坐标系下的最小包容体。

测试用例

以下面的实体为例。

这个实体模型是随意创建的,首先创建一个封闭的自由曲线,然后沿某一个轴向拉伸获得的。

创建实现方法

创建最小包容体的方法如下:

   public static void CreateMinimumInclusion(Body body)
                   
            theSession.ToolingSession.SetWizardType(2);

            NXOpen.Features.ToolingBox nullNXOpen_Features_ToolingBox = null;
            NXOpen.Features.ToolingBoxBuilder toolingBoxBuilder1;
            toolingBoxBuilder1 = workPart.Features.ToolingFeatureCollection.CreateToolingBoxBuilder(nullNXOpen_Features_ToolingBox);

            toolingBoxBuilder1.Type = NXOpen.Features.ToolingBoxBuilder.Types.BoundedBlock;
          
            NXOpen.Matrix3x3 matrix1 = new NXOpen.Matrix3x3();
            matrix1.Xx = 0.0;
            matrix1.Xy = 1.0;
            matrix1.Xz = 0.0;
            matrix1.Yx = 0.0;
            matrix1.Yy = 0.0;
            matrix1.Yz = 1.0;
            matrix1.Zx = 1.0;
            matrix1.Zy = 0.0;
            matrix1.Zz = 0.0;
            NXOpen.Point3d position1 = new NXOpen.Point3d(0.0, 0.0, 0.0);
            toolingBoxBuilder1.SetBoxMatrixAndPosition(matrix1, position1);

        
            NXOpen.SelectionIntentRuleOptions selectionIntentRuleOptions1;
            selectionIntentRuleOptions1 = workPart.ScRuleFactory.CreateRuleOptions();

            selectionIntentRuleOptions1.SetSelectedFromInactive(false);

            NXOpen.Body[] bodies1 = new NXOpen.Body[1];           
            bodies1[0] = body;
            NXOpen.BodyDumbRule bodyDumbRule1;
            bodyDumbRule1 = workPart.ScRuleFactory.CreateRuleBodyDumb(bodies1, true, selectionIntentRuleOptions1);

            selectionIntentRuleOptions1.Dispose();
            NXOpen.ScCollector scCollector1;
            scCollector1 = toolingBoxBuilder1.BoundedObject;

            NXOpen.SelectionIntentRule[] rules1 = new NXOpen.SelectionIntentRule[1];
            rules1[0] = bodyDumbRule1;
            scCollector1.ReplaceRules(rules1, false);

            NXOpen.NXObject[] selections1 = new NXOpen.NXObject[1];
            selections1[0] = body;
            NXOpen.NXObject[] deselections1 = new NXOpen.NXObject[0];
            toolingBoxBuilder1.SetSelectedOccurrences(selections1, deselections1);

            NXOpen.SelectNXObjectList selectNXObjectList1;
            selectNXObjectList1 = toolingBoxBuilder1.FacetBodies;

            NXOpen.NXObject[] objects1 = new NXOpen.NXObject[0];
            bool added1;
            added1 = selectNXObjectList1.Add(objects1);

            toolingBoxBuilder1.CalculateBoxSize();         

            NXOpen.NXObject nXObject1;
            nXObject1 = toolingBoxBuilder1.Commit();      

            NXOpen.Expression expression1 = toolingBoxBuilder1.OffsetPositiveZ;
            toolingBoxBuilder1.Destroy();

            theSession.CleanUpFacetedFacesAndEdges();
        

在这个方法中,我们将坐标系设置为VX=(0,1,0),VY=(0,0,1),VZ=(1,0,0),

创建调用的UI界面和调用代码

我们制作一个测试的UI界面,如下图所示。

将这个方法在“简化体为长方体”按钮中调用,代码如下:

Body body = (Body)_BodySelect.GetSelectedObjects()[0];
CreateMinimumInclusion(body);

测试结果

测试结果如下图所示。

以上是关于UG NX8.5坐标系 输出坐标里的“参考”:绝对-工作部件 绝对对-显示部件 WCS 各指啥意思?麻烦说明白些的主要内容,如果未能解决你的问题,请参考以下文章

UG中CSYS的坐标系与WCS坐标系有啥区别呀?

ug制图怎么在图框里旋转图

UG导入其他软件三维时,客户建模坐标系(左下绝对坐标系)与自己想要出工程图的坐标不一致

ug8.0怎么显示坐标系?

UG10.0怎么把坐标系移动到自己想要的位置

UG三维视图在绘制的时候定制的坐标与系统的坐标不一致,如何才能把坐标调整的和系统坐标一致呢?