9704 从EICAD拉坡图中,提取zdm信息.LSP
;;; ("读入EIzdm" "_EIzdmIN" "从EICAD拉坡图中,提取纵断面设计信息。")
;;;=================================================================*
;;;功能:从EICAD拉坡图中,提取纵断面设计信息。
;;;日期:zml84 于 2011-05-26
(defun c:EIzdmIN ()
(princ "\n功能:从EICAD拉坡图中,提取纵断面设计信息。")
(princ "\n请选择表示边坡点的圆对象...")
(if (setq ss (ssget '((0 . "CIRCLE"))))
(progn
;;逐个获取信息
(setq lst '()
i 0
)
(repeat (sslength ss)
(setq en (ssname ss i)
ent (entget en '("*"))
tmp (cdr (assoc -3 ent))
)
(if tmp
(setq
tmp (assoc "设计线" tmp)
zh (cdr (nth 2 tmp))
h (cdr (nth 3 tmp))
r (cdr (nth 4 tmp))
)
)
(if (and zh h r)
(setq lst (cons (list zh h r) lst))
)
(setq i (1+ i))
)
;;按照桩号排序
(setq lst (vl-sort lst
(function (lambda (e1 e2)
(< (car e1) (car e2))
)
)
)
)
;;显示给用户
(foreach m lst
(princ "\n")
(foreach n m
(princ "\t")
(princ (rtos n 2 6))
)
)
)
(princ "\n****无有效变坡点对象。")
)
(princ)
)
;|;;;=================================================================*
;;;EI拉坡图上,表示变坡点的圆,其群组码如下:
(-1 . <图元名: 7e3d0b90>)
(0 . "CIRCLE")
(330 . <图元名: 7e3aacf8>)
(5 . "1D52")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "K")
(62 . 10)
(6 . "Continuous")
(100 . "AcDbCircle")
(10 2312.76 -585.149 0.0)
(40 . 5.0)
(210 0.0 0.0 1.0)
(-3 ("设计线" (1000 . "K") (1040 . 2312.76) (1040 . 187.871) (1040 . 13000.0)
(1000 . "1D53") (1000 . "25DA") (1000 . "1D6B")))
;;;=================================================================*
|;