嗨,beaverstate,
我的例程是“plain”lisp,但与kpblc的例程大致相同。它*应该*旋转到0,并将“outside”属性移动到块插入的上方。
- (princ "\nStart with AROT")
- (defun c:arot ()
- (command "_UNDO" "_BE")
- (princ "\nSelect blocks to rotate attributes: ")
- (setq Count 0)
- (setq Bset (ssget '((0 . "INSERT")(66 . 1))))
- (setq Bnum (sslength Bset))
- (repeat 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 (distance IP_Bk IP_Att1)
- AttPt (mapcar '+ IP_Bk (list 0.0 AttOff 0.0))
- N_Att1 (subst '(50 . 0.0) (assoc 50 A1dat) A1dat)
- N_Att1 (subst (cons 11 AttPt) (assoc 11 N_Att1) N_Att1)
- N_Att2 (subst '(50 . 0.0) (assoc 50 A2dat) A2dat))
- (entmod N_Att1)
- (entmod N_Att2)
- (entupd Ename)
- (setq Count (1+ Count))
- )
- (command "_UNDO" "_END")
- (princ)
- )
|