当前位置: 首页 > news >正文

NX二次开发——读取指定部件或者对象的属性

        NX二次开发中我们为了后续出程序单,往往需要读取当前部件的属性,或者创建部件的属性。下面是关于读取指定部件或者对象的属性,当然增加了我个人的观点,主要应用于[案例一]一种自动输出数控程序清单的NX二次开发方法中的读取部件属性导出至Excel中。

下面是读取指定部件或者对象的属性具体代码:

void MyClass::do_it()
{

	// TODO: add your code here
	UF_initialize();

	//对的当前部件属性的Tag
	tag_t AttrTag = NULL_TAG;
	UF_ATTR_ask_part_attribute(&AttrTag);
	
	//查找属性
	vector<string> AttrValue;
	int title_type;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "编制人员", &title_type);
	if (title_type== UF_ATTR_string)
	{
			//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "编制人员", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("编制人员属性未定义",1);
	}

	int title_type2;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "编制日期", &title_type2);
	if (title_type2 == UF_ATTR_string)
	{
		//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "编制日期", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("编制日期属性未定义", 1);
	}

	int title_type3;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "校对人员", &title_type3);
	if (title_type3 == UF_ATTR_string)
	{
		//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "校对人员", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("校对人员属性未定义", 1);
	}


	int title_type4;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "校对日期", &title_type4);
	if (title_type4 == UF_ATTR_string)
	{
		//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "校对日期", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("校对日期属性未定义", 1);
	}

	int title_type5;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "审核人员", &title_type5);
	if (title_type5 == UF_ATTR_string)
	{
		//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "审核人员", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("审核人员属性未定义", 1);
	}

	int title_type6;
	UF_ATTR_find_attribute(AttrTag, UF_ATTR_any, "审核日期", &title_type6);
	if (title_type6 == UF_ATTR_string)
	{
		//读取指定部件的某一属性
		UF_ATTR_value_t value;
		UF_ATTR_read_value(AttrTag, "审核日期", UF_ATTR_any, &value);
		AttrValue.push_back(value.value.string);
		UF_free(value.value.string);
	}
	else
	{
		uc1601("审核日期属性未定义", 1);
	}

	for (int i = 0; i < (int)AttrValue.size(); i++)
	{
		print(AttrValue[i]);
	}


	UF_terminate();
}

http://www.dtcms.com/a/107703.html

相关文章:

  • spring 中的DAO是什么
  • 【学Rust写CAD】24 扫描渐变(sweep_gradient.rs)
  • 嵌入式c学习第十一天
  • CMake 中的置变量
  • 在服务器里面磁盘分区很简单吗?
  • 51单片机的五类指令(三)——逻辑操作类指令
  • 【图形API】片段着色器自动计算LOD
  • 蓝桥杯嵌入式16届—— LED模块
  • 【ABAP】REST/HTTP技术(一)
  • 进程间的通信
  • 批量删除 txt/html/json/xml/csv 等文本文件中的重复行
  • 2025年Axure RP9无法免费使用Axure Cloud的解决方案
  • IEOSE北京国际教育留学展 留学盛宴4月亮相国会
  • c++进阶之----orderedmap和unorderedmap
  • 不同向量数据库(FAISS / Pinecone / Weaviate)在 RAG 中的优缺点
  • 生成式AI应用带来持续升级的网络安全风险
  • Linux系统CentOS 6.3安装图文详解
  • 嵌入式调试进阶:从手动到自动的HardFault破案指南
  • qt实现功率谱和瀑布图
  • Kubernetes APIServer 可观测最佳实践
  • Telnet协议详解:本质与操作逻辑
  • 路由协议分类精讲
  • TrollStore(巨魔商店)介绍及操作手册
  • C 标准库 - `<ctype.h>`
  • Vue el-table-column内el-tooltip识别换行符 \n
  • Mysql的安装
  • java 使用 spring AI 实战MCP
  • centos-LLM+EmbeddingModel+VectorDB-简单模型
  • Aliee,Bengio and Theis:细胞数据上的因果机器学习
  • 代理模式-spring关键设计模式,bean的增强,AOP的实现