| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Autocad 2006 Blöcke durch DB aktualisieren (408 mal gelesen)
|
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 12. Mai. 2006 19:29 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Zuerst einmal vorneweg, ich bin Softwareentwickler für Datenbankanwendungen und hab so gut wie keine Ahnung von Autocad. Mir ist die Aufgabe zugefallen, Autocad Zeichnungen (.dwg) welche bei uns in einer SQL Datenbank gepflegt und archiviert werden, automatisch zu aktualisieren. D.h. Jede Zeichnung ist an einer genau spezifizierten Position innerhalb einer Baumstruktur abgelegt, aus dieser Position ergibt sich nun ein eindeutiger TextSchlüssel der bis zu 35 Zeichen lang sein kann. Aufgabe 1 : Alle bereits gespeicherten Zeichnungen mit dem aktuellem TextSchlüssel versehen. Aufgabe 2 : Neue Zeichnungen beim einpflegen in die DB mit dem gültigen TextSchlüssel versehen. Aufgabe 3 : Beim umordnen von Zeichnungen innerhalb der DB den TextSchlüssel aktualisieren. Jede Zeichnung besitzt ein Textfeld (wird glaub ich auch Block genannt ?) dieses soll nun geändert werden. Nun meine Fragen: Wie kann man das lösen ? 1. mit autocad / 2. ohne Autocad (direktes bearbeiten der DWG) Ich würde die Variante Zwei bevorzugen da es hierbei nicht erforderlich wäre auf jedem Arbeitsplatz, welcher die Pflege der DB bzw. der Strukturen vornimmt Autocad zu installieren, ausserdem könnte ich die Pflege der DWG Elemente auch zentral auf dem Server ausführen lassen. Wichtig ist folgendens : Es sollen keinerlei Benutzereingaben oder Bestätigungen erforferlich sein. So ich hoffe das es hier einige Autocad Profis gibt die mir bei diesem Problem helfen können und auch wollen. Mal schonmal DANKE sagt: Der Doc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 12. Mai. 2006 23:22 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Willkommen im Forum , nette Aufgabenstellung ... de Methode ohne AutoCAD ist wohl eher praktisch unmöglich. die zweite ist entweder eine grosse Zusatzprogrammierung die so lala aus den Suchbegriffen .. script, attributextraktion, datenbankverbindung, lisp, vba, edm, usw besteht. Such mal das Forum nach bereits vorgeschlagenen Lösungen und deren Fragen und stell die Frage am besten noch mal wenn du keinen AutoCAD-Profi bis zu diesem Zeitpunkt beauftragt hast. ------------------ MfG Proxy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
22030 Mitglied
Beiträge: 288 Registriert: 31.01.2005 AutoCAD 2005 & 2009 VIZ 2005 M-Color9
|
erstellt am: 13. Mai. 2006 03:26 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Mhmmm..... CAD und SQL.... "Autocad Zeichnungen (.dwg) welche bei uns in einer SQL Datenbank gepflegt und archiviert werden"... Was genau wird von der SQL Datenbank geholt / gespeichert? Ist vieleicht nur der Name der Datei/Zeichnung in einer SQL Datenbank abgelegt? Gruss Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Clayton Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 07.02.2004 AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100 Inventor Series 10 Mathcad 13
|
erstellt am: 13. Mai. 2006 17:40 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
|
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 13. Mai. 2006 18:10 <-- editieren / zitieren --> Unities abgeben:
Hallo '22030' In der DB wird die kpl. DWG gespeichert, nicht nur Dateiname und oder Beschreibungen. Die DWG wird intern gezippt und dann Binär in der DB gespeichert. Die DB ist ein kpl. Dokumentenmanagement System, deswegen wäre es ja super praktisch wenn gewisse Informationen eben direkt in den Zeichnungen aktualisiert werden könnten. Hast du vieleicht 'ne idee ? Der Doc. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 13. Mai. 2006 18:15 <-- editieren / zitieren --> Unities abgeben:
|
22030 Mitglied
Beiträge: 288 Registriert: 31.01.2005 AutoCAD 2005 & 2009 VIZ 2005 M-Color9
|
erstellt am: 13. Mai. 2006 19:42 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Lass mich das mal auf die Reihe bringen. Du erstellst eine DWG (Zeichnung) mit Bloecken / Attributen und X_Ref, diese nicht aus der DB kommen und speicherst das ganze nicht als DWG ab sondern als eine Binaere Datei (gezipt). Nun soll in einem Attribut der Speicherort der gezipten Datei irgendwo auf der Zeichnung erscheinen. Ist das Richtig? Gruss Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 14. Mai. 2006 13:53 <-- editieren / zitieren --> Unities abgeben:
Hi '22030' Ja es existieren ca. 20.000 DWG's diese sollen ihren Speicherplatz innerhalb der DB im Zeichnungsrahmen anzeigen, Zur Zeit werden halt alle Zeichnungen die geöffnet werden händisch um diese Information aktualisiert. (Was ziemlich fehleranfällig ist) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
22030 Mitglied
Beiträge: 288 Registriert: 31.01.2005 AutoCAD 2005 & 2009 VIZ 2005 M-Color9
|
erstellt am: 14. Mai. 2006 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
|
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 14. Mai. 2006 17:51 <-- editieren / zitieren --> Unities abgeben:
|
Stelli1 Ehrenmitglied Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2013, Rasterdesign MapGuide 6.5 - 2013 Oracle 9i,10g,11g Enterprise autodesk Topobase 2-2012 VS6, VS.net
|
erstellt am: 14. Mai. 2006 19:02 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Hallo, ich habs so verstanden das die DB als Dokumentenmanagmentsystem eingesetzt wird. AutoCAD lädt und speichert die Daten direkt aus bzw. in die DB. im AutoCAD VBA Forum gibt es einige Beiträge wie man aus der DWG Informationen zu Blöcken oder anderen Elementen lesen und schreiben kann. Über Objekt DBX könnte man auch eine Variante programmieren die ohne AutoCAD am Arbeitsplatz auskommt. Jedoch ohne genauere Kenntnisse von AutoCAD und der Objektstruktur besteht da kaum eine Chance das "zu basteln". Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
22030 Mitglied
Beiträge: 288 Registriert: 31.01.2005 AutoCAD 2005 & 2009 VIZ 2005 M-Color9
|
erstellt am: 14. Mai. 2006 20:02 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Mhmmm... richtig. Das Resultat sieht volgendermassen aus: C:\File01\Folder01\NameDWG01.dwg Falls du nur den Pfad moechtest $(getvar,dwgprefix) Das Feld wird dan Aktiv, sobald die Zeichung geoeffnet wird. Denke es waere einen Versuch wert, da es eine Einfache Loesung ware. Ansonsten geht es tief in VB und CAD und wie Stelli erwaehnte, ohne CAD Kenntnisse.... Gruss Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2490 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 15. Mai. 2006 19:39 <-- editieren / zitieren --> Unities abgeben: Nur für Dr. Zoidberg
Hi Doc, interessantes Problem. Guck Dir mal den SummaryInfo Mechanismus der DWG's an. Vielleicht kommst Du an die Dateieigenschaften irgendwie ohne AutoCAD ran? Mit der Windows API? Wenn es mit den User definierbaren Keys nicht geht, könntest Du ja auch einfach z.B. das "Autor" Feld verwenden? Und die Dinger kannst Du dann in AutoCAD einfach über Felder abfragen lassen. Guck Dir mal nachfolgendes Bild an, dann müßtest Du meinen Gedanken ansatzweise verstehen können... ... ------------------ Ciao, Marc
[Diese Nachricht wurde von marc.scherer am 15. Mai. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dr. Zoidberg Mitglied
Beiträge: 6 Registriert: 12.05.2006
|
erstellt am: 16. Mai. 2006 18:05 <-- editieren / zitieren --> Unities abgeben:
Hi Marc, klasse Idee, das sieht richtig gut aus, werde das gleich morgen testen, aber die Lösung scheint zu funktionieren, wieder mal eine einfache aber wirkungsvolle Idee , danke. Wenn's klappt schreib ich's hier Der Doc. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |