Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Dateieigenschaft als Dateiname nutzen

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
  
3DEXPERIENCE Conference 2023 | Darmstadt
Autor Thema:  Dateieigenschaft als Dateiname nutzen (1098 mal gelesen)
Dirkschr
Mitglied
Konstrukteur


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

Beiträge: 70
Registriert: 23.08.2006

Windows 10 Pro for Workstations
HP Z4 G4 Workstation
Intel Xeon CPU W-2133 3,6GHz
32GB RAM
Grafik NVIDIA Quattro P4000
Space Pilot
SolidWorks Premium 2019 SP5.0 mit PDM Enterprise 2019

erstellt am: 07. Sep. 2007 08:03    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
Wir setzen Keytech Pro mit SolidWorks ein und ich möchte ein Macro schreiben/aufzeichnen, welches eine Step Datei
eines Einzelteil´s in ein definiertes Verzeichnis schreibt.

Das Verzeichnis kann ich fest einstellen, da sich dies ja nicht mehr ändern soll.
Allerdings habe ich bei dem Dateinamen ein Problem.
Es soll eine Eigenschaft aus den Dateieigenschaften dazu genutzt werden.
Die Eigenschaft lautet PDB_Name.

Ich kriege diese Eigenschaft nicht ins Macro übergeben.

Weiß jemand wie soetwas geht?

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: 07. Sep. 2007 08:23    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 Dirkschr 10 Unities + Antwort hilfreich

Hallo Dirkschr,

das müsste eigentlich mit

Code:
WertDerEigenschaft = ModelDoc2.CustomInfo2 ("", PDB_Name)

funktionieren, wenn es eine allgemeine Dateieigenschaft ist und nicht eine konfigurationsspezifische. Ansonsten als ersten Parameter den Namen der Konfiguration einsetzen.

Ciao,
Stefan

PS: bei Fragen zu API oder Makros ist es immer praktisch, den betreffenden Teil aus den Makros als Code hier zu sehen, dass macht die Sache wesentlich einfacher und wir können alle noch was dabei lernen 

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

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 07. Sep. 2007 09: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 Nur für Dirkschr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von StefanBerlitz:
...
PS: bei Fragen zu API oder Makros ist es immer praktisch, den betreffenden Teil aus den Makros als Code hier zu sehen, dass macht die Sache wesentlich einfacher und wir können alle noch was dabei lernen 
...

Und am besten noch ein "API:" oder "VBA:" oder ähnliches vor den Beitragstitel schreiben, damit jeder weiß, dass es sich um eine Programmierfrage handelt. 

Ciao

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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

Dirkschr
Mitglied
Konstrukteur


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

Beiträge: 70
Registriert: 23.08.2006

Windows 10 Pro for Workstations
HP Z4 G4 Workstation
Intel Xeon CPU W-2133 3,6GHz
32GB RAM
Grafik NVIDIA Quattro P4000
Space Pilot
SolidWorks Premium 2019 SP5.0 mit PDM Enterprise 2019

erstellt am: 07. Sep. 2007 11: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

Vielen Dank für die schnelle Hilfe, aber ich komme leider nicht sehr weit damit.

Ich bin absoluter Anfänger bei den Makro´s.

Ich erhalte immer einen Laufzeitfehler Nr. 424
Objekt erforderlich

Da komme ich nicht weiter.


Hier ist das Makro

' ******************************************************************************
' C:\DOKUME~1\SCHROE~1\LOKALE~1\Temp\swx3552\Macro1.swb - macro recorded on 09/07/07 by schroeder
' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim WertDerEigenschaft As String
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

WertDerEigenschaft = ModelDoc2.CustomInfo2("", PDB_Name)  <-- hier liegt anscheinend der Fehler, ist gelb markiert


Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Part.ShowNamedView2 "*Trimetrisch", 8

swApp.SetUserPreferenceToggle 26, 1
Part.SaveAs2 "D:\DXF\ (Wert der Eigenschaft) .STEP", 0, True, False

End Sub


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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 07. Sep. 2007 11:45    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 Dirkschr 10 Unities + Antwort hilfreich

Versuchs mal mit:

WertDerEigenschaft = part.CustomInfo2("", PDB_Name)

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 07. Sep. 2007 11:48    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 Dirkschr 10 Unities + Antwort hilfreich

besser so:

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim WertDerEigenschaft As String
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
WertDerEigenschaft = part.CustomInfo2("", PDB_Name)
'Set SelMgr = Part.SelectionManager
Part.ShowNamedView2 "*Trimetrisch", 8

swApp.SetUserPreferenceToggle 26, 1
Part.SaveAs2 "D:\DXF\" & Wert der Eigenschaft & ".STEP", 0, True, False

End Sub

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

Dirkschr
Mitglied
Konstrukteur


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

Beiträge: 70
Registriert: 23.08.2006

Windows 10 Pro for Workstations
HP Z4 G4 Workstation
Intel Xeon CPU W-2133 3,6GHz
32GB RAM
Grafik NVIDIA Quattro P4000
Space Pilot
SolidWorks Premium 2019 SP5.0 mit PDM Enterprise 2019

erstellt am: 07. Sep. 2007 11:57    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


Rohr_für_Tragestange-+-11282_.zip

 
Hallo mkkk

Ich bekomme jetzt zwar keine Fehlermeldung mehr, aber eine Datei wird auch nicht erzeugt.
Irgendwie ist alles Kakke heute 

Hast Du vielleicht noch einen Tip für mich.

Ich habe mal eine Datei mit der Eigenschafr angefügt, vielleicht hilft das.


Danke

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

Dirkschr
Mitglied
Konstrukteur


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

Beiträge: 70
Registriert: 23.08.2006

Windows 10 Pro for Workstations
HP Z4 G4 Workstation
Intel Xeon CPU W-2133 3,6GHz
32GB RAM
Grafik NVIDIA Quattro P4000
Space Pilot
SolidWorks Premium 2019 SP5.0 mit PDM Enterprise 2019

erstellt am: 07. Sep. 2007 11:59    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


11282.zip

 
Da die datei anscheinend fehlerhaft ist, hier nocheinmal.

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 07. Sep. 2007 12:17    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 Dirkschr 10 Unities + Antwort hilfreich

A bissi was zur Erklärung:

Hiermit wird Solidworks aktiviert: Set swApp = Application.SldWorks

Dann schreibst du WertDerEigenschaft = ModelDoc2.CustomInfo2("", PDB_Name)
Hier wird das Objekt ModelDoc2 benötigt, das hast du aber noch nicht definiert

Dann kommt nochmal Set swApp = Application.SldWorks
Wozu?

Und nun kommt - richtigerweise - Set Part = swApp.ActiveDoc
Damit wird dem Objekt Part (nicht ModelDoc2, wie in der Hilfe steht) das aktuell in SWX geöffnete Modell bzw. die Zeichnung zugewiesen, erst jetzt kannst du in VBA was damit machen.

Von da ab geht's - wie mkkk geschrieben hat - weiter:
WertDerEigenschaft = part.CustomInfo2("", PDB_Name)
...
...
...

Das mit dem "Part" und "ModelDoc2" ist a bisserl blöd, weil hier in der Hilfe was anderes steht, als der Macro-Recorder macht.
ModelDoc bedeutet aber nur, dass es sich um ein SolidWorks-Modell- oder Zeichnungs-Objekt handelt, ModellDoc2 bedeutet, dass sich hier in der API was geändert hat, die Beschreibung zu ModelDoc ist damit veraltet.
Wie du dieses ModelDoc-Objekt in deinem Macro nennst, bleibt dir überlassen, der Macro-Rekorder nennt das immer "Part".

Äh..ich hoffe, das war verständlich, wenn nicht, versuchen wirs nochmal 


Ciao

------------------
Klaus

    www.al-ko.com | mein Gästebuch | privat...

PS:

Zitat:
Original erstellt von Dirkschr:
Da die datei anscheinend fehlerhaft ist, hier nocheinmal.

Die Datei war nicht fehlerhaft, aber Dateien mit Umlauten etc. im Namen können nicht hochgeladen werden.

[Diese Nachricht wurde von KMassler am 07. Sep. 2007 editiert.]

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 07. Sep. 2007 12:21    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 Dirkschr 10 Unities + Antwort hilfreich

aber jetzt:

option explicit

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim WertDerEigenschaft As String
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
WertDerEigenschaft = part.CustomInfo2("", "PDB_Name")
'Set SelMgr = Part.SelectionManager
Part.ShowNamedView2 "*Trimetrisch", 8

swApp.SetUserPreferenceToggle 26, 1
Part.SaveAs2 "D:\DXF\" & WertDerEigenschaft & ".STEP", 0, True, False

End Sub

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

Dirkschr
Mitglied
Konstrukteur


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

Beiträge: 70
Registriert: 23.08.2006

Windows 10 Pro for Workstations
HP Z4 G4 Workstation
Intel Xeon CPU W-2133 3,6GHz
32GB RAM
Grafik NVIDIA Quattro P4000
Space Pilot
SolidWorks Premium 2019 SP5.0 mit PDM Enterprise 2019

erstellt am: 07. Sep. 2007 13: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

Vielen Dank an alle

So geht es, ich hätte das alleine nicht hinbekommen.
da hätte ich mich wohl erst mit der Hilfe und einem Buch befassen müssen

Grüsse

Dirk Schröder

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