CREO Toolkit二次开发-文本格式化
Creo中的文本采用富文本格式,可以设置其字体、大小、颜色等。Toolkit中,文本以Annotation
、Note
、Dimension
等方式存储,但文本样式统一采用ProTextStyle
进行存储,故各文本对象之间的格式可以通用。不过遗憾的是,除了修改Note
的文本样式可以直接使用外,修改Annotation
、Dimension
等对象文本样式的函数需要需要TOOLKIT for 3D Drawings
许可。
Toolkit使用ProTextStyle
句柄描述文本样式,定义如下:
1 | /* opaque handle for text style */ |
因此在使用ProTextStyle
时,必须先为其申请内存空间,同时用完后释放内存,关键代码如下:
1 | ProTextStyle textStyle; |
获取Note
的文本样式由ProNoteTextStyleGet
函数完成,将文本样式指定给Note
则由ProNoteTextStyleSet
函数设定。具体实操可以通过ProSelect
或者ProSelbufferSelectionsGet
获取选定包含原格式的Note
,再通过ProSelect
选择需要格式化的Note
进行操作。最终关键代码如下:
1 | ProError status; |
P.S.同理可以通过ProAnnotationTextstyleGet
、ProAnnotationTextstyleGet
等函数获取并设定 Annotation
、Dimension
等对象的文本格式,函数调用方法和参数与ProNoteTextStyleGet
、ProNoteTextStyleSet
一致,只是需要TOOLKIT for 3D Drawings
许可。如果您有这个许可证,则可以在不同对象之间进行文本格式化的操作了。
代码公开,需要的人可以随便根据自己的环境修改编译。完整代码可在Github.com下载。代码在VS2010,Creo 2.0 M060 X64下编译通过。