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

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]; //获取选择的模型的idProAsmcomppath 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.lryc.cn/news/482894.html

相关文章:

  • sanitize-html 防止 XSS(跨站脚本攻击)
  • 【JavaEE】文件io
  • FlinkPipelineComposer 详解
  • 蓝桥杯-洛谷刷题-day2(C++)
  • 16008.行为树(五)-自定义数据指针在黑板中的传递
  • javascript Vue
  • 《揭秘观察者模式:作用与使用场景全解析》
  • 【QT常用技术讲解】优化网络链接不上导致qt、qml界面卡顿的问题
  • 下划线命名json数组转java对象
  • 实测运行容器化Nginx服务器
  • 显示器接口种类 | 附图片
  • C++初阶——list
  • 软件设计师-排序算法
  • 即插即用篇 | YOLOv8 引入 代理注意力 AgentAttention
  • 020_Servlet_Mysql学生选课系统(新版)_lwplus87
  • LabVIEW导入并显示CAD DXF文件图形 程序见附件
  • 《云原生安全攻防》-- K8s安全防护思路
  • 鸿蒙系统的发展及开发者机遇
  • Java | Leetcode Java题解之第556题下一个更大元素III
  • OSPF动态路由配置实验:实现高效网络自动化
  • CRM对企业有什么用?如何在实践中有效应用CRM系统?
  • 渗透测试之 -- Linux基础
  • 【excel】easy excel如何导出动态列
  • [Linux] 进程间通信
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最大的数
  • 【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装
  • RT-DETR融合CVPR[2020]轻量化卷积模块Ghost Module模块
  • 发布rust crate
  • Sequelize+Sqlite3使用示例
  • MyBatisPlus 用法详解