(vlax-for layoutitem (vla-get-Layouts doc) (defun setPageSetupName (doc layout newpsn / pc layoutitem exist1 exist2) (setPageSetupName (vla-get-activedocument (vlax-get-acad-object)) "Model" "PageSetupName") (layout-tab-list (vla-get-activedocument (vlax-get-acad-object))) (setq lst (cons (cons layoutitem (getPageSetupName layoutitem)) lst)) (foreach layoutitem (layout-tab-list doc) (defun getAllPageSetupName (doc / layoutitem lst) (getAllPageSetupName (vla-get-activedocument (vlax-get-acad-object))) (setq dn (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_LAYOUT")))) (defun getPageSetupName (layout / laydict psn) return value: PageSetupName or nil if Page Setup Name doesn't exist Lay (vla-get-ActiveLayout (vla-get-activedocument (vla-get-activedocument (vlax-get-acad-object))))) (defun addPageSetup (doc name / space pc lay) (addPageSetup (vla-get-activedocument (vlax-get-acad-object)) "PageSetupName") add a new page setup name to current layout-type based on current plot configuration (if (= (strcase (vla-get-name pc)) (strcase name)) (deletePageSetup (vla-get-activedocument (vlax-get-acad-object)) "PageSetupName") (deleteAllPageSetups (vla-get-activedocument (vlax-get-acad-object))) (if (= (vla-get-ModelType pc) :vlax-false) (defun allPageSetupsOfLayoutType (doc / aps) (allPageSetupsOfLayoutType (vla-get-activedocument (vlax-get-acad-object))) (defun allPageSetupsOfModelType (doc / aps) (allPageSetupsOfModelType (vla-get-activedocument (vlax-get-acad-object))) (if (= (vla-get-ModelType pc) :vlax-true) (defun allPageSetupsAndModelType (doc / aps pc) (allPageSetupsAndModelType (vla-get-activedocument (vlax-get-acad-object))) (allPageSetups (vla-get-activedocument (vlax-get-acad-object))) (listPageSetups (vla-get-activedocument (vlax-get-acad-object))) Copyright (C) 1997-2011 JTB World, All Rights Reserved Miscellaneous routines related to Page Setup (rtos (/ (cdr (assoc 45 psn)) scale) 2 2) (strcat (rtos (/ (cdr (assoc 44 psn)) scale) 2 2) (progn (setq scale (if (= 0 (cdr (assoc 72 psn))) (if (= (caadr psn) 1) Page Setup Name exist (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_LAYOUT"))) Will return it in inches like this: "11.00 x 8.50"ĭXF group code 44 is Plot paper size: physical paper width in millimetersĭXF group code 45 is Plot paper size: physical paper height in millimetersĢ = Plot in pixels get paper size on current tab (list (cdr (assoc 44 psn)) (cdr (assoc 45 psn))) will return for example (279.4 215.9) GetPageSetupName can easily be modified to get the actual paper size in millimeters. "*" is used to import all page setups, otherwise specify the exact name of the page setup to import. To import page setups the easiest way is to use PSETUPIN where filename is the full path including file name and can be a DWG or DWT. (if (not (member (vla-get-name pc) names)) (vlax-for pc (vla-get-plotconfigurations doc) (defun deleteAllPageSetupsExcept (doc names) (deleteAllPageSetupsExcept (vla-get-activedocument (vlax-get-acad-object)) Here is an additional function that can be useful if you want to delete all page setups except the specified one(s): (deleteAllPageSetupsExcept ) More Free AutoLISP and Visual LISP code snippets for AutoCAD See also GetPlotDevices.lsp to find paper sizes or plot sizes and PlotDevicesFunctions.lsp
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |