![Siemens NX二次开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/979/41202979/b_41202979.jpg)
3.3 重用内部UI Block
当开发者看到NX界面中有理想的UI,但Block UI Styler模块中没有对应的UI Block时,可以考虑重用内部UI Block。
进入Drafting(制图)模块,单击“Menu”→“Insert”→“Symbol”→“Define Custom Symbol”按钮,打开如图3-5所示的Define Custom Symbol对话框。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_34_2.jpg?sign=1738896357-ybImz6eIHvJcNJmagBupsil67kWLwuT3-0-d5e12522fd27c638e089c326fab1c83b)
图3-5 Define Custom Symbol对话框
在这个对话框中,如果开发者想重用“Image Capture”这一部分的UI Block,可以按以下步骤操作:
(1)添加环境变量“UGII_DISPLAY_DEBUG=1”,并重启NX。添加这个环境变量的目的是让用户可以启用NX的DEBUG工具。
(2)重新进入Drafting模块,单击“Menu”→“Insert”→“Symbol”→“Define Custom Symbol”按钮。
(3)再单击“Menu”→“Help”→“Debug”→“UIFW Spy”按钮,打开如图3-6所示的Dialog Spy对话框,不难看出“Image Capture”对应UI Block调用类“UGS::UI::Comp::ImageCapture”。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_35_1.jpg?sign=1738896357-FvyBaJg135Yg3kgSkEZNxQsXNSwAFsOX-0-9e9dbb3d7bd8132fbcac5afb0f73ae67)
图3-6 Dialog Spy对话框及显示结果
(4)去掉“%UGII_BASE_DIR%\UGII\menus\styler_blocks.pax”文件的只读属性,用文本编辑器(如记事本)打开它,添加以下代码(如果使用的是简体中文版NX,需要更改“styler_blocks_simpl_chinese.pax”文件)。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_35_2.jpg?sign=1738896357-bPX1CvqGLY8oZ4a1AEpNjgT6jSZH7Tcw-0-755b9f87227c0ea216762e19f6d1035b)
(5)再次进入NX的Block UI Styler模块,就可以看到Block列表多出了添加的内部UI Block,单击它就可以看到预览效果,如图3-7所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_36_1.jpg?sign=1738896357-5lDpeGWzFcMwiIUNYEusfP2U4kk458EZ-0-a1e256775120059b03641fdd1af7f53c)
图3-7 重用内部UI Block显示结果