DNG V8查错的一个示例(以文本为例)

原文发布时间:2011-04-27

作者:叶子

把DGN数据录入到Oracle数据库中后,再出库后,往往发现数据跟原图形不同。造成的原因很多,这里以文本为例来说明这个问题。

该图中含有的所有文本如图(共59个要素):

      

也就是说入库后共有59个文本要素。

然后把入库后的数据再输出,在Microstation下,打开图全屏后如图,红色圈中的为输出的要素所在的位置:

      

在Microstation环境下全选查看数据,共59个,而把数据从Viewer中输出后,发现要素变为63个,多了四个要素。

可以猜测,导致全屏显示时不能全屏显示的原因可能是这四个要素引起的。下面要做的工作就是找到这四个要素。使用位置对比方法,把数据库中的注记点和利用dgn文件中注记生成的点,使用Mathcer转换器做比较,只需要把Match Geometry参数设置为2D。

这时候会找到四个要素,在Viewer中可以看到它们的igds_text_string字段没有值。如图,一个“沥”字产生了两个要素。


在原图中找到错误要素的位置,找出这些错误要素的共同原因是文本后面带有空格。把空格去掉后,再次入库输出,数据就没有问题了。

然后对比入库前和出库后的dgn,发现原字体倾斜和旋转的属性没有保留下来,这两个属性分别是“igds_rotation”和“igds_textstyle_slant”,把这两个数据设置后,发现字体进行了旋转但没有发生倾斜。再次对比入库前后的数据,找出还需要设置igds_textstyle_txflags(与字体风格相关的属性)。

把全部的设置设置好之后,再次输出,就得到了原入库数据完全一致的结果。




猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80704747
v8