属性修改套件
随着最近对LISP的大量请求将改变多个属性,我决定创建这个属性修改套件。目前,它包含三个功能:MvAtt、RoAtt和EdAtt,分别移动、旋转和编辑多个属性。
任何建议、评论(当然还有bug报告!),欢迎光临
享受
李
此处提供代码。 李炸药,
你教你的名字跳舞。
但是它能做三个林迪吗?
你真了不起。
干得好!
秃鹰
谢谢Buzzard,很高兴你喜欢
更多的更新即将到来——正如我经常说的那样,最困难的部分是思考如何制作/添加到程序中。
我完全明白你的意思。我发现自己在想很多次“我下一步要从什么开始?”。你和我一样清楚,你对一个实体所能做的只有那么多,但有些人提出了一些令人惊叹的想法,如果不是疯狂的话。我知道你吃了这些东西,并使这些想法成为可能。
李,我能说什么?
你是独一无二的。 谢谢Buzzard
我已经更新了第一篇文章,加入了一个新版本,包括一个用于编辑属性值的新功能
李 李,你说:
哈哈,我总是能想出别人必须解决的问题。。。但是我的工作太忙了,所以我不能花足够的时间来编写像样的lisp编程。这就是为什么每当你想到一个想法、解决方案或只是一个例行的尝试时,我都会那么热情。(如果这是我老板说的话,我也不应该那样做)。。。
顺便说一句,我画了电气平面图,做了很多工程,所以我有很多带有属性的块。
我现在用来旋转属性的例程(atrot.lsp)运行得很好。尽管有一件事仍然让我恼火。
(defun c:atrot(/blSet attLst errCount tmp)(或atrot:tag(setq atrot:tag“”)(setq tmp(getstring(strcat“\n指定要旋转的标记:”)(或(eq”“tmp)(setq atrot:tag tmp))(princ“>”(setq errCount 0)(if(setq blSet(ssget’((0。“INSERT”)(66.1))))(progn(setq blSet(mapcar‘vlax ename->vla object(vl remove if“listp(mapcar”cadr(ssnamex blSet)аа))(foreach itm blSet(setq attLst(vlax safearray->list(vlax variant value(vla GetAttributes itm)))(foreach att attLst(和)(eq(if(eq“”atrot:tag)(vla get TagString att)atrot:tag)(vla get TagString att))(如果(vl-catch-all-error-p(vl catch all apply‘vla put Rotation(list att 0.0)))(setq errCount(1+errCount k)а);(princ“>>>未选择任何内容!”(itoa errCount)“属性或块位于锁定层上! 使用LISP程序时遇到的旋转问题是由块中属性的对齐设置引起的。把它调到中间位置,一切都会好起来的。
我认识你发布的Lisp程序,因为我相信这是我不久前修改的ASMI原始Lisp程序的修改。我可能会考虑将上述程序更改为包含块选择/全部选项,而不只是默认为全部。
李 我在第一篇文章中更新了代码,将程序的版本3包括在内。
用户现在可以选择他/她要修改的块,或点击enter键选择具有相同标记的所有块。
享受
李 我对EdAtt函数进行了巨大的更新,第4版现在在第一篇文章中。
李
李,太好了!
但是,假设您使用具有相同属性标记的不同块,并希望通过标记名进行修改,可以做到这一点吗?
秃鹰
页:
[1]
2