Hi, all
I have a lisp that rotates a north arrow to whatever the twist rotation is at in a viewport. It has been working for years. I have started at a new company and the north arrow block has some dynamic text in it. The routine still works, but 2 things happen. 1 the objects in the block rotate, however, they get shifted about 16 inches off to the left and 2 the text in the block doesn't rotate, but stays in position. the routine uses entsel, and entmod to get this done. any suggestions?
(defun c:rn()
(setq tw(entget(car(entsel"\nSelect a Viewport:"))))
(setq new (cdr (assoc 0 tw)))
(cond
((= new "VIEWPORT")(setq rt(cdr(assoc 51 tw))))
((= new "LWPOLYLINE")(setq temp (entget(cdr (assoc 330 tw))))(setq rt(cdr(assoc 51 temp))))
)
(setq en(car(entsel"\nSelect North Arrow: ")))
(setq elist(entget en))
(setq elist(subst (cons 50 rt)(assoc 50 elist) elist))
(entmod elist)
(princ)
)
quick updtae, figured out why it gets shifted, the base point of the block was not at the center of the arrow, but the text still wont rotate with the block.