找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 18329|回复: 8
打印 上一主题 下一主题

[求助] 按坐标装配

[复制链接]
跳转到指定楼层
1
发表于 2011-3-14 18:18:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
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的第一个参数?
那应该怎样做?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2011-3-14 19:53:40 | 只看该作者
那就用ProSelection转吧,我也是这么做的。
3
发表于 2011-3-15 08:57:59 | 只看该作者
关键是我不想用手动选择元件,应该还有办法的
4
发表于 2011-3-15 10:20:24 | 只看该作者
只要零件有Asmcomppath應該就有辦法轉成ProSelection了吧
看起來有問題的是 status=ProSelectionAlloc(NULL,&ele_csys_modelitem,&ele_csys_sel);
comppath 是 NULL
5
发表于 2011-3-15 11:05:07 | 只看该作者
hust65 发表于 2011-3-15 10:20
只要零件有Asmcomppath應該就有辦法轉成ProSelection了吧
看起來有問題的是 status=ProSelectionAlloc(NULL,&ele_csys_modelitem,&ele_csys_sel);
comppath 是 NULL


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


非常感谢,照你的方法搞定了,再问下,特征的这种状态怎样判断

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9
发表于 2011-3-21 19:54:59 | 只看该作者
今天调试,又发现个问题,装配和C.PRT没有关系

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-27 18:12 , Processed in 0.032850 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表