| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Datei bearbeiten ohne öffnen ??? (2755 mal gelesen)
|
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 19. Nov. 2003 16:10 <-- editieren / zitieren --> Unities abgeben:
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 19. Nov. 2003 19:47 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
Abend, grundsätzlich denke ich, MUSST Du ein file *.* öffnen um es zu bearbeiten, da kommste schlecht umhin Die Geschichte mit dem > ohne das etwas am Bildschirm dargestellt wird, > um dann etwas zu ändern versteh' ich nicht ganz, also Sinn & Zweck der Aktion ? willst Du eine dwg im Hintergrund(?) oder minimiert öffnen bzw. sämtliche Layouts samst Modell visible=false oder hidden setzen (übrigens keine Ahnung, ob und wie das geht) ,... um Module zu bearbeiten ? lg Nancy -- Not too long ago, a program was something I watched on TV... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 20. Nov. 2003 06:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Nancy, das Problem ist, daß ich hier ca 1700 dwg-files habe. Jedes davon ist um die 60 kb groß. Gestern ist über diese Files ein VBA-Programm gelaufen, welches sich die Files nur nimmt und in eine neues Zeichnung kopiert und dann wieder abspeichert. Alleine das hat schon 2 Stunden gedauert. Bin nun halt am kucken, wie ich das Programm schneller bekomm und ich muß nicht am PC sehen, was das Programm macht. Weiß nicht, ob es was bringt, wenn ich die Eigenschaft auf hide setze, aber iss nen Versuch wert. Irgendwo hatte ich was von Connection gelesen, weiß aber nicht mehr in welchem Zusammenhang und finds auch net mehr, aber irgendwie hörte sich das gut an. Hoffe das verdeutlicht mein Problem Gruß TP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 20. Nov. 2003 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
|
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Acad 2011-deutsch, Express Tools 3ds Max 2010 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 20. Nov. 2003 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
|
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 20. Nov. 2003 13:03 <-- editieren / zitieren --> Unities abgeben:
Hallo, @fuchsi .. lisp sieht zwar sehr interessant aus, wollte es aber gerne in vba lösen. ... ObjectDBX.AxDbDocument ... das was ich gelesen hab, scheint dies ab acad2002 zu funktionieren, hatte ne funktion dafür mit eingebaut, tut aber nicht. acad kennt diese elemente nicht. ... ;( hätte bestimmt getan ... trotzdem dickes DANKE @RoSiNiNo .. kann nichts zu opendwg finden, weder in Autocad noch über google. Kannst mir vielleicht nen bissle auf die Sprünge helfen? Gruß TP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 20. Nov. 2003 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
hallo das objectdbx funktioniert auch mit 2000i du musst nur die datei axdb15.dll im acad-inst verzeichnis registrieren. (falls sie sich nicht registrieren lässt, installiere den neuesten VoloView , da werden die dll´s im ordner gemeinsame dateien\autodesk shared aktualisiert) das ganze funktioniert auch in VBA Set dbxDoc2 = ThisDrawing.Application.GetInterfaceObject("ObjectDBX.AxDbDocument.15") Call dbxDoc2.Open("d:\test.dwg") mit der variable dbxDoc2 kannst du dann alles machen, was du mit ThisDrawing auch machen kannst
------------------ *********************************************** AutoCad 2000i, 2002, 2004 deutsch und englisch Windows 2000, NT, XP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 20. Nov. 2003 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
hab mich beim deklarieren vertan Set dbxDoc2 = ThisDrawing.Application.GetInterfaceObject("ObjectDBX.AxDbDocument") ohne die .15 beim angehängten jpg siehst du die eigenschaten eines AxDBDokumentes zum thema open dwg von rosinino open-dwg ist eine vereinigung von firmen,personen mit den zweck das dwg-file format zu durchleuchten, und jedem zur verfügung zu stellen. unter anderem gibts da eine pror-umgebung downzuloaden mit der man OHNE acad dwgs erstellen/ändern kann (funtioniert in VB mittels API-DLL) hab ih auch schon mal probiert funktioniert ganz gut, allerdings haben sie die volumenkörper der 2000er dwg noch nicht im griff
------------------ *********************************************** AutoCad 2000i, 2002, 2004 deutsch und englisch Windows 2000, NT, XP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 20. Nov. 2003 13:34 <-- editieren / zitieren --> Unities abgeben:
Klasse sache es funktioniert, ich bin echt begeistert. ja über diese alliance hatte ich irgendwo was gelesen, habs aber ignoriert, da es wie ein vba-befehl aussah. paßt ja nun, also vielen dank. DANKE DANKE DANKE Gruß TP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 24. Nov. 2003 09:37 <-- editieren / zitieren --> Unities abgeben:
Hallo fuchsi, bin immer noch begeistert, in welch rasender Geschwindigkeit ich die Eigenschaften aus den gesamten Verzeichnissen auslesen kann. Aber irgendwie bin ich nicht in der Lage eine Eigenschaft zu verändern, sprich etwas in die Datei zu schreiben, liegt es an der Art, wie sie geöffnet wird, oder vergeß ich irgendwas? Code: Dim Object As AcadEntity Dim objDbx As AxDbDocument Set objDbx = ThisDrawing.Application.GetInterfaceObject("ObjectDBX.AxDbDocument")... objDbx.Open (fle) For Each Object In objDbx.ModelSpace Debug.Print Object.Color Object.Color = acByBlock 'das macht er nicht Next
vielleicht kannst mir nochmals helfen? Gruß TP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 24. Nov. 2003 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für BloodyMess
also bei mir macht er es Set objDbx = ThisDrawing.Application.GetInterfaceObject("ObjectDBX.AxDbDocument") objDbx.Open ("d:\test.dwg") For Each Object In objDbx.ModelSpace Debug.Print Object.Color Object.Color = acByBlock 'das macht er nicht Next objDbx.SaveAs "d:\test.dwg" wenn ich dann die zeichnung öffne, sind alle elemente farbe vonblock vielleicht hast du das sichern der zeichnung vergessen ?? ------------------ *********************************************** AutoCad 2000i, 2002, 2004 deutsch und englisch Windows 2000, NT, XP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 24. Nov. 2003 10:11 <-- editieren / zitieren --> Unities abgeben:
|