rcb007 Posted September 21, 2021 Posted September 21, 2021 (edited) The below is a part of a routine which allows to copy the current layout tab a multiple of times, then it would go through each layout and activate the viewport, turn on a layer number, to zoom extents and set the scale, then go to the next layout tab and do the same. I am trying to figure how to auto rotate the viewport to match the block view frame, then go onto the next. (foreach name (layoutlist) (setvar 'ctab name) (setq n (cdr (assoc -1 (dictsearch (namedobjdict) "acad_layout")))) (command "-layer" "Freeze" "*Match*" "Thaw" (strcat "*Area" (itoa (cdr (assoc 71 (dictsearch n name))))) "" ) (command "_mspace") (command "zoom" "extents") (command "ZOOM" "Scale" "1/10xp") (command "_.cannoscale" "1\" = 10'") (command "_pspace") ) I stumbled upon this post, But was not sure how to get the rotation piece to work. (defun c:foo (/ ad ll n p pv s tab) ;;https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-create-automatic-layouts/m-p/8155017#M371763 (cond ((setq s (ssget '((0 . "text") (8 . "CHR_FIELD_MAP_TEXT") (410 . "Model")))) (setq s (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex s))) '(lambda (a b) (< (cdr (assoc 1 (entget a))) (cdr (assoc 1 (entget b))))) ) ) (setq ad (vla-get-activedocument (vlax-get-acad-object))) (foreach e s (cond ((vl-position (setq n (strcase (cdr (assoc 1 (entget e))))) (mapcar 'strcase (layoutlist))) (print (strcat "Layout " n " already exists...")) ) ((setq tab (vla-add (vla-get-layouts ad) n)) (setvar 'ctab n) ;; Viewport hard coded based on example drawing (setq pv (vlax-invoke (vla-get-paperspace ad) 'addpviewport '(8.0694 5.03978 0.0) 14.875 10.25 ) ) (vlax-put pv 'viewporton -1) (command "_.mspace") (vlax-invoke (vlax-get-acad-object) 'zoomcenter (cdr (assoc 11 (entget e))) 50) (vla-put-customscale pv (/ 1. 50)) (command "_.pspace") ) ) ) ) ) (princ) ) (vl-load-com) https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-create-automatic-layouts/m-p/8158285#M371817 I hope this make some sense. ejemplo paginacion.dwg Edited September 21, 2021 by rcb007 Quote
BIGAL Posted September 21, 2021 Posted September 21, 2021 (edited) Your using (vla-put-customscale have a look at also (vla-put-twistangle Edited September 21, 2021 by BIGAL 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.