//1、模板文件添加头文件*
#include <NXOpen/Features_FeatureCollection.hxx>
#include <NXOpen/PointCollection.hxx>
#include <NXOpen/DirectionCollection.hxx>
#include <NXOpen/Features_DatumPlaneBuilder.hxx>
#include <NXOpen/Features_DatumPlaneFeature.hxx>
#include <NXOpen/Plane.hxx>
#include <NXOpen/PlaneTypes.hxx>
#include <NXOpen/Point.hxx>
//**2、函数声明**
NXOpen::DatumPlane* CreatDatumPlanebyPointAndDirection(NXOpen::Point* point1, NXOpen::Direction* direction1);
//**3、函数定义**
NXOpen::DatumPlane* MyClass::CreatDatumPlanebyPointAndDirection(NXOpen::Point* point1, NXOpen::Direction* direction1)
{
NXOpen::Features::Feature* nullNXOpen_Features_Feature(NULL);
NXOpen::Features::DatumPlaneBuilder* datumPlaneBuilder1;//基准平面特征构造器
datumPlaneBuilder1 = workPart->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
datumPlaneBuilder1->SetPointAndDirection(point1, direction1);//设置点和方向
NXOpen::Features::Feature* feature1;
feature1 = datumPlaneBuilder1->CommitFeature();
NXOpen::Features::DatumPlaneFeature* datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature*>(feature1));
NXOpen::DatumPlane* datumPlane1;
datumPlane1 = datumPlaneFeature1->DatumPlane();
return datumPlane1;
}
//**4、主程序**
NXOpen::Session* theSession = NXOpen::Session::GetSession();
NXOpen::Part* workPart(theSession->Parts()->Work());
NXOpen::Part* displayPart(theSession->Parts()->Display());
//通过坐标创建点对象
NXOpen::Point3d origin1(10.0, 10.0, 10.0);
NXOpen::Point* point1;
point1 = workPart->Points()->CreatePoint(origin1);
//通过点坐标和向量创建方向
NXOpen::Vector3d vector1(1.0, 0.0, 1.0);
NXOpen::Direction* direction1;
direction1 = workPart->Directions()->CreateDirection(origin1, vector1,NXOpen::SmartObject::UpdateOptionWithinModeling);
NXOpen::DatumPlane* datumPlane1=CreatDatumPlanebyPointAndDirection(point1, direction1);
NXopen 二次开发 利用基准平面构造器CreateDatumPlaneBuilder,通过点和方向构建基准平面
于 2024-03-31 15:25:36 首次发布
本文介绍了如何在NXOpen框架下,通过函数实现创建基准平面,包括添加头文件,函数声明和定义,以及在主程序中创建点和方向来构建基准面的过程。
摘要由CSDN通过智能技术生成