NXOpen中如何获取工程图尺寸的首尾Point3D点?
NX工程图获取尺寸定义点的正确方法
- 原代码返回(0,0,0)的原因:
FirstDefinitionPoint属性仅对特定类型的关联性有效,多数工程图尺寸的关联几何需要通过Geometry属性获取并转换为对应几何类型后提取坐标。 - 正确实现步骤:
- 获取尺寸的关联性对象
- 判断关联几何的类型(如Line、Point3d等)
- 根据几何类型提取对应的端点或坐标
示例代码:
// 获取第一个关联对象的点 Point3d firstPoint3D = new Point3d(0, 0, 0); var firstAssoc = dimension.GetFirstAssociativity(); if (firstAssoc != null) { if (firstAssoc.Geometry is Line firstLine) { // 若关联的是直线,取起点或终点,根据尺寸类型选择 firstPoint3D = firstLine.StartPoint; } else if (firstAssoc.Geometry is Point3d point) { // 若关联的是点,直接使用 firstPoint3D = point; } } // 获取第二个关联对象的点 Point3d secondPoint3D = new Point3d(0, 0, 0); var secondAssoc = dimension.GetSecondAssociativity(); if (secondAssoc != null) { if (secondAssoc.Geometry is Line secondLine) { secondPoint3D = secondLine.EndPoint; } else if (secondAssoc.Geometry is Point3d point) { secondPoint3D = point; } }
- 额外注意:如果尺寸关联的是视图中的模型几何,可能需要调用
NXOpen.Drawings.DrawingView.TransformModelToViewCoordinates方法将模型空间坐标转换为工程图视图坐标。
内容的提问来源于stack exchange,提问作者Masoud Hosseiny
相关产品推荐
相关产品推荐

