13
36
23
初露锋芒
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Function to turn layers On or Off.;;;; ;;;; Ex.;;;; ;;;; In: (okg:LayerOn "SOSED_DESIGN" T);;;; ;;;; Out: Silent.;;;; (defun okg:LayerOn (layer x)(if (not (vl-catch-all-error-p (setq layer (vl-catch-all-apply 'vla-item (list (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))) layer))))) (if x (vlax-put layer 'layeron 1) (vlax-put layer 'layeron 0) ))(princ));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Set current plot settings.;;;; (command "-plot" "Y" "Model" "DWG To PDF.pc3" "ISO full bleed A3 (420.00 x 297.00 MM)" "Millimeter" "Landscape" "N" "E" "F" "C" "Y" "elmaster.ctb" "Y" "As displayed" "c:\\temp\\temp.pdf" "Y" "N");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; AutoPublish Settings.;;;; ; AutoPublish turned on(setvar "AUTOMATICPUB" 1); Publish on = Save(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "PublishOn" 0); Location = .\DWF and PDF(sub-folder relative to drawing folder)(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "PublishTo" 2); Include = Model(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "IncludeOption" 0); File format = PDF(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "EplotFormat" 3); Type = Single-sheet file(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "MultiSheetFile" 0); Layer information = Include(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "IncludeLayerInfo" 1); Merge control = Lines overwrite(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "MergeControl" 0); Password protection = Disabled(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "DwfPwdProtected" 0)(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "PromptForPwd" 0); Block information = Don´t include(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R18.2\\ACAD-A001:409\\Profiles\\Master Concept 11 (SWE)\\Dialogs\\AcAutoPublishOpts" "IncludeBlockInfo" 0);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Reactors that will turn off a specific layer before pdf creation.;;;;; Load reactor if not already loaded.(if (not (member "AutoPublishStart" (mapcar 'vlr-data (cdar (vlr-reactors :vlr-command-reactor)))))(setq r:AutoPublishWillStart (vlr-command-reactor "AutoPublishStart" '((:vlr-CommandWillStart . rf:AutoPublishWillStart))))); Load reactor if not already loaded.(if (not (member "AutoPublishEnd" (mapcar 'vlr-data (cdar (vlr-reactors :vlr-command-reactor)))))(setq r:AutoPublishEnded (vlr-command-reactor "AutoPublishEnd" '((:vlr-commandEnded . rf:AutoPublishEnded))))); Callback function that will turn off a layer before AutoPublish.(defun rf:AutoPublishWillStart (reactor commandName)(if (= commandName "AUTOPUBLISH") ; Here you put anything you want to do before the pdf is created. ; An example could be a timestamp on the pdf, but in this case I turn a layer off. (okg:LayerOn "SOSED_DESIGN" nil))); Callback function that will turn on a layer after AutoPublish.(defun rf:AutoPublishEnded (reactor commandName)(if (= commandName "AUTOPUBLISH") ; Put things back to normal. (okg:LayerOn "SOSED_DESIGN" T)))
(if (not a)(setq a (vlr-command-reactor nil '((:vlr-commandEnded . endCommand)))))(defun endCommand (calling-reactor endcommandInfo / doc filedia fileName)(if (wcmatch (car endcommandInfo) "SAVE,QSAVE,SAVEAS") (progn (setq filedia (getvar "filedia")) (setvar "filedia" 0) ;(okg:layeron "SOSED_DESIGN" nil) (setq fileName "C:\\temp\\test.pdf") (if (findfile fileName) (setq fileName (strcat fileName "\r\Y")) ) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-sendcommand doc (strcat "-plot\rY\rModel\rDWG To PDF.pc3\rISO full bleed A3 (420.00 x 297.00 MM)\rMillimeter\rLandscape\rN\rE\rF\rC\rY\relmaster.ctb\rY\rA\r" fileName "\rN\rY\r")) (setvar "filedia" filedia) ;(okg:layeron "SOSED_DESIGN" T) )))
(defun c:QSave (); PDF(AddSomePdfFunction); QSave(command "_.qsave"))(defun c:Save (); PDF(AddSomePdfFunction); Save(command "_.save"))(defun c:SaveAs(); PDF(AddSomePdfFunction); SaveAs(command "_.saveas"))
使用道具 举报
4
194
192
初来乍到
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-7-9 19:34 , Processed in 0.587701 second(s), 54 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端