vla-get-twistangle for polygonal viewport

vla-get-twistangle for polygonal viewport

robert06
Collaborator Collaborator
678 Views
4 Replies
Message 1 of 5

vla-get-twistangle for polygonal viewport

robert06
Collaborator
Collaborator

Is there one?

0 Likes
Accepted solutions (1)
679 Views
4 Replies
Replies (4)
Message 2 of 5

dbroad
Mentor
Mentor

Did you try it before you posted?  Yes. It does

(vla-get-TwistAngle <AcDbViewport object>) returns angle in radians.

Architect, Registered NC, VA, SC, & GA.
0 Likes
Message 3 of 5

robert06
Collaborator
Collaborator

Here's the lisp I use it in (to align mleader text with viewport), it does not work with polygonal viewports.

With polygonal viewport I get: "Pick ViewportActiveX Server returned the error: unknown name: TwistAngle"

 

(defun c:mlv ()
(vl-load-com)
(command "pspace")
(setq vpang (vla-get-twistangle (vlax-ename->vla-object (car (entsel "\nPick Viewport")))))
(command "mspace")
  (if
    (and
      (setq ss (ssget ":L" '((0 . "MULTILEADER"))))
      (setq ang (- (* 2 pi) vpang))
    )
     (repeat
       (setq i (sslength ss))
        (setq sset (ssname ss (setq i (1- i))))
        (vla-put-TextRotation (vlax-ename->vla-object sset) ang)
     )
     (princ)
  )
(princ)
)

0 Likes
Message 4 of 5

dbroad
Mentor
Mentor
Accepted solution

Assuming you pick the polyline clipping the viewport, one route to get the viewport twistangle is:

 

(vla-get-twistangle
(vlax-ename->vla-object
(cdr(assoc 330
(entget
(car(entsel)))))))

Architect, Registered NC, VA, SC, & GA.
0 Likes
Message 5 of 5

robert06
Collaborator
Collaborator

The polyline viewport is formed from is hidden in cad, so I could not asume i was picking that.

Thank you sir, it works now!

0 Likes