AutoCAD与其他常用软件的数据转换.pdf
AutoCAD与其他常用软件的数据转换 龚家玉1,黄德咏2 1. 四川省第三测绘工程院,四川成都, 610500 ; 2.深圳市规划与国土资源局龙岗分局,广东深圳, 518000 [摘要]本文就AutoCAD与生产应用中常用的ARCGIS、ARC/ INFO、MicroStation、3DS等软件系统之间的数据 转换作一些浅谈。 [关键词] AutoCAD;数据转换;实体属性 [中图分类号] P208 [文献标识码] B [文章编号] 1001 - 8379 2004 01 - 0032 - 04 THE DATA CONVERSION BETWEEN AUTOCAD AND THE OTHER SOFTWARE USED FREQUENT LY GONG Jia2yu1,HUANG De2yong2 1. The Third Surveying and Mapping Institute of Sichuan province , Chengdu 610500 , China; 2. Shenzhen Municipal Bureau of Urban Planning Data conversion; Entity property 1 前言 随着GIS的迅猛发展, GIS技术和计算机辅助 地图制图技术在社会各领域的应用越来越广泛,国 内外各大公司也纷纷推出了新一代的GIS软件。一 般在规划管理信息系统建设前期,规划管理部门特 别关心已有地图数据是否可以转换到选定的GIS平 台上,今后产生的地形图更新数据、规划图是否可 以转换到选定的平台上。 AutoCAD是Autodesk公司在不断升级开发的GIS 软件。AutoCAD作为一种计算机辅助设计与制图工 具,因其易学易用及强大的图形编辑、二次开发功 能而广泛应用于很多测绘生产部门及设计部门,但 要满足用户不同的要求,就要求软件系统之间的数 据转换。怎样有效地生产管理数据和转换数据是 GIS软件业一直在探讨的课题。由于生产人员对Au2 toCAD的熟练掌握和对其他软件的不熟悉,故一般 先用AutoCAD进行数字化生产,最后数据产品再转 入ARC/ INFO等软件进行处理。笔者在生产实践过 程中应用了部分国内外常用的GIS软件系统,下面 就笔者的经验对AutoCAD与ARCGIS、ARC/ INFO、Mi2 croStation、3DS之间的数据转换做一些介绍。 2 AutoCAD与其他软件数据的转换 211 从AutoCAD到ArcGIS的转换 AutoCAD数据经常需要经过组织和处理后才能 在ArcGIS应用程序中使用, ESRI提供了不同的转 换工具来帮助用户在GIS和CAD间更好地使用数 据。 ①ArcView GIS 31x -保存为shape file ArcView GIS 31X CAD Reader Extension有一个 内嵌的集成工具,根据属性/空间选择标准从一个 CAD文件中选择一组空间要素,选中的对象集可以 导出为shape file。使用这个功能, ArcView 31x能够 转换CAD文件的CAD对象到ArcView GIS shape file 格式中。 ②ArcGIS ArcCatalog2Simple Data Loader 在ArcCatalog中选中一个要素类并右击鼠标选 择选项时就打开了Simple Data Loader 向导工具,该工具提供了增加数据到已有要素类的 方法。按照向导提示,你可以选择一个要导入的 CAD数据源,然后向导将允许你映射CAD图形属性 值到已有的数据库字段。另外该工具还提供了查询 功能用来对导入源实体进行过滤,然后选中的信息 被增加到要素类中。在运用该工具前,地理数据库 的要素类必须事先存在。 ③ArcGIS ArcMap2Export Data 从ArcMap中使用Export Data工具,一个选中的 CAD要素集可以被导出为shape file或导出到一个空 的geodatabase要素类中。在ArcMap中选择要导出的 CAD要素层,点击鼠标右键选择Export菜单,缺省 的保存方式为shape file类型。在ArcMap中CAD文 23四川测绘第27卷第1期2004年3月 本的转换在操作上有些不同,因为ArcMap中的 CAD线画文本被作为一个混合的coverage annotation 类型显示,因此必须使用转换coverage annotation功 能来取得CAD文本,导入作为geodatabase annota2 tion。这个工具没有在ArcMap标准工具条显示,需 要你从Label菜单选择加入到你定义的界面上。 ④ArcGIS ArcMap -裁剪和粘贴 加载数据到geodatabase要素类的另外一条途径 是在ArcMap编辑会话中使用裁剪和粘贴功能,然 后就可以将选中的数据加载到一个具有同样几何类 型的geodatabase要素类中。该方法和ArcCatalog2Sim2 ple Data Loader都允许往一个已有的要素类中增加数 据。 ⑤ArcGIS ArcT oolboxCAD到Geodatabase转换 工具 ArcGIS提供了一个CAD到Geodatabase转换工具 来转换CAD数据到新的geodatabase要素类中,该工 具在ArcT oolbox和ArcCatalog中都是可用的。Arc2 T oolbox转换工具允许你定义一个查询来选择CAD对 象,然后转换并保存查询结果集到一个新的geo2 database要素类中。不象ArcMap中使用的方法保存 数据是到一个已有的geodatabase要素类中, ArcT ool2 box的转换工具将创建一个新的要素类作为转换过 程的一部分,这样一个包含多种图形特征的CAD文 件全部导出时会创建多个要素类。如果需要将多个 线画转出到一个geodatabase的要素类中,需要在Ar2 cMap中使用Geoprocessing Wizard来对要素类进行合 并。 使用CAD to Geodatabase Translator功能, CAD文 本将被转换到一个点要素类中。在CAD要素上的变 化曲线信息在转换进geodatabase时被保留, CAD几 何特征和块/ cell属性也在转换过程中被保留。 ⑥ArcSDE CAD Client CAD客户端也可以用于数据转换,在CAD数据 到ArcSDE管理的DBMS存储过程中, CAD客户端工 具将翻译每个CAD对象的几何特性并产生相应的 ArcSDE要素,而其它ArcSDE客户端可以直接浏览 这些ArcSDE要素,不需要转换。 212 AutoCAD与ARC/ INFO之间的数据转换 通过ARC模块下的DXFARC命令可以将DXF 格式文件转换为ARC格式,通过ARCDXF命令可以 将ARC格式数据转换为DXF文件格式, AutoCAD也 支持DXF文件格式,通过DXF文件可以实现Auto2 CAD数据与ARC/ INFO数据的互相转换。将一个 AutoCAD的图形转换成ARC/ INFO的层,首先需要 在AutoCAD中输出交换文件DXF文件。在把 DXF文件转换成ARC/ INFO数据之前, ARC/ INFO 提供查看DXF文件的命令为 DXF、DXFINFO。其 中DXF是ARCPLOT模块中的命令,它可以用最接 近原图的符号特征来显示DXF文件; DXFINFO命令 会列出原始AutoCAD图形包含的内容,如 Arc DXFINFO TRY. DXF LAYER NAME ARCS POINTS TEXT ATTRIB INSERTLEN COLOR LINETYPE 2111 4 1 1 0 0 0 7 CONTINUOUS 9616183112- 1DLJ ALL LAYERS 10 2 9 3 1 12 ARC/ INFO用DXFARC命令来转换DXF文件,下面是DXFARC命令的用法 Arc DXFARC Usage DXFARC {text-width} {attrib-width} 转换前后各种图形实体的对比如下表 DXF实体ARC/ INFO实体 LineARC 3DlineARC TraceARC SolidARC 3DfaceARC CircleARC ArcARC PolylineARC PointPoint 33四川测绘第27卷第1期2004年3月 ShapePoint TextPoint or Annotation AttributePoint or Annotation InsertPoint BlockPoint and/or Arc and/or Annotation ARC/ INFO把DXF文件中的每一条线Line 实体的层、线型、颜色等属性信息存放在后缀 为“ACODE”的INFO文件中;把DXF文件中的每 一点Point实体、注记Text实体、Insert实体 的层、颜色、角度、尺寸、注记字符串等属性信 息存放在后缀为“XCODE”的INFO文件中。 由于作业人员对AutoCAD掌握较好,对于信息 较多的图形,生产中仍然把各项信息录入到Auto2 CAD的各实体中,录入的方法有带属性的单元; 存放在各元素扩展码中;以层、色代属性等等,创 建各要求字段于INFO中,根据上述各功能编写转 换程序可把各项数据完全无误地转入到ARC/ INFO 中。转换的第一步是把AutoCAD的实体、注记、In2 sert等转换成文本格式,文本中包含所有的元素信 息起始坐标、高程值、字体大小、比例、楼层、 道路宽等等 , 第二步即把文本转成ARC/ INFO数据 并建立拓扑关系。在生产中我们已成功进行了多个 测区数据的转换,如福建1 500地形图,天津 1 500地籍图,宜宾市1 2000地形缩编图,宣威 1 25000土地详查等。 213 AutoCAD与MicroStation之间的数据转换 MicroStation是一个在工程、绘图、建筑等领域 广泛使用的CAD软件包,它的设计design文件 后缀为“dgn” 。DWG与DG N数据格式转换由于 存在着不同的数据格式,在工作中不可避免地需要 在AutoCAD和MicroStation之间进行两种格式的数据 转换。在实践中,往往经过成图软件的转换或直接 在AutoCAD中编辑地形图,然后可由MicroStation直 接读取AutoCAD的DWG文件,且可保证属性值不 变。存在的问题是汉字和线型问题,其线型和字体 需要转换,转换过程有一定的技巧,方法如下 1从MicroStation中输出DWG格式的文件到 AutoCAD过程中字体转换的方法 ① 在Bentley \ Home \ prefs \ dwgdata \目录 下,编辑dwgfont. tbl文件。 在文件的末尾加入第三列为MicroStation的 字体号,用户根据自己的情况决定 style1 simfang 137 style2 simhei 156 style3 simli 171 ② 在MicroStation中分别用3种以上的字体写入 汉字,如黑体、仿宋、楷体。 ③从 文件F 下拉菜单中选择 输出E . . . DWG或DXF后弹出保存AutoCAD绘图文件对 话框。注意调整目标目录,并输入正确的文件名。 然后按确定按钮,弹出DWG/ DXF输出对话框,从 设置下拉菜单中选择“字符”弹出字符匹配对话 框,在此对话框中选择“文件 连接”弹出连接 字符表文件对话框,选择dwgfont. tbl后按确定按 纽。再在字符匹配对话框中按确定按钮。最后在 DWG/DXF输出对话框中按输出按钮。DWG文件输 出到相应的目录中。 ④ 启动WNEWCP应用程序,在对话框最上方的 输入域中输入DWG文件名或用Browser找到。在 Select a new code page下方的文件列表框中选择AN2 SI936 ,按右侧的Start Conversion进行转换。然后按 确定按钮直至完成。 ⑤进入AutoCAD ,选择at Text Style下 拉菜单,弹出Text Style对话框。按New按钮建立新 字体Style1 ,在Font Name域中选择仿宋,然后按 Apply按钮。依此类推,建立黑体、隶书体。保存 模板。 ⑥ 进入Acad. dwt模板文件,然后直接打开处 理好的DWG文件即可。或选择“Insert Block” 弹出Insert对话框,选择File按钮输入DWG文件。 将Explode复选框选中。按OK钮。 ⑦ 正确的中文文本和图形显示在DWG文件中, 各种字体完全正确。 2线型转换方法 线型转换应该分为两种情况,一种是从dwg到 dgn的多义线pline的线宽问题;另一种是从dgn 到dwg的曲线线宽问题。 从dwg到dgn的多义线pline的线宽问题。 常 见的是dwg中的线宽到dgn中不能正确显示。在 CAD中的Pline可以定义较大的线宽,而对应在Mi2 croStation中的相应线型线宽是有限的,解决的办法 其实是修改MS的转换文件控制选项,在相关目录 如\ bentley \ home \ prefs \ dwgdate \ dwgcontrol. bas J版文 件,用 文 字 编 辑 器 打 开,找 到 MbeDWGImportSettings.polylineWidthAsMBE- LinestyleπMBE-Shape ,πMBE-Linestyle ,πMBE- Weight ,πMBE-None ,然后将其改为 MbeDWGIm2 43四川测绘第27卷第1期2004年3月 portSettings. polylineWidthAs MBE-ShapeπMBE- Shape ,πMBE-Linestyle ,πMBE-Weight ,πMBE-None 这样将对应的线宽转换为一个图形。然后正常 输入dwg文件就可以得到准确的结果。 从dgn到dwg的曲线线宽问题。 这个问题实际 上是关于dgn2dwg的线宽对应的问题。可以用下面 的办法解决 file - export -dwg dxf -setting - weight width - file -attach -dwgwght. tbl - ok。这个过程其 实是把控制线型线宽转换对应表引入转换的过程。 dwgwght. tbl文件是控制线型的宽度设置,可以根 据需要具体调整一般来说可以满足要求,有时稍 嫌细。dwgwght. tbl是一个转换时的对应线型宽度 的对应表,其中的设置主要为dgn中的宽度对应 dwg中的宽度。 从对以上两种问题的分析可以知道,在两个系 统中由于线型的种类的不完全对应,在转换中容易 出现不能完全对应的问题。而解决问题的关键就是 针对这种情况去找到可以对应的设置选项。 3填充的转换 在MS中的色块填充不能直接转换为CAD中的 对应形式,可以按照以下设置file - export dwg - set2 ting - general - more ;按以下设置small filled shapes to - solid small shapes to - face。其它同原设置。 在CAD 中就可以实现色块的填充MicroStation 7. 1. 4版 本。 其它还有尺寸标注的转换等。对于以上情况的 分析可以得到以下结论在转换过程中各个选项的 控制对结果有重要影响,其中又分为两种类型 a. 控制文件,如dwgcontrol.bas。其实大部分的选项 都由它来控制,如线型对应、默认字体等,它是一 个MicroStation Basic文件,可以用文字编辑类工具 打开编辑。b.对应表单。如字体、线型等的一一 对应都是按照它的设置,文件类型为 3. tbl。注 意工作过程中需要file - attach 214 AutoCAD与3DS的文件转换 AutoCAD中图形以DXF文件格式输入到3DS 中。将DXF文件导入3DS中需要注意 1在AutoCAD中用AME生成的物体,首先要 用命令Solmesh进行表面网格化可用Shade命令检 查,否则不能进入 3DS 。 2用Dxfout命令将三维物体存成DXF文件 时,在给出文件名字后,会出现以下提示“Enter decimal placesof accuracy 0 to 16 / Entities/Binary ”,即“十进制精度 0 到16 /实体/二进制”,一般选择二进制,文件较小,操作较快。 3将AutoCAD中的DXF文件导入3DS时,将 出现对话框。其中有Layer 层、Color 颜色、 Entity 实体 三种转换物体的方式供选择。 Layer进入3DS时保留层名,一个层中的物体 在3DS中为同一物体。 Color按AutoCAD中的颜色转换物体,一种颜 色是一个物体。 Entity按AutoCAD中的实体进入3DS , 3DS自 动给物体赋名编号,较常用的方法是将同一类物体 如表面要贴同一种材质的物体放在AutoCAD同 一层中,并给予易辨认的层名。 4对转入2D Shaper和3DLofter中进行操作的 AutoCAD实体必须是多义线Polyline。因此,在 AutoCAD中应把它们用Bpoly和Pedit转成多义线。 进入3DS后再用Check命令检查节点和减少节点, 并在其对话框中将Weld Verts 节点合并、Unify Normals 统一法线 选“No”, Auto Smooth 自动平 滑选“Yes” 。 3 结束语 数据转换包含了两个层次的意义,第一是数据 是否可以从现有格式如AutoCAD或ArcInfo转换 到选定的GIS平台格式如MicroStation、MAPGIS , 第二是数据是否可以从现有的分层结构标准和成图 方式如分层、编码、成面、封闭、接边无丢失 地转换到新的分层结构标准和成图方式。为了实现 对AutoCAD数据无丢失的转换达到第二层次的要 求 , 首先必须制定面向GIS的地图地形图、各种 规划图、管线图、道路红线图等的数据编码标 准,然后编写相应的数据转换系统。这个转换系统 既可以读取AutoCAD一些特殊信息如扩展码中 的内容 , 又可以完成GIS拓扑化的功能,保证Au2 toCAD的数据可以按照原样转入,并满足GIS数据 的要求,使各种基础数据可以顺利导入系统,实现 基础数据的建立和更新的目的。 参考文献 [1] AutoCAD 2002二次开发技术指南[M].北京清华大学 出版社. [2] 3DS MAX设计宝典[M].北京机械工业出版社. [3] MicroStation工程设计基础教程[M].北京科学出版 社. [收稿日期] 2003 - 09 - 30 [作者简介]龚家玉1968 - ,女,四川省大竹县人,四川 省第三测绘工程院工程师,主要从事内业管理及技术工作。 53四川测绘第27卷第1期2004年3月