FastFiber

Plotinstelling aanpassen (plotter)

Gestart door Boochy, di 14 03 2006, 13:19:59

Vorige topic - Volgende topic

Boochy

Ik zit met het volgende probleem. :?

Ik heb 100de tekeningen die vroeger allemaal zijn ingesteld op de oude plotter.

Daar er laatst een nieuwe plotter is geinstaleerd.
Zit ik met het volgende: elke keer als ik een reeks plannen wil uitplotten, moet ik deze nieuwe plotter aanduiden.
Nu vraag ik me af of het niet mogelijk is via een programmake deze files te herprogrameren.
Zo als ik een dwg open deze direct is ingesteld met de nieuwe plottersnaam.



(Windows XP, Autocad 2005)
Carpe Diem ;)

Joop

Gebruik Babe om de page setup aan te passen.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Boochy

Carpe Diem ;)

Remo

en ctrl C en ctrl V

Citaat van: Joop op wo 08 03 2006, 10:56:28
Met BaBe kun je meerdere tekeningen als BAtch BEwerken.

Hier
http://www.cadsite.be/tips/BaBe.zip
te downloaden.

Met de volgende code kun dan je alle lay-outs plotten.
Deze moet je aanpassen voor het vervangen van blocks.


(defun c:DoIt ()
  (if (= (getvar "pstylemode") 0)
    (command "convertpstyles")
  ) ;_ end of if
  (setq volgnr 0)
  (setq all_layouts (layoutlist))
  (setq l (vl-list-length all_layouts))
  (while (< volgnr l)
    (setq a_layout (nth volgnr all_layouts))
    (setq str (strcat "Now plotting layout: " a_layout))

    (print str)
    (setq volgnr (1+ volgnr))
    (command "-plot" ;Plot-command ;
     "y" ;Detailed plot configuration? ;
     a_layout ;Enter a layout name ;
     "NLP12280" ;Enter an output device name ;
     "A3" ;Enter paper size ;
     "m" ;Enter paper units ;
     "l" ;Enter drawing orientation ;
     "n" ;Plot upside down? ;
     "e" ;Enter plotarea ;
     "f" ;Enter plot scale ;
     "0,0" ;Enter plot offset ;
     "y" ;Plot with plot styles ;
     "_zwart.ctb" ;Enter plot style table name ;
     "y" ;plot with lineweights ;
     "n" ;Scale lineweights with plot scale? ;
     "n" ;Plot paper space first? ;
     "n" ;Remove hiddenlines? ;
     "n" ;Write the plot to a file ;
     "n" ;Save changes to layout? ;
     "y" ;Proceed with plot? ;
    )
  )

)


Succes.

Boochy

  :wink: Men vraag gaat hier niet over het uitplotten van lay-outs (al is het wel een intressant weetje), maar over hoe je plotter X door plotter Y kunt vervangen zonder je tekening te openen en dit voor een honderdtal in verschillende directories.  :)

Nog enkele standaardvragen:
Wat is `Babe`?
Wat is VBA en wat is het verschil tussen VBA en Lisp?
Welke programmeertaal is het meest aangewezen voor dit?  :)
Carpe Diem ;)

Joop

BaBe is een leuke meid (sorry dames) die allerhande tijdrovende karweitjes (zoals de paginasetup van 200 tekeningen veranderen) als haar taak ziet.
je kunt haar op deze site downloaden.
Lees de handleiding en bewonder haar.

VBA is Visual Basic for Applications en een programmeertaal die je in alle Windows applicaties kan toepassen.

Lisp is ook een programmeertaal die je onder windows kunt toepassen maar de versie van AutoCAD werkt aleen onder ... je raad het al.

De keuze van taal onder AutoCAD is een eeuwigdurende discussie.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Remo

#6
soms kan het handig zijn een combinatie van alles te gebruiken...

voor jou probleem heb ik volgens mij al een oplossing....

ik heb bij mij dit:   ^C^Cplquiet 1 _-vbarun;printerdelete ^C^Climits;off;-insert;*plotters.dwg;0,0;;;_plot onder de plotknop staan...   dat zorgt ervoor dat de oude plotters (page setups) gedelete worden... (zie printer delete in VBA) en dat al mijn nieuwe plotters/printers ingeroepen worden via de plotters.dwg (in die tekening heb ik alle huidige page setups gedefineerd)

dus als ik op plot druk, heb ik altijd de juiste page setups om uit te kiezen...... als er nieuwe printers bij komen hoef ik die alleen even in de tekening plotters.dwg toe te voegen....  ik hoef dan ook nooit al mijn tekeningen aan te passen... dit gaat vanzelf....

vba code om de oude page setups te verwijderen:
Sub printerdelete()
Dim Item
Dim collec As AcadPlotConfigurations
Set collec = ThisDrawing.PlotConfigurations
    For Each Item In collec
        Item.Delete
    Next
End Sub


p.s.  de variabele plquiet is om de foutmeldingen van eventueel niet gevonden plotters te onderdrukken

FastFiber