Civil 3D建立数字地形模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用 Civil 3D 2007 建立数字地形模型
Autodesk Civil 3D 软件是Autodesk公司为土木与基础设施行业提供的三维设计解决方案,适用于勘测、场地规划、总图、道路设计、水利工程、地质矿产等多个不同的行业领域。
Civil 3D的功能非常强大,但其中最有价值的部分是三维数字地形模型。
利用数字地形模型,既可直观的查看场地的三维效果,也可用于土方计算、纵横断面绘制等设计与计算功能。
因此,详细了解如何生成数字地形模型非常重要。
本文不是一份全面的Civil 3D入门教材,而是着重讨论如何在Civil 3D 中根据多种源数据创建数字地形模型。
目录
1.地形曲面 (2)
2.使用测量点数据 (3)
2.1使用点数据文件 (3)
a)创建点编组 (4)
b)引用点文件 (5)
2.2使用DWG图形中的点 (6)
a)使用有高程的图形对象 (6)
b)转换文本点 (7)
3.使用现有等高线图形 (8)
3.1使用三维等高线 (8)
3.2二维等高线赋值 (8)
3.3简化等高线 (9)
a)顶点消除算法 (9)
b)允差算法 (10)
4.使用其它数据 (11)
4.1使用三维特征线 (11)
1
4.2使用边界和遮罩 (12)
4.3使用DEM文件 (13)
4.4使用L AND XML文件 (14)
5.曲面编辑 (15)
6.小结 (16)
1. 地形曲面
在Civil 3D 中,数字地形模型被称为“曲面”。
Civil 3D中的曲面分为两种类型,即三角网曲面和栅格曲面,其中三角网曲面是缺省的曲面类型。
它使用不规则三角网(TIN)来模拟真实地形,较为精确,因此更适合土木工程设计应用。
本文中的曲面均是指三角网曲面。
在Civil 3D中,尽管可以使用多种不同的样式(例如等高线或坡度分析)来显示曲面,但是请记住,在不同的显示样式背后,曲面的数据是以三角网模式来存储和操作的。
在Civil 3D中建立曲面时,用户需要首先创建一个曲面对象,然后把源数据(例如测量点、等高线、DEM文件等)添加到曲面定义中,就可以生成曲面。
在Civil 3D中创建曲面对象的步骤是:在工具空间的“快捷方式浏览”选项板上找到“曲面”结点,单击右键,选择“新建”,然后在弹出对话框中输入新建曲面的名称与描述(可选),确定即可。
创建了曲面对象之后,在工具空间的浏览选项板上,展开“曲面”结点前的按钮,就可以看到
新生成的曲面对象。
继续展开该曲面对象以及其下的“定义”结点,就可以看到在“定义”目录下面列出了多种源数据类型,例如边界、等高线、点编组等。
Civil 3D能通过列表中的任一种源数据生成曲面,也可以混合使用多种源数据,只要把这些源数据都添加到曲面的定义目录下面即可。
然而,根据源数据的类型和质量不同,可能需要采取不同的处理手段。
下文将详细介绍。
2. 使用测量点数据
使用原始的测量点数据创建地形模型是最直接、最准确的方式。
在使用Civil 3D时,如果能获取测量点数据,那么最好是直接从测量点数据创建地形曲面,因为这样能避免通过其它软件进行处理而引入的额外误差。
根据具体情况不同,有些时候我们可以取得点数据文件,而有些时候我们只能利用现有DWG图上绘制的测量点对象。
因此,根据不同的数据来源,我们可以采用不同的创建方式。
2.1 使用点数据文件
在Civil 3D中,可以导入文本格式的点数据文件(.txt
或 .csv)。
例如,右图是一个典型的点数据文件,文件的每一
行表示一个测量点,而四列数据分别表示点编号、X、Y、Z坐
标,列之间用空格分隔。
这样的数据格式被称为“PENZ(空
格分隔)”格式。
Civil 3D中预定义的数据格式还有NEZ、
PENZD等。
格式名称中的每个字母代表的含义如下:
P -点编号
E -东距(AutoCAD中的X坐标)
N -北距(AutoCAD中的Y坐标)
Z -标高(AutoCAD中的Z坐标)
D -点描述(任意字符串)
格式名称中的字母排列顺序就对应于每一列的数据含义,而每种排列方式都可以选择使用逗号或者空格作为分隔符,因此可选择多种数据格式。
另外,Civil 3D也允许用户自定义数据格式,详见Civil 3D 帮助文件中的“创建点文件格式”。
如果用户使用的点数据文件是其它格式(例如Excel文件)的,则需要事先转成文本文件,并符合Civil 3D的数据格式之一,然后才可以导入到Civil 3D中。
a) 创建点编组
有了点文件之后,就可以把文件导入到Civil 3D中。
通常的方式是先用点文件生成Civil 点编组对象,然后使用点编组生成地形曲面。
操作步骤:
1. 点击菜单“点->创建点”,然后在浮动的“创建点”工具栏上点击“导入点”按钮。
2. 在“导入点”对话框中选择正确的数据格式,点击按钮找到并选择数据文件,然后
点击按钮创建一个新的点编组(输入一个点编组名称,例如“survey”)。
点击
“确定”后,Civil 3D就会创建一个点编组,包含该文件中所有的测量点对象。
3. 创建点编组后,在绘图区域中应能看到所有的测量点(可能需要缩放当前视图区域才能
看到)。
同时,在Civil 3D工具空间的“浏览”页面上选中对应的点编组结点后,数据
列表中会显示该编组中所有的测量点。
用户可以在此处直接查看和修改点数据,图形会
自动更新。
(小技巧:点击列表上任一列的栏头,则所有的点记录会按照该列的数值进
行排序。
在任一行记录上单击右键,选择“缩放到”,则当前视图会自动缩放到该点所
在的位置。
)
4. (如果尚未创建曲面对象,此时请先创建曲面。
)
在工具空间的浏览选项板上,单击展开“曲面”结
点前的按钮,然后找到已生成的曲面结点,右键
单击“定义”下的“点编组”结点,在弹出菜单中
选择“添加...”
5. 在弹出的点编组列表中,选择名称为“Survey”的
点编组,然后单击“确定”。
很快,图上就生成了
地形曲面的等高线(根据制图样板的不同,曲面的
显示方式可能不同)。
在这种方式中,所有的点数据都存放在DWG文件中,并且曲
面与点编组是动态关联的。
如果修改了点数据(例如标高),那么地形曲面可以动态的进行更新,因此非常方便。
但由于在图文件中生成了大量的点对象,需要消耗较多的系统资源,因此只适合于点数量较小(<50000)的情况。
如果点数较多,那么建议使用下面的方式:
b) 引用点文件
为了节省系统资源,提高效率,在Civil 3D中也可以不创建Civil 点对象,而是通过引用外部点文件的方式直接创建曲面。
这种方式的步骤与上一种方式相似,但更为快捷:
1. 创建一个新的曲面。
2. 在工具空间的浏览选项板上,单击展开“曲面”结点前的按钮,然后找到新生成的
曲面结点,右键单击“定义”下的“点文件”结点,在弹出菜单中选择“添加...”
3. 在“添加点文件”对话框中,选择数据格式和要导入的文件(参见“创建点编组”),
点击“确定”。
于是就完成了创建曲面的过程。
上述两种方式的不同特点,可以通过下面的表格进行对比:
点数据存放在DWG文件内部,以后不再需要访问外部文件点数据存放在外部文件中,重新生成曲面时需要访问外部文件
在图形中可以显示所有点对象,并
可使用工具空间查看点数据
在Civil 3D环境中无法显示点数据
在工具空间的列表上直接修改点数据,曲面可以自动更新需修改点文件,然后手动重新生成曲面
消耗系统资源较多,因此速度较慢消耗较少的系统资源,速度较快
从上表中可以看出,“创建点编组”的功能更丰富,但消耗资源较多,速度较慢,因此适合于点数量较少(<50000)、并且需要在图中显示点对象的场合;而“引用点文件”的功能较简单,仅能生成曲面而不能显示点对象,但速度更快,因此适合于需要用大量点数据快速生成曲面的场合。
2.2 使用DWG图形中的点
使用点文件虽然方便,但并不是任何情况下都可获得点文件。
很多
情况下,我们只能拿到DWG格式的图文件,而图上标明了勘测点的坐标
和标高。
例如,右图来自一张典型的地形图。
图上用圆形(有时是
AutoCAD点对象或者图块)标示出点的位置(即XY坐标),旁边用文字
标出点的高程。
有些情况下,图形对象(包括AutoCAD点对象、图块或
圆形,以下同)本身的Z坐标就是正确的高程值,而有些情况下图形对象
本身的Z坐标为0。
根据原始数据的情况不同,需要采取不同的处理手段:
a) 使用有高程的图形对象
如果AutoCAD点、图块、或者文字对象本身的Z坐标就是高程值,那么Civil 3D可以直接从这些图形对象创建Civil 点对象。
步骤是:
1. 新建曲面
2. 在工具空间的浏览选项板上,展开新建的曲面结点,在“定义->图形对象”结点上右键
单击,选择“添加…”
3. 在弹出对话框中选择要添加的对象类型,例如点或图
块,确定
4. 用框选方式选中要添加的所有要转换的对象,回车。
(注:您也许希望先通过关闭掉其它的图层,以防止
错误的选中其它对象。
)曲面就创建好了。
b) 转换文本点
如果点位处的图形对象本身Z坐标为0(甚至有时根本没有图形对象,只有文字),通过文字对象表示点高程,那么就可以使用Civil 3D本地化扩展中提供的“转换文本点”工具,先把文本转换成Civil 点对象和编组,然后再使用点编组创建曲面。
使用“转换文本点”工具的前提是:
z Civil 3D 2006 中文版及更高版本,并已安装本地化扩展包
z要识别的文本均位于同一个图层上,并且文本的内容就是点的高程值
z每个点高程文本到点位的相对偏移都相同。
例如,下面左图是满足这个条件的,而右图则不满足(Civil 3D 2006与2007版还不能准确的处理右图的情况)
在满足上述前提条件的情况下,就可以使用“转换文本点”工具。
步骤是:
1. 点击菜单“点->实用程序->转换文本点”
2. 按提示,选中任一个点高程文本对象
3. 按提示,输入该高程文本对应的点位置
4. 输入这一批高程点的描述
5. 接下来,Civil 3D将自动搜索该文本对象所在的图层上的所有文本,并根据相同的点位偏移,
在每个文本对应的点位置上创建一个Civil点对象,该点的高程值就是文本的内容,并且为点
添加描述。
最后,Civil 3D还将创建一个点编组(使用该描述为编组命名),并把这次生成的所有Civil 点放在该编组中
“转换文本点”是一个非常方便的工具,它可以快速的把DWG图上现有的勘测点识别为Civil 点编组。
如果希望将识别出的高程点导出成为点文件,还可以使用Civil 3D的导出功能(菜单“点->实用程序->导出”)。
有了点编组或点文件,您就可以使用它们来创建曲面(参见第2.1节)。
3. 使用现有等高线图形
在很多时候,用户手上并没有原始测量点数据,而是使用现有的DWG格式的等高线地形图。
因此,除了使用测量点数据,Civil 3D还可以从现有的等高线图形创建数字地形。
这些等高线通常是直线、多段线或样条曲线。
(注意:Civil 3D不能直接使用样条曲线生成曲面。
如果是样条曲线,需要先使用AutoCAD Express工具转换成多段线对象。
)
3.1 使用三维等高线
无论现有的等高线对象是直线或是多段线,只要它们是三维的(也就是有正确的Z坐标),那么就可以直接用来创建地形曲面。
无论等高线是否有间断,对于最后结果通常没有大的影响。
添加等高线到曲面的步骤是:
1. 在图形区域中选中任一条等高线。
单击右键,选择
“选择类似对象”。
Civil 3D会自动选中同一图层上
的所有等高线对象
2. 在工具空间的浏览选项板上展开要添加的曲面。
在
“定义->等高线”结点上单击右键,选择“添
加...”。
在弹出的对话框中点击“确定”即可
注意:上述操作时,需保证所有的等高线对象位于一个
图层上,并且该图层上没有其它的直线或多段线对象。
如果
等高线对象位于几个不同的图层上,则可以分批添加,每次
处理一个图层。
3.2 二维等高线赋值
如果现有的等高线是二维的(Z坐标为0)或者Z坐标不正确,那么还需要先使用Civil 3D本地化扩展中提供的“等高线赋值”工具,为其赋上正确的高程值。
等高线赋值的步骤是:
1. 点击菜单“曲面->实用程序->等高线赋值”
2. 按提示,先输入第一根等高线的高程值,再输入等高线的高
程增量
3. 绘制一条橡皮线,依次穿过所有要赋值的等高线
4. 继续绘制橡皮线,或者回车结束命令。
命令完成后,凡是赋
上高程值的等高线会用红色标示出来。
完成赋值后,就可以使用“添加三维等高线”功能将其添加到曲面定义中。
注意:使用这个工具时,要赋值的等高线对象应是连续的多段线。
如果等高线有中断,那么必须分批进行处理。
另外,必须保证橡皮线仅穿过要赋值的等高线而不穿过其它的多段线对象,必要时可以关闭其它的图层。
3.3 简化等高线
在现有的DWG地形图上的等高线,通常是由多段线表示。
有时候,多段线的顶点间距非常之短,因此每条多段线上都具有非常密集的顶点。
从这些等高线生成曲面时,过多的顶点数量并不能保证生成的曲面更准确的反映现实地形,反而会消耗更多系统资源,严重影响速度。
因此,有时候希望对这些等高线进行简化,减少顶点数量(参见下图所示)。
在Civil 3D中,为等高线简化提供了两种不同的算法:
a) 顶点消除算法
这是Civil 3D默认的等高线简化方式。
使用这种方式,只要在添加等高线到曲面的对话框中(参见第3.1节)指定顶点消除因子(包括距离和角度)即可。
该算法的示意图如下:
从图中可以看到,当该顶点两侧相邻的线段总长度(L1+L2)小于给定距离,并且偏转角θ小于给定角度时,该顶点就被忽略,也就是把此处的等高线波折拉直。
因此,要加大简化的幅度,可以适当的增加顶点消除的距离和角度即可。
b) 允差算法
在Civil 3D软件中,已经包含了Autodesk GIS 软件 Map 3D 的功能。
因此,还可以利用Map 3D 功能中提供的另一种多段线简化方式:允差算法。
它的示意图如下:
从图中可见,允差算法只需要用户指定一个允差带宽。
在这个带宽范围内的多段线波折将被拉直,从而生成简化的多段线。
要加大简化的幅度,只需要增加允差带宽的值。
允差算法的操作步骤如下:
1. 输入命令“mapclean”
2. 在“要包括在图形清理中的对象”栏目中,选中“全部选择”,然后选择要清理的等高线所
在图层。
点击“下一步”
3. 在“选择动作”页面的“清理动作”列表中,单击“简化对象”。
单击“添加>”。
然后在
“清理参数”下,将“允差”设置为适当的值
(注意:如果在此页面上选择“清理动作”为“清理多段线”,那么也可以使用顶点消除算法进行等高线简化。
)
4. 接受所有其他默认值。
单击“完成”
5. Civil 3D 将自动简化该图层上的所有多段线。
然后,就可以使用简化后的等高线创建曲面。
等高线简化是一项非常有用的功能,往往能大幅度提高曲面的生成速度。
虽然它也会在一定程度上损失数据精度,但在处理大面积地形时,通常这是可以接受的牺牲。
顶点消除算法和允差算法并没有一定的优劣之分,而对于算法的参数设置也需要根据具体情况进行选择,有可能要多尝试不同的算法和不同的参数设置,然后选择一种较好的配置。
这需要一定的经验积累和摸索。
4. 使用其它数据
4.1 使用三维特征线
在现有的地形图上,有时还会遇到地形特征线,例如山脊线或山谷线。
如果这些地形特征线是用三维多段线表示的,并且每个顶点都有正确的Z坐标,那么也可以将其作为源数据加入到曲面定义中(可以与其它数据混合使用)。
添加的方式与“添加三维等高线”相似,只是选择将其加入到“定义”结点下的“特征线”类别中,并且选择特征线类型为“标准”即可。
另一种情况是地形上有垂直的陡壁,例如挡墙或悬崖。
这种情况下可以使用“陡壁特征线”功能。
具体操作请查阅Civil 3D帮助文件中的“创建陡壁特征线”。
4.2 使用边界和遮罩
默认情况下,Civil 3D使用源数据生成曲面时,会按照凸包形状生成曲面的外缘。
但如果希望生成的曲面具有凹形边界,或是手工限制曲面的范围,就需要手工为曲面添加边界。
边界之外的曲面将不再参与任何操作,例如曲面剖切或体积计算。
根据作用不同,曲面的边界分为三种:
z外部:定义曲面的外边界。
外部边界之外的所有
三角形都被裁掉。
z隐藏:裁掉边界内的三角形。
用于在曲面内部创
建局部空洞(例如建筑物地脚)。
z显示:在隐藏边界内部使用,显示边界内的所有
三角形,即创建岛状区域。
另外,每种边界都分为普通模式和虚特征线模式。
以外部边界为例,普通模式是将边界线穿过的三角形也裁掉,只保留完全在边界线内部的三角形;而虚特征线模式是将边界线穿过的三角形打碎并生成新三角形,保留边界内侧的部分,裁掉外侧的部分,因此获得的曲面外缘较为整齐。
虚特征线的示意图如下:
在Civil 3D中,为曲面添加边界的操作非常简单:
1. 先建立曲面,添加所有其它的源数据
2. 用多段线绘制要添加的曲面边界,并确保边界是封闭的
3. 在工具空间的浏览选项板上,展开该曲面结点,在“定义->边界”结点上右键单击,选
择“添加…”
4. 在弹出对话框中,输入边界名称(可选),选择要添加的曲面类型。
如需使用“虚特征
线”模式,勾选该选项。
确定
5. 在图形区域选中要添加的边界多段线
当曲面有多个边界时,请按照从外向内的顺序进行添加。
与边界相似的另一种功能是曲面遮罩。
遮罩的用法与边界非常相似,但它并不真实的裁掉遮罩外的曲面,而只是将其改为不可见。
在曲面剖切或者体积计算时,遮罩外的部分仍然参与运算。
与边界类似的,遮罩也分为三种类型:
z内部:创建内部遮罩,剪裁并隐藏多边形内部的区域。
z外部:创建外部遮罩,剪裁并隐藏多边形外部的区域。
z仅渲染:为多边形内部的区域指定不同的渲染材质样式,仅用于渲染功能。
使用遮罩时,在工具空间的浏览选项板上找到该曲面结点,在曲面下的“遮罩”结点上单击右键添加,按提示操作即可。
4.3 使用DEM文件
DEM(Digital Elevation Model,数字高程模型)文件用于存储大范围地形地貌信息,以供 GIS、地球科学、资源管理、土地规划、测量和工程项目中使用。
尽管很多软件都把自己生成的数字高程文件称为DEM,但Civil 3D 软件和本文中所说的 DEM 格式是特指美国地质调查局(USGS)所制订的标准格式,它在很多软件中都得到支持。
有关 DEM 文件格式的完整信息,请参见由美国内务部地质调查局下属的国家地图制作中心出版的《National Mapping Program Technical Instructions》中的“Standards for Digital Elevation Models”一节。
可以在 USGS 网站上找到此文档(网址为/nmpstds/acrodocs/dem/PDEM0198.PDF)。
DEM 文件通常以规则的栅格网形式记录地形 XYZ 信息,以表示地面高程。
对于许多规划和设计任务而言,DEM 文件是非常有价值的数据源。
尽管它对于工程详细设计来说还不够精确,但是对于大范围规划和初步方案却是非常方便的。
在Civil 3D中,您可以使用DEM文件生成曲面,包括对DEM进行坐标转换。
步骤是:
1. 新建曲面。
如需进行坐标转换,请在“图形设置”中指定当前图形的坐标系
2. 在工具空间的浏览选项板上,展开新建的曲面结点,在“定义->DEM文件”结点上右键
单击,选择“添加…”
3. 在弹出对话框中选择要添加的DEM文件,在“DEM文件信息”中会显示该文件的信息
4. 如果DEM文件的坐标系与当前图形的坐标系不同,就需要进行坐标转换。
点击下方列表
中“DEM文件->CS代码”右侧的“…”按钮,根据Civil 3D显示的DEM文件信息,选择
正确的坐标系,确定即可。
有关使用DEM文件生成曲面的更多信息,请参阅Civil 3D帮助文件中的“DEM文件”。
4.4 使用LandXML文件
除了传统的DWG格式,Civil 3D软件还支持使用新的LandXML格式来保存和交流地形数据。
LandXML是由Autodesk公司发起、全球各大公司参与制定的,用于土地开发和土木工程设计领域的标准数据格式,可以用于描述、存储、交换设计信息。
由于LandXML是全球统一的开放性格式,因此使得不同国家、使用不同软件的工程技术人员能够用相同的语言进行交流,同时也适合于长期档案保存。
另外,LandXML本身是一种文本格式,可以用MS Internet Explorer 打开查看,也可以用任何文本编辑器(例如Windows记事本)进行编辑。
在Civil 3D中,可以将地形曲面导出成LandXML文件,或者从LandXML导入已有的曲面。
命令是:菜单“文件->导出->导出LandXML”或者“文件->导入->导入LandXML”。
LandXML文件中完全精确的记录了曲面的几何信息。
因此,当建立了一个曲面之后,如果要进行存档或者拷贝,可以将曲面导出到LandXML。
以后只要在其它的DWG文件中导入该LandXML文件即可,而不再需要重复建立
曲面的整个过程。
另一个很有用的技巧是,当使用图形中的大量对象(例如Civil点编组或是等高线)创建曲面后,可以先将曲面导出为LandXML,然后删除图中的源数据对象和曲面,再导入该LandXML 重建曲面。
使用这个方法,可以有效的缩减图文件大小,从而节省系统资源,获得更好的性能。
5. 曲面编辑
对于已经建立好的曲面,有时还希望进行修改。
在Civil 3D中,除了修改源数据从而更新曲面之外,还可以对曲面模型进行手工编辑。
但由于Civil 3D的曲面对象是依靠三角网算法生成的,要修改曲面模型时,只能对曲面的三角网进行编辑,然后Civil 3D自动更新曲面显示的等高线图形(或是其它样式),而不能直接编辑曲面的等高线图形。
Civil 3D支持的曲面编辑操作如下表。
(注意:使用“三角网编辑”类别的命令时,必须先保证该曲面是用三角网样式显示的,即曲面的三角网是可见的。
)
添加直线为曲面添加新的三角网线
删除直线删除曲面中的三角网线或栅格线
交换三角形边改变三角网中一条边的方向(同时改变相邻的两个三角形)三角网编辑
添加点为曲面模型添加新的三角形顶点
删除点删除曲面中的顶点
修改点修改单个顶点的高程
移动点将现有顶点移动到新位置,并更新三角网剖分
最小化平面面积对于使用等高线生成曲面的情况,此操作有助于改善新建曲
面的质量,提高曲面等高线与原始等高线的匹配度
升高/降低曲面将所有顶点的高程增加或减去一个数值,从而升高或降低整曲面规整
个曲面
平滑曲面使用插值方法,在指定区域内对曲面网格进行细分,从而使
得曲面更加平滑。
该局部的等高线也会更加平滑,并且不会
相交。
但该操作可能导致数据量增大,影响系统性能曲面运算粘贴曲面将另一个曲面合并到当前曲面。
例如在进行场地设计时,将
局部的设计地形与场地原始地形进行合并,生成最终的完整
场地设计地形。