Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  VB.NET und Arbeitsbereiche

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von bge an!   Senden Sie eine Private Message an bge  Schreiben Sie einen Gästebucheintrag für bge

Beiträge: 42
Registriert: 23.09.2008

ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System

erstellt am: 22. Okt. 2009 16:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von bge an!   Senden Sie eine Private Message an bge  Schreiben Sie einen Gästebucheintrag für bge

Beiträge: 42
Registriert: 23.09.2008

ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System

erstellt am: 26. Nov. 2009 08:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bge 10 Unities + Antwort hilfreich

Hallo Bernd,
es wäre hilfreich zu wissen, was genau in der Zeile 54 steht bzw. welche der von dir angegebenen Zeilen dieses Zeile ist.

Mein Problem ist im Moment noch, dass ich mit Autocad und dem dazu gehörigen VBA nichts zu tun habe. Daher kann ich möglicherweise nur indirekt helfen...

------------------
MFG
Rick Schulz
      Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bge
Mitglied
CAD-Administrator


Sehen Sie sich das Profil von bge an!   Senden Sie eine Private Message an bge  Schreiben Sie einen Gästebucheintrag für bge

Beiträge: 42
Registriert: 23.09.2008

ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System

erstellt am: 26. Nov. 2009 10:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bge 10 Unities + Antwort hilfreich

Ich bin den Code jetzt mehrfach durchgegangen und finde ihn eigentlich schlüssig. Daher würde ich vermuten, dass das cs.Workspaces.ADD(ws) das Problem ist. Vll. musst du hier etwas mit = oder set oder Workspace.add ausführen. Was ich damit sagen möchte ist, dass es eigentlich "nur" an dieser Funktion liegen kann.

------------------
MFG
Rick Schulz
      Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bge
Mitglied
CAD-Administrator


Sehen Sie sich das Profil von bge an!   Senden Sie eine Private Message an bge  Schreiben Sie einen Gästebucheintrag für bge

Beiträge: 42
Registriert: 23.09.2008

ADT 2007, Mechanical 2009, Inventor 2009, GAIN-System

erstellt am: 26. Nov. 2009 11:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz