Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Linien zu einer Gruppe zusammenfassen.

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Linien zu einer Gruppe zusammenfassen. (969 mal gelesen)
Benny4
Mitglied
Softwareentwickler


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

Beiträge: 178
Registriert: 16.02.2006

AutoCAD 2010
ZW-CAD 2012

erstellt am: 05. Jun. 2007 10:15    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 Forum,

ich zeichne mit VBA ein paar Linien und möchte diese dann in eine Gruppe zusammenfassen. Leider klappt das nicht wirklich...

So habe ich es gemacht:

Code:

Dim lineGrafik As AcadLine
Dim myGroup As AcadGroup
Dim myGroupObjects() As AcadEntity

For I = 0 To 5
    'Linie zeichnen
    Set lineGrafik = ThisDrawing.ModelSpace.AddLine(startPointGrafik, endPointGrafik)
    ReDim Preserve myGroupObjects(0 To UBound(myGroupObjects) + 1) As AcadEntity
    'Meinem Array die Linie zuweisen
    myGroupObjects(UBound(myGroupObjects)) = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
Next

'Die Gruppe erzeugen
Set myGroup = ThisDrawing.Groups.Add("GROUP_TEST_" & ThisDrawing.Groups.Count)
'Der Gruppe meine Objekte dazufügen
myGroup.AppendItems myGroupObjects


Als Fehlermeldung krieg ich dann:
-2147418113 Die Methode 'AppendItems' für das Objekt 'IAcadGroup' ist fehlgeschlagen.


Was mache ich falsch?

------------------
Grüse Benny

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 05. Jun. 2007 20:52    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 Benny4 10 Unities + Antwort hilfreich

Hallo Benny,


Zitat:
    'Linie zeichnen
    Set lineGrafik = ThisDrawing.ModelSpace.AddLine(startPointGrafik, endPointGrafik)


Wo bekommen die Punkte den die Koordinaten her ?

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

Benny4
Mitglied
Softwareentwickler


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

Beiträge: 178
Registriert: 16.02.2006

AutoCAD 2010
ZW-CAD 2012

erstellt am: 06. Jun. 2007 10:18    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,

diese Berechne ich anhand verschiedener Parameter. Diese stimmen aber 100%ig, da die Linien in AutoCAD auch korrekt gezeichnet werden.

Ich scheitere nur daran, diese Linien dann in eine Gruppe hinzuzufügen.

------------------
Grüse Benny

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 06. Jun. 2007 13:15    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 Benny4 10 Unities + Antwort hilfreich

Hallo Benny,

erstes: Die Zuweisung zum Objectarray muss mit SET erfolgen
zweitens: Bei ersten Durchlauf wird dein Feld redimensioniert unter Bezug auf die alte Obergrenze. Die ist bei ersten Mal aber nicht vorhanden.

Code:
Sub Grouptest()
Dim I As Integer
Dim StartPointGrafik(0 To 2) As Double
Dim EndPointGrafik(0 To 2) As Double

Dim lineGrafik As AcadLine
Dim myGroup As AcadGroup
Dim myGroupObjects() As AcadEntity
ReDim myGroupObjects(0)
Dim count As Integer
For I = 0 To 5
    count = count + 1
    StartPointGrafik(0) = I
    StartPointGrafik(1) = 0
    EndPointGrafik(0) = I
    EndPointGrafik(1) = 10
    'Linie zeichnen
    Set lineGrafik = ThisDrawing.ModelSpace.AddLine(StartPointGrafik, EndPointGrafik)
    lineGrafik.Update
    ReDim Preserve myGroupObjects(0 To count - 1)
    'Meinem Array die Linie zuweisen
    Set myGroupObjects(UBound(myGroupObjects)) = lineGrafik
Next

'Die Gruppe erzeugen
Set myGroup = ThisDrawing.Groups.Add("GROUP_TEST_" & ThisDrawing.Groups.count)
'Der Gruppe meine Objekte dazufügen
myGroup.AppendItems myGroupObjects


End Sub


Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

Benny4
Mitglied
Softwareentwickler


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

Beiträge: 178
Registriert: 16.02.2006

AutoCAD 2010
ZW-CAD 2012

erstellt am: 06. Jun. 2007 13:27    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,

danke, jetzt funktionierts genau so wie ich es wollte. Habe eigentlich schon versucht, mit SET dem Objectarray die Linie zuzuweisen, und den Array hatte ich auch initialisiert.

Egal, so klappt es! Danke

------------------
Grüsse Benny

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)2023 CAD.de | Impressum | Datenschutz