Ik heb een tekening met heel veel dezelfde blocken die allemaal een andere rotatie hebben.
Nu wil ik deze allemaal 180 gr laten draaien. Dus block A met rotatie 12 moet rotatie 192 worden, enz
Weet iemand een manier om dit in 1 keer te doen?
bvd
Oplossing gevonden bij een collega:
brotate.lsp
;(defun prtbar1 ()
; (princ (strcat "\rBezig met roteren van blok " (itoa tel) " (setq sbar (spinbar sbar))))
;)
;-----------------------------------------------------------------------------
; BROTATE ROUTINE
;-----------------------------------------------------------------------------
(defun C:BRotate ( / ss1 tel n en ed et p1 r1)
(setq prtmsg "Bezig met roteren van blok ... ")
(setvar "cmdecho" 0)
(princ "\nSelecteer de te roteren Blocks.")
(setq ss1 (ssget))
(if ss1
(progn
(setq tel 0
n (sslength ss1))
(setq r1 (getreal "\nRotatie hoek: "))
(while (< tel n)
(setq en (ssname ss1 tel)
ed (entget en)
et (cdr (assoc 0 ed)))
(cond ((= et "INSERT")
(setq p1 (cdr (assoc 10 ed)))
; (prtbar)
(command "ROTATE" en "" p1 r1))
)
(setq tel (1+ tel))
)
)
)
(princ)
(setvar "cmdecho" 1)
)
(princ)