| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: MdiActiveDocument neu zuweisen (2616 mal gelesen)
|
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 10. Mrz. 2009 15:02 <-- editieren / zitieren --> Unities abgeben:
Hallo! Wie ist es Möglich das aktuell aktive Dokument neu zuzuweisen. Sprich ich öffne eine Zeichnung mittels vb.net aktiv ist aber immer noch Zeichnung 1. hier mein Code:
Code:
Dim myDB As DatabaseServices.Database Dim myDWG As ApplicationServices.Document Dim myEd As EditorInput.Editor myDWG = ApplicationServices.Application.DocumentManager.MdiActiveDocument Dim layman As DatabaseServices.LayoutManager layman = DatabaseServices.LayoutManager.Current ' Application.DocumentManager.MdiActiveDocument.CloseAndDiscard() Application.DocumentManager.MdiActiveDocument = Application.DocumentManager.Open("D:\t.dwg", False, False) myDWG = Application.DocumentManager.MdiActiveDocument layman = DatabaseServices.LayoutManager.Current MsgBox(myDWG.Name) Application.DocumentManager.MdiActiveDocument = Application.DocumentManager.Open("D:\f.dwg", False, False) myDWG = Application.DocumentManager.MdiActiveDocument layman = DatabaseServices.LayoutManager.Current MsgBox(myDWG.Name)
es wird immer der Name von Zeichnung 1 ausgegeben. weiters kommt beim öffnen immer eine Meldung, dass die Zeichnung von keiner autodesk lizenzierten Version komme, was aber nicht möglich ist. Kann man solche Meldungen unterdrücken? mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Mrz. 2009 15:15 <-- editieren / zitieren -->
Hi, Zitat: ...dass die Zeichnung von keiner autodesk lizenzierten Version komme, was aber nicht möglich ist.
....damit ist nicht gemeint, dass Du mit einer unlizenzierten Version arbeitest, sondern die Zeichnung von einem Produkt erstellt oder beeinflusst/bearbeitet wurde, das nicht AutoCAD war. Bzgl. Öffnen/Aktivschalten einer Zeichnung: wieso nicht dieser Weg?
Code: myDWG = Application.DocumentManager.Open("D:\t.dwg", False, Nothing)
- alfred - ------------------ www.hollaus.at |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 10. Mrz. 2009 15:29 <-- editieren / zitieren --> Unities abgeben:
ja gut, aber aktiv ist immer noch Zeichnung 1, und wenn ich eine Msgbox ausgebe muss ich zu zeichnung 1 wechseln um diese zu sehen. Application.DocumentManager.MdiActiveDocument = myDWG hilf auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Mrz. 2009 16:15 <-- editieren / zitieren -->
Hi, ok, hat ein wenig gebraucht, bis ich dahinter kam, aber jetzt gilt's! Mit welchen Attributen ist denn Deine Applikation geladen bzw. ist der in Deiner Applikation gestartete Befehl deklariert? Zitat: <Autodesk.AutoCAD.Runtime.CommandMethod("CADde_OpenAndActivateDWG", Autodesk.AutoCAD.Runtime.CommandFlags.Session)> _ Public Shared Sub CADde_OpenAndActivateDWG() Call cCADdeDiv.CADde_OpenAndActivateDWG() End Sub
Wenn Du bei den CommandFlags nicht 'xx.Session' mit angibst, dann gilt Dein Befehl nur innerhalb eines Documents. Damit wird auch ausgeschlossen, dass Du im Zuge der Exekution des Befehls zwar ein anderes Doc öffnen und dessen Database bearbeiten kannst, aber eben nicht aktiv schalten. Nimmst Du den Parameter 'xx.Session' mit, dann reicht schon (wie ich vorher meinte) das 'DocumentCollection.Open(...' und es wird von AutoCAD selbst umgeschaltet/aktiviert. - alfred - ------------------ www.hollaus.at |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 11. Mrz. 2009 09:10 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|