iCAx开思工具箱

标题: CAA:怎样判断在哪个instance中? [打印本页]

作者: pyzpyz    时间: 2004-9-30 15:16
标题: CAA:怎样判断在哪个instance中?
在一product中插入一个part的两个instance,我在一个instance中选了一条线,怎样判断这条线在哪个instance中?谢谢。
作者: acoka    时间: 2004-9-30 17:35
选线的pathelement.Search(IDD_CATIPart之类的找它所在的路径
作者: pyzpyz    时间: 2004-10-1 12:26
谢谢,这个问题已解决。实际上我本想通过getrootfather和getproduct找到instance,但getproduct好像只能得到refence,得不到instance。
作者: acoka    时间: 2004-10-1 12:55
这个简单
  
  CATIProduct_var spInstanceProduct = NULL_var;
  
  do {
  
    if ( !ispProduct ) {
      break;
    }
    CATIProduct_var spFatherProduct = ispProduct->GetFatherProduct();
    if( !spFatherProduct ) {
      break;
    }
    CATIProduct_var spReferenceProduct = spFatherProduct->GetReferenceProduct();
    if( !spReferenceProduct ) {
      break;
    }
    spInstanceProduct = ispProduct->FindInstance( spReferenceProduct );
    if( !spInstanceProduct ) {
      break;
    }
  } while(FALSE);
  
  return spInstanceProduct;
作者: pyzpyz    时间: 2004-10-1 16:29
在GetFatherProduct()处出错,不能得到最顶端的product。不知为什么。
  
FindInstance是不是只能得到第一个Instance?如果在spReferenceProduct 中有两个Instance,第二个Instance好像不能得到。我理解FindInstance应该返回一个列表才行,但它只返回一个。而且这种方法还是不能确定所选直线所处的instance。
  
另外,acoka,你有没有做过约束,我用CreateConstraint(catCstTypeOn,....)创建的约束不能使objects同轴,很奇怪。
作者: acoka    时间: 2004-10-1 22:21
pyzpyz wrote:
在GetFatherProduct()处出错,不能得到最顶端的product。不知为什么。  
  
  FindInstance是不是只能得到第一个Instance?如果在spReferenceProduct 中有两个Instance,第二个Instance好像不能得到。我理解FindInstance应该返回一个列表才行,但它只返回一个。而且这种方法还是不能确定所选直线所处的instance。  
  
  另外,acoka,你有没有做过约束,我用CreateConstraint(catCstTypeOn,....)创建的约束不能使objects同轴,很奇怪。

  
如何取得自己要的product,自己多考虑啦,实际情况实际分析
  
做过sketch的约束,没问题的
作者: 珊瑚草    时间: 2012-8-30 11:12
pyzpyz 发表于 2004-10-1 12:26
谢谢,这个问题已解决。实际上我本想通过getrootfather和getproduct找到instance,但getproduct好像只能得到 ...

我也想知道通过选线怎么获得它的Instance,不知道怎么解决的,能解答一下吗?




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