Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Speichern

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
  
AMB 2024
Autor Thema:  API: Speichern (1106 mal gelesen)
Oberparleiter
Mitglied
Konstrukteur


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

Beiträge: 706
Registriert: 06.06.2000

erstellt am: 24. Mrz. 2004 11:14    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

Ist es möglich über die APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) herauszufinden ob ein Teil, Baugruppe oder eine Zeichnung schon gespeichert worden ist?

------------------
Gruss Frank

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

INKN
Mitglied
Consulant/Softwareentwickler


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

Beiträge: 277
Registriert: 22.08.2001

SolidWorks 2015-2018
Lino 3D layout 2.2<P>Visual Studio 2017

erstellt am: 24. Mrz. 2004 11: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 Oberparleiter 10 Unities + Antwort hilfreich

Hallo Frank

Set SWModel = SWApp.ActiveDoc
If Not SWModel Is Nothing Then
filename = SWModel.GetTitle()
End If

wenn filename ".sld" enthält ist es schon gespeichert

------------------
Gruß Ingo

Feuer & Flamme Leipzig 2012

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

d_b
Mitglied
vorhanden


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

Beiträge: 88
Registriert: 15.03.2001

42

erstellt am: 24. Mrz. 2004 11:58    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 Oberparleiter 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von INKN:
Hallo Frank

Set SWModel = SWApp.ActiveDoc
If Not SWModel Is Nothing Then
filename = SWModel.GetTitle()
End If

wenn filename ".sld" enthält ist es schon gespeichert


Hallo,
das funktioniert so nur dann, wenn die Windows-Explorer Optionen entsprechend sind.

Besser ist:

ModelDoc2::GetPathName

Der zurückgegebene String ist leer, wenn das Model noch nicht gespeichert ist.

Gruß,
d_b

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

Oberparleiter
Mitglied
Konstrukteur


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

Beiträge: 706
Registriert: 06.06.2000

erstellt am: 24. Mrz. 2004 12: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

Hallo

Die Lösung von Ingo hatte ich auch zuerst in erwägung gezogen aber da ist ja das mit den Optionen in dem Windows-Explorer. Aber die Lösung von d_b muss ich mir mal genauer anschauen.

Danke für die Antworten.

------------------
Gruss Frank

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: 24. Mrz. 2004 13:42    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 Oberparleiter 10 Unities + Antwort hilfreich

Hmmm..da stellt sich dann die weitere Frage:
Mit GetPathName kann man feststellen, ob das Dingens schon mal gespeichert wurde, aber wie kann man feststellen, ob es seit der letzten Speicherung geändert wurde?

ciao

------------------
Klaus Massler

www.al-ko.de
privat...
KLAMM? Was ist KLAMM?

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: 24. Mrz. 2004 13:51    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 Oberparleiter 10 Unities + Antwort hilfreich

Hallo Klaus,

es gibt mit ModelDoc.GetSaveFlag eine Funktion, mit der man das DirtyFlag abfragen kann, dass in den aller-aller-aller-meisten Fällen auch richtig gesetzt ist; wenn das aucf True steht, wurde noch nicht gespeichert, bei False ist es nicht notwendig zu speichern.

Hab das in einem Makro von mir drin (http://solidworks.cad.de/mm_13.htm), da kannst du sehen, wie es eingesetzt werden kann.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de
KLAMM? Was ist KLAMM?

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: 24. Mrz. 2004 14:26    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 Oberparleiter 10 Unities + Antwort hilfreich

Und bei neu erstellten Modellen steht das auch auf "true"? Dann ist das "ModelDoc2::GetPathName" für diesen Zweck ja hinfällig.

------------------
Klaus Massler

www.al-ko.de
privat...
KLAMM? Was ist KLAMM?

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

Marco Kreutz
Mitglied



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

Beiträge: 640
Registriert: 11.02.2003

erstellt am: 24. Mrz. 2004 14:46    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 Oberparleiter 10 Unities + Antwort hilfreich

Hallo,

der sicherste Weg ist auf FileExist mit FilesystemObject zu prüfen...

Reference auf Scrrun.dll setzen

Dim fsoObject as FilesystemObject
set fsoObject = New FileSystemObejct

if fsoObject.FileExist(sGetPathName)= True Then
'Datei ist vorhanden
endif

------------------
Marco Kreutz
info@hitteam.de
http://www.hitteam.de

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: 24. Mrz. 2004 15:38    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 Oberparleiter 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Oberparleiter:
Hallo

Ist es möglich über die APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) herauszufinden ob ein Teil, Baugruppe oder eine Zeichnung schon gespeichert worden ist?


Im Sinne dieser Fragestellung ist die Lösung von d_b sicher die Beste.
Richtig ist auch, für den, der wissen möchte, ob die Datei "dreckig" ist, den Weg über ModelDoc2.GetSaveFlag zu gehen.

Nicht ganz kapiert habe ich, welche Aussage denn mit fsoObject.Exist(...) getroffen werden soll. Das kann meiner Meinung nach nur die Aussage sein: auf einem per FileSystemObject erreichbaren und zum Auflisten berechtigten Pfad existiert eine Datei mit dem angegebenen Namen (der nicht der der Zeichnung sein muss, oder wenn, dass man diesen per GetPathName ermittelt hat, womit wir wieder bei d_b wären).

Übrigens: Vorsicht bei Verwendung von Verwaltungssoftware, dann können die Pfade wieder ganz anders sein und der auflistende Zugriff ist auch nicht immer garantiert.

Gruß, Armin

------------------

Meine bescheidene Heimatseite.

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

Marco Kreutz
Mitglied



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

Beiträge: 640
Registriert: 11.02.2003

erstellt am: 24. Mrz. 2004 16:50    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 Oberparleiter 10 Unities + Antwort hilfreich

Hallo,

so jetzt folgt der vollständige Code:
Dammit kann nun geprüft werden ob die Datei lokal gespeichert wurde und ob die Datei angefasst wurde (GetSaveFlag)

Dim swApp          As SldWorks.SldWorks
Dim fso            As FileSystemObject
Dim sFullname      As String
Set fso = New FileSystemObject

Set swApp = CreateObject("SldWorks.Application")

sFullname = swApp.ActiveDoc.GetPathName

If fso.FileExists(sFullname) = False Then
    MsgBox "Datei wurde noch nicht gespeichert..."
Else
    MsgBox "Datei existiert."
End If

If swApp.ActiveDoc.GetSaveFlag = False Then
    MsgBox "Datei wurde noch nicht angefasst..."
Else
    MsgBox "Datei wurde angefasst..."
End If

------------------
Marco Kreutz
info@hitteam.de
http://www.hitteam.de

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

Oberparleiter
Mitglied
Konstrukteur


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

Beiträge: 706
Registriert: 06.06.2000

Celsius R630, P4 Xeon 3,2
3GB Ram, 2x24" an FX3500
U320 SCSI,
SWX 2011 SP4.0
WinXP SP3
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wirs nicht wagen, ist es schwer.

erstellt am: 25. Mrz. 2004 13:10    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

Wow jetzt bin ich fast sprachlos...... Danke.

------------------
Gruss Frank

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