我又换了一次,记得我说过要贴更紧的色带。
大卫做了所有的工作,所有的荣誉都归于他!
;originally made by David Bethel
;modified by Kablamtron
(defun c:rgb (/ ss i en ed ev el minz delta pc nc)
(if (setq ss (ssget "X" '((0 . "POINT"))))
(progn
(setq i (sslength ss))
(while (setq en (ssname ss (setq i (1- i))))
(setq ed (entget en)
ev (caddr (cdr (assoc 10 ed)))
el (cons ev el)))
(setq minz (apply 'min el)
delta (- (apply 'max el) (apply 'min el))
i -1)
(while (setq en (ssname ss (setq i (1+ i))))
(setq ed (entget en)
ev (caddr (cdr (assoc 10 ed)))
pc (cdr (assoc 62 ed))
nc (- 249 (abs (fix (*24.9 (/ (- delta (- ev minz) 1e-4) delta 0.1)))))
ed (if pc (subst (cons 62 nc) (cons 62 pc) ed)
(append ed (list (cons 62 nc)))))
(entmod ed))))
(prin1))
我当然不能让这些想法中的任何一个为我工作。使用DCA“Point”和acad 2008 vanilla
提前感谢您提供线索
S 嘿,史蒂夫,
如果加载修改后的lisp,然后在命令行中键入rgb,则会运行修改后的lisp,
原始运行了另一个命令,不记得它是什么。
它所做的是选择所有autocad“点”,我的意思是,如果您在命令行中键入“点”并单击,它将选择您制作的内容或图形中是否有现有点。
确保点不在块中,或者它无法选择它们。
我不确定除了它实际上不是autocad点或点位于未爆炸的块中之外,还有什么可能导致问题。
希望这有帮助!
卡布拉姆特隆
在以上提示之后,它现在运行良好。谢谢S 出色的工作。是否可以通过为每个颜色组创建不同的层来改进例程?当然,如果能够创建一个图例来识别不同的颜色以及它们在Z值中的对应关系,这将是一件很棒的事情,这就是高光测量比例的例子。
也许Lee的GrText例程可以帮助您获得想要的结果,而不是将层添加到混合中(因为每个点都已经在一个层上)。
我感谢你的建议。然而,这不是他想要的。当我提到创建层时,我希望每个标高对应一个单独的层。
顺便提一下,添加另一个挑战:采用相同的颜色和图层区分概念,但应用于不同值的多段线Z、 它在地形方面的作品会很出色。
页:
1
[2]