我想让lisp在第
我希望lisp在立面标签的每个多段线的开始和结束处标记样本。图纸 我将你的帖子转移到AutoLISP、Visual LISP和DCL论坛。
请在与您的问题最密切相关的适当论坛上发布。 首先,你可以尝试使用vl编写lisp,你可以得到PLINE的co ORD及其提升
<p>(vl-load-com)</p><p>(setq obj1 (vlax-ename->vla-object (car (entsel "\npick pline"))))</p><p>(setq coords (vlax-safearray->list (vlax-variant-value(vla-get-coordinates obj1)))) ; 1st 2 variables are start last 2 are end pt</p><p>(setq ht (vla-get-elevation obj1)) ; height of pline</p><p></p> 我已经得到了它的lisp文件,但在这个lisp文件很少出错。此文件仅生成起始边缘。我需要用多段线生成两边的边。
(定义C:MCL()
(setq ss(ssget’((0。“LWPOLYLINE”)))
(setq sslngth(sslength ss))
(Setq idx 0)
(重复sslngth
(setq ename(ssname ss(setq sslngth(1-sslngth)))
(setq edata(entget ename))
(setq xy(cdr(Assoc 38 edata)))
(setq xy1(cdr(Assoc 10 edata)))
(setq xx(rtos xy 2 3))
(命令“text”xy1 2 30 xx“”)
)
)
尝试
(defun c:test (/ ss i ed p sz)
(initget 6)
(if (not(setq sz (getdist "\nText size : ")))
(setq sz (getvar "textsize")))
(prompt "\nSelect Contour.. ")
(if (setq ss (ssget ":L" '((0 . "LWPOLYLINE"))))
(repeat (setq i (sslength ss))
(setq ed (entget (ssname ss (setq i (1- i)))))
(foreach x (list (car (setq p (vl-remove-if ''((x) (/= (car x) 10)) ed))) (last p))
(entmakex (list '(0 . "TEXT")'(8 . "CONTOUR LABEL")
(cons 1 (rtos (cdr (assoc 38 ed)) 2 3))
(cons 40 sz)
x
) ;_ end of list
) ;_ end of entmakex
) ;_ end of foreach
) ;_ end of repeat
) ;_ end of if
(princ)
) ;_ end of defun
我希望比格尔现在能理解即时消息,帮助OP 谢谢你,先生,这是我的工作 不客气,请阅读这篇关于新手代码标签的文章
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南 你能在LISP中进行更改吗。例如,设置文字高度“2”,然后选择多段线或样条线 #5更新(红色)
您可以设置默认值,
命令:textsize 先生,您能给我lisp文件中上次的更改吗?我想在最近的多段线上生成一次。
页:
[1]
2