iCAx开思工具箱

标题: CAA中的工程图几何元可以得到么? [打印本页]

作者: LittleTome    时间: 2005-8-16 17:16
标题: CAA中的工程图几何元可以得到么?
工程图中视图是有很多线条组成的,这些线条可以用API得到么?高手指点啊!
作者: icadboy    时间: 2005-8-18 10:17
急啊,怎么没有人回复啊,我有同样问题,请高手快快回复。小TOM你解决了没有?如果解决了教我一下,好吗?
作者: LittleTome    时间: 2005-8-21 21:03
只要我研究出来了,就回帖!
作者: saeba    时间: 2005-8-24 11:48
应该不困难吧:
Drafting中的要素基本上就是Sketch,Sketch是一种Root Feature,可以用CATIDescendants来得到下面的所有子要素(各种线等),因此只要得到Sketch,就可以说得到了所有要素。
得到Sketch也很简单,CATIView有一个方法GetSketch()
如果是从CATISheet开始,也只要用SetCurrentView()或GetMainView()莱得到CATIView就可以了。
  
Sample code:
...
CATIView_var  spView(pUnk);
if (!spView){
  cout << "Not View!" << endl;
}else{
  CATISketch_var  spSkech = spView->GetSketch();
  CATIDescendants_var  spDes(spSkech);
  
  if (!spDes){
    cout << "No CATIDecendants Interface." << endl;
  }else{
    CATListValCATISpecObject_var  listChildren;
    spDes->GetAllChildren("CATISpecObject", listChildren);
  
    int c = listChildren.Size();
  
    for (int i = 1; i<=c; i++){
      cout << "[" << i << "] : " << listChildren->GetType() << endl;
    }
  }  
}
  
不知道是不是你想要的。。。
作者: phoenixchen06    时间: 2005-9-9 09:54
当然可以,建议你去好好看看附带的帮助.
作者: zcsq    时间: 2005-9-9 10:48
是可以得到的。不过不管是MianView或BackgroundView获得的内容都一样。其中有一类型为VIEW的,不知是否包含MainView中的所有内容(线,尺寸等)?
另外,如果要拷贝这些元素,用什么方法比较适合?CATICutAndPastable接口里的Paste()方法还是另外一个接口里的CopyPaste()方法?
  
请高手指点!多谢!




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