基本属性帮助
你好我刚刚编写了我的第一个LISP程序。多亏了李·麦克,我才有时间去上班。但是我知道我需要一些帮助。。。
除了allready包含的内容(是的,我知道,可以做得更好),我想:
1.将块名作为文本包含在块内
2.将偏移线的长度及其对角线(A-C)添加到属性。
这容易做到吗?
谢谢
马格纳斯
(defun c:glas ()
(setq A (getpoint "Pick point A: "))
(setq B (getpoint "Pick point B: "))
(setq C (getpoint "Pick point C: "))
(setq D (getpoint "Pick point D: "))
;(command "text" A 100 0 A)
;(command "text" B 100 0 B)
;(command "text" C 100 0 C)
;(command "text" D 100 0 D)
(setq E (command "pline" A B C D))
(command "close")
;(setq rad (angle A B))
(command "rectangle" A C)
(command "offset" 10 (entlast) (getpoint "Pick point: "))
(command "exit")
(cond ((not (setq ss (ssget '((0 . "~VIEWPORT"))))))
((while
(progn
(setq bNme (getstring t "\nSpecify Block Name: "))
(cond ((not (snvalid bNme))
(princ "\n** Invalid Block Name **"))
((tblsearch "BLOCK" bNme)
(princ "\n** Block Already Exists **"))))))
((not (setq i -1 pt (getpoint "\nSpecify Base Point: "))))
(t (entmake (list (cons 0 "BLOCK") (cons 10 pt) (cons 2 bNme) (cons 70 0)))
(while (setq ent (ssname ss (setq i (1+ i))))
(entmake (entget ent))
(and (= 1 (cdr (assoc 66 (entget (setq sub ent)))))
(while (not (eq "SEQEND" (cdr (assoc 0 (entget (setq sub (entnext sub)))))))
(entmake (entget sub)))
(entmake (entget sub)))
(entdel ent))
(entmake (list (cons 0 "ENDBLK") (cons 8 "0")))
(entmake (list (cons 0 "INSERT") (cons 2 bNme) (cons 10 pt)))))
(princ))
)
(princ)
请在代码标签内张贴代码。
代码张贴礼仪 马格纳斯,
很常见的编码礼仪是,把你明显偷来的代码的作者归功于他。
我们对不友善的人不友善。
http://www.policetest.info/Me%20police%20pic%201986.JPG
好的,我非常抱歉。我想“感谢李·麦克……”是一种信誉,但显然还不够。我不知道有可能在没有任何合法文本的情况下,在论坛上偷东西,让每个人都能看到。。。但显然是这样。非常抱歉! 这还不是他的密码吗。他有创造者的权利,你应该指出这一点。
论坛上发布的代码仍然属于原作者,他刚刚授予使用权和编辑权。然而,原始作者的任何和所有编码必须保持不变和/或给出。如果你拿了一段贴出的代码并对其进行修改,请保留所有原始作者的信息,并在修改的地方贴上标签。
我想我涵盖了一切。
这里有更多信息。 哦,是的,忘记链接了。
页:
[1]