AutoCAD三维建模与AutoLISP地形展点检查隧道工程开挖效果

我们把建筑设计图纸用AutoCAD三维还原后,可对现场开挖工作面测量一些坐标点展点后与三维模型对照检查开挖放样的准确性。下图是某抽水蓄能电站地下厂房部分结构的三维模型。粉色部分是从中导洞至顶拱开窗开挖面。

AutoCAD三维建模与AutoLISP地形展点检查隧道工程开挖效果_第1张图片

用AutoLISP写段代码将开挖面测量的坐标点展点,为了方便查看,每个点用一个小球表示,下图中为了展示效果,将小球作了放大,实际以点的密度和查看效果动态修改:

AutoCAD三维建模与AutoLISP地形展点检查隧道工程开挖效果_第2张图片

(defun C:zzZd (/ ptName ptSign ptE ptN ptH) ;读取DAT数据文件生成小球体
  (setq cmdecho_0 (getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (setq fi (getfiled "选择数据文件" "F:\\" "dat" 0))
  (setq f (open fi "r"))
  (setq rIndex 0)
  (while (setq lineStr (read-line f))
    (setq lineStrs (splitX lineStr ","))
    (setq ptName (cons (nth 0 lineStrs) ptName))
    ;;将点编号或点名生成表
    (setq ptE (cons (nth 2 lineStrs) ptE))
    ;;将E生成表
    (setq ptN (cons (nth 3 lineStrs) ptN))
    ;;将N生成表
    (setq ptH (cons (nth 4 lineStrs) ptH))
    ;;将H生成表
    (setq ptSign (cons (itoa rIndex) ptSign))
    ;;生成记号表
    (setq rIndex (+ rIndex 1))
  )
  (setq ptName (reverse ptName))
  ;;反序
  (setq ptSign (reverse ptSign))
  ;;反序
  (setq ptE (reverse ptE))
  ;;反序
  (setq ptN (reverse ptN))
  ;;反序
  (setq ptH (reverse ptH))
  ;;反序
  (close f)


  ;;表处理
  (setq rIndex 0)
  (while (setq tmpPtname (nth rIndex ptName))
    (setq tmpE (atof (nth rIndex ptE)))
    (setq tmpN (atof (nth rIndex ptN)))
    (setq tmpH (atof (nth rIndex ptH)))
    (setq tmpSign (nth rIndex ptSign))

    ;;======绘小球代码=======
    (command "._sphere" (list tmpE tmpN tmpH) "d" 0.1)
    ;;======绘小球代码=======
    (setq rIndex (+ rIndex 1))
  )
  ;;表处理
  (setvar "CMDECHO" cmdecho_0)
  (princ)
)

所用坐标表文件为纯文本CASS格式。

你可能感兴趣的:(AutoCAD,Civil,3D工程测量应用,AutoCAD,Civil,3D,AutoLISP,AutoCAD,AutoCAD,三维)