|
在NX二次开发里面,有一种对象,在部件导航器上,它没有特征,
但它仍然可以与其它对象,有父子关系;
比如:我创建了一条非参的直线,然后再在这条直线的中点位置,创建一个点。
当非参直线被移动了,这个点,也要跟着动,仅这个点在部件导航器上没有特征。
这就是智能对象,在二次开发的时候,应用很广。
源代码如下:
- //创建非参直线
- NXOpen::Point3d startPoint1(10.0, 10.0, 3.0);
- NXOpen::Point3d endPoint1(50.0,40.0,20.0);
- NXOpen::Line *line1;
- line1 = workPart->Curves()->CreateLine(startPoint1, endPoint1);
-
- //创建标量
- NXOpen::Scalar *scalarT;
- scalarT = workPart->Scalars()->CreateScalar( 50.0, Scalar::DimensionalityTypeNone, SmartObject::UpdateOptionWithinModeling );
- //创建智能点(过直线的中点)
- NXOpen::Point *sopint = workPart->Points()->CreatePoint( line1, scalarT, PointCollection::PointOnCurveLocationOptionPercentParameter, SmartObject::UpdateOptionWithinModeling );
- sopint->SetVisibility( NXOpen::SmartObject::VisibilityOptionVisible );
- //设置点为红色
- NXOpen::DisplayModification *displayModification1;
- displayModification1 = theSession->DisplayManager()->NewDisplayModification();
- displayModification1->SetNewColor(186);
- std::vector<NXOpen::DisplayableObject *> objects1(1);
- objects1[0] = sopint;
- displayModification1->Apply(objects1);
- delete displayModification1;
复制代码
|
|