Lisp自动调整成吨的线条
大家好。。。。我需要一些帮助。。。。我有3000多行模糊的线。。。基本上这是一条路,我需要测量自然地面的距离,以及从自然地面到道路的距离。。。这是一条长82公里的公路。。。我有25米的路段。。。有3000多个部分我需要调暗。。。
是否有任何列表可以通过选择行自动完成此操作。。。
我举了一个例子来说明我需要做什么。。。
我希望有人知道一个Lisp程序的帮助我。。。。tks公司
实例拉链 在这个论坛中用我的用户名搜索AutoDim,你应该会找到你想要的。
欢迎来到CADTutor。 你好。。。。这真是太棒了。。。。但我也需要它,但还有更多。。。如果可能的话。。。我需要从线路上得到2个DIM。。。。不是总尺寸。。。。但是每个十字路口的昏暗。。。
我的英语不是野兽,所以我尽量解释。。。。很抱歉 像这样的?
(defun c:Test (/ _pts ss ch i sn en p1 p2 sf n l 2p)
;;----------------------------------------------------;;
;; Author: Tharwat Al Shoufi ;;
;; Date: 08. May. 2015 ;;
;;----------------------------------------------------;;
(if (setq ss (ssget '((0 . "LINE"))))
(progn
(setq ch (getvar 'cmdecho))
(setvar 'cmdecho 0)
(defun _pts (lst)
(if lst
(cons (list (car lst) (cadr lst) (caddr lst))
(_pts (cddddr lst))
)
)
)
(repeat (setq i (sslength ss))
(setq sn (ssname ss (setq i (1- i)))
en (entget sn)
p1 (cdr (assoc 10 en))
p2 (cdr (assoc 11 en))
sf (ssget "_F" (list p1 p2) '((0 . "*POLYLINE")))
)
(repeat (setq n (sslength sf))
(if
(setq
l (vlax-invoke
(vlax-ename->vla-object (ssname sf (setq n (1- n))))
'Intersectwith
(vlax-ename->vla-object sn)
AcExtendnone
)
)
(progn
(foreach p (_pts l)
(if (not (equal (distance p p1) 0. 1e-)
(if (< (distance p p1) (distance p p2))
(setq 2p (list p p1))
(setq 2p (list p p2))
)
)
)
(mapcar
'(lambda (j k)
(command "_.dimlinear" "_non" j "_non" k "_non" j)
)
(list p1 (car 2p))
(list p2 (cadr 2p))
)
)
)
)
)
(setvar 'cmdecho ch)
)
)
(princ)
)(vl-load-com)
这很适合我需要的。。。。。tks很多。。。你们是最棒的。。。。。
不客气。
页:
[1]