Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Plotten mit verschiedenen Layern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Plotten mit verschiedenen Layern (1133 mal gelesen)
michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

Windows 10 Autocad 2011/Autocad 2019

erstellt am: 06. Dez. 2010 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebes Cad Team,

Ich will in einer Datei mit mehreren Layern und einem Layout immer nur ein Layer eingeschalten und Drucken!
Bsp Layer: 1,2,3
erster Druck: Layer 1 ein und Layer 2,3 aus
zweiter Druck: Layer 2 ein und Layer 1,3 aus
dritter Druck: Layer 3 ein und Layer 1,2 aus

ich hab schon folgendes Programm geschrieben:

Sub druck()

Dim a As Variant
Dim layer_name As String

       
For a = 1 To 3

    For Each oblayer In ThisDrawing.Layers
    oblayer.LayerOn = False
    Next

            layer_name = a
           
         
            ThisDrawing.Layers(layer_name).LayerOn = True

            Set Plot = ThisDrawing.Plot


            Plot.PlotToDevice
   
               
Next

End Sub

Leider funktioniert nur der erste Druck und dann kommt eine Fehlermeldung:
Die Methode PlottoDevice für das Objekt IACADPlot ist fehlgeschlagen?

Hat jemand eine Ahnung woran es liegen könnte?

mfg

michimueller

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 06. Dez. 2010 15:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

stell bitte mal BACKGROUNDPLOT aus (0) bevor Du startest.

- alfred -

------------------
www.hollaus.at

michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

erstellt am: 09. Dez. 2010 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ok super danke dir, funktioniert, aber vielleicht kannst du mir noch sagen
was diese funktion genau bedeutet?!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 09. Dez. 2010 17:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

entweder Du gibst in der Befehlszeile ein:
Befehl: BACKGROUNDPLOT<ENTER>
Neuen Wert für BACKGROUNDPLOT eingeben <0>: <F1>  ==>> damit startest Du die Hilfe zu diesem Befehl/dieser SysVar

Oder Du suchst gleich in der Hilfe, dann landest Du >>>hier<<<

- alfred -

------------------
www.hollaus.at

michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

erstellt am: 09. Dez. 2010 18:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ah ok alles klar, nur jetzt hab ich noch ein anderes problem:
Wenn ich mein makro starte läuft das programm
Immer zu schnell durch, z.b werden zwei layer gleichzeitig gedruckt oder auch mal gar nicht! Ein timer zwischendrin brachte auch wenig erfolg!

Gibt es eine funktion die mir zurückgibt wenn der druckauftrag gesendet wurde? Damit dann das makro weiter laufen kann??

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 09. Dez. 2010 21:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Wenn ich mein makro starte läuft das programm Immer zu schnell durch

Dieses Problem hätten aber einige gerne (dass das Programm zu schnell ist).

Wenn Du BACKGROUNDPLOT auf 0 stehen hast, dann kann es nicht sein, dass mal 2 Layer, mal kein Layer ausgegeben wird. Der Code darf, wenn BACKGROUNDPLOT auf 0 steht, bei der Zeile

Plot.PlotToDevice

erst dann weiterarbeiten, wenn der Plot abgewickelt ist. Daher kann die Schleife nicht zwischenzeitlich schon einen Layer weiter sein. Prüf das mal, indem Du in der Folgezeile (nach dem Plot.PlotToDevice) einen Breakpoint setzt, die Zeile wird erst angesteuert, wenn der Plotauftrag innerhalb von AutoCAD draussen ist.

Was ev. schon hilft, wäre eine REGEN einzubauen, bevor Du den Plot startest, um sicherzustellen, dass die Stati für On/Off auch im Editor aktualisiert werden.

- alfred -

------------------
www.hollaus.at

[Diese Nachricht wurde von a.n. am 09. Dez. 2010 editiert.]

michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

erstellt am: 14. Dez. 2010 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super danke dir, mit der "Funktion ThisDrawing.Regen (True)" hat es einwandfrei funktioniert!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz