iCAx开思网

标题: 按坐标装配 [打印本页]

作者: hyccai    时间: 2011-3-14 18:18
标题: 按坐标装配
UserAsmFeatVisit((ProSolid)assembly,&vec_feat);//遍历装配图得到所有的componet(返回的是ProFeature类型的vector)
ProAsmcompMdlGet(&vec_feat[0],&visit_mdl);//取第一个特征,打印文件名,没错(mdldata.name)
UserAsmcomppathGet((ProAssembly)assembly,vec_feat[0],part_comppath);//获得第一个特征的路径,路径没问题
status=ProModelitemByNameInit(visit_mdl,PRO_CSYS,L"PRT_CSYS_DEF",&part_csys_modelitem);//初始化modelitem对象
status=ProModelitemByNameInit(ele_mdl,PRO_CSYS,L"PRT_CSYS_DEF",&ele_csys_modelitem);//待装配元件,这个没问题
status=ProSelectionAlloc(&part_comppath,&part_csys_modelitem,&part_csys_sel);//转换成ProSelection对像
status=ProSelectionAlloc(NULL,&ele_csys_modelitem,&ele_csys_sel);
//装配,原型ProError UserAssembleByCsys(ProAssembly asm_model,ProSelection asm_csys,ProSolid comp_model,ProSelection comp_csys)
UserAssembleByCsys((ProAssembly)visit_mdl,part_csys_sel,(ProSolid)ele_mdl,ele_csys_sel);

结果装配失败,自定义函数没问题,因为其他函数也在调用这些函数都没问题,且另外一个按坐标装配的例子也成功,
两个例子唯一不一样的是(visit_mdl)的获得方法不一样,成功的那个例子是由ProSelection转过来的
status=ProModelitemByNameInit(visit_mdl,PRO_CSYS,L"PRT_CSYS_DEF",&part_csys_modelitem);
感觉就是这个函数的第一个参数有问题,但是status返回的是PRO_TK_NO_ERROR
难道是ProAsmcompMdlGet(&vec_feat[0],&visit_mdl)取得的ProMdl不能用作ProModelitemByNameInit的第一个参数?
那应该怎样做?
作者: 332875960    时间: 2011-3-14 19:53
那就用ProSelection转吧,我也是这么做的。
作者: hyccai    时间: 2011-3-15 08:57
关键是我不想用手动选择元件,应该还有办法的
作者: hust65    时间: 2011-3-15 10:20
只要零件有Asmcomppath應該就有辦法轉成ProSelection了吧
看起來有問題的是 status=ProSelectionAlloc(NULL,&ele_csys_modelitem,&ele_csys_sel);
comppath 是 NULL
作者: hyccai    时间: 2011-3-15 11:05
hust65 发表于 2011-3-15 10:20
只要零件有Asmcomppath應該就有辦法轉成ProSelection了吧
看起來有問題的是 status=ProSelectionAlloc(NULL,&ele_csys_modelitem,&ele_csys_sel);
comppath 是 NULL


这个是要装配进来的,所以comppaht是NULL
作者: hust65    时间: 2011-3-15 11:15
如果先用ProAsmcompAssemble先裝配入assembly =>得到comppath
ProSelection才會完整
再用Csys做constraint ?
作者: hyccai    时间: 2011-3-16 08:52
可能要忙一个多星期,再来试下你的方法
作者: hyccai    时间: 2011-3-20 11:13
hust65 发表于 2011-3-15 11:15
如果先用ProAsmcompAssemble先裝配入assembly =>得到comppath
ProSelection才會完整
再用Csys做constraint ?


非常感谢,照你的方法搞定了,再问下,特征的这种状态怎样判断
作者: hyccai    时间: 2011-3-21 19:54
今天调试,又发现个问题,装配和C.PRT没有关系

本帖最后由 hyccai 于 2011-3-21 20:03 编辑




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3