天天速递!NX二次开发-当前视图下适当比例显示模型

2023-01-05 10:28:28 来源:软服之家
作者:倪海 审校:徐涛

适用版本:NX4及以上版本

在基于NX软件进行二次开发的时候,我们经常会遇到这样的需求,需要搜索查看某个对象,除了高亮显示该对象,还希望该对象能够居中放大合适比例显示,这样用户可以明显观察到激活对象。如下图所示,左图中角度尺寸显示位置在整个绘图区域的左上角,不方便查看截图合并到报告中,通过二次开发实现角度尺寸自动居中并放大合适比例显示,如右图所示:


(资料图)

图1

要想实现以上功能,需要基于四个阶段:工作坐标系准备阶段、绘图区域长宽获取阶段、当前视图下对象长宽获取阶段、视图设置阶段。

功 能 说 明1

工作坐标系准备阶段:

获取当前屏幕下的视图方位矩阵以及视图中心点,该视图矩阵的X轴方向与屏幕水平方向平行,Y轴方向与屏幕竖直方向平行。设置WCS坐标系方位与当前视图方位重合,设置WCS的坐标原点与当前视图中心点重合。如下图所示创建坐标系矩阵函数,利用视图方位3X3矩阵数组创建WCS坐标系的矩阵。

图2

2

绘图区域长宽获取阶段:

设置当前视图比例大小为1,通过如下图所示函数获取绘图区域在WCS坐标系下没有进行放大缩小的真实的水平方向长度、竖直方向长度。

图3

3

当前视图下对象长宽获取阶段:

针对本技巧中选择的PMI对象,通过PMI相关查询API函数获取该PMI对象在WCS坐标系下的水平方向的最大值、最小值,在WCS坐标系下的竖直方向的最大值、最小值,从而计算出当前视图下该对象水平最大距离、竖直最大距离。

4

视图设置阶段:

通过上两步获取了绘图区域的水平长度、竖直长度,PMI对象的水平长度、竖直长度。分别计算绘图区域的水平长度/ PMI对象的水平长度的比例值,绘图区域的竖直长度/ PMI对象的竖直长度的比例值。相对来说,水平长度值较大,通过比例设置如果水平长度能够完全显示在绘图区域内,那么竖直长度也完全可以显示在绘图区域内。所以我们采用水平长度比例值。目前视图设置上述水平比例值,对象将铺满整个绘图区域,显示效果不够合理,我们可以将其值取一半设置视图比例。通过PMI对象的水平长度、竖直长度计算中心点,设置视图的原点为该中心点,实现居中PMI对象。

总 结

通过以上四步,我们可以将需要观察的对象居中,并且自动设置合适的放大缩小比例以便实现自动截图功能,图片能够着重清晰地展示该对象,也便于用户清楚地观察该对象。

标签: 如下图所示 竖直方向 水平方向

上一篇:滚动:特锐德技术研发平台一期正式上线发布!
下一篇:苏州雪电通讯科技股份有限公司升级SIPM/PLM