CAD中布局空间数据的读写

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

作者:知音琴

最近,各种数据入库的事还比较多,最多的呢也就是就是CAD数据的入库工作。大家都知道CAD是在建筑、机械、规划方面应用得相当多,他们在出图的时候都要设计布局空间来输出,于是在转换的过程中,要是布局能跟着转换那就好了,出图的时候就不用重新再布局了。

那这次的目的就是探讨能否完整读取布局空间中的信息,如果把数据入库到GDB格式之后,出库的时候能否把属于布局空间中的信息写入到布局空间中。

如何用FME读取布局空间的信息:

(一)         首先,用FME Universal Viewer查看原数据查看布局空间的数据特性:

CAD中布局空间数据的读写

如果布局空间中有块或组在参数中设置选中Expand Blocks into EntitiesRead GroupRead Paper Space

CAD中布局空间数据的读写CAD中布局空间数据的读写

这样设置之后,点击确定。

(二) 下面是以一个布局空间数据为例,读取到布局空间的信息如上图所示:

那这样也就表明布局空间的数据是可以读取的,而且就用这种简单设置参数的方式,于是我们到FME Workbench中进行转换。

打开FMEWorkbench——新建工作空间,添加读模块如下,设置同上的模块参数:

CAD中布局空间数据的读写

读模块的很多参数也可以在这里设置

CAD中布局空间数据的读写

 这样,我们就把模型空间和布局空间里的数据合并在同一空间下了。

(三) 然后,添加GeometryFilter转换器过滤点线面注记等要素,分别输出到GDB格式下的Pointpoliylinepolygonannotation几何类型。

添加一个写模块:

    CAD中布局空间数据的读写

(四) 再添加四个要素类即可,如下图所示:

CAD中布局空间数据的读写

如何写出布局信息:

研究布局空间信息与模型空间数据有什么区别,我从从他们的属性开始着手,可是当我发现区别他们的属性是autocad_space,然后我就打开帮助文档搜索space,结果如下:

CAD中布局空间数据的读写

红色矩形框内是是对autocad_space属性的描述,从描述中我们可以看到 

CAD中布局空间数据的读写

这个属性只能读去两种空间的数据,不能写成两种空间的数据,于是我知道我想给autocad_space赋这两个值的时候,发现输出结果的属性还是只有一个就是model_space,所以,因为暂时的缺陷,FME只能将布局空间的数据读取为,然后转换为模式空间的数据进行写出。

同样,首先添加读模块,读取GDB数据集,再添加写模块直接连接转换就是了。

CAD中布局空间数据的读写

CAD中布局空间数据的读写

不过出库的数据全是模型空间里面的数据格式,不能写到布局空间里面。

相关文章链接:如何读取DWG布局空间中的信息