Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Plot auf Verschiedenen Formaten

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:  Plot auf Verschiedenen Formaten (4358 mal gelesen)
eud
Mitglied
Konstrukteur


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

Beiträge: 67
Registriert: 22.03.2005

Inventor 11 SP2, Windows XP SP2, Intel Core2Duo 1.86 GHz, 2GB RAM, ATI FireGL V3300

erstellt am: 21. Feb. 2006 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 VBA-Profis

Folgendes Problem: Wenn ich eine neue Zeichnung zum ersten mal ausdrucke muss ich immer 3xA3 und 1xA4 ausdrucken. Das ist ziemlich umständlich weil ich jedes mal die Papiergrösse in den Druckereigenschaften änder muss.

Ich habe mich gefragt ob es möglich ist das ganze über ein Makro zu steuern.
Habe leider nur wenig erfahrung mit VBA (autodidaktisch).
Hat jemand ein ähnliches Makro, dass ich ändern könnte.

Viele Grüsse aus der Schweiz

Dominique

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 21. Feb. 2006 15:51    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 Nur für eud 10 Unities + Antwort hilfreich

Hi eud!
Ich hab dir doch eh schon mal das mit den Sendkeys gesendet!
http://ww3.cad.de/foren/ubb/Forum50/HTML/010928.shtml#000006

z.B.
Sendkeys "^p", True = Strg + P = Plotaufruf

und durch solche Anweisungen kannst den Ganzen Druckvorgang mit einem Makro steuern.

Legende:
Taste:                  Zeichencode:
Alt                    %
Strg                    ^
F1,F2 usw              {F1},{F2}..
Tab                    {TAB}
ESC                    {ESC}
Enter                  {ENTER} oder ~
down                    {Down}
Entf                    {DEL}
Zurück (<--)            {BS}

Bei mir sieht das so aus:

On Error GoTo Err
If ThisApplication.ActiveDocumentType <> kDrawingDocumentObject Then Exit Sub

Dim Zeichnung As DrawingDocument
Set Zeichnung = ThisApplication.ActiveDocument

Dim printm As DrawingPrintManager
Set printm = Zeichnung.PrintManager

printm.Printer = "Druckername"

Dim blatt As sheet
Set blatt = Zeichnung.ActiveSheet

Dim größe As String
größe = blatt.size

Select Case größe
    Case "9993" 'A0
        SendKeys "^p{DOWN}{DOWN}{TAB}~{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN }^{TAB}^{TAB}{TAB}{TAB}{DOWN}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}" 'Übergröße ISO-A0
    Case "9994" 'A1
        SendKeys "^p{DOWN}{DOWN}{TAB}~{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}^{TAB }^{TAB}{TAB}{TAB}{DOWN}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}" 'Übergröße ISO-A1
    Case "9995" 'A2
        SendKeys "^p{DOWN}{DOWN}{TAB}~{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}^{TAB}^{TAB }{TAB}{TAB}{DOWN}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}" 'Übergröße ISO-A2
    Case "9996" 'A3
        SendKeys "^p{TAB}~^{TAB}^{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{UP}^{TAB}{TAB}{TAB}{TAB}{TAB}{DOWN}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}" 'A3
    Case "9997" 'A4
        SendKeys "^p{TAB}~^{TAB}^{TAB}^{TAB}{TAB}{TAB}{TAB}{TAB}{up}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}" 'A4
    Case Else
        MsgBox "Es ist kein passendes Papierformat eingestellt." _
        & Chr(13) & "Der Druckvorgang wird abgebrochen.", vbInformation + vbOKOnly, "Hinweis:"
End Select

Err:
Exit Sub

Hoff, dass das weiterhilft!

Die senkeys musst du aber selbst testen und dann in den Code übertragen!

mfg Bernhard  

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 21. Feb. 2006 16:40    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo Bernhard,

das sieht aber ziemlich abenteuerlich aus...

Grüsse,

Paul

www.morecam.ch
www.thinkcad.de

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 22. Feb. 2006 10:43    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 Nur für eud 10 Unities + Antwort hilfreich

Da ist ja der Hammer!

Zitat:
SendKeys "^p{DOWN}{DOWN}{TAB}~{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN  }^{TAB}^{TAB}{TAB}{TAB}{DOWN}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{-}{TAB}{+}"

Wenn sich die Befehlsfolgen wie bei AutoCAD ändern, wird man nie arbeitslos.

Trotzdem 10Us für Dich für diese interessante Lösung

Gruß
Seher    

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

eud
Mitglied
Konstrukteur


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

Beiträge: 67
Registriert: 22.03.2005

erstellt am: 22. Feb. 2006 14: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

Kann man in der SendKeys Anweisung auch eine If Then anweisung einbauen.

Ich hab mir da so gedacht, dass ich dem Makro sage, dass es wenn beim auswählen des papierformats "A3" steht es dann gleich mit {ENTER} fortfahren kann und wenn "A4" steht, soll es {UP}{ENTER} ausführen?

------------------
Grüsse vom schönen Thunersee 

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 22. Feb. 2006 14:49    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo,

probiers mal so:

Code:

Dim oDrgPrintMgr As DrawingPrintManager
Dim oDrgDoc As DrawingDocument

Dim blattgröße As Single
Dim orientierung As Single

If ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then

    Set oDrgDoc = ThisApplication.ActiveDocument

    Dim blatt As Sheet
    Set blatt = oDrgDoc.ActiveSheet
   
    blattgröße = blatt.Size
    orientierung = blatt.Orientation

   
        Set oDrgPrintMgr = oDrgDoc.PrintManager

        oDrgPrintMgr.Printer = "Apple Color LW 12/660 PS"

        oDrgPrintMgr.ScaleMode = kPrintFullScale

        oDrgPrintMgr.PaperSize = blattgröße + 4344
       
        oDrgPrintMgr.PrintRange = kPrintCurrentSheet

        oDrgPrintMgr.Orientation = orientierung + 3328
       
        oDrgPrintMgr.TilingEnabled = False
       
        oDrgPrintMgr.SubmitPrint


end if


Mit ein paar Anpassungen und einer Schleife 3xA3 und 1xA4 sollte das eigentlich gehen

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

eud
Mitglied
Konstrukteur


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

Beiträge: 67
Registriert: 22.03.2005

erstellt am: 23. Feb. 2006 10:02    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

Ich habe jetzt folgendes Makro:


Sub AvorDruck()
 
  SendKeys "^p{TAB}~{TAB}{TAB}{TAB}~{RIGHT}{DOWN}{UP}~{TAB}~{TAB}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{3}{TAB}{TAB}{TAB}{TAB}{TAB}~" 'A3

  SendKeys "^p{TAB}~{TAB}{TAB}{TAB}~{RIGHT}{DOWN}{DOWN}~{TAB}~{TAB}~{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{1}{TAB}{TAB}{TAB}{TAB}{TAB}~" 'A4
 
End Sub

Leider Funktioniert es nur immer für ein Format. Das heisst, ich kann entweder A4 oder A3 drucken, indem ich eines der beiden inaktiv mache. Wenn beide zusammen aktiv sind, druckt der Drucker gar nichts.

------------------
Grüsse vom schönen Thunersee 

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

VOSTA1
Mitglied
techn. Angestellter


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

Beiträge: 108
Registriert: 23.12.2002

erstellt am: 23. Feb. 2006 13:49    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo, wenn Du schon mit send key arbeiten möchtest
dann würde ich folgende Methode empfehlen. Macht Deinen Code etwas
nachvollziehbarer.

sub drucken

    SendKeys "%d"  '% steht für ALT
    SendKeys "D"
    SendKeys "{TAB 12}" '12 mal Tab eventuell anpassen
    SendKeys "{Enter}" '

end sub

------------
UMSCHALT +->  sendkeys "+"
STRG ^ ->  sendkeys "^"
Alle Sondertasten gibst unter Visual Basic Hilfe

MFG VOSTA

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

P164
Mitglied



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

Beiträge: 39
Registriert: 03.06.2004

erstellt am: 23. Feb. 2006 16:28    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 Nur für eud 10 Unities + Antwort hilfreich


DwdP.png

 
hallo
wenn Du außerhalb von ADI drucken möchtest habe ich was für .
Beiligend ein screenshot

------------------
das Leben ist schön, meint Ingolf

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 23. Feb. 2006 19:47    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 Nur für eud 10 Unities + Antwort hilfreich

Hi zusammen!
Weil ich anscheinen grad alle Profis was druckeransteuern betrifft versammelt habe, hab ich da mal so ne Frage:

Wie kann ich möglichst einfach auf die Druckereigenschften zugreifen!

Mir ist schon klar, dass ich im Printmanager bei IV alles einstellen kann doch die Druckereigenschaften ändern sich nicht automatisch mit!
So wie z.b. im Autocad Printdialog!

Wie komm ich dann aus einem IV AddIn am einfachsten an die Druckereigenschaften?

Vielen Dank!! 

mfg Bernhard

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 23. Feb. 2006 21:18    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo BernhardU,

auf welche Eigenschaft willst du zugreifen?

Ich mache mit dem Code aus IV Pdf's und Ausdruke in 1:1 oder angepasst auf A4,A3 in der richtigen Orientierung.

Was braucht man mehr?

Gruß
Reinhard

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 24. Feb. 2006 11:57    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 Nur für eud 10 Unities + Antwort hilfreich

Hi!
Ich will eigentlich nur wissen, ob sich die Eigenschaft vom Drucker auch mitverändern (Blattgröße), wenn ich die Blattgröße im Printmanager von IV umstelle?

Vielen Dank!!

mfg Bernhard

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 24. Feb. 2006 21:06    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 Nur für eud 10 Unities + Antwort hilfreich

Hi,

muß ja wohl so sein, sonst könnte man aus IV ja nicht auf verschiedene Papierformate drucken.
Das einzige "Problem" ist, dass die Blattgröße, ermittelt mit blatt.size nicht gleich printmanager.papersize ist.
Deshalb im Code printmanager.papersize = blattgröße + 4344.
Der Wert 4344 kannst du aus den kenum... der jeweiligen Eigenschaften ableiten. Das ergibt für die einzelnen Blattgrößen den Unterschied 4344.
Wenn du also 1:1 drucken willst passt der code, wenn du auf ein bestimmtes Format drucken willst, mußt du die Papiergröße irgendwie, Userform mit Optionbuttons, vorgeben und kprintfullscale in kPrintBestFitScale ändern.

Gruß
Reinhard   

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

eud
Mitglied
Konstrukteur


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

Beiträge: 67
Registriert: 22.03.2005

erstellt am: 27. Feb. 2006 11:04    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

@reinhard: wenn ich es mit dem code den du weiter oben gepostet hast versuche wählt der drucker das papierformat "letter" aus.
das bedeutet doch, dass ich eine andere Zahl als 4344 einsetzen muss. nur habe ich keinen blassen schimmer was der/die/das kenum ist.

und das mit dem kPrintBestFitScale ist sehr, sehr hilfreich.

Gruss Dominique

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 27. Feb. 2006 13:49    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo zusammen!
Ich wollte noch was fragen:
Wir haben bei unserem Plotter ca. 30 verschiedene Blattformate!
z.b. A1 normal A1 übergoß usw.
Doch wie kann ich dann eine bestimmte Blattgröße auswählen?

Vielen Dank!

mfg Bernhard

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

erstellt am: 28. Feb. 2006 12:31    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 Nur für eud 10 Unities + Antwort hilfreich


Drucken.bas.txt

 
Also ich drucke immer mit dem Makro hier -->

evtl. geht daraus ja hervor, wie das mit der Einstellerei so funktioniert.
Man kann damit auch "Screenshots" machen. Bei Bauteilen und Baugruppen wird gezeigt, wie das mit dem Austausch der Hintergründe so funktioniert. Damit kann man jenachdem für welche Firma man gerade arbeitet, deren Logo mit in den Hintergrund beamen.

HTHHope this helps (Hoffe, es hilft weiter)

------------------
Gruß Lothar

---------------------------------------------------

Während man es aufschiebt, verrinnt das Leben.
—Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Inventor mit Vault Professional 2022
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 28. Feb. 2006 14:25    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 Nur für eud 10 Unities + Antwort hilfreich

evtl hilft dies hier auch weiter:

Code:

    'Get the active document and check whether it is a drawing document
    If Not ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then
        Exit Sub
    End If
   
    Dim oDrgDoc As DrawingDocument
    Set oDrgDoc = ThisApplication.ActiveDocument
       
    ' Set reference to drawing print manager
    ' DrawingPrintManager has more options than PrintManager
    ' as it's specific to drawing document
       
    Dim oDrgPrintMgr As DrawingPrintManager
    Set oDrgPrintMgr = oDrgDoc.PrintManager
       
       
       
       
    '----------------------------------------------------------------------------------
    ' Set the printer name
    ' comment this line to use default printer or assign another one
    '----------------------------------------------------------------------------------
    ' oDrgPrintMgr.Printer = "HP LaserJet 4000 Series PCL 6"
       
       
       
       
    '----------------------------------------------------------------------------------
    ' Set the printers ColorMode
    '----------------------------------------------------------------------------------
    ' kPrintColorPalette        Print using color
    ' kPrintDefaultColorMode    Default setting for color mode
    ' kPrintGrayScale          Print using a gray scale
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.ColorMode = kPrintDefaultColorMode
       
       
       
       
    '----------------------------------------------------------------------------------
    ' Set the printers scale-mode
    '----------------------------------------------------------------------------------
    ' kPrintBestFitScale    Print using a best-fit scale for the Drawing
    ' kPrintCurrentWindow    Print the contents of the window as-is
    ' kPrintCustomScale      Print usign the custom scale specified elsewhere
    ' kPrintFullScale        Print using full scale of the Drawing
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.ScaleMode = kPrintCustomScale
       
       
       
    '----------------------------------------------------------------------------------
    ' Gets/Sets the scale of the print.
    ' Meaningless when the ScaleMode is not kPrintCustomScale
    '
    ' if you need to plot as drawing as 1/4 scale, this property should be set to 0.25.
    ' If you need to plot at twice the scale this property should be set to 2.
    ' If the paper is smaller than the specified sheet size, a portion of the sheet will not print.
    '
    '----------------------------------------------------------------------------------
    Dim dScale As Double
    dScale = 1
    oDrgPrintMgr.[Scale] = dScale
       
       
       
    '----------------------------------------------------------------------------------
    ' Set the paper size.
    '----------------------------------------------------------------------------------
    ' kPaperSize10x14
    ' kPaperSize11x17
    ' kPaperSizeA2
    ' kPaperSizeA3
    ' kPaperSizeA4
    ' kPaperSizeA4Small
    ' kPaperSizeA5
    ' kPaperSizeB4
    ' kPaperSizeB5
    ' kPaperSizeCSheet
    ' kPaperSizeCustom
    ' kPaperSizeDefault
    ' kPaperSizeDSheet
    ' kPaperSizeESheet
    ' kPaperSizeExecutive
    ' kPaperSizeFolio
    ' kPaperSizeLedger
    ' kPaperSizeLegal
    ' kPaperSizeLetter
    ' kPaperSizeQuarto
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.PaperSize = kPaperSizeA4
   
   
   
   
    '----------------------------------------------------------------------------------
    ' Change the paper size to a custom size.  The units are in centimeters.
    ' only valid if PaperSize is set to custom size
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.PaperHeight = 15
    oDrgPrintMgr.PaperWidth = 10
   
       
       
       
    '----------------------------------------------------------------------------------
    ' Set the orientation
    '----------------------------------------------------------------------------------
    ' kDefaultOrientation
    ' kLandscapeOrientation
    ' kPortraitOrientation
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.Orientation = kDefaultOrientation
   
       
    '----------------------------------------------------------------------------------
    ' Read-write property that gets and sets whether the drawing should be
    ' rotated 90 degrees when printed. This property only applies to drawing documents.
    ' It is initialized to False.
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.Rotate90Degrees = False
   

    '----------------------------------------------------------------------------------
    ' Read-write property that gets and sets which sheets to print.
    '
    ' kPrintCurrentSheet    the active sheet will be printed.
    ' kPrintAllSheets        all sheets will be printed.
    ' kPrintSheetRange      the sheets defined using SetSheetRange will be printed.
    '
    '----------------------------------------------------------------------------------
    oDrgPrintMgr.PrintRange = kPrintCurrentSheet
   
   
    '----------------------------------------------------------------------------------
    ' Get and set the current sheet range.
    '----------------------------------------------------------------------------------
    ' Dim iFromSheet As Long
    ' Dim iToSheet As Long
    ' Call oDrgPrintMgr.GetSheetRange(iFromSheet, iToSheet)
    ' MsgBox "Current sheet range is " & iFromSheet & " to " & iToSheet & Chr(13) & _
            "Setting to print sheets 1-2."
       
    '----------------------------------------------------------------------------------
    ' Change the print range to print sheets 1 through 2.
    '----------------------------------------------------------------------------------
    ' oDrgPrintMgr.PrintRange = kPrintSheetRange
    ' Call oDrgPrintMgr.SetSheetRange(1, 2)
   
   
   
       
    ' Change the number of copies to 1.
    Dim iNumberOfCopies As Long
    iNumberOfCopies = 1
    oDrgPrintMgr.NumberOfCopies = iNumberOfCopies
   

       
    ' Submit the print.
    oDrgPrintMgr.SubmitPrint


------------------
Gruß Lothar

---------------------------------------------------

Während man es aufschiebt, verrinnt das Leben.
—Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 01. Mrz. 2006 21:10    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 Nur für eud 10 Unities + Antwort hilfreich

@eud: du hast Recht, der Wert 4344 ist nur für die Formate A4, A3, A2 korrekt. Du kannst den Wert über DrawingSheetSizeEnum und PaperSizeEnum ermitteln. Habs bisher nicht gemerkt, weil ich bisher nur A4 und A3 hatte. Hab mir beim Programmieren auch nur A4-A2 angeschaut und gedacht wenn sich bei drei ein konstanter Wert ergibt wirds bei den anderen schon auch so sein. Man sollte sich nicht darauf verlassen.
Vielleicht kannst du über

paper.height=sheet.height
paper.width=sheet.width

was machen.
Wenn ich morgen Zeit hab, werd ich das mal probieren.


Gruß
Reinhard

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 03. Apr. 2006 15:37    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo zusammen!
Bei mir funktioniert jetzt fast alles einwandfrei!
Denn wenn ich die Großformate an den Plotter schicken will muss ich die Übergrößen vom Papierformat nehmen, um die Zeichung 1:1 darstellen zu können! Doch wenn ich
Code:
PaperSize = PaperSizeEnum.kPaperSizeA1Oversize

einstelle dann bekomme ich irgend ein komisches a4 format und nicht A1 übergröße!!
Was kann ich da machen!
Ich will nicht das normal a1 Format nehmen denn dann stimmet der Maßstab nicht mehr!!

Vielen Dank!

mfg Bernhard

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 05. Apr. 2006 00:31    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo Bernhard,

ich geh mal davon aus, dass du A1OverSize über das Druck-Menü für deinen Plotter auswählen kannst.

Lies doch nachdem du die Papersize gesetzt hast diese nochmal aus. Ist das der Wert für A1OverSize?

Noch eine Verständnisfrage. Wieso wird ein Blatt, dass A1 ist, auf eurem Plotter nicht maßstäblich gedruckt, wenn man A1 ausdruckt?

Gruß
Reinhard

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 05. Apr. 2006 08:04    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 Nur für eud 10 Unities + Antwort hilfreich

Guten Morgen rtend12!
Nein stimmt schon es wird schon in der richtigen größe ausgedruckt, doch es föllt auf der rechten seite die Linie vom Rahmen zum zuschneiden weg! 
Somit hätte ich gern das oversize Format!

Hab das jetzt getestet und es wird richtig übernommen mit dem oversize format! und es wird bei allen drei oversize Formaten das gleiche benutzerdef. A4 Format zugewiesen!!
Also das versteh ich nicht! ????????


vielen Dank
mfg Bernhard 

[Diese Nachricht wurde von BernhardU am 05. Apr. 2006 editiert.]

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 05. Apr. 2006 12:59    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo Bernhard,

versuch doch mal die Papiergröße direkt am Drucker einzustellen, nicht über den Printmanager von Inventor.

Anscheinend ist das über Inventor nicht möglich.

Gruß
Reinhard

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
IV Prof 2012
VS 2010

erstellt am: 05. Apr. 2006 13:47    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 Nur für eud 10 Unities + Antwort hilfreich

Hi! und wie soll ich das am besten mit vb.net machen?
Über sendkeys?
Manuell kann ich ja alles einstellen!!
Ich wollte es so einfach wie möglich machen!!

Vielen Dank!

mfg Bernhard

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

rtend12
Mitglied
Dipl.-Ing. (FH) Maschinenbau / Konstrukteur


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

Beiträge: 436
Registriert: 21.07.2004

Catia V5 (R16SP5, B18SP5)
VB.Net 2003

erstellt am: 05. Apr. 2006 21:47    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 Nur für eud 10 Unities + Antwort hilfreich

Hallo Bernhard,

in VB kannst du mit:

Code:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MyPrinter.PrinterSettings.PrinterName = "HP DesignJet 3500CP PS3"
        Dim osizes()
        Dim i As Integer
        For i = 0 To MyPrinter.PrinterSettings.PaperSizes.Count - 1
            ListBox1.Items.Add(MyPrinter.PrinterSettings.PaperSizes.Item(i).PaperName & MyPrinter.PrinterSettings.PaperSizes.Item(i).PaperName)
        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        MyPrinter.DefaultPageSettings.PaperSize.PaperName = ListBox1.SelectedItem

    End Sub


kannst du die möglichen Papiergrößen deines Plotters auslesen und eine auswählen. Kannst natürlich auch die Größe, Heigth u. Width, vorgeben.

Über das Zusammenspiel von Inventor-VBA und einer EXE, die die Druckereinstellungen macht bin ich mir zwar nicht so ganz sicher, aber geht bestimmt.

Oder du schreibst gleich ein VB-Addin oder eine Exe, die deine Zeichnung mit Apprentice druckt. 

PS: MyPrinter findest du in den WindowsForms: PrintDocument

Gruß
Reinhard

[Diese Nachricht wurde von rtend12 am 05. Apr. 2006 editiert.]

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

Hohenöcker
Ehrenmitglied V.I.P. h.c.
Ingenieur



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

Beiträge: 2376
Registriert: 07.12.2005

erstellt am: 16. Mai. 2006 08:05    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 Nur für eud 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von eud:
Hallo VBA-Profis

Folgendes Problem: Wenn ich eine neue Zeichnung zum ersten mal ausdrucke muss ich immer 3xA3 und 1xA4 ausdrucken. Das ist ziemlich umständlich weil ich jedes mal die Papiergrösse in den Druckereigenschaften änder muss.

Ich habe mich gefragt ob es möglich ist das ganze über ein Makro zu steuern.
Habe leider nur wenig erfahrung mit VBA (autodidaktisch).
Hat jemand ein ähnliches Makro, dass ich ändern könnte.

Viele Grüsse aus der Schweiz

Dominique


Hallo Dominique,

mach 3x A3 und verkleinere eins auf dem Kopierer.

Gruß, 

------------------
Gert Dieter 

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