iCAx开思工具箱

标题: CAA如何用面将体划分 [打印本页]

作者: liuruixiao205    时间: 2005-7-6 10:08
标题: CAA如何用面将体划分
  我想用面将体划分打个比方说,土木水利建筑浇筑时都是一层一层完成的,我现在线把整体模型分层,就是把整体分层。请问应该从那方面着手。
作者: acoka    时间: 2005-7-6 10:13
TopologicalOperators Class CATDynSplit
  
PartInterfaces Interface CATISplit
PartInterfaces Interface CATIPrtFactory CreateSplit
作者: liuruixiao205    时间: 2005-7-6 11:07
谢谢acoka!
作者: liuruixiao205    时间: 2005-7-13 17:04
acoka兄, PartInterfaces Interface CATISplit 两个的参数具体指什么,我不太懂,我用的GSMInterfaces  Interface CATISplit 这两个区别在哪里?我想做的是把一个体均分,在CATIA中好像不容易完成,我做的Split,Split1没问题,第二次Split时,Split2包含了Split1和我想要的那一部分,那段代码如下,请帮着看看。
作者: liuruixiao205    时间: 2005-7-13 17:08
  CATIGSMSplit_var spSplit=NULL_var;
  CATISpecObject_var spSplit1=NULL_var;
  CATISpecObject_var spSplit2=NULL_var;
  for (i=1;i<20;i++)
  {
    CATISpecObject_var spCurrent;
        CATISpecObject_var spObject;
    //用公式ax+by+cz=d来画参考面
  double  c=10*i-100;
  CAAGsiObjTool.CreateReal("A", 0, spCurrent); aObjectParameters.Append(spCurrent);
    CAAGsiObjTool.CreateReal("B", 0, spCurrent); aObjectParameters.Append(spCurrent);
    CAAGsiObjTool.CreateReal("C", 1, spCurrent); aObjectParameters.Append(spCurrent);
    CAAGsiObjTool.CreateLength("D", c, spCurrent); aObjectParameters.Append(spCurrent);
    CATISpecObject_var spPlaneYi = CAAGsiObjTool.CreatePlaneEquation(aObjectParameters);
  
    aObjectParameters.RemoveAll();
  
      if (!spObject)
    {
    cout<<"spObject=NULL"<<endl;
    }
  
    if(NULL_var==spSplit2)
    {
             
        spSplit1 = spGSMfactory->CreateSplit(Pad,spPlaneYi,FALSE); //pad为长度为一百的柱体
      (aObjectParameters,FALSE);
        spSplit=spSplit1;
   HRESULT rc= spSplit->GetOtherSide(spSplit2);
  
   }
    else  
   {
     aObjectParameters.Append(spSplit2);
        aObjectParameters.Append(spPlaneYi);
        spSplit1 = CAAGsiObjTool.CreateSplit(spSplit2,spPlaneYi,FALSE);
    }
  }
作者: liuruixiao205    时间: 2005-7-13 17:16
split1
作者: liuruixiao205    时间: 2005-7-13 17:18
   split2包含了split1不能达到我均分的要求
作者: acoka    时间: 2005-7-13 22:39
你把你的spec tree列出来看看,
或把这个catpart文件贴出来
作者: liuruixiao205    时间: 2005-7-14 10:11
GSMInterfaces Interface CATISplit 在split时是把体抽成壳了。以前没想到。我再用PartInterfaces Interface CATISplit 切一下。但把一个体均分,在CATIA里面还是不好做,前后两个split存在包含关系,中间的split可能要两个面切,这样好像不太容易用程序一次性完成。
作者: acoka    时间: 2005-7-14 22:53
那得用topo的split,自己做feature
catia的split feature都是modification type的, 吸收掉输入feature的形状
作者: cupcake    时间: 2005-7-15 12:36
我想把一个实体用一个平面给split,然后保留左半边,对左半边进行一些操作,然后我还想对右半边进行一些操作,按我的想法是先把要被split的Body给Copy了放到另外一个Body中,再用GSMInterfaces 的 CATISplit去split,保留左半边,然后对左半边进行操作,下来再对Copy的结果进行split,保留右半边,对右半边进行操作。
看了这个话题我想是不是用topo的split,自己做feature 比较方便?




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