CATIA V5创建字符串类型的多值参数
最近两个有个朋友一直在问CATIAV5创建多值参数的问题,他想创建的多值参数类型为字符串类型,代码与创建Length类型多值参数一样时,程序运行后,在catia中点击参数catia会崩溃。之前我也遇到过同样的问题,直接贴代码,测试运行通过,大家有需要的可以自行比较区别,~首先,贴上创建Length类型多值参数的代码:
#include "CATIParmManipulator.h"
#include "CATListOfDouble.h"
CATIParmPublisher_var spParameters2=spCkeRelationFactory->CreateParameterSet("TestParameter");
CATISpecObject_var Parameters2=spParameters2;
spiIDescendant->Append(Parameters2);
//创建一个多值类型的Length类型的参数
CATICkeParm_var spParmTestLength=spCkeParmFactory->CreateLength("TestLength",0.0/1000);
spParameters2->Append(spParmTestLength);
CATIParmManipulator_var spParmManip = NULL_var;
spParmManip = spCkeParmFactory->CreateParmManipulator();
CATListOfDouble plist;
plist.Append(3.0);
plist.Append(5.0);
plist.Append(6.0);
spParmManip->SetEnumerateValues(&plist);
spParmTestLength->SetManipulator (spParmManip);
再贴上创建字符串类型多值参数的代码:
CATListOfCATUnicodeString pLstEnum;
pLstEnum.Append("A");
pLstEnum.Append("B");
pLstEnum.Append("C");
pLstEnum.Append("D");
CATICkeParm_var spParm = spParmFact->CreateString("Name","Value");
spParmPublisherGS->Append(spParm);
spParm->SetUserAccess(CATICkeParm::User); CATIParmManipulator_var spMan = NULL_var;
spParm->SetManipulator( NULL_var );
spMan = spParm->CreateManipulator();
if( NULL_var != spMan)
{
spMan->SetEnumerateValues(&pLstEnum);
}
页:
[1]