小口齿不清中的简洁
在我正在进行的DFX组码研究中,我编写了以下小lisp,效果很好。(defun c:rrr ( / ent entdef n ss x)
(setq x (getstring t "\nEnter text to overwrite: "))
(if (setq ss (ssget "_:L" '((0 . "TEXT,MTEXT"))))
(progn
(setq n 0)
(repeat (sslength ss)
(setq ent (ssname ss n))
(setq entdef (entget ent))
(setq entdef (subst (cons 1 x) (assoc 1 entdef) entdef))
(entmod entdef)
(setq n (1+ n))
)
)
(princ "No Text Selected. Please Try Again")
)
(princ)
)
我的问题是,台词可以:
(setq ent (ssname ss n))
(setq entdef (entget ent))
(setq entdef (subst (cons 1 x) (assoc 1 entdef) entdef))
在不改变任何其他内容或使用那些奇特的vl函数的情况下,减少到两行(甚至一行)?
这是我正在努力解决的问题,放在其他方面 也许是这样的
编辑:对不起,快速阅读。。。
亨里克 非常感谢你,亨里克。
4
那更整洁、更短。任何地方都没有vl gizmo!这是这个论坛最好的地方,总有像你或李这样的专家愿意帮助像我这样的新手。
我承认我花了很长时间写这个简短的lisp,其中一些函数对我来说是新的。
至于你最初的帖子,我本来打算添加“(if(and)”错误预防,但只是没有做到这一点,在添加这样的奢侈品之前,我仍然需要保持尽可能简单! 不客气,哈比人快乐
很高兴我能帮忙
亨里克 快乐的霍比特人你可能会想使用一个图书馆的小defuns,推我自己的独轮车从现在起,我使用getvals。lsp,允许我通过2行到1、2、3行或更多行的拨号出现,而无需写入任何dcl代码;示例代码(ah:getval3“Length”5 4“Width”8 7“Height”6 4)http://www.cadtutor.net/forum/showthread.php?93002-1-line-2-line-3line-dcl-auto-generator-plus-more-if-required&p=636641&viewfull=1#post636641
在开发一个商业产品时,几乎每个例程都会更改层和其他设置,每个例程中都有3-4行代码,但每行代码相当于库中约20行代码。
您可能需要将键入的字符数与在这个特定示例中未保存多少的实际行数进行比较。像Lee和Tharwat这样的人非常擅长减少实际代码的大小。
页:
[1]