- 积分
- 84
- 最后登录
- 2011-7-1
- 阅读权限
- 20
- 注册时间
- 2011-6-11
- 回帖
- 6
- 精华
- 0
机械操作工
- UID
- 528
- 威望
- 0
- 机械币
- 28
- 活力
- 0
|
发表于 2011-6-29 13:36:09
|
显示全部楼层
用下面的程序:
求属性关键在 (setq en (entnext) en1 (entnext en) een1 (entget en1) att (cdr (assoc 0 een1)))
如只有A0001就不要循环,程序中用有条件的循环。
(defun c:intatt ()
(setq an (entsel "去点要求属性的块:") en (entget (car an)) p1 (cdr (assoc 10 en)) i 1 ;块的插入点84.7705,74.108,0
na (cdr (assoc 2 en)) ;块名a4-001
x (cdr (assoc 41 en)) y (cdr (assoc 42 en)) z (cdr (assoc 43 en)) ;x y z比例 1 1 1
ang (cdr (assoc 50 en)))
(setq en (entnext) en1 (entnext en) een1 (entget en1) att(cdr (assoc 0 een1))) ;属性ATTRIB
(while (= att "ATTRIB")
(setq txt (cdr (assoc 1 een1)) ;属性A0001
pp1 (cdr (assoc 10 een1)) ;属性A0001的输入点145.54,78.0572,0
h (cdr (assoc 40 een1)) ;属性的字高 1.8
txtang (cdr (assoc 50 een1)) ) ;属性A0001的角度 0
(setq en1 (entnext en1) een1 (entget en1) att (cdr (assoc 0 een1)))
)
)
|
|