iCAx开思网

标题: protoolkit二次开发中提取装配件中的约束关系和相关联的零件信息 [打印本页]

作者: murphykwu    时间: 2009-3-19 11:00
标题: protoolkit二次开发中提取装配件中的约束关系和相关联的零件信息
问题描述:
    以一个联轴器为例,已经实现了高亮显示一个装配约束(如对齐约束,两个联轴器的中心轴高亮显示)。现在要获取这个装配约束关联的两个零件的信息,以及这个约束涉及到的两个中心轴的名称。
相关代码:

     ProSelection comp_constr, asm_constr;
aref_status = ProAsmcompconstraintAsmreferenceGet (constr_array , &asm_constr, &dtmside);

  if (aref_status == PRO_TK_NO_ERROR)
  {
           ProSelectionHighlight (asm_constr, PRO_COLOR_ERROR);
  }

cref_status = ProAsmcompconstraintCompreferenceGet (constr_array , &comp_constr, &dtmside);

  if (cref_status == PRO_TK_NO_ERROR)
  {
          ProSelectionHighlight (comp_constr, PRO_COLOR_WARNING);
  }

   以联轴器为例,他们的中心轴对齐。那么asm_constr和comp_constr对应的是两个中心轴,那么怎么取得这两个proselection对象的名称呢。比如说我想取得联轴器1中对应的那个asm_constr对应的轴A_1名称,怎么从asm_constr取得这个名称,有什么函数吗?要获得Proselection对象的信息,有哪些函数?

    找了很久,关于装配方面的二次开发资料很少,而且都没有详细的讲述,能用到的只有帮助文档。但是要理清帮助文档里面的函数相当的难。各位有没有相关的代码或者解答,不胜感激啊!


本帖最后由 murphykwu 于 2009-4-15 11:20 编辑
作者: Easy2009    时间: 2009-3-20 21:35
一个思路,看行不?
1-> 使用 int prodb_get_asm_constraints () 函数, 得到 Pro_asm_constraint **constraints;
2->遍历
constraints ,分析 pro_asm_constraint_type = =  PRO_ASM_INSERT ,
typedef struct pro_asm_constraint
{
    Pro_asm_constraint_type type;     /* Type of constraint */
    Select3d *p_ref1;                 /* First reference surface, datum etc. */
    Select3d *p_ref2;                 /* Second reference surface, etc. */
    double offset;                    /* The offset distance (where relevant */
    int orient1;                      /* if DTM PLANE (+-1 Yellow/Red) */
    int orient2;                      /* if DTM PLANE (+-1 Yellow/Red) */
} Pro_asm_constraint;
作者: murphykwu    时间: 2009-3-24 17:20
谢谢了。我试试~~




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