天天速遞!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