![Siemens NX二次开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/979/41202979/b_41202979.jpg)
3.4 Block UI Styler应用实例
本节通过一个实例来说明Block UI Styler的用法,操作步骤如下:
(1)启动NX,新建一个部件(NX会话窗口中必须有部件存在才能进入Block UI Styler模块)。
(2)单击Ribbon工具条上“Application”选项卡,再在下方“Gateway”分类中单击“More”按钮,在展开的下拉列表中单击“Block UI Styler”按钮。
(3)单击Block列表中“Basic”类别下的“Enumeration”选项,此时可视化界面中就添加了一个枚举框Block,并默认自动列表创建了一个Group,如图3-8所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_36_2.jpg?sign=1739317334-iEA1luUZSzoFFFppZNZskR05QCJ6Cvyu-0-b1601f310e427faa981d3a0974f5c554)
图3-8 添加Enumeration后的显示结果
(4)更改界面名称及Enumeration级别。在对话框窗口“Dialog”选项卡下的“Blocks”组的树列表中,单击“Dialog”节点,更改“Properties”组中“Label”的“Value”为“Base Body Test”。单击“enum0”节点,再单击Ribbon工具条上的“Decrease Group Level”按钮;单击“Group”节点,再单击Ribbon工具条上的“Cut”按钮,结果如图3-9所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_37_1.jpg?sign=1739317334-GFRppT4pf7FtdrXmIi9n6GRGeLURtPix-0-518857dec897d1949a9cfa2eccf90553)
图3-9 更改界面名称及Enumeration级别的显示结果
(5)单点“enum0”节点更改“Properties”组中的Property信息如表3-3所示。
表3-3 更改Enumeration的Property信息
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_37_2.jpg?sign=1739317334-xVRE22vx8XUvSiRKysniSFT0pQ7COZCK-0-d66220d0e08c474d2a021f84eca1e673)
更改后的显示效果如图3-10所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_37_3.jpg?sign=1739317334-0PVpIXwoieGpA7xtVF6Ccv7X3MkmPpxb-0-b55598f44513eec8ca8925ff6b45f22c)
图3-10 更改Enumeration Property后的显示结果
(6)为可视化界面增加Point组及对应控件。单击Block列表中“Layout”类别下的“Group”选项和“Selection”类别下的“Specify Point”选项,此时可视化界面中就增加了Group和Specify Point两个UI Block。更改Group控件BlockID的Value为“m_pointGroup”,更改Label的Value为“Point”;更改Specify Point控件BlockID的Value为“m_point”,其显示结果如图3-11所示。
(7)为可视化界面增加Dimensions组及对应控件。单击Block列表中“Layout”类别下的“Group”选项和“Numbers”类别下的“Linear Dimension”选项,此时可视化界面中就增加了Group和Linear Dimension两个UI Block。更改Group的BlockID的Value为“m_blockDimsGroup”,更改Label的Value为“Dimensions”。更改“Linear Dimension”的Property如表3-4所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_38_1.jpg?sign=1739317334-o0yzO3S7aJCpRb4qKTYJpxsRxjy5IuPU-0-b69ecdfd7501ab8457be8e34bba6887e)
图3-11 添加Group与Specify Point后的显示结果
表3-4 更改Linear Dimension的Property信息
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_38_2.jpg?sign=1739317334-SoHxMXtqzrsA4kNXxMtLjMzNjxGuSLCN-0-0c7404f005e8b157c57f0cabea9fedd4)
更改后的显示结果如图3-12所示。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_38_3.jpg?sign=1739317334-PlVi579q5yhQr5z0krMPy6KoccZ83Aix-0-0b3778bcfe00dc631037e9e60f8c5c1c)
图3-12 添加Group与Linear Dimension后的显示结果
(8)为Dimensions组添加其余控件。单击“m_length”节点,再单击Ribbon工具条中的“Copy”按钮,接着单击三次“Paste”按钮,依次更改它们BlockID的Value为“m_width”“m_height”“m_diameter”,再依次更改对应Label的Value为“Width(YC)”“Height(ZC)”“Diameter”,完成后结果如图3-13所示。
(9)生成源代码并保存。单击“Dialog”对话框中的“Code Generation”选项卡,设置Language为“C++”,再单击Ribbon工具条上的“Save”按钮,设置代码名称为“ch5_5”并保存它(本例文件保存在D:\nxopen_demo\application目录下)。
通过上述操作,在指定的目录下会生成三个文件,它们分别是ch5_5.dlx、ch5_5.hpp与ch5_5.cpp,如何利用这些文件编码实现相应的功能,请参阅第5章相关知识。
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_39_1.jpg?sign=1739317334-eGt2TAWfX75yNszAhi3teJgepPiL5uuY-0-f1101524d6fa9de1a6cc69238bc15c2d)
图3-13 拷贝并新增Linear Dimension Block后的显示结果