WEB开发网
开发学院图形图像AutoCAD 基于组件的三维CAD系统开发的关键技术研究 阅读

基于组件的三维CAD系统开发的关键技术研究

 2007-12-24 09:56:09 来源:WEB开发网   
核心提示: (2)切剖面输入剖面编号,在平面地形图上指定两点确定剖面剖切线位置,基于组件的三维CAD系统开发的关键技术研究(4),指定剖面图起点,利用AutoCAD的inters函数搜索剖切线与地形图的全部交点,按各交点高程和与起点的距离形成剖面图各点坐标,即可用本文实例1坐标画线生成地形图的剖面,自

(2)切剖面

输入剖面编号,在平面地形图上指定两点确定剖面剖切线位置,指定剖面图起点,利用AutoCAD的inters函数搜索剖切线与地形图的全部交点,自动计算交点坐标,计算交点与剖面位置起点的距离,按各交点高程和与起点的距离形成剖面图各点坐标,即可用本文实例1坐标画线生成地形图的剖面。

(defun dxtent1 ()
 (setq n 0 xdzb nil)
 (setq xds 0)
 (setq sh (sslength e1))
 (while (< n sh)
  (setq x (entget (ssname e1 n)))
  (if (= (fld 0 x) "LINE")
  (progn
    (setq dxtgcgc (fld 8 x))
    (setq dxtgcgc (atoi dxtgcgc))
    (if (> dxtgcgc 10)
     (progn
      (setq pst (fld 10 x))
      (setq pet (fld 11 x))
      (setq zb (list gc
      (list (car pst) (cadr pst))
      (list (car pet) (cadr pet))
      ))
      (setq xdzb (cons zb xdzb))
      (setq xds (+ xds 1))
  ))))
  (setq n (+ n 1))
))
(defun c:dxtsec   ()
 (setq pmh (+ pmh 1))
 (setq pmh (getstring "/n 剖面号" ))
 (setq pt1 (getpoint "/n 剖切位置起点:"))
 (setq pt2 (getpoint pt1 "/n 剖切位置终点:"))
 (setq pt3 (getpoint "/n 剖面图布置:"))
 (setq p01 pt3)
 (setq e1 (ssget "F" (list pt1 pt2)));利用AutoCAD的目标选择“F”方式选取与剖切线相交的地形线。
 (dxtent);获取与剖切线相交地形线的坐标
 (setq mxgc -100)
 (setq mngc 10000)
 (setq m 0 pmp nil)
 (setq n xds i 0)
 (while (< i n)
  (setq crosp
   (inters pt1 pt2 (nth 1 (nth i xdzb)) (nth 2 (nth i xdzb)) 1)
  );求剖切线与地形线的交点
  (if (/= crosp nil)
  (progn
    (setq dxtgcgc (nth 0 (nth i xdzb)))
    (setq mxgc (max mxgc dxtgcgc))
    (setq mngc (min mngc dxtgcgc))
    (setq dst (distance pt1 crosp));剖切线起点与交点的距离
    (setq dst (* (/ blcz dxthtbl) dst))
    (setq pmp (cons (list m dst dxtgcgc) pmp))
    (setq m (+ m 1))
  ))
  (setq i (+ i 1))
))

上一页  1 2 3 4 5 6 7  下一页

Tags:基于 组件 三维

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接