如果旋转点=参考点
只需使用旋转命令
这是我用来做旋转的参考。给你另一个我不经常使用的,但当我这样做时可以节省时间。
通常在方块上用它来翻转他们的中点。
- ;;----------------------------------------------------------------------------;;
- ;; ROTATE WITH REFERENCE
- (defun C:RH (/ SS)
- (if (setq SS (ssget ":L"))
- (vl-cmdf "_.Rotate" SS "" Pause "R" "@" Pause Pause)
- (prompt "\nNothing Selected or Entity's on Locked Layer")
- )
- (princ)
- )
- ;;----------------------------------------------------------------------------;;
- ;; ROTATE MULTIPLE ENTITY'S AROUND MIDPOINT
- (defun C:ROB (/ SS LL UR MPT)
- (vl-load-com)
- (if (setq SS (ssget ":L"))
- (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))
- (setq obj (vlax-ename->vla-object ent))
- (vla-getboundingbox obj 'minpt 'maxpt)
- (setq LL (vlax-safearray->list minpt)
- UR (vlax-safearray->list maxpt)
- MPT (mapcar '/ (mapcar '+ LL UR) '(2 2 2))
- )
- (vl-cmdf "_.Rotate" ent "" "_non" MPT pause)
- )
- )
- (princ)
- )
|