通过录制代码创建立方体和圆柱体来进行说明
1、立方体
2、圆柱体
//用户定义
#include <NXOpen/Features_Feature.hxx>
#include <NXOpen/Features_FeatureBuilder.hxx>
#include <NXOpen/Features_FeatureCollection.hxx>
#include <NXOpen/Features_BlockFeatureBuilder.hxx>
#include <NXOpen/Features_CylinderBuilder.hxx>
//特征参考帮助文档Feature,链接https://www.ugapi.com/doc/NXOpen/a02762.html#a8986461369aefac6721bdb9284abeea9
/*创建立方体*/
//1、创建Feature
NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
NXOpen::Features::BlockFeatureBuilder *blockFeatureBuilder1;
blockFeatureBuilder1 = workPart->Features()->CreateBlockFeatureBuilder(nullNXOpen_Features_Feature);
//2、设置创建立方体的类型
blockFeatureBuilder1->SetType(NXOpen::Features::BlockFeatureBuilder::TypesOriginAndEdgeLengths);
//3、指定原点、和边长
NXOpen::Point3d originPoint1(0.0, 0.0, 0.0);
blockFeatureBuilder1->SetOriginAndLengths(originPoint1, "50", "50", "50");
//4、创建特征
NXOpen::Features::Feature *feature1;
feature1 = blockFeatureBuilder1->CommitFeature();
//5、销毁blockFeatureBuilder1
blockFeatureBuilder1->Destroy();
/*创建圆柱*/
//1、创建Feature
NXOpen::Features::Feature *nullNXOpen_Features_Feature1(NULL);
NXOpen::Features::CylinderBuilder *cylinderBuilder1;
cylinderBuilder1 = workPart->Features()->CreateCylinderBuilder(nullNXOpen_Features_Feature1);
//2、设置创建圆柱体的类型
cylinderBuilder1->BooleanOption()->SetType(NXOpen::GeometricUtilities::BooleanOperation::BooleanTypeCreate);
//3、指定原点、方向、半径和高度
NXOpen::Point3d cylOrigin(50.0, 50.0, 0.0);
cylinderBuilder1->SetOrigin(cylOrigin);
NXOpen::Vector3d vector1(1.0, 0.0, 0.0);
cylinderBuilder1->SetDirection(vector1);
cylinderBuilder1->Diameter()->SetRightHandSide("45");
cylinderBuilder1->Height()->SetRightHandSide("100");
//4、创建圆柱体
NXOpen::NXObject *nXObject1;
nXObject1 = cylinderBuilder1->Commit();
//5、销毁cylinderBuilder1
cylinderBuilder1->Destroy();