CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: j-o-s op wo 08 03 2006, 18:53:28

Titel: layers printen
Bericht door: j-o-s op wo 08 03 2006, 18:53:28
Ik heb een vraag (deze zal wel al vaker geplaatst zijn)

ik heb een aantal layouts (laat ons zeggen 10 stuks) deze wil ik allemaal printen
Kan dit ook in een keer? en een keer moet het met een pdf printer en de andere keer met een gewone hp1220 en een andere keer met een hp 350
ik heb al een keer select all gedaan maar dit werkt niet. Kan ook zijn dat ik iets verkeert doe

gr j-o-s
Titel: Re: layers printen
Bericht door: Joop op do 09 03 2006, 07:52:32
Kijk hier eens:

http://www.cadsite.be/smf/index.php/topic,1084.msg5881.html#msg5881

In deze topic staat een routine om alle layouts te printen
Titel: Re: layers printen
Bericht door: j-o-s op do 09 03 2006, 08:11:33
alvast bedankt ik ga het uitproberen
eerst ff uitzoeken hoe lisp werkt

gr j-o-s
Titel: Re: layers printen
Bericht door: j-o-s op do 09 03 2006, 08:40:50
Ik heb hem uitgeprobeert hij zegt dit:

$ (c:DoIt)

"Now plotting layout: Layout1"
"Now plotting layout: Layout10"
"Now plotting layout: Layout2overzicht"
"Now plotting layout: Layout3"
"Now plotting layout: Layout4"
"Now plotting layout: Layout5"
"Now plotting layout: Layout6"
"Now plotting layout: Layout7"
"Now plotting layout: Layout8"
"Now plotting layout: Layout9"
"Now plotting layout: LayoutA0" nil
_$
_$
_$


maar hij vraagt niet welke printer er gebruikt moet worden
wil je mij vertellen hoe ik dit moet oplossen of kan dat ook in de lisp geschreven worden
als dit kan wil je dan dit voor mij doen want ik heb er geen verstand van.

gr j-o-s
Titel: Re: layers printen
Bericht door: Joop op do 09 03 2006, 09:08:35
Hierin zet je de plotstyle op color dependent.
In oudere tekeningen worden "named plot style tables" gebruikt en deze leveren problemen op.

  (if (= (getvar "pstylemode") 0)
    (command "convertpstyles")
  ) ;_ end of if


In de systeemvaribele "layoutlist staan alle layouts die in de tekening zijn aangemaakt.
Stop deze in een user variabele.
(setq all_layouts (layoutlist))

De rest is de standaard plotroutine die je gebruikt om vanuit LISP te printen.
Aleen gebruik je nu de lijst met layoutnamen en niet alleen modelspace.

Terwijl ik dit schrijf komt jouw bericht binnen, dus zal ik nog wat duidelijker zijn.

(command "-plot"         ;Plot-command
   Â     "y"         ;Detailed plot configuration?
   Â     a_layout         ;Enter a layout name
   Â     "NLP12280"         ;Enter an output device name Vul hier je eigen plotter/printer in.
   Â     "A3"         ;Enter paper size Hier de gewenste pairformaat
   Â     "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 Hier je pen configuratie
   Â     "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?
   Â    )

De rode zijn gegevens die voor elke printer specifiek zijn en moeten daarom voor alle printers en plotters aangepast worden.
De rest zijn opties die per tekening kunnen verschillen.

Wat je hier doet is het zelfde als wanneer je op de command line _plot intypt.
Namelijk alle vragen van de plotroutine( zonder gebruik van dc)l beantwoorden.
Prbeer het maar eens op de command line.
Titel: Re: layers printen
Bericht door: Reimer op do 09 03 2006, 09:44:52
Met publish kun je meerdere layouts tegelijk plotten. Je kunt hier per layout een pagesetup toekennen, of allemaal met dezelfde pagesetup plotten. In de pagesetup ligt vast welke (pdf-) printer moet worden gebruikt.

Reimer
Titel: Re: layers printen
Bericht door: j-o-s op do 09 03 2006, 12:14:34
ik doe wat fout
als ik bij printers en faxapparaten kijk staat daar mijn printer omschreven als HP deskjet 1220c
deze heb ik ingevult op de plaats waar jij hebt gezegt.
opgeslagen en toen op load active edit window gedrukt


(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         ;
   Â     "HP DeskJet 1220C"      ;Enter an output device name      ;
   Â     "A4"         ;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?         ;
   Â    )
  )

)

hij zegt nu dit:

_$ (c:doit)

"Now plotting layout: Layout1"
"Now plotting layout: Layout10"
"Now plotting layout: Layout2overzicht"
"Now plotting layout: Layout3"
"Now plotting layout: Layout4"
"Now plotting layout: Layout5"
"Now plotting layout: Layout6"
"Now plotting layout: Layout7"
"Now plotting layout: Layout8"
"Now plotting layout: Layout9"
"Now plotting layout: LayoutA0" nil

Ik neem aan dat nu de printer moet gaan rammellen.
Dit gebeurt niet.


Ook heb ik publish geprobeerd maar
nu print hij aan de zijkant de tij en de datum en welke printer
dit wil ik niet dus dit is ook niet de oplossing


Gr j-o-s
Titel: Re: layers printen
Bericht door: j-o-s op do 09 03 2006, 16:48:40
Joop

Het is opgelost :ole: :pintje:
Ik ben erachter gekomen dat inplaats van _zwart.ctb hier grayscale.ctb moet staan
Nu doet hij het
Alleen nu nog ff uitzoeken hoe ik landscape of portraint moet invullen

Ok dit is gelukt

Heel erg bedankt

Gr j-o-s
Titel: Re: layers printen
Bericht door: rlouage op do 09 03 2006, 23:31:52
Dag Jos en ...

Ik denk dat jullie het toch allemaal wel heel ver zoeken. In plaats van een lisp programma te maken, kunnen jullie ook eenvoudig weg een macro maken en koppelen aan een icoontje.
Begin uw macro met        -plot;Y;"naam layout";"naam printer"; .....      (de min schakelt de dialoogbox uit en de ; staat voor enter)


succes en vriendelijke groeten,

Robrecht
Titel: Re: layers printen
Bericht door: Joop op vr 10 03 2006, 07:46:29
rlouage,

Je hebt gelijk, .......als het om een of twee tekeningen gaat.
Maar wat als het er vijf of vijftig of tweehonderd zijn?

AutoCAD heeft geen (naar mijn mening) goede batch verwerking.
Niet voor plotten en al helemaal niet voor alle andere wijzigingen die vaak nodig zijn.

Hiervoor heb ik dan ook BaBe gemaak.

The sky is the limit en ik ben lui.

Joop
Titel: Re: layers printen
Bericht door: j-o-s op vr 10 03 2006, 09:45:11
bij mij gaat het om 27 tekeningen met het gemiddelde van 15 layouts

ik ben heel blij met de lisp
ik heb het gisteravond uitgeprobeerd en het scheelt aanzienlijk veel tijd.

gr j-o-s
Titel: Re: layers printen
Bericht door: j-o-s op ma 20 03 2006, 09:29:35
Ik heb nog een andere vraag kan ik ook als ik deze lisp gebruik aangeven per layout of deze in landschap of portret moet worden afgedrukt

gr j-o-s
Titel: Re: layers printen
Bericht door: bart op ma 20 03 2006, 09:33:53
Citaat van: j-o-s op ma 20 03 2006, 09:29:35
Ik heb nog een andere vraag kan ik ook als ik deze lisp gebruik aangeven per layout of deze in landschap of portret moet worden afgedrukt

gr j-o-s

er van uitgaande dat de instellingen al correct in je layout aanwezig zijn
zou je een enter kunnen toepassen  in plaats van iets aan te geven
dan wordt de default waarde aangehouden.
Titel: Re: layers printen
Bericht door: j-o-s op ma 20 03 2006, 10:15:43
en hoe geef ik de enter dan aan ?
is dit gewoon een spatie?
dit is de lisp
volgens mij moet deze regel dan veranderen >>> Enter drawing orientation <<<<


heb het al gevonden

bedankt  j-o-s