Search the Community
Showing results for tags 'pdf'.
-
Where is Find DWG to PDF Custom Paper Size in Registry
rdx posted a topic in AutoLISP, Visual LISP & DCL
Dear All, Where is Find DWG to PDF Custom Paper Size in Registry........????? -
I've been working on a project where I have used various hatch patterns to indicate sidewalks, bicycle paths and water. It shows up in my AutoCAD as shown on the screenshot, but the patterns are not appearing in either the print previews or the pdf's. Only one hatch pattern ends up showing up in the PDF, the diagonal lines underneath the street. I've tried changing "HPmaxlines" to 1000000, tried various plotters of AutoCAD and Adobe, reset AutoCAD settings. Nothing seems to work and I cannot understand why, as it shows up right there when I'm working on the file. Could anybody please take a look at the attached files and perhaps notice anything I've been missing? It would be much appreciated. The used Hatch patterns are ANSI31 scale 1 in gray (working) ANSI31 scale 1 in white (Not working), AR-HBONE scale 0.01 white (Not working), NET3 scale 1 in white (Not working) and a custom downloaded one which I applied in a second version. The issues were already there before I used the downloaded hatch pattern. Doorsnede Laan op Zuid Eindopdracht poging 1.pdf Doorsnede Laan op Zuid Eindopdracht 2 v1.dwg
- 1 reply
-
- hatch
- hatch pattern
-
(and 2 more)
Tagged with:
-
Distorted/Jagged Text When Using "DWG to PDF.pc3"
lamensterms posted a topic in AutoCAD Drawing Management & Output
Hey guys, Just a quick one - hopefully someone will be able to set me straight pretty easily. When I print PDFs using the AutoCAD PDF creator (DWG to PDF.pc3).... I get a pretty nasty representation of the text within the DWGs (see attached image). Does anyone know of a setting or a workaround which would enable better quality PDF production? Thanks so much for all your help.- 14 replies
-
- distorted
- dwg to pdf
-
(and 2 more)
Tagged with:
-
Is There Any Way To Export All Layers Separately Into Pdf Format?
Shahtaj Bhutto posted a topic in Tutorials & Tips'n'Tricks
Hi Is there any way to export all layers separately into pdf format? i want to export all of them at once to edit them in illustrator. It's taking alot of time to export them one by one from autocad I don't have any professional Experience with programming but i have tried to made this .lisp with chatGPT but it's not working to export files which property in codes needs improvements please (defun c:ExportLayersToPDF (\Users\Useer\Desktop\pdf layers) (setq dwgname "EMERALD HILLS MP (2007) 25 01 2023") ; (setq dwgpath "F:\Shahtaj Ahmed Bhutto\AUTOCAD") ; (setq layname "") (while (setq layname (tblnext "LAYER" layname)) (and layname (/= layname "0") (/= layname "DEFPOINTS") (/= (logand (cdr (assoc 70 (tblsearch "LAYER" layname))) 1) 1) (progn (setq pdfname (strcat dwgname "_" layname ".PDF")) (setq pdffullpath (strcat dwgpath pdfname)) (command "-plot" "Yes" "Model" "" "" "DWG To PDF.pc3" "A0" "PORTRAIT" "Inches" "Fit" "Center" "No" "No" "No" "Yes" "No" "No" "Yes" "Yes" pdffullpath) T ) ) ) (princ) ) -
Hello engineers, I've come to an issue: When I try to import the pdf to autocad layers seem to mess up. I've tried different options importing, unfortunately - none of those have worked. Is there a solution?
-
Hello to everyone! I wand to create a lisp file that prints on a loop while hiding and unhiding different layers. I am working on a cad software called 4MCAD. 4MCAD unfortunately does not have the native Autocad DWGtoPDF printer. The main problem I am facing is that I have to use third party printers to plot to PDF which ask for the name of the PDF file name on a seperate window. I have tried Nitro PDF creator, cutePDF, doPDF and I cannot figure out how to supress the pop-up window while giving the desired name to the PDF file. Has anyone know how to solve this problem? Can you get DWGtoPDF printer as system printer so my Cad software can find it? Has anyone suceeded with any third party software at giving the file name inside the lisp file? For example let's say that the desired filename is "C:\DWG_prints\DWGpr1.pdf" and I want a command like this: (command "-plot" "n" "" "" "" "n" "n" "" "C:\DWG_prints\DWGpr1.pdf" )
-
Hi all, I have written a lisp that uses the vl-file-copy command to move this PDF to another folder. But this only works for the original pdf, not for the link! Does anyone know if I need to change something in the command to be able to move the link? The file name remains the same: "sheet_cover_building1".
-
Select specific named layouts and save them in a folder as a PDF
Manuel_Kunde posted a topic in AutoLISP, Visual LISP & DCL
Hi Guys, I have several layouts when drawing, which also have different names. I want to save in a Lisp all layouts that start with a specific name in a certain folder as PDF. I am new in lisp, but i have managed to write a lisp that selects the correct location for me. Unfortunately only all layouts are printed. (defun c:Dokument_Export () (command "-EXPORT" "PDF" "ALLE" (strcat (substr (getvar "DWGPREFIX") 1 70) "\\08_Auftragsbestätigung\\" (strcat (substr (getvar "DWGNAME") 1 8) "_Zeichnung") ) ) ) You have any idea? Thanks in advance. -
This is more of a solution than a problem, in case it happens to someone else. tl;dr: When you publish a sheet set, you may get an unexpected alignment in your output. I have a drawing created with LDD. I wanted to add a sewer profile, so I created an alignment. The alignment object was on layer 0 (not my choice), so I hid the object. It didn't show up in print preview. It didn't show up when I printed that one sheet to PDF. When I printed the whole set to PDF, though, the alignment appeared on the plans. I have no idea why the "Dwg to PDF" plotter prints an alignment that doesn't print any other way. To fix it, I created an alignment style that puts everything on a non-plotting layer; problem solved.
-
- sheet set manager
-
(and 1 more)
Tagged with:
-
Hello, I am new in AutoCAD. I draw 1:1 floor plan, I draw 1m in real like 1 in autocad. Now I have to plot it in pdf as 1:50. How can I do that
-
will there ever be a day where inserting a pdf underlay into autocad doesn't slow it down or am I doing something wrong? I would rather not degrade the quality and make it a jpg
-
PDF printing crops bottom half of text
helluvaname posted a topic in AutoCAD Drawing Management & Output
I have had this issue for a long time and not been able to figure out what causes it. On a variety of drawings I have a number of Paperspace layout tabs. Each layout tab has the drawing number in the title block in paperspace in the bottom right corner. On some tabs, when I print them to PDF, the bottom half of the drawing number is cropped or blanked off, however the rest of the title block lines around and below it print fine. On other tabs it all prints OK. The properties of the text appear to be the same and the size of the text frame appears the same on "good" and "bad" tabs. On the "bad" layouts, the cut-off printing happens if I use "Microsoft print to PDF" or "Scansoft PDF Create!" plotters, but there is no cut off if I use "DWG to PDF" plotter. I assume therefore that it must be a combination of two things: 1. something in the different plotter configs that is different between them 2. something is different in the good and bad paperspace layouts, that the different plotters are treating differently Hopefully someone can assist please as it would be good to be able to have anyone plot any layout on any loaded PDF plotter! Many thanks! Plot crop test CUTS OFF - Microsoft print to PDF.pdf Plot crop test PRINTS OK - Microsoft print to PDF.pdf Plot crop test-PRINTS OK - DWG to PDF.pdf Plot crop test-CUTS OFF - DWG to PDF.pdf Plot crop test.dwg -
Hi all, my lisp knowledge is very limited so I was hoping someone could help mw with this. I have a lisp which I copied from a Autodesk forum (https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/export-to-pdf-lisp-routine/td-p/5704455) and tweaked a little to suit my needs. It basically plot all layout tabs to PDF (with revision letter at the end of the pdf name). It works just fine. Now, what I want it to do is to instead of printing all layouts, read a csv file "title_block.csv" and only plot to PDF layouts named in that csv file (column B) starting from cell B2. It would be similar to what Lee Mac's UpdateTitleBlockV1-9 does to update title blocks. Any help would be much appreciated Cheers #(vl-load-com) (defun c:demo (/ hms:get_atts filename hnd lst lst1 name otab path ss) (defun hms:get_atts (enm / att obj) (if (or (and (eq (type enm) 'ENAME) (setq obj (vlax-ename->vla-object enm)) (eq (vla-get-hasattributes obj) :vlax-true) ) (and (eq (type enm) 'VLA-OBJECT) (setq obj enm) (eq (vla-get-hasattributes obj) :vlax-true) ) ) (mapcar '(lambda (att) (cons (vla-get-TagString att) (vla-get-TextString att)) ) (vlax-invoke obj "GetAttributes") ) ) ) ;;(cond ((setq path (acet-ui-pickdir "Select directory" (getvar "dwgprefix"))) ; check that pdf directory exists (cond ((setq dwgpre (strcat (getvar "dwgprefix") "PDF")) (if (= (vl-file-directory-p dwgpre) nil) (vl-mkdir dwgpre) ) (setq pdfname (strcat (vl-filename-base (getvar "dwgname")))) ;----------------------------------------------------------------------- (setq otab (getvar 'CTAB)) (foreach layt (layoutlist) (setvar 'CTAB layt) (if (setq ss (ssget "_X" (list '(0 . "INSERT") '(2 . "A1 TITLE NCL - new logo") '(66 . 1) (cons 410 (getvar 'CTAB))))) (progn (setq hnd (ssname ss 0) lst (hms:get_atts hnd) ;lst1 '("DRAWING_NUMBER" "SHEET_NUMBER" "REVISION_NUMBER" "SHEET_SIZE") lst1 '("RV") name "" ) (foreach n lst1 (if (setq a (assoc n lst)) (setq name (strcat name "-" (cdr a))) ) ) (setq sht (strcat(getvar "ctab"))) (setq filename (strcat dwgpre "\\" pdfname "-" sht " Rev " (vl-string-left-trim "-" name) ".pdf")) ;(command "_.-export" "_PDF" "_C" "_YES" "ISO full bleed A3 (420.00 x 297.00 MM)" "_M" "_L" "1:2" "_YES" "A3.ctb" "_YES" filename) (command "_.-PLOT" "Y" ;Detailed plot configuration? [yes/no] Layt ;Enter Layout name or [?],layout1: "Dwg To PDF.pc3" ;Enter an output device name "ISO full bleed A3 (420.00 x 297.00 MM)" ;Enter paper size "M" ;Paper units: "M" for mm "L" ;Enter drawing orientation: "L" for Landscaping "N" ;Upside down? "N" "E" ;"E" for extents "1:2" ;Plot scale: Custom "1:2" "C" ;Counter "c" "Y" ;Plot Style? "y" "A3.ctb" ;Enter plot style: "A3.ctb" "Y" ;Plot line weights? "N" ;plot line scaling? "N" ;Paper space first? "N" ;Hide? filename ;Directory to save "N" ;save changes to page setup? "Y" ;proceed with plot? ); command ) ) ) (setvar 'CTAB otab) ) ) (princ) )#
-
This code used to work fine for plotting to a .pdf: (defun c:SendToPDFefa() (vl-load-com) (if (setq filename (getfiled "Save File Location" "" "pdf" 1)) (progn (command "-plot" "yes" "" "DWG To PDF.pc3" "ANSI expand B (11.00 x 17.00 Inches)" "inches" "landscape" "yes" "Extents" "fit" "center" "yes" "acad.ctb" "yes" "a" filename "no" "yes") ) ) ) Now it fails with this output: Command: SENDTOPDFEFA Unknown command "P:\randomfolderstructure\ACADFILENAME.PDF". Press F1 for help. Unknown command "NO". Press F1 for help. Unknown command "YES". Press F1 for help. nil I know IT had been adjusting printers when this happened, but i don't know if that is coincidental. I have two questions: How does the code need to be adjusted What could have caused the code to fail Greg
-
Tool/Lisp to find certain instances of a block or polyline and print to pdf
liamdonnelly0209 posted a topic in AutoLISP, Visual LISP & DCL
Hi All. I was wondering if anyone knows of a tool or a way to basically, batch PDF multiple viewports or specific coordinates within a paper layout. I have an A0 drawing where i need a print of the A0 drawing, and multiple grids set to A4 then a Jpeg showing the full plan with the grids on. I have set up a script using the -plot command and set the Coordinates for each grid. However it is a bit slow and cumbersome to do this on multiple drawings. Does anyone know of a way to maybe either through a script or a lisp, to open a drawing. Find certain instances of a block or polyline and print (with certain parameters like include an outline of 10mm around the edge of the grid) and when it has no more blocks to search for, it saves, closes and opens next drawing to search and print? Any help is very much appreciated. Thanks -
All, With the help of other lisp routines We have come up with a way to use Publish to make a multi page PDF without using a 3rd party program. Here it is for everyone to look at and use. It works and does what we want it to do but we haven't figured out how to delete the DWG files when it's done Publishing, so if some one could figure that out that would be great. (defun c:pdfpub (/ ob ss bn mn mx) ;; This was created by combining a multitude of different lisp routines by Lee Mac, RLX, Lee Ambrosius, Stephan BMR and howiez69 (vl-load-com) (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) ;; Get the PlotConfigurations collection (setq plotCfgs (vla-get-PlotConfigurations doc)) ;; Check to see if the pagesetup already exists (setq plotCfg (vl-catch-all-apply 'vla-Item (list plotCfgs "PDFSetup"))) ;; If the page setup exists, the variable will be of type VLA-OBJECT (if (/= (type plotCfg) 'VLA-OBJECT) ;; Create a page setup for model or paper space accordingly (if (= (getvar "TILEMODE") 0) (setq plotCfg (vla-Add plotCfgs "PDFSetup" :vlax-false)) (setq plotCfg (vla-Add plotCfgs "PDFSetup" :vlax-true)) ) ) ;;(vla-put-Name plotCfg "PDFSetup") (vla-RefreshPlotDeviceInfo plotCfg) ;; Set the plot device (vla-put-ConfigName plotCfg "DWG To PDF.pc3") ;; Set the paper size (vla-put-CanonicalMediaName plotCfg "ARCH_full_bleed_C_(24.00_x_18.00_Inches)") ;; Set the plot units (inches, millimeters, pixels) (vla-put-PaperUnits plotCfg acInches) ;; Set what to plot ;; - If using acView, set the ViewToPlot property ;; - If using acWindow, call GetWindowToPlot (if (= (getvar "TILEMODE") 0) (progn (vla-put-PlotType plotCfg acLayout) ;; Set scale (vla-put-UseStandardScale plotCfg :vlax-true) (vla-put-StandardScale plotCfg ac1_1) ) (progn (vla-put-PlotType plotCfg acExtents) ;; Set scale (vla-put-UseStandardScale plotCfg :vlax-true) (vla-put-StandardScale plotCfg acScaleToFit) ) ) ;; Hide paperspace objects (vla-put-PlotHidden plotCfg :vlax-false) ;; Set the plot origin (setq origin (vlax-make-safearray vlax-vbDouble '(0 . 1))) (vlax-safearray-fill origin (list 0.5 0.5)) (vla-put-PlotOrigin plotCfg origin) ;; Set the plot rotation (vla-put-PlotRotation plotCfg ac0degrees) ;; Set viewport plot behavior (vla-put-PlotViewportBorders plotCfg :vlax-false) (vla-put-PlotViewportsFirst plotCfg :vlax-true) ;; Set lineweight behavior (vla-put-PlotWithLineweights plotCfg :vlax-true) (vla-put-ScaleLineweights plotCfg :vlax-true) ;; Set plot styles behavior (vla-put-PlotWithPlotStyles plotCfg :vlax-true) (vla-put-ShowPlotStyles plotCfg :vlax-true) ;; Center the plot on the page (if (= :vlax-false (vla-get-CenterPlot plotCfg)) (vla-put-CenterPlot plotCfg :vlax-true) ) (if (= (getvar "PSTYLEMODE") 0) (vla-put-StyleSheet plotCfg "acad.stb") (vla-put-StyleSheet plotCfg "TFC.ctb") ) ;; Assign the page setup to the current layout (vla-CopyFrom (vla-get-ActiveLayout doc) plotCfg) (vl-cmdf "UCS" "") (setq cnt 0) (if (not (setq folder (getfolder "Select folder to save views"))) (setq folder (getvar 'dwgprefix))(setq folder (strcat folder "\\"))) (if (and (progn (initget "B") (setq ob (entsel "\nSelect Block/B for blockname: ")) (cond ((eq ob "B") (setq bn (getstring "\nEtner Block Name: ")) ) ((and (eq (type ob) 'LIST) (vlax-method-applicable-p (vlax-ename->vla-object (car ob)) 'getboundingbox)) (setq bn (cdr (assoc 2 (entget (car ob)))))))) (tblsearch "BLOCK" bn) bn (setq ss (ssget "_X" (list '(0 . "INSERT")'(410 . "Model")(cons 2 bn)))) ) (progn (vla-zoomextents (vlax-get-acad-object)) (repeat (setq i (sslength ss)) (setq cnt (1+ cnt)) (vla-getboundingbox (vlax-ename->vla-object (ssname ss (setq i (1- i)))) 'mn'mx) (setq tmp (ssget "_C" (trans (vlax-safearray->list mx) 0 1) (trans (vlax-safearray->list mn) 0 1))) (vl-cmdf "_.-wblock" (strcat folder (itoa cnt) "-" (vl-filename-base (getvar 'dwgname)) ".dwg") "" "0,0" tmp "") (command "oops") ) ) (princ "\nNo Blocks Selected: ") )(princ) (defun *error* ( msg ) (setvar "FILEDIA" OldFda) ;sets system variable FILEDIA back to original value (setvar "EXPERT" Save_Expert) ;sets system variable EXPERT back to original value (princ "error: ") (princ msg) (princ) ) (setq OldFda (getvar "FILEDIA")) ;reads current system variable FILEDIA value (setvar "FILEDIA" 0) ;sets FILEDIA to 0 so no dialog boxes popup (setq Save_Expert (getvar "EXPERT")) ;reads current system variable EXPERT value (setvar "EXPERT" 2) ;sets EXPERT to 2 so no dialog boxes popup (setvar "EXPERT" Save_Expert) ;sets system variable EXPERT back to original value (setq pathtxt (strcat folder "TEMP.DSD")) ;sets path for DSD file from current drawing saved location (setq file (open (strcat folder "TEMP.DSD") "w")) ;opens DSD file for writing ;**********START OF DSD FILE********** ;**********START HEADER********** (write-line "[DWF6Version]" file) (write-line "Ver=1" file) (write-line "[DWF6MinorVersion]" file) (write-line "MinorVer=1" file) ;**********END OF HEADER********** ;**********START OF LAYOUTS/DWG TO PLOT********** !!!repeat this section for each of your layouts or dwgs to plot (setq cnt2 0) (repeat (setq i2 (sslength ss)) (setq cnt2 (1+ cnt2)) (setq dname (strcat "[DWF6Sheet:PDF Sheet " (itoa cnt2) "]")) (write-line dname file) (write-line (strcat "DWG=" folder (itoa cnt2) "-" (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) ".dwg")file) (write-line "Layout=Model" file) ;layout to plot (write-line (strcat "OriginalSheetPath=" (strcat folder (itoa cnt2) "-" (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))".dwg") )file) (write-line "Has Plot Port=0" file) (write-line "Has3DDWF=0" file) (setq i2 (1- i2)) ) ;**********END OF 'ONE' LAYOUT TO PLOT********** !!!repeat previous section for each of your layouts or dwgs to plot ;**********START OF DSD FOOTER********** (write-line "[Target]" file) (write-line "Type=6" file) ;change to "TYPE=6" for multiple output files, "TYPE=5" for single output file (write-line (strcat "DWF=" (strcat folder(substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))".pdf") )file) (write-line (strcat "OUT="(strcat folder)) file) (write-line "PWD=" file) ;**********END OF DSD FOOTER********** ;**********END OF DSD FILE********** (close file) ;closes DSD file (command "_.delay" 2000) ;system delay before starting publish command so DSD file closes (command "-Publish" pathtxt ) ;start publish command with TEMP.DSD file just created (setvar "FILEDIA" OldFda) ;sets system variable FILEDIA back to original value (command "_.delay" 2000) ;system delay before deleting TEMP.DSD so publish routine has time to release it (vl-file-delete pathtxt) ;deletes TEMP.DSD file (princ) ) (defun getfolder (msg / fl sh) (if (and (setq sh (vlax-create-object "Shell.Application"))(setq fl (vlax-invoke sh 'browseforfolder 0 msg 0 ""))) (setq fl (vlax-get-property (vlax-get-property fl 'self) 'path))(setq fl nil))(release_me (list sh)) fl) (defun release_me (lst) (mapcar '(lambda (x)(if (and (= 'vla-object (type x))(not (vlax-object-released-p x)))(vlax-release-object x))(set (quote x) nil)) lst)) (princ) Thanks, Brian
-
Hi thanks for looking, I have a problem with pdf'ing, my text comes out in random shades both when exporting and plotting to pdf. when viewed in adobe acrobat it displays as below weirdly when viewed in a nuance reader it displays fine. the pdf also prints to hardcopy fine, but clients mostly look at pdf's in adobe. any ideas??
- 5 replies
-
- pdf from cad
-
(and 1 more)
Tagged with:
-
All, I found the really cool lisp routine to send an AutoCAD drawing as an attachment in an Email and was wondering if it could be modified to send a PDF instead. (defun c:eMail (/ _catch file outlook email) ;; Using Outlook, eMail selected object(s) in a temporary DWG file ;; Many thanks to Ron Perez (ronjonp) for the Outlook example ([url]http://www.theswamp.org/index.php?topic=26953.msg324794#msg324794[/url]) ;; Alan J. Thompson, 03.28.11 (vl-load-com) (defun _catch (f a) (not (vl-catch-all-error-p (vl-catch-all-apply f a)))) (if (and (or (ssget "_I") (prompt "\nSelect object(s) to eMail: ") (ssget)) (setq file (vl-filename-mktemp "" nil ".dwg")) (_catch 'vla-WBlock (list (cond (*AcadDoc*) ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object)))) ) file (vla-get-activeselectionset *AcadDoc*) ) ) (setq outlook (vlax-get-or-create-object "Outlook.Application")) (setq email (vlax-invoke-method outlook 'CreateItem 0)) (_catch 'vlax-put (list email 'Subject (strcat "Emailing: " (vl-filename-base file) ".dwg"))) (_catch 'vlax-invoke (list (vlax-get email 'Attachments) 'Add file)) ) (progn (princ "\nOutlook active...") (princ) (vlax-invoke email 'Display :vlax-true) (vl-file-delete file) ) ) (foreach x (list email outlook) (and x (vlax-release-object x))) (princ) ) Thanks Brian
- 1 reply
-
- attachment
-
(and 1 more)
Tagged with:
-
True Type Font For Searchable PDF
bcarlso2 posted a topic in AutoCAD 2D Drafting, Object Properties & Interface
I have a client who used Simplex.shx font all over their drawing package. Is there a way to use Simplex.ttf in a text style instead? I have read and searched all over and haven't gotten anything to work. When I go to my style manager Simplex_IV25 and SimplexIV_IV50 are the only true type fonts I can use of Simplex. They are wider and bolder than the regular version, which is not selectable. I would like to change the style using a script on my 300+ drawings so that when we convert to PDF it is searchable. I cannot use either Simplex_IV25 or Simplex_IV50 because the clients would notice and would complain, it would also throw alignment off. I am using ACADE 2015. Any other info needed, I can gladly give. Thanks -
Inserted Pdf table is shown as link address in new open
khoshravan posted a topic in AutoCAD Drawing Management & Output
I inserted a pdf file (table) and printed it out. Now that I want to open the file again, the table is gone and its address is shown instead. What is wrong and how can I keep the table as the first time? -
Hey everyone, I am new to this whole forum thing, so I apologize if I should be starting a new thread but I do have a question related to this that I was hoping you could help with. I have been trying to automate my plotting process using MColor 9 which is a extension to CAD for color renderings. The issue is I am trying to plot multiple tabs at once, or back to back automatically. The command for plotting with Mcolor is "MCO_PLOT", but it will only do one tab at a time. I have created a LISP that has gotten me really close to where I want to be, which is: (defun C:mco-plot () (foreach lay (layoutlist) (setvar 'ctab lay) (command "_mco_plot") ); end foreach ); end defun *I changed the new command from "mco_plot" to "mco-plot" so it did not conflict. This LISP will automatically plot each tab back to back, but the hang up is that on each tab it asks me where I want to save the PDF. What I really need is something to add to this LISP function that will either have the PDF automatically save to the current drawings folder, or just have me specify the location once and save the PDF's for all the tabs in that location. I know this is unique because not everyone has MColor 9, I hadn't even heard of it before until my current job. However, I think there must be a solution out there since the only part I need now is a way to specify the saving location one time (one time per project) and then I would be good to go. Thank you for your time!
-
All, I need some help with this PDF plot lisp that was created at work, this lisp was created to take material list sheets PDF them and drop them into the source folder with the sheet name as the file name. I was wondering if someone could help figure out how to combine the pages together to create one file once they are converted to PDF all as one step. ;;;This is the lisp routine to Plot the material list to individual PDF files with the job name and the page number ;;;as is does in the Plot Material List button. ;;; plotpdf.lsp (defun c:PlotPDF (/ ob ss bn mn mx) (vl-load-com) (setq cnt 0) (setq dir(getvar "dwgprefix")) (if (and (progn (initget "B") (setq ob (entsel "\nSelect Block/B for blockname: ")) (cond ((eq ob "B") (setq bn (getstring "\nEtner Block Name: ")) ) ((and (eq (type ob) 'LIST) (vlax-method-applicable-p (vlax-ename->vla-object (car ob)) 'getboundingbox)) (setq bn (cdr (assoc 2 (entget (car ob)))))))) (tblsearch "BLOCK" bn) bn (setq ss (ssget "_X" (list '(0 . "INSERT")'(410 . "Model")(cons 2 bn)))) ) (progn (vla-zoomextents (vlax-get-acad-object)) (repeat (setq i (sslength ss)) (setq ML "Material-List") (setq cnt (1+ cnt)) (vla-getboundingbox (vlax-ename->vla-object (ssname ss (setq i (1- i)))) 'mn'mx) (command "plot" "yes" "model" "DWG To PDF.pc3" "ANSI A (8.50 x 11.00 Inches)" "inches" "LANDSCAPE" "no" "Window" (trans (vlax-safearray->list mn) 0 1) (trans (vlax-safearray->list mx) 0 1) "fit" "center" "yes" "acad.ctb" "yes" "As Displayed" (strcat dir "ML-" (itoa cnt) "-"(getvar "dwgname")) "no" "yes" "yes" "yes") (command ".delay" "750") ) ) (princ "\nNo Blocks Selected: ") )(princ) ) Thanks, Brian
-
Fully Searchable PDF output How To Fix. Text Width Factor, Oblique Angle, Mtext
THansen posted a topic in AutoLISP, Visual LISP & DCL
I have been working to correct issues we did not realize we had with PDF output from AutoCAD DWG and Inventor IDW files. I have seen several posts related to the same thing so I wanted to share what I have discovered and the fix for it to date. If you are finding that your DWG files or IDW files when output to PDF from just about any method are not FULLY searchable your not alone! ROOT CAUSE 1.) Any Text Style using a SHX font will not convert to searchable text. Instead it is output as an image. WHY - SHX fonts are unique to AutoDesk products and were developed for the pen plotter days. In today's world there is no reason to be using them. Since they are unique to Autodesk and "old" they are not a native font to your modern OS. As a result when you try to process the file with a PDF print driver, pc3 file, etc. the program does not recognize the font and thus outputs it as an image. Images are not searchable text! FIX - Change the font used in all Text Styles to a TrueType font (TTF) or an OpenType font with TrueType Outlines. To determine what fonts are on your system START>SEARCH>FONTS and double click on a font. At the top left corner it will indicate what it is. For Arial Black (OpenType) the information given is "OpenType Layout, Digitally Signed, TrueType Outlines" Try to "standardize" on fonts with these features: A.) A font family with a lot of choices for different "widths" and "styles" like condensed, narrow, Bold, Italic, Narrow Italic, etc. B.) A font that is designed for different languages to cover your localization needs. This makes translating drawings much easier at a latter date. Arial is a good choice since it is designed for Latin; Greek: Cyrillic; Hebrew; and Arabic. When applying the new font to existing Text Styles use the existing Text Style's Text Width Factor (TWF) setting to clue in on what font to use. If the TWF is 0.85 then maybe Arial Narrow is a good fit. 2.) Any TTF that has been altered in anyway by AutoCAD will not be recognized as a standard font and will convert as an image. A.) The TWF MUST be 1.0 Instead of using TWF to condense or expand text use the font family style instead; Arial Narrow, Arial Narrow Bold, etc. You may have to use other fonts to accomplish this as Arial may not have enough choices in the font family. FIX - Use lisp to change all EXISTING text to a TWF of 1.0. This includes single line text, Mtext, text in blocks, text in dynamic blocks, text in attributes, etc. B.) The Text Oblique Angle (TOA) must be 0.0 Instead of using the TOA use different font styles like Italic for example. FIX - Use lisp to change all EXISTING text to a TOA of 0.0. This includes single line text, Mtext, text in blocks, text in dynamic blocks, text in attributes, etc. C.) Any text inside a block or object that has not been scaled on x;y symmetrically will not be recognized as "text" and converted as an image. You can scale a block, it just has to be symmetrical. Scaling to x=1.5, y=1.5 works. However x=1.5, y=2 does not. Again, the program cannot match the shape of the font to a "standard" font. FIX - Use lisp to re-scale all blocks to be symmetrical or explode the blocks. In the process of doing this you can also change text height and other attributes of text elements. WHAT'S BEEN TRIED Since we have 90,000 plus drawings with the above issues I have tried several programs to try and get a fully searchable PDF with limited success. In all cases except for Acrobat Pro the result is some unsearchable text. This includes the following: Adobe PDF, CutePDF, ClarityPDF, PrimoPDF, DWG to PDF.pc3, etc. I even tried exporting to DWF, DWFx first then trying to conversion to PDF and got the same results. OCR Typically our drawings are a mixed bag.....some have ALL SHX fonts, some have TTF that are altered, and some are all TTF that have not been altered. 90% have SHX and altered TTF since our title blocks have the TTF but with TWF of from .8 to .95. The PDF output of these yields some searchable text and some not searchable. Most of it being non-searchable. We tried processing with OCR but the results are not very accurate AND most pages cannot be OCR processed anyway. Text elements that are close to lines and other objects confuse the OCR process. This was most notable in item balloons, revision triangles, and BOM tables. Having a searchable BOM is one of the key needs for us. The OCR process also converts the ENTIRE drawing to an image. It then "scans" for "shapes" and tries to match them to existing fonts on your system. It puts this OCR output on a hidden layer directly under the text. This is why when you try to highlight text the area selected is not directly under the actual text. With Acrobat Pro......if the page contains a single character of "rendered" text the the program assumes the entire page has already been OCRed and will not allow you to process the rest of the page. Adobe.....??? So any page that has TTF that is not altered will come over as rendered text and OCR will not work! ACROBAT PRO Acrobat Pro works provided you process the DWG file directly and you have to go into the Acrobat settings and set the PATH statement for the location of the SHX fonts, plotter, and plot config. files on your system. Acrobat then substitutes a TTF font for each SHX font found in the file when producing the output. It does the same for fonts that have been altered by comparing the "shape" to its database of fonts and substituting one that is close. It can even create a new font on the fly if needed. This is not a fast process as it takes some processing HP to do this. FIX THE ROOT CAUSE I have read that AutoCAD 2016 has some better tools for producing searchable PDF but our workflow creates the PDF from a DWF file. We use Vault and it creates DWF or DWFx visualization files. It will not create a PDF w/o purchasing an add on. So for use the only way to correct this is to fix the root cause. LISP PROGRAMS I found a lisp by Lee Mac called FixAllText that comes close to doing what is needed. I modified the lisp to include code to change the existing text styles to use the Arial Font and set all Text Style attributes as needed. ie TWF=1.0 and TOA=0.0. I did not change text height, color, layer, etc. What is missing is code that will look at existing Text Style "TWF" settings and automatically choose a font family style based on existing TWF setting. I would like to to see variables at the top of the code for something like the following: If TWF is in the range 0.95 to 1.0 to 1.05 use ARIAL REGULAR If TWF is in the range 0.95 to 1.0 to 1.05 AND the TOA is not 0.0 use ARIAL REGULAR ITALIC If TWF is in the range 0.85 to 0.94 use ARIAL NARROW BOLD If TWF is in the range 0.75 to 0.84 use ARIAL NARROW If TWF is in the range 1.06 to 1.15 use ARIAL BOLD If TWF is in the range 1.16 to 1.50 use ARIAL BLACK REGULAR etc. Or if these is a way with lisp to determine how close the start and stop points of text are to other elements then base font selection on that?? Code I have to date is attached.....Any help is appreciated FixAllText.lsp- 4 replies
-
- searchable
-
(and 3 more)
Tagged with:
-
Virtual Printers - Nitro Pro "Installation"
Dinochrome posted a topic in AutoCAD Drawing Management & Output
Hello All, I'm out-of-work and searching. Whilst going through the process, my wife has started a new business. I have become the DeFacto CAD Toad. She keeps feeding me and not making me sit out in the rain, so life is good. We've used the Primo PDF Free version along with AutoCAD for many years for little trivial things around the house. We really have had few issues, for free. Primo PDF virtual printer - listed Her company, all two people, wanted to be able to do some editing in the PDFs, and they desired to own the software being that they are for-profit. They looked at features and cost and Nitro Pro (Primo's real-life big brother) seemed like a great deal. I think, as I have in the past, I'd like to install Nitro as a Virtual Printer (System Printer, is that the correct nomenclature?) The computer that we are trying to install on is a Windows 7 laptop. I installed cutepdf write earlier, the free version, and it shows up in printers. It works fine. I have tried to go through "Add Printer" and Nitro doesn't show up. I Googled myself around for a while, sent in a ticket, don't know how long their response will take, and landed in wikipedia. Nitro Pro Wiki-link It doesn't appear that is is capable of being installed as a virtual printer. Have any of you good CAD-Peeps ever tried/solved this? I have briefly considered installing the Primo PDF and using it as the Virtual Printer. (I know it would somewhat duplicate Cutepdf Writer) I am aware of the native AutoCAD .dwg to .PDF plotting/conversion. Workflow-wise I think we like just switching "plotters". Any thoughts are welcome while I'm waiting for tech support. TIA Bill -
Hello, A question about plotting to PDF and paper printable areas that I wonder if anyone can help with. I have a LISP routine that plots a PDF to the file where the original drawing is saved. This mostly works great for me. Our drawing standards are to use the default standard paper sizes printable area for a paper plot (so an A3 sheet might have 6mm left, 5m right, 18mm top and 17mm bottom margin to the plot), but for a PDF plot to use a modified standard paper size with a 0mm margin all round the printable area (so it plots full size). My LISP routine detects the current paper size then uses the modified paper size based on 'IF' commands (If papersize = A4 then use A4_0mm_margin type command). This is good for 3 or 4 paper types - any more and the code gets quite lengthy. My question is is there a better way? Is there a routine or command that will temporarily set the paper printable area to have a 0mm margin all round (or any other size I want), then do the plotting, and without changing anything or saving anything? Thanks for any help