Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro für Tiff - Benutzerdefinierte Seitengrösse

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 SOLIDWORKS
  
SolidCAM auf der GROB Hausmesse 2024
Autor Thema:  Makro für Tiff - Benutzerdefinierte Seitengrösse (1305 mal gelesen)
Vossloh
Mitglied
Konstrukteur

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

Beiträge: 3
Registriert: 17.12.2012

SolidWorks 2011x64 SP 5.0
SolidWorks Workgroup PDM 2011

erstellt am: 17. Dez. 2012 15:07    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


SpeichernalsTif_PDF_DXF-Blattgrosse.zip

 
Moin liebes Forum,

ich habe da ein Problem mit meinem Makro. Wir erstellen immer wenn wir eine Zeichnung fertiggestellt haben eine Tiff, DXF und PDF Datei, wofür ich ein Makro erstellt habe. Nur muss man bisher immer für die Tiff Datei die Blattgrösse einstellen.

Ich habe versucht die benutzerdefinierte Seitengrösse auszulesen und zu verwenden, wie in diesem Thread: http://ww3.cad.de/foren/ubb/Forum2/HTML/001854.shtml#000000
...bin aber gescheitert.

Bekomme immer den Fehler: Laufzeitfehler 424 Objekt erforderlich und der Debug Modus verweist auf Zeile:
Set Sheet = DwgDoc.GetCurrentSheet    ' Blatt auswählen

Da meine Makro Kenntnisse quasi kaum vorhanden sind, wäre super wenn man mir den Fehler zeigen könnte.

Das Makro hab ich in den Anhang gepackt, aber nochmal hier:


'Das Makro Speichert eine Tif, Dxf, Pdf Datei der Zeichnung in dem selben Ordner wie die Zeichnung.
Dim swApp As Object
Dim Part As Object
Dim Sheet As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim Wert As Integer
Dim saveFileName As String
Sub main()
Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.EditSketch

Set Sheet = DwgDoc.GetCurrentSheet    ' Blatt auswählen

Blattgroesse = Sheet.GetProperties()
    Blatthoehe = Blattgroesse(6)            'Hoehe aus dem Feld holen
    Blattbreite = Blattgroesse(5)          'Breite aus dem Feld holen
   
ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperSize, swDwgPapersUserDefined)        'Blattgroesse auf Benutzerdef.
    ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperWidth, Blattbreite)                'Breite setzen
    ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperHeight, Blatthoehe)                'Hoehe setzen

If (swApp.ActiveDoc.GetPathName = "") Then          'Abfrage ob Name vergeben wurde
    MsgBox ("Bitte zuerst Zeichnung speichern!")
    Exit Sub
End If

Revision = Part.GetCustomInfoValue("", "Revision")
saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "-R" & Revision & ".pdf"  ' Speichern als PDF-Datei
Part.SaveAs2 saveFileName, 0, True, False
saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "-R" & Revision & ".tif"  ' Speichern als Tif-Datei
Part.SaveAs2 saveFileName, 0, True, False
saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "-R" & Revision & ".dxf"  ' Speichern als Dxf-Datei
Part.SaveAs2 saveFileName, 0, True, False
Set swApp = Application.SldWorks
End Sub

------------------
mfg Olli

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 17. Dez. 2012 16:12    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 Vossloh 10 Unities + Antwort hilfreich

DwgDoc ist leer, hast Du ja nicht zugewiesen. Vorher hast Du das aktive Dokument in Part übernommen. Probiere mal bei dem, das Sheet zu bekommen (falls es eine Zeichnung ist).

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

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

Vossloh
Mitglied
Konstrukteur

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

Beiträge: 3
Registriert: 17.12.2012

SolidWorks 2011x64 SP 5.0
SolidWorks Workgroup PDM 2011

erstellt am: 18. Dez. 2012 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

Moin Lutz,

vielen dank schonmal für die Antwort. Ich bin mir nicht sicher ob ich dich richtig verstanden habe.
Ich hab das Makro folgendermaßen bearbeitet:


"'Das Makro Speichert eine Tif, Dxf, Pdf Datei der Zeichnung in dem selben Ordner wie die Zeichnung.
Dim swApp As Object
Dim Part As Object
Dim Sheet As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim Wert As Integer
Dim saveFileName As String
Dim DwgDoc As Object
Sub main()
Set swApp = Application.SldWorks

usw.
Nun bekomme ich zwar keine Fehlermeldung mehr, das Makro speichert aber auch nichts.

------------------
mfg Olli

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 18. Dez. 2012 15:14    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 Vossloh 10 Unities + Antwort hilfreich

Es fehlt irgendwie sowas: Set Sheet = Part.GetCurrentSheet

Dem Objekt DwgDoc hast Du nichts zugewiesen, deshalb bekommst Du
davon auch kein Blatt usw.
Da Du hinterher auch das Part-Objekt speicherst, versuchs doch bei dem.

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

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)2024 CAD.de | Impressum | Datenschutz