| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Technikerschüler der staatlichen Feintechnikschule Schwenningen zu Besuch bei SolidCAM GmbH in Schramberg |
Autor
|
Thema: Speichern unter .jpg - Einstellungen f. Makro (2835 mal gelesen)
|
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001
|
erstellt am: 20. Okt. 2010 08:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, seit SWX2010 gibt es im SWX die Möglichkeit die Qualität bei Erstellung eines JPEGs anzugeben. Das hat oftmals seine Vorteile, in meinem Fall ist es aber von Nachteil. Wir haben ein Makro erstellt, mit dem wir unsere Doku-Abteilung von den modellierten Maschinen JPEGs erstellen, damit die Erstellung der Dokumentation schon beginnen kann, bevor die Maschine gebaut ist (Sondermaschinenbau). Jetzt zum Problem: Mit SWX 2008 Makro ausgeführt -> alles gut. Mit SWX 2010: Je nachdem in welcher Qualität vorher ein JPEG, Tiff ausgegeben wurde, merkt sich SWX die Einstellung und wendet sie bei der Erstellung der mit dem Makro erzeugten JPEGs an. Gibt es eine Möglichkeit diese Parameter ins Makro mit einzubinden (da bin ich mir ziemlich sicher)? Wie kann ich dies umsetzen? Bildtyp - RGB Vollfarbe Kompressionsschema - Unkomprimiert Jpeg-Kompressinon - niedrig Bildqualität - z.B 100Pixel Schon im voraus vielen Dank für eure Hilfe. Anbei noch das Makro und ein Screenshot. Vor dem ausführen noch auf LW c:\ den Ordner "Bilder_auto_von_SWX" erstellen. Hier werden die Bilder reingespeichert. ------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001 SWX2014 SP5.0 DBWorks R15 SP2.5 Keytech R13 ME10 11.65 ************** HP Z440 32GB RAM NVIDIA QUADRO M4000 WIN7-64-bit
|
erstellt am: 22. Okt. 2010 09:21 <-- editieren / zitieren --> Unities abgeben:
|
Winni-two Mitglied Ing. Maschb.
Beiträge: 154 Registriert: 12.03.2010 SW 2021 SP5 Intel Xenon W2135 @3.7GHz Win 10 64 bit Graka: Nvidia Quadro P4000 32 GB Ram
|
erstellt am: 22. Okt. 2010 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für WOr
Hallo WOr Du kannst in Deinem Makro die Farbe wie folgt ändern: Dim swApp As Object Dim boolstatus As Boolean Dim Wert As Integer Sub main() Set swApp = Application.SldWorks Wert = (swApp.GetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffImageType)) 'Speichert den Bildtyp in die Variable Wert boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffImageType, 1) 'setzt den Bildtyp auf Vollfarbe boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffImageType, Wert) 'setzt den Bildtyp wieder auf die Einstellung vor dem Makroaufruf zurück End Sub Mit den Anderen Werten machst Du es wie oben swUserPreferenceIntegerValue_e.swTiffCompressionScheme für Kompressionsschema Wert 0,1 und 2 möglich swUserPreferenceIntegerValue_e.swExportJpegCompression für Kompression Wert 1-100 möglich swUserPreferenceIntegerValue_e.swTiffPrintDPI für die DPI Hoffe konnte helfen Gruss Winni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grisu486 Mitglied Senior Technical Consultant MCAD
Beiträge: 575 Registriert: 14.11.2005
|
erstellt am: 22. Okt. 2010 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für WOr
Zitat: Original erstellt von WOr: hat von den Makro-Spezialisten keiner einen Ansatz wie ich das hinbekommen kann?
Also ich habe mal ein Makro beim Abspeichern als JPEG aufgezeichnet und währenddessen die Optionen verstellt. Herausgekommen ist dabei folgendes: Code: boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swExportJpegCompression, 41) boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffPrintDPI, 100) boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffPrintPaperSize, swDwgPaperSizes_e.swDwgPaperA4size)
Sieht komisch aus, ist aber so. Kompression steht damit auf 41, DPI auf 100 und die Blattgröße auf A4Quer.Edit: Servus Winni-two, da haben wir uns wohl überschnitten ------------------ Viele Grüße Uwe Mahner CSWP CSWST CSWI CSWE [Diese Nachricht wurde von grisu486 am 22. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001 SWX2014 SP5.0 DBWorks R15 SP2.5 Keytech R13 ME10 11.65 ************** HP Z440 32GB RAM NVIDIA QUADRO M4000 WIN7-64-bit
|
erstellt am: 22. Okt. 2010 12:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Winni-two und Grisu486, hab das jetzt soweit hinbekommen, lediglich das zurücksetzen der Werte tut noch nicht. Hab das Makro nochmals angefügt, vielleicht fällt euch noch was dazu ein. Vielen Dank für eure Hilfe und ein schönes WE. ------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Winni-two Mitglied Ing. Maschb.
Beiträge: 154 Registriert: 12.03.2010 SW 2021 SP5 Intel Xenon W2135 @3.7GHz Win 10 64 bit Graka: Nvidia Quadro P4000 32 GB Ram
|
erstellt am: 22. Okt. 2010 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für WOr
Hallo WOr Sub main1() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized Wert1 = (swApp.GetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffImageType)) 'Speichert den Bildtyp in die Variable Wert1 Wert2 = (swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffCompressionScheme)) 'Speichert das Kompressionsschema in die Variable Wert2 Wert3 = (swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swExportJpegCompression)) 'Speichert die Kompression in die Variable Wert3 Wert4 = (swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swTiffPrintDPI)) 'Speichert die DPI in die Variable Wert4 End Sub Bei Wert2-4 hast DU SetUserPreferenceIntegerValue statt GetUserPreferenceIntegerValue Und vergiss nicht Sub main1() überhaupt aufzurufen !!!!! Gruss Winni [Diese Nachricht wurde von Winni-two am 22. Okt. 2010 editiert.] [Diese Nachricht wurde von Winni-two am 22. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001
|
erstellt am: 22. Okt. 2010 13:44 <-- editieren / zitieren --> Unities abgeben:
|