NX二次开发属性工具:C++代码示例,设置部件和实体属性及图层
#include <iostream> #include <uf_modl.h> #include <uf_obj.h> #include <uf_part.h> #include <uf_disp.h>
// 定义属性结构体 struct Attribute { std::string title; std::string value; }
// 设置属性 void setAttribute(const char* tag, const Attribute& attribute) { UF_PART_set_attr_value(tag, attribute.value.c_str()); }
// 设置图层 void setLayer(const char* tag, const char* layer) { UF_DISP_set_layer(tag, layer); }
int main() { // 获取当前工作部件和实体的标签 tag_t partTag, entityTag; UF_PART_ask_display_part(&partTag); UF_OBJ_ask_null(&entityTag);
// 创建属性
Attribute partName = {"部件名", "Part1"};
Attribute designer = {"设计者", "John"};
Attribute date = {"日期", "2021-01-01"};
Attribute qq = {"QQ", "123456"};
// 设置属性
setAttribute(UF_PART_part_name, partName);
setAttribute(UF_OBJ_name, partName); // 给实体设置部件名属性
setAttribute(UF_PART_designer, designer);
setAttribute(UF_PART_date, date);
setAttribute(UF_PART_qq, qq);
// 设置图层
setLayer(partTag, "PartLayer");
setLayer(entityTag, "EntityLayer");
// 输出属性值
char value[UF_ATTR_MAX_STRING_LEN+1];
UF_PART_ask_attr_value(partTag, UF_PART_part_name, value);
std::cout << "部件名: " << value << std::endl;
UF_PART_ask_attr_value(partTag, UF_PART_designer, value);
std::cout << "设计者: " << value << std::endl;
UF_PART_ask_attr_value(partTag, UF_PART_date, value);
std::cout << "日期: " << value << std::endl;
UF_PART_ask_attr_value(partTag, UF_PART_qq, value);
std::cout << "QQ: " << value << std::endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/p4NY 著作权归作者所有。请勿转载和采集!