| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Ermitteln der ACAD-Version einer DWG-Datei (2329 mal gelesen)
|
blacky1985 Mitglied Application Engineer
Beiträge: 348 Registriert: 16.04.2008
|
erstellt am: 30. Mai. 2008 18:25 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Community. Gibt es eine Möglichkeit wie ich per VBA oder auch eine andere Möglichkeit, wie man von einer DWG-Datei ermitteln kann in welchem ACAD-Dateiversion sie gespeichert wurde bzw. in welchem Dateiformat sie vorliegt wenn man eine DWG Datei geöffnet hat ? Also ich meine damit, ob und wie man ermitteln kann z.B. per VB/VBA ob eine DWG-Datei im Format "AutoCAD 2008", "AutoCAD 2007", "AutoCAD 2006"...usw. vorliegt ? Danke im Voraus für eure Hilfe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 30. Mai. 2008 18:55 <-- editieren / zitieren --> Unities abgeben: Nur für blacky1985
Hi, in den ersten 6 Zeichen der dwg findest Du die Versionsinformationen zu der Zeichnung. Du musst also die ersten 6 Zeichen auslesen, und mit dieser Tabelle vergleichen (s. HIER): AC1021: AutoCAD 2007/2008/2009? AC1018: AutoCAD 2004/2005/2006 AC1015: AutoCAD 2000/200i/2002 AC1014: AutoCAD 14 AC1012: AutoCAD 13 AC1009: AutoCAD 12, 11 AC1006: AutoCAD 10 AC1004: AutoCAD 9 AC1002: AutoCAD 2.6 AC1.50: AutoCAD 2.05 Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blacky1985 Mitglied Application Engineer
Beiträge: 348 Registriert: 16.04.2008
|
erstellt am: 30. Mai. 2008 20:46 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Antwort. Hört sich gut an. Nur da ich noch nicht so viele Erfahrungen in der Programmierung gesammelt habe, noch eine dumme Frage hinterher. Wie kann ich z.B. diese ersten 6 Zeichen / Bytes der DWG-Datei Programmiertechnisch in VB auslesen z.B. ? Stehe da glaube ich gerade irgendwie etwas auf dem Schlauch... Danke im Voraus für die Bemühungen... Hat sich erledigt...habe eine Lösng gefunden und war doch nicht so schwer, wenn man mal nicht mehr auf dem Schlauch steht... Habe folgende Lösung genommen...oder kennt jemand noch eine bessere / elegantere Variante ? Code: ' Bestimmte Anzahl Bytes einer Datei auslesen Public Function FileRead() Dim fi As FileInfo = New FileInfo("C:\123.dwg") Dim fs As FileStream = _ New FileStream("C:\123.dwg", FileMode.Open) Dim byte_lenght As Integer byte_lenght = 5 Dim byteArr(byte_lenght) As Byte ' Datenstrom in ein Byte-Array einlesen fs.Read(byteArr, 0, 6) fs.Close() Dim i As Integer Dim buf As String For i = 0 To byteArr.Length - 1 buf = buf & Convert.ToChar(byteArr(i)) Next MsgBox(buf) End Function
[Diese Nachricht wurde von blacky1985 am 30. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 30. Mai. 2008 21:36 <-- editieren / zitieren --> Unities abgeben: Nur für blacky1985
Keine Ahnung, ob das eleganter ist, aber ich würd's eher klassisch machen: Code: Sub test() dwgVersion = chk_version("C:\123.dwg") MsgBox dwgVersion End SubFunction chk_dwg_version(datei) Open datei For Input Access Read As #1 Line Input #1, line chk_version = Left$(line, 6) Close #1 End Function
Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|