![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=1739621302-CUyVBqCnGXrJqd89jS6QNQ8LQNtBvu0M-0-6ac5c9bddcb1bd9ea07c8328dc12f740)
图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=1739621302-c9kV3OuNtKDRqYOqXnWyipP5b5K1s3Eu-0-03175ec3b184a96ba0eb2ee2b2df7aa1)
图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=1739621302-MMvjhWb9UW9CMrp7RbZzQHvARjKcoI2K-0-3455249ae2b884ba691cadecaeae865d)
(5)再次进入NX的Block UI Styler模块,就可以看到Block列表多出了添加的内部UI Block,单击它就可以看到预览效果,如图3-7所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_36_1.jpg?sign=1739621302-6SvpIFdcm0Oi6Kgya49YKC8mpzxPMooP-0-841fb9ad8dc73f8a9949b05b3b40cb00)
图3-7 重用内部UI Block显示结果