Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Erkennung von Dateien als SolidWorksfiles

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
Autor Thema:   Erkennung von Dateien als SolidWorksfiles (456 mal gelesen)
ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 13. Mrz. 2017 20: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

Hallo,

ich muss OHNE eine SolidWorks-Installation entscheiden, ob eine Datei ein SolidWorksfile ist oder nicht. Diese Entscheidung soll lediglich durch Scannen der Datei und anhand von String- oder Bytefolgenvergleichen erfolgen, also OHNE ein Makro aufzurufen. Auch habe ich für meine Entscheidung keine Extension (.slprt, .sldasm bzw. .slddrw) zur Verfügung.

Bisher konnte ich dies wie folgt machen:
Ich suchte in dem jeweiligen file die Bytefolge mit den Oktalwerten: \122\000\157\000\157\000\164\000\040\000\105\000\156\000\164\000\162\000\171. Dahinter verbirgt sich "R o o t E n t r y".
Für die Unterscheidung, ob es sich um ein Part, Assembly oder um ein Drawing handelt, suchte ich in der Datei nach den Strings "moPart_c", "moAssembly_c" bzw. "moDrawing_c".
Soweit so gut. Dies funktionierte mit Solidworksfiles bis zur Version 2014 (Files der Versionen 2015 und 2016 habe ich noch nicht testen können).

Nun habe ich SolidWorksfiles, die mit der Version 2017 erzeugt wurden. Leider fand ich in den SolidWorksfiles dieser Version weder "R o o t E n t r y" noch die Strings "moPart_c", "moAssembly_c" bzw. "moDrawing_c".

Weiss jemand Strings oder Bytefolgen in den SolidWorksfiles der Version 2017, welche ich zur sicheren Identifizierung als Solidworksfiles heranziehen kann? Diese Strings/Bytefolgen dürfen auch NICHT in anderen CAD-Daten (CATIA, Pro/E, UG/NX, ...) oder auch in anderen Windows-Dateien (Word, Excel, ..) enthalten sein, sondern sollten exclusiv in Solidworksfiles enthalten sein.

Schon mal Danke für Eure Hilfe, Thomas

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

Heiko Soehnholz
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3409
Registriert: 03.07.2002

SOLIDWORKS seit 2001
CSWS-TSO/MD/TMD -16/17
CSWS-C/D/I/MBD/VIS -16/17
CSWP-Core/DT/MT/SM/SU/WD
CSWE CSSP CSPP CSWI
SOLIDWORKS Prem 2017SP2.0
Simulation, Composer, MBD,
Inspection, PDM Prof.,
Visualize Prof.,
TopsWorks, TableAddIn etc.
WIN10 x64 auf HP ZBook 17 G3

erstellt am: 13. Mrz. 2017 22: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 ThomasStep 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ThomasStep:

Auch habe ich für meine Entscheidung keine Extension (.slprt, .sldasm bzw. .slddrw) zur Verfügung.

Hallo Thomas,

auch wenn ich dir (leider) nicht helfen kann, frage ich mich aber schon, warum man bei einer Datei nicht die Endung verwenden will und darf?!

Finde ich komisch... Weil: Dafür sind sie ja da!

------------------
Einen schönen Gruß von Heiko
- www.dps-software.de - www.iknow-solidworks.de -

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

ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 13. Mrz. 2017 23:27    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 Heiko,
Leider fordert das Tool, welches ich für die CAD-Datenanalyse verwende,  die Analyse unabhängig von der Extension. Im Workflow, in welchem dieses Tool, eingesetzt wird, gibt es Situationen, in denen nur die eigentlichen Daten ohne Dateinamen und Extension vorliegen.
Nicht schön, aber so ist es leider.
Gruß Thomas

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1667
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 14. Mrz. 2017 07:31    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 ThomasStep 10 Unities + Antwort hilfreich

Hallo Thomas,

hast du mal eine SWX 2017 Datei genommen und diese mit 7z entpackt und dir die einzelnen Bestandteile mit dem Editor angeschaut, da könntest du evtl. was im Header finden was dir weiter hilft.

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

ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 14. Mrz. 2017 10: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

Hallo Bernd,

für meine Testfiles (.sldprt, .sldasm und .slddrw) bekam ich mit 7z die folgende Fehlermitteilung:
"Die Datei XYZ kann nicht als Archive geöffnet werden.".
Auch mit unzip.exe (UnZip 5.50 of 17 February 2002, by Info-ZIP.) konnte ich die files nicht öffnen.

Viele Grüße Thomas

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: 8613
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: 14. Mrz. 2017 10: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 Nur für ThomasStep 10 Unities + Antwort hilfreich

Hallo Thomas,

mir wäre nicht bekannt, dass es so etwas gibt, weder offiziell supportet (was ja dann sinnvoll wäre) oder auch nur rausgetüftelt. Deine alte Methode dürfte vermutlich seit der 2015 nicht mehr funktionieren, da hat SolidWorks das Dateiformat von Microsofts Compound Files zugunsten eines neuen geändert, was ich aber nicht kenne. Ein gepacktes Format scheint es auch nicht zu sein, zumindest kann mein 7-Zip 16.02 das nicht öffnen und auch die oberflächliche Untersuchung mit einem Hex-Editor scheint mir keine "Mgic Numbers" zu bringen.

Wenn daas worklich wichtig ist ohne sich auf die Dateiendung zu verlassen und sicher sein soll würde ich empfehlen in dem Toll den SolidWSorks Document Manager einzubinden und dann per ISwDMApplication2::GetDocument2 für die drei Standardtypen eben versuchen das zu laden und den Rückgabewert von SwDmDocumentOpenError zu untersuchen. Das hat neben der Abhängigkeit von der DLL den zusätzlichen Nachteil, dass das mittlerweile versionsabhängig ist. Eine Registrierung bei SolidWorks ist für den Entwicklerschlüssel notwendig, aber das geht ruckzuck und problemlos.

Ciao,
Stefan

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

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

ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 14. Mrz. 2017 10: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

Hallo Stefan,
"tüfteln" trifft es gut, so hatte ich mich seinerzeit an die SolidWorksfilerekennung gemacht und bin dort auf "R o o t E n t r y" bzw. "moPart_c", "moAssembly_c" und "moDrawing_c" gekommen.
Danke für den Hinweis, dass sich das Format geändert hat (Microsofts Compound --> ???). Das gibt mir etwas die Sicherheit, dass ich mit meinen damaligen Erkennungskriterien nicht gänzlich falsch lag.
Deinem Vorschlag mit dem Makro kann ich leider nicht nachgehen, weil ich bei der Dateierkennung völlig OHNE SolidWorks (DLLs, ...) auskommen muss.
Viele Grüße Thomas

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: 8613
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: 14. Mrz. 2017 10: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 ThomasStep 10 Unities + Antwort hilfreich

Hallo Thomas,

nur zur Info: die SolidWorks Document Manager API ist frei verfügbar, stammt zwar von SolidWorks, ist aber kostenfrei, darf verteilt werden und bedarf nur eines Entwicklerschlüssels seitens des Programmierers.

Du könntest damit z.B. eine kleine EXE schreiben im Stile von IsThisASolidWorksFile.exe , der du dann per Parameter den Pfad zu einer beliebigen Datei übergibst, die Exe versucht das eben per SwDocMgr zu öffnen und gibt einen Return-Code zurück, je nachdem ob ein Fehler passiert ist oder z.B. welcher Dateityp das denn nun wirklich ist.

Ciao,
Stefan

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

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

ckoring
Mitglied
Ingenieur


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

Beiträge: 180
Registriert: 09.06.2009

Fujitsu CELSIUS M730
Intel Xeon E5-1620
32 GB RAM
Nvidia Quadro K2000
Windows 7 Pro x64
SolidWorks 2015 SP5 x64
DBWorks R14 SP2.7

erstellt am: 15. Mrz. 2017 14:16    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 ThomasStep 10 Unities + Antwort hilfreich


7zip_sldprt.png

 
Hi,

also mein 7zip zeigt mir nach dem Öffnen eine Ordnerstruktur an. Alles ein bisschen kryptisch, aber das war ja nicht die Frage!

mfg Christian

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

ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 15. Mrz. 2017 14: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


STOSSDAEMPFER_21.SLDPRT

 
Hallo Christian,

ich habe ein Part von mir anghängt, welches ich mit 7z nicht öffnen konnte.

Gruß Thomas

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

ckoring
Mitglied
Ingenieur


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

Beiträge: 180
Registriert: 09.06.2009

Fujitsu CELSIUS M730
Intel Xeon E5-1620
32 GB RAM
Nvidia Quadro K2000
Windows 7 Pro x64
SolidWorks 2015 SP5 x64
DBWorks R14 SP2.7

erstellt am: 15. Mrz. 2017 14: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 ThomasStep 10 Unities + Antwort hilfreich

Ok, die Datei kann ich auch nicht öffnen. Hatte Stefan Beitrag bzgl. des geänderten Dateiformates überlesen. Sorry!

mfg Christian

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

ThomasStep
Mitglied
Softwareentwickler

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

Beiträge: 6
Registriert: 13.03.2017

erstellt am: 15. Mrz. 2017 15: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

Hallo Christian,

kein Problem.

Ich habe auch noch einmal intensiv mit einem HexEditor in die files geschaut. Leider ohne Erfolg.

Es wird wahrscheinlich darauf hinauslaufen, dass ich mir ein Makro/eine Exe schreibe, so wie es Stefan vorgeschlagen hat. Aber das soll(te) wirklich nur der letzte Ausweg sein, wenn es mir nicht gelänge, die Datei durch Parsen als SolidWorksfile zu identifizieren.

Danke an alle, die sich bei der Diskussion beteiligt haben, Thomas

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)2017 CAD.de