iCAx开思网

标题: 【求助】CAA如何直接画空间曲线 [打印本页]

作者: liketulip    时间: 2004-12-30 16:17
标题: 【求助】CAA如何直接画空间曲线
比如空间直线
只知道首末两点的坐标
作者: bright1206    时间: 2005-1-1 20:44
CATISpecObject_var CreaterLine::CreateLinePtPt(CATLISTV(CATISpecObject_var) &iaObjectsParam)
{
   int size = iaObjectsParam.Size();
   CATISpecObject_var spFirst = iaObjectsParam [size - 1];
   CATISpecObject_var spSecond = iaObjectsParam [size];
   
   // Create feature  
   CATIGSMLinePtPt_var spLine = _pFact -> CreateLine(spFirst,spSecond);
   
   // Insert in procedural view  
   CATISpecObject_var spSpecTmp = spLine;
   InsertInProceduralView(spSpecTmp);
   
   // Update   
   ObjectUpdate(spSpecTmp);
   return spSpecTmp;
}
作者: liketulip    时间: 2005-1-2 16:25
如何调用这个函数
参数和返回值
对CATISpecObject和CATLISTV(CATISpecObject_var)
不是很熟悉
全局变量_pFact是什么类型的? CATIGSMFactory  ?
作者: nctusdk    时间: 2005-1-3 11:56
如果是Point to Point的直線就直接用
CATIGSMFactory::CreateLine(pt1, pt2);
而如果你是要畫Spline...就用
CATLISTV(CATISpecObject_var) vListOfPoint;
vListOfPoint.Append(pt1);
vListOfPoint.Append(pt2);
...
CATIGSMFactory::CreateSplinePoints(vListOfPoint);
而vListOfPoint就是一個link-list罷了...
  
SDK.
作者: liketulip    时间: 2005-1-3 16:27
point to point
能具体点吗
作者: liketulip    时间: 2005-1-3 20:03
已经解决
多谢上面弟兄的帮助
用的bright1206 的方法
作者: liketulip    时间: 2005-1-4 13:04
现在可以通过get当前的part在part的模式下画
但是想在product下面直接对下面的part画就不行了
因为应用
CATIProduct_var p1= FindPart(CATUnicodeString& partName,
      CATIProduct *ipiProductOnRoot);
从product搜索到的相应part是CATIProduct_var 而不是CATIPrtPart
无法在应用CATIPrtPart_var spPart = piPrtCont->GetPart();
画不出来了
作者: nctusdk    时间: 2005-1-4 18:12
試試找到那個Product之後,  
用CATIProduct::GetShapeRep(spLinkableObj);
再用CATILinkableObject::GetDocument()就可以取得那個Part的CATDocument指標...
接下來就會了吧...?
  
SDK.
作者: acoka    时间: 2005-1-5 23:41
product的命令和part的命令应该做在不同的workbench里面,不要混淆为佳
作者: liketulip    时间: 2005-1-6 12:52
当前是product
但是我想直接在当先就在某个part里面画图
而在当前的product就实时显示出来
作者: liketulip    时间: 2005-1-6 12:53
CATILinkableObject
这个找的时候看到过




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