| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: VB.NET und Arbeitsbereiche (1107 mal gelesen)
|
bge Mitglied CAD-Administrator

 Beiträge: 42 Registriert: 23.09.2008 ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System
|
erstellt am: 22. Okt. 2009 16:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo, gibt es eine Möglichkeit mit VB.NET auf die Arbeitsbereiche zuzugreifen? Ich möchte gerne Arbeitsbereiche von einer alten CUI-Datei in die aktuelle CUI-Datei importieren. Bisher habe ich noch keine Objekte hierzu gefunden. Grüße Bernd ------------------ Bernd Gerstenberger Dipl.-Geogr., MCSE, CAD-Administrator Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bge Mitglied CAD-Administrator

 Beiträge: 42 Registriert: 23.09.2008 ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System
|
erstellt am: 26. Nov. 2009 08:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe folgendes Problem: Ich möchte mit VB.NET bei AutoCAD 2009 einen Workspace einer älteren, vorhandenen CUI-Datei in die aktuelle CUI-Datei einfügen. Ein paar Dinge laufen schon, aber letztendlich erhalte ich zum Schluss folgenden Fehler, der mir unverständlich ist: System.ArgumentException: Item.Parent muss 'this' sein. Verwenden Sie 'this' für das übergeordnete Argument, wenn Sie das Element erstellen. Parametername: element bei Autodesk.AutoCAD.Customization.CustomizationCollection.OnInsert(Int32 index, CustomizationElement element) bei Autodesk.AutoCAD.Customization.WorkspaceCollection.Add(Workspace workspace) bei test.test.MyCommands.anpassung() in D:\Programmierung\test\test\myCommands.vb:Zeile 54. Unverständlich, weil die Variable ws eigentlich genau definiert ist. Hier mein Code. _ Public Sub anpassung() Dim dwg As Document Dim tm As DatabaseServices.TransactionManager Dim t As Transaction Dim ed As Editor Dim s As String Dim cs As Customization.CustomizationSection Dim cs_old As Customization.CustomizationSection Dim cuifile As String Dim oldcui As String Dim wscol As WorkspaceCollection Dim wscol_old As WorkspaceCollection Dim ws_old As Workspace Dim ws As Workspace ed = Application.DocumentManager.MdiActiveDocument.Editor Try dwg = Application.DocumentManager.MdiActiveDocument tm = dwg.TransactionManager t = tm.StartTransaction cuifile = Application.GetSystemVariable("MENUNAME") oldcui = cuifile & "_bak.cui" cuifile = cuifile & ".cui" cs = New Autodesk.AutoCAD.Customization.CustomizationSection(cuifile) wscol = cs.Workspaces cs_old = New CustomizationSection(oldcui) wscol_old = cs_old.Workspaces s = "Alte Arbeitsbereiche:" For Each ws_old In wscol_old 'MsgBox(s & vbCr & ws_old.Name) If ws_old.Name.ToString = "Struktur" Then ws = ws_old 'MsgBox(s & vbCr & ws.Name) cs.Workspaces.Add(ws) cs.Save() End If Next t.Dispose() tm.Dispose() Catch ex As System.Exception ed.WriteMessage(ex.ToString) End Try End Sub Kann irgendjemand helfen? ------------------ Bernd Gerstenberger Dipl.-Geogr., MCSE, CAD-Administrator Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager

 Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 26. Nov. 2009 10:24 <-- editieren / zitieren --> Unities abgeben:          Nur für bge
|
bge Mitglied CAD-Administrator

 Beiträge: 42 Registriert: 23.09.2008 ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System
|
erstellt am: 26. Nov. 2009 10:51 <-- editieren / zitieren --> Unities abgeben:         
Danke für die Rückmeldung. In der Zeile 54 steht: cs.Workspaces.Add(ws) Das ist der Moment, in dem ich versuche der aktuellen Anpassungsdatei den Arbeitsbereich aus der alten Anpassungsdatei hinzuzufügen. ------------------ Bernd Gerstenberger Dipl.-Geogr., MCSE, CAD-Administrator Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager

 Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 26. Nov. 2009 10:59 <-- editieren / zitieren --> Unities abgeben:          Nur für bge
|
bge Mitglied CAD-Administrator

 Beiträge: 42 Registriert: 23.09.2008 ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System
|
erstellt am: 26. Nov. 2009 11:43 <-- editieren / zitieren --> Unities abgeben:         
Ich hab's!!! Ich habe die Zeile cs.Workspaces.Add(ws) ersetzt durch cs.Workspaces.Insert(7, ws) wobei die 7 eine Indexnummer ist. Und schwupps hat's funktioniert. Ein Problem gibt es noch mit der Aktualisierung. In der CUI ist er schon zu sehen. In der Liste der Arbeitsbereiche erst nach Neustart von ACAD. ------------------ Bernd Gerstenberger Dipl.-Geogr., MCSE, CAD-Administrator Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |