iCAx开思网

标题: CAA 在CATDocument中怎么得到CATBody [打印本页]

作者: 指点江山    时间: 2005-7-6 15:42
标题: CAA 在CATDocument中怎么得到CATBody

作者: 指点江山    时间: 2005-7-6 15:47
求教,各位前辈
我想通过打开的一个文档,得到要编辑的实体,请帮忙指条明路
作者: 指点江山    时间: 2005-7-6 16:41
怎样才能得到实体的所有内容?
作者: 指点江山    时间: 2005-7-7 08:25
怎么没有人回复啊,郁闷ing
作者: 指点江山    时间: 2005-7-7 18:12
我得思路是
CATDocument->QueryInterface(IID_CATInit, (void**)[$CATInit)]
CATIPrtContainer *pSpecContainer = (CATIPrtContainer*)
CATInit->GetRootContainer("CATIPrtContainer");
CATISpecObject_var ospPart = pSpecContainer->GetPart();
最后得到CATISpecObject
不知道对不对,请各位高手指点指点
作者: cupcake    时间: 2005-7-7 21:10
你想得到什么?
贴张图出来也许大家可以给你看看。
作者: 指点江山    时间: 2005-7-8 08:46
谢谢cupcake
作者: xyzhu    时间: 2005-7-8 19:02
CATIPartRequest_var spPartReq(ospPart);
  
HRESULT rc = spPartReq->GetAllBodies(...);
作者: wndcool    时间: 2005-7-9 16:18
caa文档里面有
作者: 指点江山    时间: 2005-7-11 09:36
谢谢,是不是通过得到CATGeoFactory后在得到Body等的所有信息?
作者: 指点江山    时间: 2005-7-11 14:18
wndcool wrote:
caa文档里面有

  
是哪个CAA文档,能否确切相告。谢谢!
作者: 指点江山    时间: 2005-7-11 14:20
xyzhu wrote:
CATIPartRequest_var spPartReq(ospPart);  
  
  HRESULT rc = spPartReq->GetAllBodies(...);

  
这样子得不到CATBody 
作者: cupcake    时间: 2005-7-12 12:19
CATIPartRequest_var spPartReq(ospPart);  
CATBaseUnknown_var spMainPartBody=spPartReq->GetMainBody(stdContext, spMainBody);
  
  CATIBodyRequest_var spMainPartBodyBodyRequest = spMainPartBody ;
   CATLISTV(CATBaseUnknown_var) ListResult ;
   spMainPartBodyRequest->GetResults("",ListResult);
   CATIGeometricalElement_var spFeatureResultGeomElem = ListResult[1] ;
   CATLISTV(CATBaseUnknown_var) ListResult ;
   spMainPartBodyRequest->GetResults("",ListResult);
   CATIGeometricalElement_var spFeatureResultGeomElem = ListResult[1] ;
CATBody_var spBody=spFeatureResultGeomElem ->GetBodyResult ();
作者: cupcake    时间: 2005-7-12 12:29
wndcool wrote:  
caa文档里面有  
  
是哪个CAA文档,能否确切相告。谢谢!
  
D:\Catia\CAADoc里面有好多例子
D:\Catia\CAAV5HomePage就是百科全书
作者: 指点江山    时间: 2005-7-12 12:55
非常感谢!
按你的方法我得到了所要的CATBody;
我也找了一种方法大家交流交流,我用:
CATIContainerOfDocument * pIContainerOfDocument = NULL ;
rc = pDocument->QueryInterface(IID_CATIContainerOfDocument,    (void**)[$ pIContainerOfDocument )]
   CATIContainer * pIContainerOnGeomContainer = NULL ;
   rc = pIContainerOfDocument->GetResultContainer(pIContainerOnGeomContainer);
  rc = pIContainerOnGeomContainer->QueryInterface(  IID_CATGeoFactory , (void**) [$piGeomFactory )]
  
得到CATGeomFactory在向下得,也可一得到,但是数据比较多坐标平面什么得都得到了。
作者: 指点江山    时间: 2005-7-12 13:02
但是我还想问^_^怎么能够得到CATBody中得关于CATCirle、CATLine等得信息呢?
我是这样做的从CATBody中得到CATCell->CATEdge,这些全市topo要素,怎么能够得到相应得几何要素,谢谢!
作者: cupcake    时间: 2005-7-12 17:24
CATEdge_var spEdge=……;
CATEdgeCurve * pEdgeCurve=spEdge-〉GetCurve();
if(NULL!=pEdgeCurve)
{
CATCurve*  pCurve= pEdgeCurve->GetRefCurve();
}
就得到了CATEdge对应的CATCurve,其他的类似
作者: 指点江山    时间: 2005-7-13 09:06
非常感谢cupcake兄,我查找了以前得老贴子,发现您是做面边颜色等方面得前辈,以后请您多多指导,非常感谢。
现在的问题是:
  我可以得到他们的线的类型,但是都是一些
the type of CATGeometry is                   CATPLineType
the type of CATGeometry is                   CATPCircleType   
等二维的我怎么样才能得到
          CATLineType
          CATCircleType   
并且像CATLine,我怎么样得到他的两个端点,我看CAA的Api只能的到起始点 跟方向  
再次感谢cupcake兄
作者: 指点江山    时间: 2005-7-13 12:36
这个问题我是通过CATPCurve->CATSurface->CATMathPoint
可一解决问题,
但是我现在
CATNurbsCurve 如何去求他的所有属性,该看那方面的东西,谢谢!




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