Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Probleme mit acSelectionSetWindowPolygon

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
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Probleme mit acSelectionSetWindowPolygon (2073 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: 16. Sep. 2008 11:34    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 weiss da nicht mehr weiter. Ich habe folgendes vor:

Ich lasse den Benutzer eine Polylinie auswählen. Über SelectByPolygon mit der Option acSelectionSetCrossingPolygon ermittle ich alle Objekte, die innerhalb der Polylinie oder die die Polylinie kreuzen. Das funktioniert soweit auch.

Dann zeichne ich einen Bogen innerhalb der Polylinie ein. Und dann möchte ich mit der Funktion SelectByPolygon und der Option acSelectionSetWindowPolygon nur jene Objekte ermitteln, die innerhalb der Polylinie sind. Und genau da liegt mein Problem. Dieses von mir neu erzeugte Objekt wird nicht in das SelectionSet aufgenommen obwohl es 100% innerhalb der Polylinie liegt.

Ich habe dann auch noch eine Testfunktion geschrieben um zu schauen ob die Option acSelectionSetWindowPolygon das macht was ich will. Und die bereits in der Zeichnung vorhandenen Objekte werden alle erkannt. Nur die ich während der Funktion neu erstelle nicht. Was mache ich da falsch?

Unten ein Teil meines Codes, bei dem es nicht funktioniert.

Danke schon mal für Eure TIpps.


Code:

    On Error Resume Next
    ThisDrawing.SelectionSets.Item("PRE_DRAW").Delete
    Set selOmTmp = ThisDrawing.SelectionSets.Add("PRE_DRAW")

    'Hier wähle ich alle Objekte aus, die innerhalb der der Polylinie sind und die diese kreuzen
    selOmTmp.SelectByPolygon acSelectionSetCrossingPolygon, myPointsFinal
   
    'Hier zeichne ich einen Bogen ein der 100% innerhalb der Polylinie liegt
    Set myArc = ThisDrawing.ModelSpace.AddArc(selOm(i).center, selOm(i).radius, newStartAngle, newEndAngle)

    ThisDrawing.Regen acAllViewports
    myArc.Update

    '#################################################################
    '#################################################################
    Err.Clear
    On Error Resume Next
    ThisDrawing.SelectionSets.Item("POST_DRAW").Delete
    Set selOmTmp1 = ThisDrawing.SelectionSets.Add("POST_DRAW")

    'Und hier möchte ich alle Objekte ermitteln die nur innerhalb der Polylinie sind
    selOmTmp1.SelectByPolygon acSelectionSetWindowPolygon, polyPointsForObjectsDbl

    MsgBox "Anzahl Objekte: " & selOmTmp1.Count & vbNewLine & vbNewLine & Err.Number & " - " & Err.Description



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

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 16. Sep. 2008 11:41    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

Hi Benny,

Der Bogen innerhalb der Polylinie wird vom Selectionset wie eine Linie behandelt. Du müsstest dann den Bogen in kurze Linienstücke zerlegen und diese dann mit in dein SelectbyPolygon einbeziehen.

Es gab hier aber, meine ich, einen Beitrag der das Thema auch schon mal beinhaltet hat.

Gruß, Carsten

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: 16. Sep. 2008 12:04    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 Carsten,

nein da hast du mich falsch verstanden.

Ich zeichne innerhalb meiner gewählten Kontur einen Bogen. Und dieser wird dann nicht in mein SelectionSet übernommen. Also nicht die Polylinie selbest besteht aus Bögen.

------------------
Grüsse 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: 1526
Registriert: 17.08.2005

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

erstellt am: 16. Sep. 2008 12:16    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,

du schaltest mit ON ERROR RESUME NEXT mal jede Fehlermöglichkeit ab.
Schalte die Fehlerverfolgung doch direkt mal nach dem "Selectionset" wieder mit ON ERROR GOTO 0 ein. Dann kannst du deinen Code mal debuggen.

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: 16. Sep. 2008 12:21    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,

macht auch keinen Unterschied. Er gibt keinen Fehler aus.

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

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 16. Sep. 2008 12:29    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

Hi Benny,

Warum nutzt du zwei verschiedene Punktlisten für die beiden Selectionsets?!
Hat das einen Grund, warum du nicht bei beiden Selectionsets die gleiche Punktliste für die Polylinie anwendest?!

Gruß, Carsten

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: 16. Sep. 2008 12:39    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

Hi,

ja den gibts:

Die 1. Punktliste beschreibt die Polylinie, die der Benutzer ausgewählt hat.

Und die 2. Punktliste ist um 0.1 mm nach außen versetzt. Das deshalb, weil ich gesehen habe, dass die Option acSelectionSetWindowPolygon nur jene Objekte ermittelt die wirklich innerhalb der Polylinie sind. Kene Objekte, die an die Polylinie angrenzen (wenn ich meinen Bogen an der Polylinie stutze) werden nicht in das SelectionSet aufgenommen.

Deshalb die 2 Listen.

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

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2855
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 16. Sep. 2008 12:57    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,
mach doch mal ein Zoomall bevor Du den Select durchführst.
Ich hatte auch manchmal das Problem das Elemente die am Bildschirm nicht dargestellt sind auch nicht ausgewählt werden.
Grüße,
Klaus

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: 16. Sep. 2008 15: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,

das habe ich auch schon probiert, hat leider keine Auswirkung.

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

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 16. Sep. 2008 15:28    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,

Stell doch mal ne Beispiel-DWG und deinen Code hier rein, dann kann man vielleicht eher den Fehler eingrenzen.

Gruß, Carsten

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: 17. Sep. 2008 18:06    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

Hi,

mein Problem hat sich jetzt wohl erledigt. Hatte 2 Fehler drinnen:

Der 1. ist ja schon peinlich: Alle Punkte der Punktliste, die die Funktion SelectByPolygon braucht, waren auf 0... War mir zu 1.000% sicher dass die passt... Naja...

Und 2. muss man nach dem Einzeichnen des Bogens die Zeichnung regenerieren. Dann hat es funktioninert.


Danke jedenfalls für eure Tipps.

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