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

creo toolkit二次开发学习之获取任意选择模型作为元件,并进行获取约束等

获取任意选择模型作为元件进行操作前,先了解组件路径和程序集的构成:creo toolkit二次开发学习之程序集(ProAsmcomp)和装配体组件路径对象(ProAsmcomppath)-CSDN博客
代码如下

ProError test1()
{
	ProError status;

	ProSelection* sels = NULL; //ProSelection 结构数组指针,用于存放选择的模型
	int n_sels; //选择集的数量
	
	status = ProSelect("prt_or_asm", 1, NULL, NULL, NULL, NULL, &sels, &n_sels); //选择模型
	if (status != PRO_TK_NO_ERROR || sels == NULL) return PRO_TK_GENERAL_ERROR; //如果获取失败或没有选择,则返回错误码
	
	ProModelitem item; //模型项
	ProSelectionModelitemGet(sels[0], &item); //获取选择的模型项

	ProAsmcomppath p_cmp_path; //组件路径
	status = ProSelectionAsmcomppathGet(sels[0], &p_cmp_path); //从选择对象获取组件路径

	ProAsmcomp asmcomp;
	asmcomp.type = PRO_FEATURE; //定义为特征类型
	asmcomp.id = p_cmp_path.comp_id_table[p_cmp_path.table_num - 1]; //获取选择的模型的id
	ProAsmcomppath cmp_path_new= p_cmp_path; // 声明一个新的组件路径,复制原来的组件路径
	cmp_path_new.table_num -= 1; //修改标识符数量
	ProAsmcomppathMdlGet(&cmp_path_new, &asmcomp.owner); //获取组件路径的模型对象,即选择的模型对象的父对象

	ProAsmcompconstraint* pp_constraints; // 声明约束数组
	status = ProAsmcompConstraintsWithComppathGet(&asmcomp, &p_cmp_path, &pp_constraints); // 获取选择模型的约束数组
	//status = ProAsmcompConstraintsWithDtmOrientGet(&p_mdl_item, &pp_constraints); // 获取选择模型的约束数组

	return PRO_TK_NO_ERROR;
}

上述代码中关键点在于理解组件路径是如何构成的,对于子装配体作为元件来说,新构建的ProAsmcomp程序集必须类型为PRO_FEATURE,id设置为选择模型的id,而onwer则为选择模型的父对象,这样选择的模型才算做元件


http://www.kler.cn/a/391540.html

相关文章:

  • 2411C++,C++26反射示例
  • 94个属于一区且接受医工交叉领域投稿的期刊汇总|个人观点·24-11-13
  • 多叉树笔记
  • NUXT3学习日记一(在我git中拉取代码、文件讲解)
  • jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息
  • 【AI技术对电商的影响】
  • 6.2 对角化矩阵(1)
  • 【机器学习导引】ch6-支持向量机
  • RabbitMQ队列详细属性(重要)
  • 【MATLAB源码-第215期】基于matlab的8PSK调制CMA均衡和RLS-CMA均衡对比仿真,对比星座图和ISI。
  • Django前后端分离基本流程
  • 计算机网络:运输层 —— 运输层端口号
  • 解决全局安装@vue/cli 后vue -V不是内部或外部命令
  • JVM(二、类加载系统)
  • 20. 类模板
  • SpringBoot Tomcat 请求处理全流程详解
  • 汇川PLC EtherNET/IP无线通信,开启国产工控无线互联新时代
  • SASS 控制指令详解@for、@if、@each、@while
  • 面试问答:TCP协议中的三开四断,三次握手四次挥手
  • 关于CSS表达使中使用的 max() 函数
  • sqlite3数据库的相关API使用
  • 二叉树的前序遍历---一个简单高效的算法
  • 以数字产业园区规划为笔,绘智慧城市新篇章
  • 【ExcelWPS如何对工作表和文档进行加密保护】
  • 【大数据技术基础 | 实验十】Hive实验:部署Hive
  • Leetcode:645. 错误的集合——Java暴力解法哈希表法