iCAx开思工具箱

标题: 自动装配实现不了完全约束 [打印本页]

作者: hyyfj    时间: 2011-4-15 14:55
标题: 自动装配实现不了完全约束
主组件里面取总骨架的坐标系或者基准面 和 子组件的子骨架坐标系或基准面来对齐装配,但是装配上都是不完全约束,不知道问题出在哪?
status = ProAsmcomppathInit (asm_model, c_id_table, 0, &comp_path);

status = ProSelectionAlloc (&comp_path, &asm_datum, &asm_sel);

status = ProSelectionAlloc (NULL, &comp_datum, &comp_sel);

status = ProAsmcompconstraintAlloc (&constraint);

status = ProAsmcompconstraintTypeSet (constraint, PRO_ASM_ALIGN);(PRO_ASM_ALIGN若是坐标系的话需要改动,其他都一样吧?)

status = ProAsmcompconstraintAsmreferenceSet (constraint, asm_sel, PRO_DATUM_SIDE_YELLOW);

status = ProAsmcompconstraintCompreferenceSet (constraint, comp_sel, PRO_DATUM_SIDE_YELLOW);

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

不是大概用这些函数来放置约束么?请高手指教!
作者: wangyao1052    时间: 2011-4-24 17:50
如果程式本身没有问题
那应该是你选取的这3对面的约束实际上本身就不可能同时成立
比如:A1和A2面Align
B1和B2面Align
重点看一下C1和C2面有没有可能再Align
因为之前A1和a2  b1和b2 align的约束关系就决定了C1和C2面就不可能在Align了
之前我做这方面开发的时候碰到过这个问题
在装配的时候要检查下约束本身有没有可能同时成立
作者: hyyfj    时间: 2011-4-25 08:31
2#  
谢谢,我这个问题出现在 ProAsmcomppathInit (asm_model, c_id_table, 0, &comp_path);
c_id_table取不到子组件的ID,呵呵
作者: 风云3    时间: 2011-5-25 17:12
有点深度




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3