iCAx开思工具箱

标题: 如何在结构树上添加参数? [打印本页]

作者: walkerjiang    时间: 2012-5-28 16:10
标题: 如何在结构树上添加参数?


我使用CATICkeParmFactory创建参数,使用CATIDescendants Append,在Append的时候,CATInputError这个问题怎么解决?
CATFrmEditor* pEditor = CATFrmEditor::GetCurrentEditor();
                CATDocument* pDocument = pEditor->GetDocument();
                CATIProduct *piProduct = NULL;
                CATIDocRoots* piDocRootsOnDocument = NULL;
                pDocument->QueryInterface(IID_CATIDocRoots,(void**)&piDocRootsOnDocument);
                CATListValCATBaseUnknown_var* pRootList = piDocRootsOnDocument->GiveDocRoots();
                piDocRootsOnDocument->Release();
                CATIDescendants* piDescen=NULL;
                (*pRootList)[1]->QueryInterface(IID_CATIProduct,(void**)&piProduct);
                piProduct->QueryInterface(IID_CATIDescendants,(void**)&piDescen);
                CATInit_var spInitOnDoc = pDocument;
                CATIContainer * pCont =(CATIContainer*)spInitOnDoc->GetRootContainer("CATIContainer");
                CATICkeParmFactory_var spFact(pCont);                  
                CATICkeParm_var spParm = spFact->CreateLength("BeamLength",2.5);
                CATISpecObject_var piPara=spParm;
                cout<<"what"<<endl;//这里可以正常输出。
                piDescen->Append(piPara);//这里就出现错误了。

QQ群:148843173


作者: walkerjiang    时间: 2012-5-30 08:43
  论坛上回复的人不多啊。
PS:欢迎加群讨论。申请时写明工作or上学,接触caa时间,Q龄3年以上。
作者: marksman2006    时间: 2012-7-13 16:26
Sub CATMain ()

Dim Params As Parameters
Set Params = CATIA.ActiveDocument.Part.Parameters
Dim Reell As RealParam
Set Reell = Params.CreateReal ("Pi", 3.14159)
Dim Laenge, Winkel As Dimension
Set Laenge = Params.CreateDimension ("Hoehe", "Length", 200)
Set Winkel = Params.CreateDimension ("Anschluss", "Angle", 100)

End Sub
这是我调试通过的程序,供参考。软件环境V5R19, English
作者: linlily0925    时间: 2012-7-17 17:10
先得到ParameterSet,然后再添加到ParameterSet中~~~
页可以参考CATIParmPublisher接口~~
作者: nixiao    时间: 2013-3-1 12:31
求CATIA金属结构设计教程




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