关于CAD中多行文本内容的修改

原文发布时间:2012-09-26

作者:小新

    最近在处理CAD数据的时候,需要数据中的文本注记进行处理,改变注记的显示内容。

   通常我们使用FME处理该问题的时候,需要先暴露autocad_text_string属性,然后使用Attributesettor或者Attributecreator修改这个属性的内容,最后输出到写模块进行保存。

但是最近处理的时候,发现如果对多行文本类型只是修改autocad_text_string的值,通过转换器后,输出的结果中,注记的显示内容并没有更改过来。

原始数据:


转换过程:


输出到dwg后,显示的内容仍然为:


经过分析,在“帮助”中找到原因:(对于多行文本,写模块将使用autocad_mtext_string这个字段的值对输出的数据赋值)


因此,在AttributeExposer和AttributeCreator中,改为对autocad_mtext_string进行操作则可以实现多行文本注记显示内容的修改。

测试结果如下:



注意:在FME中读取dwg时,在读模块中有个Explode MText Entities的参数,该参数的表示是否打散多行文本块。上述过程适用于多行文本不打散的情况。



如果在读模块时,选择打散多行文本,则通过修改autocad_text_string就可以了。但是这样存在的问题是,打散后的文本不再是一个实体,而变成了多个实体,修改autocad_text_string会对每个打散后的实体都进行操作,上述的实验数据会产生如下的结果(一个多行文本打散后产生了两个数据实体):


因此,为了保持数据结构的一致性,尤其是在DWG – DWG的转换过程中,建议不要打散多行文本,而通过修改autocad_mtext_string对注记内容进行修改。




猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80705056