请教大虾,如何将地形图中非零高程转换为零高程
yu_liang6603
2007年12月06日 10:43:32
来自于行业脉动
只看楼主

我有个问题想请教论坛大虾,,如何“将地形图中非零高程对象转换为零高程对象”我从别的地方找到一个方法。引用如下:如果你从测绘院拷贝来的地形图上有一些图元(如直线和圆等)的Z坐标不为零,那么有可能产生交点不易捕捉、使用dist命令量取的两点间距离值与实际不合等等问题,下面我介绍两种解决这个难题的方法。 (1)命令法(中文为注释):在命令行键入change Command:CHANGE 选择对象

我有个问题想请教论坛大虾,,如何“将地形图中非零高程对象转换为零高程对象”
我从别的地方找到一个方法。引用如下:
如果你从测绘院拷贝来的地形图上有一些图元(如直线和圆等)的Z坐标不为零,那么有可能产生交点不易捕捉、使用dist命令量取的两点间距离值与实际不合等等问题,下面我介绍两种解决这个难题的方法。
(1)命令法(中文为注释):在命令行键入change
Command:CHANGE
选择对象
Select objects:all
键入p选择修改特性
Properties/<Change point>:p
键入e修改标高
Change what property (Color/Elev/LAyer/LType/ltScale/Thickness) ? e
输入新的Z坐标
New elevation <varies>: 0
选择修改特性,回车结束。
Change what property (Color/Elev/LAyer/LType/ltScale/Thickness) ?
Commnd:
(2)移动法:很简单,键入移动命令“move”,将所有实体移至点1,0,1E99,然后再重复“move”命令,将所有实体移至点0,0,-1E99即可。
该方法利用AutoLISP语言编程如下:
;;标高(Z坐标)归零实用程序
(defun C:Z=0 ()
(setvar "cmdecho" 0)
(princ "\n正在处理图形数据,请稍候...")
(command "_.UCS" "")
(command "_.move" "_all" "" ’(0 0 1e99) "" "_.move" "_p" "" ’(0 0 -1e99) "")
(princ "\nOK,已将所有图元的标高值即Z坐标归零.")
(setvar "cmdecho" 1)
(princ)
)end (defun C:Z=0 ()


我用的是CAD04,上述方法不好使,请问能还有没有其他方法解决。。
li.zhijian
2007年12月08日 20:58:43
2楼
你说的我看不懂啊。
回复
huerfei008
2007年12月10日 09:40:48
3楼
全部选中,属性窗口Z改为"0"不行吗
回复
feizr
2007年12月11日 12:00:01
4楼
全部选中,点击 快捷键“对象特性”, 或“ctrl +1”,在对话框中,点开左上角“全部”,选中其中的“直线”、“多线段”。。。等等,每选1次,将纵坐标“z”改为“0”,就可以了。

不知道我说清楚了没有。希望对你有用。
回复
zhenkui2008
2007年12月12日 17:34:02
5楼
等高线是多段线 没有z属性
用快速选择把等高线选上
然后标高不是0的你可以给它赋高程值就好了

Sub 赋高程值()
For i = 0 To 100
gaochengzhi = 1924 + i * 1
ThisDrawing.ActiveSelectionSet.SelectOnScreen
ThisDrawing.ActiveSelectionSet.Item(0).Elevation = gaochengzhi
ThisDrawing.Utility.Prompt gaochengzhi
Next i
End Sub

能看懂上面的vba代码吗
要是每条的高程都不一样的话 可以用这段代码的 你看明白了自己修改修改就能用啊
等你回复
回复
feizr
2007年12月12日 19:03:49
6楼
全部选中,点击快捷键“特性对象”,或“ctrl+1”
点开对话框中“全部”,依次选中“直线”、“多线段”。。。。等,每点击一项,将其中的“Z坐标”改为“0”,应该就可以了。
试一下吧,希望对你有帮助。
回复
bigcgq8587
2007年12月14日 08:59:59
7楼
楼主的方法第一种应该很好使 至于第二种方法 可能是里边的move那一句有误 适当修改一下就可以了
改成如下试试
(command "_.move" "_all" "" ’(0 0 1e99) "" "_.move" "_p" "" ’(0 0 -1e99) "")
注意了 里边的单引号 是半角字符哦

用4楼的方法应该也行的吧
回复
bigcgq8587
2007年12月14日 09:03:34
8楼
唉.................
半角的单引号在这里居然显示不了
回复
yu_liang6603
2007年12月17日 17:44:44
9楼
前几天出差,今天看了下论坛,发现好多热心人,不管如何我感谢大家,对我的帮助。我去试一下4、5楼的方法
回复
lcbwyy
2007年12月18日 15:02:32
10楼
学习一下。
回复
riverying
2008年01月13日 15:10:09
11楼
4楼的可以,但若多的话就比较烦了!
回复

相关推荐

APP内打开