6个大坑,需要回填。现在需要我计算一下需回填的土方量是多少。我用全站仪测量了,假设的坐标及高程。我下载了CASS软件,建立了DTM,然后利用三角网计算。量是出来了,可是我不知道怎么调整三角网是否合理。。。我就在网上转悠。无意间看到了一篇文章,叫做《土石方工程基于三维模型审计编程的实现和应用》。是一个叫【党礼新(广西壮族自治区钦州市审计局),百度搜这个文章第一个应该就是】里面介绍大概意思是说:三角网模型缺乏直观,在没法绘制清晰的等高线情况下将难以对该模型进行观察分析。如果能将三角网模型建立三维模型,提高可视化效果,将会对审计工作提供很大的帮助。
我用全站仪测量了,假设的坐标及高程。我下载了CASS软件,建立了DTM,然后利用三角网计算。量是出来了,可是我不知道怎么调整三角网是否合理。。。我就在网上转悠。无意间看到了一篇文章,叫做《土石方工程基于三维模型审计编程的实现和应用》。是一个叫【党礼新(广西壮族自治区钦州市审计局),百度搜这个文章第一个应该就是】里面介绍大概意思是说:三角网模型缺乏直观,在没法绘制清晰的等高线情况下将难以对该模型进行观察分析。如果能将三角网模型建立三维模型,提高可视化效果,将会对审计工作提供很大的帮助。
然后他给出来一段话!!!
在南方cass软件中,软件为用户提供了三角网数据输出接口(.sjw文件),我们可以根据三角网文件数据建立三维模型。由于数据量大,采取手工操作方式是不现实的,由于该软件是建立在Autocad软件平台上的,因此我们可以利用autocad强大的二次开发功能,编写程序实现三角网三维模型绘制。在此编者利用autocad自带编程语言Autolisp编写了程序。程序代码如下:
(defun f3d( / ffn ff data i A P PP) ;;定义函数
(command "layer" "m" "三维图" "c" 3 "" "l" "center" "" "lw" 1 "" "") ;;调用cad图层命令(setvar "cmdecho" 0) ;;设置系统变量
(setvar "osmode" 0) ;;设置系统变量
(setq ffn (getfiled "选择南方cass三角网文件" "" "sjw" 2)) ;;读取三角网文件
(setq ff (open ffn "r"))
(setq data (read-line ff))
(setq i 1)
(setq A '())
(while (/= "nil" data )
(setq p "" pp "" j 1)
(setq nn (strlen data))
(repeat nn
(setq p (substr data j 1))
(if (/= p "
")
(setq pp (strcat pp p))
(setq A (cons pp A) pp "")
)
(setq j (1+ j))
)
(setq A (cons pp A))
(if (= (rem i 9) 0 ) (draw_pt)) ;;调用子函数
(if (= (rem i 9) 0 ) (setq A '()))
(setq data (read-line ff))
(setq i (1+ i))
)
(close ff)
(command "shademode" "f" ) ;;设置三维显示模式
(command "zoom" "a" )
(command "-view" "_swiso" )
)
(defun draw_pt() ;;三维绘制子函数
(setq A (reverse A))
(setq X1 (distof (nth 0 A) 2))
(setq Y1 (distof (nth 1 A) 2))
(setq Z1 (distof (nth 2 A) 2))
(setq AC (list X1 Y1 Z1))
(setq X2 (distof (nth 3 A) 2))
(setq Y2 (distof (nth 4 A) 2))
(setq Z2 (distof (nth 5 A) 2))
(setq BC (list X2 Y2 Z2))
(setq X3 (distof (nth 6 A) 2))
(setq Y3 (distof (nth 7 A) 2))
(setq Z3 (distof (nth 8 A) 2))
(setq CC (list X3 Y3 Z3))
(command "_3dface" AC BC CC "" "" )
(setq A '())
)
代码采用文本编写并保存为.LSP文件格式,同时为方便于操作增加菜单文件,菜单文件采用文本编写并保存为.mnu格式,菜单文件代码如下。
***MENUGROUP=MYLISP
***POP1
[土石方程序]
[生成三维模型]^c^c^p(load "f3d")(f3d)
将编写的文件复制到autocad软件安装目录下的support文件夹中,打开autocad软件或者南方cass软件,运行menuload命令加载菜单文件,形成autocad的局部菜单命令(d图)。程序执行过程弹出的数据交互对话框(e图),选择南方cass软件输出的三角网数据文件,得到的斗坎三维模型图(c图),该图形是完全依据三角网数据绘制的模型,因此可以完整反映三角网的模型状态。通过观察直观的三维模型对比真实地形可以发现:1.软件在构建三角网过程中,由于缺乏边界的约束,存在冗余的三角网(斗坎顶部三角网自由连接);2.由于斗坎中间高度缺乏测绘数据,仅有斗坎顶部与底部数据参与构建三角网,所以造成斗坎模型计算坡度与实际不符,这将会增加土方工程计算量,因此有必要对数进行修正。
我按文章的步骤一步步操作,成功的添加了CAD中的选项按钮。可是问题出现了,菜单栏确实有按钮,可是点击后没有任何执行命令,出不来让 插入三角网文件的窗口。(就这下图这样)
]
我现在就卡在这了。。。不知道是代码不对,还是什么情况。因为我基本属于纯菜鸟,只会跟着教程一步步走。先请问一下各位大神们。这是什么问题,文章中所说的三维显示能否实现?如果能回帖说清楚做好,如果不能我希望高手能留下QQ什么的,我想请教一下。谢谢各位大神了。在下北京怀柔人,如果您是北京人,我也可以找您当面求教。