
適用版本: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對象。
總 結通過以上四步,我們可以將需要觀察的對象居中,并且自動設置合適的放大縮小比例以便實現自動截圖功能,圖片能夠著重清晰地展示該對象,也便于用戶清楚地觀察該對象。