Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Frage zu Tiff-Makro

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
  
Cloud Computing mit 3DEXPERIENCE® und Abaqus
Autor Thema:  Frage zu Tiff-Makro (1066 mal gelesen)
zbir
Mitglied
Technischer Zeichner

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

Beiträge: 8
Registriert: 08.01.2001

erstellt am: 26. Feb. 2001 10: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

Hallo zusammen,
ich habe vor einiger Zeit schwierigkeiten gehabt, das aktuelle bild als Tiff-Vormat über ein Makro abzuspeichern. Dieses Problem wurde dank dem Solid Works Forum gelöst. Das momentane Makro sieht so aus:


Dim swApp As Object

Dim Part As Object

Dim boolstatus As Boolean

Dim longstatus As Long

Dim Annotation As Object

Dim Gtol As Object

Dim DatumTag As Object

Dim FeatureData As Object

Dim Feature As Object

Dim Component As Object

dim Pfad_str as string

dim Dateiname_str as string

dim msgtxt as string

Sub main()

Set swApp = CreateObject ("SldWorks.Application")

Set modeldoc = swApp.ActiveDoc

Pfad_str =inputbox ("Pfad?","Pfadeingabe","m:\ek\Tiff-SW\")

Dateiname_str= inputbox ("Dateiname ohne Endung?","Dateinameingabe","test")

Datei_str=Pfad_str & Dateiname_str &".tif"

modeldoc.SaveAs2 Datei_str,0, TRUE, FALSE

msgtxt="Datei wurde unter " & Datei_str & " gespeichert!"

msgbox msgtxt

End Sub


Meine Frage: Ist es möglich vielleicht anstelle der Textvorgabe: "Test", den aktuellen Zeichnungsnamen als Auswahl anzuzeigen?

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

Stefanie Dieterich
Mitglied
Vertrieb


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

Beiträge: 173
Registriert: 18.08.2000

erstellt am: 26. Feb. 2001 11:52    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 zbir 10 Unities + Antwort hilfreich

Den Namen des aktiven Dokuments erhält man durch
DocTitle = ModelDoc.GetTitle
Die Variable DocTitle läßt sich dann in der InputBox verwenden.
DocTitle enthält den Named des Dokuments, so wie er in der Kopfzeile des SWX-Fensters angezeigt wird. Das bedeutet, daß je nach Windowseinstellung die Dateiendung enthalten oder nicht enthalten sein kann. Bei Zeichnungen enthält die Variable zusätzlich die Angabe des aktiven Blattes.

Gruß,

------------------
Stefanie Dieterich
SOLID LINE Sales & Support GmbH

[Diese Nachricht wurde von Stefanie Dieterich am 26. Februar 2001 editiert.]

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

A.Oertel
Mitglied
Dipl.Ing.


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

Beiträge: 270
Registriert: 12.10.2000

erstellt am: 26. Feb. 2001 12: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 Nur für zbir 10 Unities + Antwort hilfreich

Hallo zbir, hallo Stefanie,
bezüglich der Verwendung von
modeldoc.gettitle wäre ich vorsichtig, da der Titel (unter Datei Eigenschaften) nicht mit dem Dateinamen übereinstimmen muss. Sicherer ist meiner Ansicht nach die Funktion:
Modeldoc.GetPathName()
die den Dateinamen zurrückgibt (oder leere Zeichenfolge falls Datei nicht gespeichert ist).

Gruss A.Oertel

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

zbir
Mitglied
Technischer Zeichner

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

Beiträge: 8
Registriert: 08.01.2001

erstellt am: 26. Feb. 2001 13:11    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

Schön und gut, aber kann mir jemand auch sagen wie ich diesen Befehl einsetzen muß damit es funktioniert? ich verstehe noch nicht viel von dieser Makroprogramierung und währe dankbar wenn mir jemand anhand der Vorlage zeigen könnte wie das auszusehen hat.
Gruß Bir

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. Feb. 2001 20:01    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 zbir 10 Unities + Antwort hilfreich

Hi Bir,

könnte dann so aussehen (habs mit dem GetTitle gemacht):

Dim swApp As Object
Dim modeldoc As Object

dim Pfad_str as string
dim Vorgabe as string
dim Dateiname_str as string
dim msgtxt as string

Sub main()

Set swApp = CreateObject ("SldWorks.Application")
Set modeldoc = swApp.ActiveDoc

Vorgabe = left(modeldoc.GetTitle,instr(modeldoc.GetTitle,".sld")-1)

Pfad_str =inputbox ("Pfad?","Pfadeingabe","f:\temp\")
Dateiname_str= inputbox ("Dateiname ohne Endung?","Dateinameingabe",Vorgabe)
Datei_str=Pfad_str & Dateiname_str &".tif"

modeldoc.SaveAs2 Datei_str,0, TRUE, FALSE

msgtxt="Datei wurde unter " & Datei_str & " gespeichert!"
msgbox msgtxt

End Sub


Das drumherum in der zeile mit Vorgabe ist nur um die Endung abzuschneiden, falls die mit angezeigt wird. Analog kannst du das mit ModelDoc.GetPathName machen, aber dann mußt du halt auch noch den Pfad vorne abtrennen.

Ciao,
Stefan

------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail: Stefan.Berlitz@solidworks.cad.de

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

zbir
Mitglied
Technischer Zeichner

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

Beiträge: 8
Registriert: 08.01.2001

erstellt am: 28. Feb. 2001 09:33    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

Danke erstmal an alle und für das Makro,
aber irgendwie scheint da ein Fehler noch zu sein, es kommt immer eine Fehlermeldung wenn ich das Makro ausführen will. Gibt es eigentlich kurse in denen man das programmieren dieser Programmiersprache erlernen kann? Hätte sehr großes Interesse daran.

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

Stefanie Dieterich
Mitglied
Vertrieb


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

Beiträge: 173
Registriert: 18.08.2000

erstellt am: 28. Feb. 2001 09: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 zbir 10 Unities + Antwort hilfreich

Hallo zbir,

wir -die Firma SOLID LINE- bieten einen Grundkurs in SolidWorks-API an. Eine Kursbeschreibung und Termine findest Du auf unserer Homepage unter www.solidline.de.

Gruß,
Stefanie Dieterich
SOLID LINE Sales & Support GmbH
SalesSupport Norddeutschland

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: 02. Mrz. 2001 08:39    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 zbir 10 Unities + Antwort hilfreich

Hallo Bir,

ja, sorry, lag an der Art, wie ich die Endung abgeschnitten hab, wenn keine Endung mit angezeigt wird gibts einen Fehler. So sollte es jetzt aber klappen:

-----------

Dim swApp As Object
Dim modeldoc As Object

dim Pfad_str as string
dim Titel as string
dim Vorgabe as string
dim Dateiname_str as string
dim msgtxt as string

Sub main()

Set swApp = CreateObject ("SldWorks.Application")
Set modeldoc = swApp.ActiveDoc

' erstmal nur den Dokumentnamen holen
Titel = modeldoc.GetTitle

' und die Endung abschneiden, wenn vorhanden
if (instr(Titel,".sld") > 0) then
Vorgabe = left(Titel,instr(Titel,".sld")-1)
else
Vorgabe = Titel
end if

Pfad_str =inputbox ("Pfad?","Pfadeingabe","f:\temp\")
Dateiname_str= inputbox ("Dateiname ohne Endung?","Dateinameingabe",Vorgabe)
Datei_str=Pfad_str & Dateiname_str &".tif"


msgtxt="Datei wurde unter " & Datei_str & " gespeichert!"
msgbox msgtxt

End Sub

-----------


Er überprüft jetzt erst, ab überhaupt die Endung mit angezeigt wird bevor er die abschneidet. Es fehlen auch noch ein paar Abfragen um die Sache etwas sicherer zu machen, so kommt z.B. die Erfolgsmeldung zum Schluss auch, wenn gar nichts abgespeichert wurde sondern ein Fehler passiert ist.

Das hat aber gar nichts mit der API von SolidWorks zu tun sondern ist "normales" Visual Basic. Ich empfehle dir in jedem Fall einen Grundkurs in VB, wenn du es dir nicht selbst beibringen willst. Ohne die Grundlagen nützt dir ein API-Kurs nichts.

Ciao,
Stefan

------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail: Stefan.Berlitz@solidworks.cad.de

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