| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Alle geöffnete Zeichnungsnamen einlesen (547 mal gelesen)
|
ManuelKuhn Mitglied Techniker und DvD :-)
Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 Max2011 Design Visual Studio 2008
|
erstellt am: 01. Mrz. 2011 15:52 <-- editieren / zitieren --> Unities abgeben:
Mahlzeit! ;-) nachdem mein letzter Post im falschen Forum lag, hier der nächste Anlauf im richtigen :-D Ich habe eine "Combobox" in einem "From" in welche ich die Namen aller geöffneten AutoCAD Zeichnungen der aktuellen Session schreiben will. in einem alten VBA Tool, hatte ich das mit folgendem Code erledigt;
Code:
Dim DWGCount As Integer DWGCount = ThisDrawing.Application.Documents.Count Dim mThisDwgName As String mThisDwgName = ThisDrawing.Name Dim DWGIndex As Integer Dim mDwgName As String For DWGIndex = 0 To DWGCount - 1 mDwgName = ThisDrawing.Application.Documents(DWGIndex).Name If mThisDwgName <> mDwgName Then Me.cmbDWGSelection.AddItem.mDwgName Next DWGIndex
und in .NEt komme ich leider nur ein Stück weit...Code:
Dim DWGCount As Integer = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Count Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument Dim mThisDWGName As String Dim DWGindex As Integer Dim mDWGName As String mThisDWGName = acDoc.Name For DWGindex = 0 To DWGCount - 1 mDWGName = XXX (hier weis ich nun nicht, wie oder was ich machen kann/soll) If mThisDwgName <> mDwgName Then cmbModelDwg.Items.Add(mDwgName) Next
Der Zugriff mit .NET auf "ThisDrawing.Application.Documents(DWGIndex).Name" geht ja nicht mehr und im VS finde ich irgendwie keine passende Klasse/Funktion... Grüße Manuel
------------------ Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 01. Mrz. 2011 15:58 <-- editieren / zitieren -->
Hi, hoffe, dieses hilft: Code: For Each tDoc As ApplicationServices.Document In ApplicationServices.Application.DocumentManager Debug.Print(tDoc.Database.Filename) 'vorsicht: ist die Zeichnung noch nicht gespeichert, dann kommt der Name des Templates hier zurück Next
- alfred - ------------------ www.hollaus.at |
ManuelKuhn Mitglied Techniker und DvD :-)
Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 Max2011 Design Visual Studio 2008
|
erstellt am: 01. Mrz. 2011 16:27 <-- editieren / zitieren --> Unities abgeben:
Hi Alfred, danke für deine Antwort, aber auf diese weise bekomme ich den kompletten Pfad incl. Dateiname ausgegeben.. "C:\Temp\Test.dwg" ------------------ Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 01. Mrz. 2011 16:32 <-- editieren / zitieren -->
Hi, >> aber auf diese weise bekomme ich den kompletten Pfad incl. Dateiname ausgegeben Ja ... und? Alles andere wäre gefährlich! Stell Dir mal vor, Du hast folgende beiden Zeichnungen geöffnet:
D:\Projekte\4711\Lageplan.dwg D:\Projekte\4712\Lageplan.dwg Du würdest 2 mal 'Lageplan.dwg' sehen, in Deinem Code wird dann auch noch eines ausgeschlossen, wie geht's dann weiter? Aber wenn Du's unbedingt brauchst:
Code: My.Computer.FileSystem.GetFileInfo("C:\TEMP\TEST.DWG").Name
- alfred - ------------------ www.hollaus.at |
ManuelKuhn Mitglied Techniker und DvD :-)
Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 Max2011 Design Visual Studio 2008
|
erstellt am: 01. Mrz. 2011 16:44 <-- editieren / zitieren --> Unities abgeben:
Stimmt, du hast Recht, daran hatte ich garnicht gedacht ! Ich werde es mit Pfad einbauen. Danke dir!
------------------ Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |