许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Proe/Creo二次开发:模型装配中缺省与坐标系的使用方法

Proe/Creo二次开发:模型装配中缺省与坐标系的使用方法

阅读数 34
点赞 0
article_banner

ProMdlLoad加载模板

   ProMdlCopy(m_TempleteModelAsm,asmName,&newModel);

   //复制模板模型并给新模型赋名

随便给一个元件起始位置,起始位置并不重要因为其位置主要由后期约束来决定

ProMatrix identity_martrix={{1.0,0.0,0.0,0.0},

       {0.0,1.0,0.0,0.0},

       {0.0,0.0,1.0,0.0},

       {0.0,0.0,0.0,1.0}};

//!<将零件添加到组件上
status = ProAsmcompAssemble(assembly,(ProSolid)newModel,identity_martrix,&asmcomp);

//!<初始化约束数组constraints

   status = ProArrayAlloc(0,sizeof(ProAsmcompconstraint),1,(ProArray*)&constraints);


   //!<初始化约束constraint

   status = ProAsmcompconstraintAlloc(&constraint);

1.当为缺省装配时

   因为时缺省所以添加一个约束 信息 就可以完全约束,并且该约束只需要设置其约束类型为缺省即可

   status = ProAsmcompconstraintTypeSet(constraint,PRO_ASM_DEF_PLACEMENT);

   将约束添加到约束数组中,

   status = ProArrayObjectAdd((ProArray*)&constraints,-1,1,&constraint);

   status = ProAsmcompConstraintsSet(NULL,&asmcomp,constraints);

2.当装配为坐标系时则需要获取装配子件与父件的坐标系并设置约束信息

   其他装配方式大体与该方式相同

   (1)根据名称加载坐标系

       if(p_type == PRO_MDL_PART)

        {

           ProStringToWstring(compCsysName,"PRT_CSYS_DEF");

           ASSERT_STATUS(status);

        }

        else

          {

           ProStringToWstring(compCsysName,"ASM_DEF_CSYS");

         }

       status = ProModelitemByNameInit              ( newModel,PRO_CSYS,compCsysName,&compCsysitem);

        也可以遍历特征获得坐标系

(2)获取零件坐标系selection

        status = ProSelectionAlloc(NULL,&compCsysitem,&comp_sel);零件

(3)根据c_id_table获取装配父元件坐标系selection

        status = ProAsmcomppathInit((ProSolid)                                                  parentModel,c_id_table,0,&asmpath);

          如果获得组件模型则可以设c_id_table[0]=-1;

           status = ProSelectionAlloc(&asmpath,&asmCsysitem,&asm_sel);//!<         组件坐标系

   (4)//!<设置约束参照

          ProAsmcompconstraintAsmreferenceSet         ProAsmcompconstraintCompreferenceSet;

          ProAsmcompconstraintTypeSet

          ProArrayObjectAdd

          ProAsmcompConstraintsSet

最后别忘了释放selection与约束

   ProSelectionFree

   ProAsmcompconstraintFree


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空