Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro für Export in STEP214

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
  
FMB
Autor Thema:  Makro für Export in STEP214 (4726 mal gelesen)
Luschtinetz
Mitglied
Konstrukteur / Programmierer für CNC-Maschinen


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

Beiträge: 47
Registriert: 29.09.2008

erstellt am: 02. Aug. 2012 19: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

Hallo,
ich habe mir aus der MakroMania-Tauschbörse das Makro für PDF- und DXF Export geholt und für Step überarbeitet. Leider wird die Step-Datei immer als STEP203 gespeichert und nicht als STEP214.

Hier mein Code:

Code:

Dim swApp As Object
Dim Part 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 Step As Long
Dim saveFileName As String
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager

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

Step = swApp.SetUserPreferenceIntegerValue(swStepAP, 214)

saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 6) + "Step" ' Speichern als Step-Datei
Part.SaveAs2 saveFileName, 0, True, False

Part.Save2 False
Name = Part.GetPathName()
swApp.CloseDoc Name

End Sub



Kann mir bitte jemand auf die Sprünge helfen, wo mein Fehler ist?

Vielden Dank im Voraus.

Gruss Klaus

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: 03. Aug. 2012 09: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 Nur für Luschtinetz 10 Unities + Antwort hilfreich

Hallo KLaus,

bei mir läuft das Makro direkt so wie es soll, es wird eine STEP Datei in AP214 im Verzeichnis des aktiven Teils erstellt und dann das Modell geschlossen.

Was klappt denn bei dir nicht, bzw. bekommst du eine Fehlermeldung?

Wenn es auf AP203 bleibt, der Rest aber klappt, kann es ja nur an der Zeile liegen, wo du umstellst auf AP214:

Zitat:
Original erstellt von Luschtinetz:
Code:
Step = swApp.SetUserPreferenceIntegerValue(swStepAP, 214)


Deine Rückgabevariable hast du zwar als Long deklariert und du bekommst ein Boolean zurück, aber das wird implizit umgewandelt und ist kein Problem. Es kann in meinen Augen also nur sein, dass du den Verweis auf die Konstanten nicht eingebunden hast, das Makro infolgedessen das swStepAP nicht zu 75 auflöst (das ist der Wert der Konstanten) sondern zu 0 und damit nicht das Step-Saveformat umstellt, sondern die DXF-Version (Const swDxfVersion ist der Wert 0 bei den Konstanten   ).

Am schnellsten kannst du das prüfen, indem du in der Zeile statt swStepAP eben 75 reinschreibst oder unter Extras/Verweise die zu deiner Version passende Konstanten einbindest.

Ciao,
Stefan


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

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

Luschtinetz
Mitglied
Konstrukteur / Programmierer für CNC-Maschinen


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

Beiträge: 47
Registriert: 29.09.2008

erstellt am: 03. Aug. 2012 09: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

Hallo Stefan,
vielen Dank für deine Antwort.
Nach der Änderung, die Du mir empfohlen hast, funktioniert das Makro wie gewünscht.
Zitat:
Am schnellsten kannst du das prüfen, indem du in der Zeile statt swStepAP eben 75 reinschreibst oder unter Extras/Verweise die zu deiner Version passende Konstanten einbindest.


Den Code für die Umstellung hatte ich aus dem Solidworks-Forum (ich bin nicht der Makro-Profi, meine bisherigen Makros sind alle aus der Tauschbörse).

Gruss Klaus

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

Jethro
Mitglied
Techniker


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

Beiträge: 75
Registriert: 10.12.2018

Win 10
SWX 2021 SP 3

erstellt am: 21. Mrz. 2022 14: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 Nur für Luschtinetz 10 Unities + Antwort hilfreich

Hallo liebe Makrobenutzende Solidworks-Gemeinde

Ich stehe genau vor der selben Aufgabe, aus SWX-Dateien STEP-Dateien zu erzeugen. Da ich noch nie Makros verwendet habe, möchte ich kurz nachfragen, ob dieses spezielle Makro oben auch unter SWX 2021 funktioniert. Hat das schon jemand probiert?

Die Makroinstallation muss ich mir ebenso anschauen, aber das mache ich am besten ersteinmal selbst und frage dann gezielt nach.

Danke für Eure Tipps

Jethro

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 21. Mrz. 2022 15: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 Nur für Luschtinetz 10 Unities + Antwort hilfreich

Hallo Jethore,

die SWX API ist so aufgebaut dass 99,9% der Methoden auch in zukünftigen Versionen problemlos funktionieren. Im Macro oben sehe ich jetzt auch nichts was Probleme verursachen könnte.

Da es hier um ein VBA Macro geht wird dieses nicht installiert wie z.B. ein Add-Ins, dieses wird einfach nur aus der SWX Umgebung heraus ausgeführt (analog Excel VBA).

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Jethro
Mitglied
Techniker


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

Beiträge: 75
Registriert: 10.12.2018

Win 10
SWX 2021 SP 3

erstellt am: 22. Mrz. 2022 07:32    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 Luschtinetz 10 Unities + Antwort hilfreich

Hallo Bernd

Ich habe das Makro erfolgreich getestet, sowohl in SWX 2017 als auch in SWX 2021. Zur Erstellung habe ich die in Solidworks integrierte Microsoft-VBA-Konsole benutzt, die sich über Extras >> Makro >> Neu/ Bearbeiten aufrufen lässt. Das letzte mal Visual Basic ist schon sehr lange her, aber es hat dennoch problemlos geklappt, in diesem Fall per Copy und Paste des Codes aus dem Thread von Klaus.

Es funktioniert tadellos. Die geöffneten SLDPRT-Dateien werden auf Knopfdruck einzeln als STEP-Dateien im selben Ordner unter selben Namen gespeichert, Baugruppen ebenso. Was für eine Hilfe. Herzlichen Dank an alle.

Jethro

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

deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 23. Mrz. 2022 09: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 Luschtinetz 10 Unities + Antwort hilfreich

Hi Jethro,

ich habe für alle die keine VBA Kenntnisse mitbringen und trotzdem automatisieren wollen ein Tool für SOLIDWORKS gebastet.

Das ist das Feature PartSaveAs
https://www.youtube.com/watch?v=Ylk0QK4i81g&t=27s

Vielleicht macht es das was du möchtest und vielleicht auch etwas mehr...

Hier sind noch Videos der anderen Feature und wie du das Tool einrichten kannst.
https://swxtools.de/tutorials/

Beste Grüße
Kevin

------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools

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