修改此块属性Te
我有一个在线的Lisp,当一个块的属性文本处于一个角度时,它会旋转,使其为0*C。我想知道我需要添加什么,所以它对“属性2”和“属性3”也做同样的事情。代码是:
---
(princ“\n从AROT开始”)
(定义c:arot()
(命令“\u UNDO”“\u BE”)
(princ“\n选择要旋转属性的块:”)
(setq计数0)
(setq Bset(ssget’((0。“插入”)(66.1)))
(setq Bnum(sslength Bset))
(重复Bnum
(setq Ename(ssname Bset Count)
Att1(entnext Ename)
Att2(entnext Att1)
A1dat(entget Att1)
A2dat(entget Att2)
IP_Bk(cdr(assoc 10(entget Ename)))
IP_Att1(cdr(assoc 11 A1dat))
AttOff(距离IP\U Bk IP\U Att1)
AttPt(mapcar’+IP\U Bk(列表0.0 AttOff 0.0))
N_Att1(subst’(50.0.0)(assoc 50 A1dat)A1dat)
N\u Att1(subst(cons 11 AttPt)(assoc 11 N\u Att1)N\u Att1)
N_Att2(subst’(50.0.0)(assoc 50 A2dat)A2dat)
(entmod N_Att1)
(entmod N_Att2)
(entupd Ename)
(setq计数(1+计数))
)
(命令“\u UNDO”“\u END”)
(普林斯)
)
----
任何帮助都将不胜感激 请帮我一把 首先修改您的第一篇帖子,以获取内代码标签中的代码。
其次,从你发布的代码中解释你对程序的需求,如果一个带有前后示例的示例绘图会有更好的帮助,并且有时会直截了当。 对不起,塔瓦,你能解释一下你的第一句话吗?
当我使用“旋转”命令旋转块时,属性文本也会旋转。该命令使第一个属性返回到法线旋转(0)。我想让所有属性都用命令完成。
我的意思是代码必须包装在代码标签中,看看本页底部,特别是快速回复中的图案填充符号,将鼠标放在上面并阅读工具提示。
试试这个未经测试的程序,让我知道;
(defun c:RotbackAtts (/ sel )
;; Tharwat 15.Mar.2016 ;;
(princ "\nSelect attributed Blocks to set angle for attributes to zero degree.")
(if (setq sel (ssget "_:L" '((0 . "INSERT")(66 . 1))))
((lambda ( i / obj )
(while (setq obj (ssname sel (setq i (1+ i))))
(mapcar '(lambda (a) (vla-put-rotation a 0.)) (vlax-invoke (vlax-ename->vla-object obj) 'getAttributes))
)
)
-1
)
)
(princ)
)(vl-load-com)
(defun c:RotbackAtts(/sel);;塔尔瓦特15。2016年3月;;(princ“\n选择属性块以将属性的角度设置为零度。”)(if(setq sel(ssget“_:L”'((0。“INSERT”)(66.1)))((lambda(i/obj)(while(setq obj(ssname sel(setq i(1+i))))(mapcar)(lambda(a)(vla put rotation a 0.))(vlax invoke(vlax ename->vla object obj)“getAttributes”))-1)(princ))(vl load com)
你在做什么? 代码包装正确吗? 你为什么再次发布我的代码? 我想知道我是否使用了“
“功能正常,我将很快试用您的代码。
页:
[1]
2