Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API tiff - benutzerdefinierte Seitengröße

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
  
Nahe an industriellen Realbedingungen
Autor Thema:  API tiff - benutzerdefinierte Seitengröße (877 mal gelesen)
Alexander Ullrich
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 82
Registriert: 07.06.2000

erstellt am: 25. Jun. 2002 16:41    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!
Ich mache gerade ein Makro um von der aktiven Zeichnung ein tiff zu erstellen.
Funktioniert soweit alles perfekt, aber:
ich lese aus der Zeichnung die Blatthöhe und -breite aus. Der Wert wird in Metern ausgegeben, also z.B. 0,841.

    Blattgroesse = Sheet.GetProperties()
    Blatthoehe = Blattgroesse(6)            'Hoehe aus dem Feld holen
    Blattbreite = Blattgroesse(5)          'Breite aus dem Feld holen

Zum Speichern des tiffs soll dieser Wert in den tiff-Optionen abgelegt werden:

ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperSize, swDwgPapersUserDefined)        'Blattgroesse auf Benutzerdef.
    ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperWidth, Blattbreite)                'Breite setzen
    ok = swApp.SetUserPreferenceDoubleValue(swTiffPrintPaperHeight, Blatthoehe)                'Hoehe setzen
   

Die Vorgehensweise ist aus dem APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Beispiel kopiert. Das Problem ist, daß SW sich weigert die ausgelesenen Werte anzunehmen. Es liegt offensichtlich daran, daß die Werte mit Komma als Trennzeichen ausgegeben werden, z.B. 0,841. Wenn man als Wert 0.841 einsetzt, funktioniert´s.

Wer kann mir auf die Sprünge helfen, bzw. wie habt Ihr das gelöst? (  Stefan)

Gruß
Alexander Ullrich

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

Manfred Kern
Mitglied
Softwareentwicklung CAD/CAM-Systembetreuung


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

Beiträge: 86
Registriert: 25.05.2000

** CSWP 06/2004 **
DELL Precision 7530
SW 2020 SP5
SW 2019 SP3
Visual Studio 2017 pro

erstellt am: 26. Jun. 2002 07:19    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 Alexander Ullrich 10 Unities + Antwort hilfreich


Tif_save.txt

 
Hallo Alexander !
Ich habs so gemacht:
Ich lese den Inhalt "Papersize" aus und setze dann per Programm die Blattgrößen ein. Schau dir mal das Beispiel an.

Gruß

Manfred

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

Alexander Ullrich
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 82
Registriert: 07.06.2000

erstellt am: 26. Jun. 2002 08:53    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 Manfred,
ja, das funkioniert, solange man mit den Blattgrößen arbeitet. Leider sind bei mir ältere Vorlagen mit benutzerdefiniertem Format angelegt, obwohl die Blätter A2, A1 etc sind.
Bei all diesen Altlasten läuft das leider schief.

Bei Stefans pac4swx funktioniert´s. Da sieht man eben den Unterschied zwischen mir und dem Profi. 

Gruß
Alexander

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

Armin B
Mitglied
Software Engineer ERP/PLM/CAD


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

Beiträge: 208
Registriert: 04.09.2000

Sw 2015 SP3

erstellt am: 26. Jun. 2002 09: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 Alexander Ullrich 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Alexander Ullrich:
Bei Stefans pac4swx funktioniert´s. Da sieht man eben den Unterschied zwischen mir und dem Profi. 

Der Unterschied ist womöglich der, dass der Profi (Stefan oder sonst wer) weiß, was er tut, wenn er Variablen initialisiert, Werte zuweist oder als Parameter übergibt.
Soll heißen, auch wenn VB es so einfach macht und so gut wie alles implizit in irgendwas umwandeln kann, so kann das eben auch schief gehen, wie Dein Beispiel zeigt.
Konsequenz ist: zu Allererst ein "option explicit" in die erste Zeile jeden Moduls.
Damit erreicht man, dass der Compiler (resp. Laufzeitumgebung) schon mal nicht deklarierte Variablen ablehnt und nicht implizit als so beliebten Variant-Datentyp anlegt.
Dann wäre die Deklaration von Blattgroesse etc. als float angebracht. Damit ist dann eindeutig eine Fließkommazahl gemeint und Dein Punkt/Komma-Problem behoben.

So und jetzt muss ich weiter arbeiten :-)

Gruß, Armin

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 26. Jun. 2002 09: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 Alexander Ullrich 10 Unities + Antwort hilfreich

Hallo Alexander,

ich glaub ich hab's gesehen: die Papiergröße ist ein Integer, kein Double. Um die Papiergröße auf Userdefined zu setzen musst du SetUserPreferenceIntegerValue benutzen, dann klappt's wahrscheinlich auch mit dem Nachbarn 

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de

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

Alexander Ullrich
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 82
Registriert: 07.06.2000

erstellt am: 28. Jun. 2002 09: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

Hallo,
danke für die Antworten. Die Kombination aus beidem hat´s gebracht.

Gruß
Alexander Ullrich

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