AUTODESK CIVIL 3D 2007 白皮书使用 Civil 3D 建立数字地形模型1. 简介Civil 3D 软件是Autodesk为土木与基础设施行业提供的三维设计解决方案,适用于勘测、场地规划、总图、道路设计、水利工程、地质矿产等多个不同的行业领域。
Civil 3D的功能非常强大,但其中最有价值的是三维数字地形模型。
使用数字地形模型,既可用于直观的查看场地的三维效果,也可用于土方计算、纵横断面绘制等设计与计算用途。
因此,详细了解如何生成数字地形模型非常重要。
本文不是一份全面的Civil 3D入门教材,而是着重讨论如何在Civil 3D中根据多种原始数据创建数字地形模型。
在Civil 3D中,数字地形模型被称为“曲面”。
用户需要首先创建一个曲面对象,然后把源数据(例如测量点、等高线、DEM文件等)添加到曲面定义项中,就可以生成曲面。
在Civil 3D中创建曲面对象的步骤是:在工具空间的“浏览”选项板上找到“曲面”结点,单击右键,选择“新建”,然后在弹出对话框中输入新建曲面的名称与描述(可选),确定即可。
创建了曲面对象之后,在工具空间的浏览选项板上,展开“曲面”结点前的按钮,就可以看到新生成的曲面对象。
继续展开该曲面对象以及其下的“定义”结点,就可以看到在“定义”目录下面列出了多种源数据类型。
Civil 3D能通过列表中的任一种源数据生成曲面,也可以混合使用多种源数据,只要把这些源数据添加到曲面的定义目录下面即可。
然而,根据源数据的类型和质量不同,可能需要采取不同的处理手段。
下文将详细介绍。
12. 使用测量点数据使用原始的测量点数据创建地形模型是最直接、最准确的方式。
在Civil 3D中,如果能获取测量点数据,那么最好是直接从测量点数据创建地形曲面,因为这样能避免通过其它软件进行处理而引入的额外误差。
根据具体情况不同,有些时候我们可以取得点数据文件,而有些时候我们只能利用现有DWG图上绘制的测量点对象。
因此,根据不同的数据来源,我们可以采用不同的创建方式。
2.1 使用点数据文件或 .csv)。
例如,右图是一个典型的点数据文件,文件的每一行表示一个测量点,而四列数据分别表示点编号、X、Y、Z坐标,列之间用空格分隔。
这样的数据格式被称为“PENZ(空格分隔)”格式。
Civil 3D中预定义的数据格式还有NEZ、PENZD等。
格式名称中的每个字母代表的含义如下:P -点编号E -东距(AutoCAD中的X坐标)N -北距(AutoCAD中的Y坐标)Z -标高(AutoCAD中的Z坐标)D -点描述(任意字符串)2格式名称中的字母排列顺序就代表了每一列的数据含义,而每种排列方式都可以选择使用逗号或者空格作为分隔符,因此可选择多种数据格式。
另外,Civil 3D也允许用户自定义数据格式,但不在本文的介绍范围内。
如果用户使用的点数据文件是其它格式(例如Excel文件)的,则需要事先转成文本文件,并符合Civil 3D的数据格式之一,然后才可以导入到Civil 3D中。
a) 创建点编组有了点文件之后,就可以把文件导入到Civil 3D中。
通常的方式是先用点文件生成Civil 点编组对象,然后使用点编组生成地形曲面。
操作步骤:1. 点击菜单“点->创建点”,然后在浮动的“创建点”工具栏上点击“导入点”按钮。
2.在“导入点”对话框中选择正确的数据格式,点击按钮找到并选择数据文件,然后点击按钮创建一个新的点编组(输入一个点编组名称,例如“survey”)。
点击“确定”后,Civil 3D就会创建一个点编组,包含该文件中所有的测量点对象。
3. 创建点编组后,在绘图区域中应能看到所有的测量点(可能需要缩放当前视图区域才能看到)。
同时,在Civil 3D工具空间的“浏览”页面上选中对应的点编组结点后,数据列表中会显示该编组中所有的测量点。
用户可以在此处直接查看和修改点数据。
(小技巧:点击列表上任一列的栏头,则所有的点记录会按照该列的数值进行排序。
在任一点记录上单击右键,选择“缩放到”,则当前视图会自动缩放到该点所在的位置。
)34. (如果尚未创建曲面对象,此时请先创建曲面。
)点前的按钮,然后找到已生成的曲面结点,右键Array单击“定义”下的“点编组”结点,在弹出菜单中选择“添加...”5. 在弹出的点编组列表中,选择名称为“Survey”的点编组,然后单击“确定”。
很快,图上就生成了地形曲面的等高线(根据制图样板的不同,曲面的显示方式可能不同)。
在这种方式中,所有的点数据都存放在DWG文件中,并且曲面与点编组是动态关联的。
如果修改了点数据(例如修改标高),那么地形曲面可以动态的进行更新,因此非常方便。
但由于在图文件中生成了大量的点对象,需要消耗较多的系统资源,因此只适合于点数量较小(<50000)的情况。
如果点数较多,那么建议使用下面的方式:b) 引用点文件为了节省系统资源,提高效率,在Civil 3D中也可以不创建Civil 点对象,通过引用外部点文件的方式直接创建曲面。
这种方式的步骤与上一种方式相似,但您可以跳过第1~3步,按照下述方式:1. 按照上面第4步的方式,创建一个新的曲面。
按钮,然后找到新生成的2. 在工具空间的浏览选项板上,单击展开“曲面”结点前的曲面结点,右键单击“定义”下的“点文件”结点,在弹出菜单中选择“添加...”453. 在“添加点文件”对话框中,选择数据格式和要导入的文件(参见“创建点编组”),点击“确定”。
于是就完成了创建曲面的过程。
上述两种方式的不同特点,可以通过下面的表格进行对比:点数据存放在DWG 文件内部,以后不再需要访问外部文件点数据存放在外部文件中,重新生成曲面时需要访问外部文件 在图形中可以显示所有点对象,并可使用工具空间查看点数据 在Civil 3D 环境中无法显示点数据在工具空间的列表上直接修改点数据,曲面可以自动更新需修改点文件,然后手动重新生成曲面消耗系统资源较多,因此速度较慢消耗较少的系统资源,速度较快从上表中可以看出,“创建点编组”的功能更丰富,但消耗资源较多,速度较慢,因此适合于点数量较少(<50000)、并且需要在图中显示点对象的场合;而“引用点文件”的功能较简单,仅能生成曲面而不能显示点对象,但速度更快,因此适合于需要用大量点数据快速生成曲面的场合。
2.2 使用DWG 图形中的点使用点文件虽然方便,但并不是任何情况下都可获得点文件。
很多情况下,我们只能拿到DWG 格式的图文件,而图上标明了勘测点的坐标和标高。
例如,右图来自一张典型的地形图。
图上用图块(有时是AutoCAD 点对象或者圆形)标示出点的位置(即XY 坐标),旁边用文字标出点的高程。
有些情况下,图块(包括AutoCAD 点对象或者圆形,以下同)本身的Z 坐标就是正确的高程值,而有些情况下图块对象本身的Z坐标为0。
根据原始数据的情况不同,可以采取不同的处理手段:a) 使用有高程的图块或对象Civil 3D 可以直接将有标高的图块处理为测量点对象。
步骤是:1. 新建曲面2. 在工具空间的浏览选项板上,展开新建的曲面结点,在“定义->图形对象”结点上右键单击,选择“添加…”63. 在弹出对话框中选择要添加的对象类型,例如点或图块,确定4. 用框选方式选中要添加的所有图块或点对象,回车(注:您也许希望先通过关闭掉其它的图层,以防止错误的选中其它的图块)b) 转换文本点在这种情况下,需要使用Civil 3D 本地化扩展中提供的“转换文本点”工具,先把文本转换成Civil 点对象,然后再使用点编组创建曲面。
使用“转换文本点”工具的前提是:¾ Civil 3D 2006 中文版及更高版本,并已安装本地化扩展包¾ 要识别的文本均位于同一个图层上,并且文本的内容就是点的高程值¾ 每个点高程文本到点位的相对偏移都相同。
例如,下面左图中的高程文本是符合这个条件的,而右图中的高程文本则不符合(Civil 3D 2006与2007版暂不能处理右图的情况)在满足上述前提条件的情况下,就可以使用“转换文本点”工具。
步骤是:1. 点击菜单“点->实用程序->转换文本点”2. 按提示,选中任一个点高程文本对象3. 按提示,输入该高程文本对应的点位置4. 输入这一批高程点的描述5. 接下来,Civil 3D 将自动搜索该文本对象所在的图层上的所有文本,并根据相同的点位偏移,在每个文本对应的点位置上创建一个Civil 点对象,该点的高程值就是文本的内容,并且为点添加描述。
最后,Civil 3D 还将创建一个点编组(使用该描述为编组命名),并把这次生成的所有Civil 点放在该编组中。
“转换文本点”是一个非常方便的工具,它可以快速的把DWG图上现有的勘测点识别为Civil 点,以便后续应用。
如果希望将识别出的高程点导出成为点文件,还可以使用Civil 3D的导出功能(菜单“点->实用程序->导出”)。
3. 使用现有等高线图形在很多时候,用户手上并没有原始测量点数据,而是使用现有的DWG格式的等高线地形图。
因此,除了使用测量点数据,Civil 3D还可以从现有的等高线图形创建数字地形。
这些等高线通常是直线、多段线或样条曲线。
(注意:Civil 3D不能直接使用样条曲线生成曲面。
如果是样条曲线,需要先使用Express工具转换成多段线对象。
)3.1 添加三维等高线的(也就是有正确的Z坐标),那么就可以直接用来创建地形曲面。
无论等高线是否有间断,对于最后结果通常没有大的影响。
添加等高线到曲面的步骤是:1. 在图形区域中选中任一条等高线。
单击右键,选择“选择类似对象”。
Civil 3D会自动选中同一图层上的所有等高线对象。
2. 在工具空间的浏览选项板上展开要添加的曲面。
在“定义->等高线”结点上单击右键,选择“添加...”。
在弹出的对话框中点击“确定”即可。
注意:上述操作时,需保证所有的等高线对象位于一个图层上,并且该图层上没有其它的直线或多段线对象。
如果等高线对象位于几个不同的图层上,则可以分批添加,每次处理一个图层。
3.2 二维等高线赋值如果现有的等高线是二维的(Z坐标为0)或者Z坐标不正确,那么还需要先使用Civil 3D本地化扩展中提供的“等高线赋值”工具,为其赋上正确的高程值。
等高线赋值的步骤是:1. 点击菜单“曲面->实用程序->等高线赋值”2. 按提示,先输入第一根等高线的高程值,再输入等高线的高程增量73. 绘制一条橡皮线,依次穿过所有要赋值的等高线4. 继续绘制橡皮线,或者回车结束命令。
命令完成后,凡是赋上高程值的等高线会用红色标示出来。
完成赋值后,就可以使用“添加三维等高线”功能将其添加到曲面定义中。