iCAx开思网
标题:
用ProModelitemByNameInit进行递归遍历可以么
[打印本页]
作者:
hyyfj
时间:
2011-4-13 17:55
标题:
用ProModelitemByNameInit进行递归遍历可以么
下面是我写的代码,我需要的是在组件里面找基准面,若组件下面还有零件或者子组件,也需要查找,但是好像不能成功找到我要的基准面,不知哪位高手指教一下
status = ProModelitemByNameInit (asm_model, PRO_SURFACE, asm_datums [i], &asm_datum);
if (status==PRO_TK_E_NOT_FOUND)
{ ProError status1,status2;
int i;
ProModelitem modelitem;
ProFeature feature;
ProFeattype ftype;
ProMdlIdGet(comp_model,&i);
ProModelitemInit(comp_model,i,PRO_ASSEMBLY,&modelitem);
ProGeomitemFeatureGet(&modelitem, &feature);
status1=ProFeatureTypeGet(&feature, &ftype);
if (status1==PRO_FEAT_COMPONENT)
{
status2=ProModelitemByNameInit (comp_model, PRO_SURFACE, comp_datums [i], &comp_datum);
if(status2==PRO_TK_NO_ERROR)
{
AfxMessageBox("成功找到元件基准面" );
}
if(status2==PRO_TK_E_NOT_FOUND)
{
AfxMessageBox("没有找到元件基准面" );
}
}
}
看看这样写能行么?
作者:
hyccai
时间:
2011-4-15 13:36
要遍历装醒,如果遇到子装配,递归遍历,ProFeatrSolidVist
作者:
hyyfj
时间:
2011-4-15 14:38
2#
hyccai
谢谢了,我改用你说的函数,还有一个问题请教,我想用坐标系对齐装配,老是不完全约束,不知道哪里需要注意?
作者:
hyccai
时间:
2011-4-15 18:05
自动装配我也是还有些问题没解决
1,你可以照例子的那个就差不多了,AsseblyByDatum
要用ProAsmcompAseebly摆初始位置
2.如果是元素树建立的,不用摆初始位置就可以成功
作者:
hyyfj
时间:
2011-4-16 09:22
4#
hyccai
谢谢,我参照了帮助例子做的,但实现的是不完全约束,至于你说的元素树装配有例子参照么?
作者:
hyccai
时间:
2011-4-16 13:22
没有,我做个元素树的,例子的那个我也做过,没问题,你的原因可能是
1.元件路径没搞对comppath
2.系统坐标的ProSelection类型不对
作者:
hyyfj
时间:
2011-4-18 08:30
6#
hyccai
好的,非常感谢,我初学,一早上看了代码,也感觉没有错,不懂是否能留个联系方式帮我看看代码,还有我找到了这个帖子
https://www.icax.org/292110p1p1
应该是按照元素树来装配零件的,但是我发现编译能成功,但是零件装不进去,不知可否指点一下。
本帖最后由 hyyfj 于 2011-4-18 11:41 编辑
作者:
hyccai
时间:
2011-4-18 18:17
最近比较忙,发QQ信息给我吧,但不定能帮上忙,只能尽量。QQ568872281
作者:
hyyfj
时间:
2011-4-19 08:58
8#
hyccai
O(∩_∩)O谢谢
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3