UG NX二次开发-建模-属性操作

NXObject.SetUserAttribute()是用于设置NXObject对象的属性,包括了多种类型,如字符串属性、整型属性、实值属性等等。

                    aggedObject[] taggedObjects = _FaceSelect.GetSelectedObjects();
                    Face face = (Face)taggedObjects[0];
                    //根据属性信息添加属性
                    NXObject.AttributeInformation attributeInformation = new NXObject.AttributeInformation();
                    attributeInformation.Type = NXObject.AttributeType.String;
                    attributeInformation.Title = "Attribute_Face_1";
                    attributeInformation.StringValue = "Attribute_1_string";
                    face.SetUserAttribute(attributeInformation,Update.Option.Now);

                    //添加int属性
                    string intTitle = "IntAttributeTitle";
                    int intValue = 1;
                    face.SetUserAttribute(intTitle,0,intValue,Update.Option.Now);

                    //添加double属性
                    string doubleTitle = "DoubleAttributeTitle";
                    double doubleValue = 2.1;
                    face.SetUserAttribute(doubleTitle,0,doubleValue,Update.Option.Now);

                    //添加字符串属性
                    string stringTitle = "StringAttributeTitle";
                    string stringValue = "stringValue";
                    face.SetUserAttribute(stringTitle,0,stringValue,Update.Option.Now);

添加完成后,在面属性中可以看到如下:

查看一个面的所有属性,用 NXObject.AttributeInformation[] attributeInformation1 = face.GetUserAttributes();

                    NXObject.AttributeInformation[] attributeInformation1 = face.GetUserAttributes();
                    UFUi theUFUi = theUFSession.Ui;
                    theUFUi.OpenListingWindow();
                    int i = 0;
                    foreach(var ai in attributeInformation1)
                    {
                        if (ai.Type == NXObject.AttributeType.String)
                        {
                            theUFUi.WriteListingWindow(i++.ToString() + " " + ai.Title + "  "+ai.StringValue+"\n");
                        }
                        else if(ai.Type==NXObject.AttributeType.Integer)
                        {
                            theUFUi.WriteListingWindow(i++.ToString()+" "+ai.Title+"    "+ai.IntegerValue.ToString()+" \n");
                        }
                        else if (ai.Type == NXObject.AttributeType.Real)
                        {
                            theUFUi.WriteListingWindow(i++.ToString() + " " + ai.Title + "    " + ai.RealValue.ToString() + " \n");
                        }
                    }

删除属性,NXObject.Delete***()

 
        public void DeleteAllAttributesByType(AttributeType type);

        public void DeleteAllAttributesByType(AttributeType type, Update.Option option);
  
        public void DeleteAttributeByTypeAndTitle(AttributeType type, string title, Update.Option option);
      
        public void DeleteAttributeByTypeAndTitle(AttributeType type, string title);

        public void DeleteUserAttribute(AttributeType type, string title, bool deleteEntireArray, Update.Option option);

        public void DeleteUserAttributes(AttributeType type, Update.Option option);

        public void DeleteUserAttributes(AttributeIterator iterator, Update.Option option);

猜你喜欢

转载自blog.csdn.net/yang19861007/article/details/108945444