- Siemens NX二次开发
- 唐康林编著
- 459字
- 2021-11-03 13:28:39
5.6 NXOpen C++模板代码
如第3章所述,利用NX中Block UI Styler模块,可以自动生成*.dlx、*.hpp、*.cpp三个文件,为了合理地利用这些生成的模板代码,开发者有必要理解代码的框架。
5.6.1 模板代码框架
通过Block UI Styler模块自动生成的代码,在*.hpp文件中,它的格式一般如下:
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_68_2.jpg?sign=1739678004-RE20O1rPBypD657jLrEahkQNGRKSC2BH-0-6c72cf76cef7651321b896a2168e5dbf)
在*.cpp文件中,它的格式一般如下:
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_68_3.jpg?sign=1739678004-AwWn1T4Dl9aZVSDh6Ga4SefH4zVNJSwB-0-377eadda76f6c77189344aa8f0f7f60a)
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_69_1.jpg?sign=1739678004-nqUWCiuSEy7cj18iAlM3CIUEq8OHJgby-0-8df1ed19324b68206d37e245824a0182)
为了更准确高效地开发应用程序,开发者必须理解每一个回调在何种场景下才会触发,表5-7列出了对话框回调的详细描述。
表5-7 对话框回调描述
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_70_1.jpg?sign=1739678004-nnw6dpGTXUidrwRD2GWJfIxAwZ6PZrr4-0-450c4d82d92725b4d577d11f51a77528)
5.6.2 添加对话框回调
通常情况下,开发者不需要在模板代码中添加对话框回调,因为Block UI Styler模块允许用户设置自动生成代码时注册哪些回调。如图5-9所示,在需要生成回调的节点上右击,在弹出的菜单中选择“True”选项即可。
也可以后期在代码中手动添加回调,以添加Filter回调为例,操作步骤如下:
(1)声明回调。在*.hpp文件中,添加下列代码:
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_70_2.jpg?sign=1739678004-WUTui05rLdBkKdQQfNI4kJWOhZkGLwEB-0-a6c5ccb93e1fd84566ce9c9c58498a11)
(2)注册回调。在*.cpp文件的构造函数中,添加类似下列代码:
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_71_1.jpg?sign=1739678004-2tlYxDlEZon4Rv5FeRvivoxbBR8lLTv9-0-fba0ed8040b3abdd5e2bd733933289bd)
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_71_2.jpg?sign=1739678004-otFvmAEccvJU61QjJwc4wVXHF0aEiiH7-0-0dbfa533bce4ff780719821ea65c3abd)
图5-9 设置代码中自动生成回调
(3)实现回调。在*.cpp文件中添加如下格式代码:
![](https://epubservercos.yuewen.com/A6F99C/21440188008281206/epubprivate/OEBPS/Images/32757_71_3.jpg?sign=1739678004-jXk6ADPTlLSPtFijt4ALLX6eZhQReRWf-0-3501601ddf876d18143e193195011993)
对此操作不熟练的开发者,可以再次回到Block UI Styler模块,打开之前的*.dlx文件,设置自动生成哪些回调,保存文件,再使用新的代码即可。