| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: SelectAtPoint (1999 mal gelesen)
|
rrrrough Mitglied
Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 19. Mai. 2004 09:52 <-- editieren / zitieren --> Unities abgeben:
Was mache ich falsch? ich fülle mit SelectAtPoint (ohne Filter) eine SelectionSet - erstaunlicherweise befindet sich nur das Objekt im Auswahlsatz das in der Zeichnungsreihenfolge ganz oben liegt. Das kann ja fast nicht sein ... oder? z.B. so Public Sub SSTeste() On Local Error Resume Next Dim Punkt As Variant Dim SSBen As AcadSelectionSet Punkt = ThisDrawing.Utility.GetPoint(, "Punkt wählen") Set SSBen = ThisDrawing.SelectionSets.Add("Ben") Set SSBen = ThisDrawing.SelectionSets("Ben") SSBen.Clear SSBen.SelectAtPoint Punkt Debug.Print SSBen.Count End Sub Vielen Dank für Hilfen. ------------------ leute: vielen dank [Diese Nachricht wurde von rrrrough am 19. Mai. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rrrrough Mitglied
Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 22. Mai. 2004 10:45 <-- editieren / zitieren --> Unities abgeben:
nochmal zu SelectAtPoint - nach weiterer Recherche ergibt sich folgende Lösung für das Problem: SSBen.Select acSelectionSetCrossing, Punkt1, Punkt2 wobei mit Punkt1 und Punkt2 ein entsprechend kleiner Bereich ausgewählt wird; als Architekt kann ich davon ausgehen das keine ernstzunehmenden Eingaben nach z.B. der fünften Kommastelle gemacht werden (...) Ergibt sich für mein Problem eine neue Fragestellung: Ich will feststellen ob eine Linie auf einer Schfaffur liegt. Mit der acSelectionSetCrossing erwische ich die Schraffur auch nicht unbedingt, auch nicht als Solid. Gibt es dafür eine naheliegende Lösung?
Die Schraffur in ein acSelectionSetWindowPolygon zu packen taugt in dem fall auch nicht, da die Linien die ich finden will die Schraffurumgrenzung berühren. ------------------ leute: vielen dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 23. Mai. 2004 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für rrrrough
Hallo, Mal ein anderer Gedankanansatz: liegt die Schraffurumgrenzung als z.B.Polyline vor, dann kannst du ja auch einen Auswahlsatz mit KreutzenPolygon erstellen. Das ist vielleicht eindeutiger? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rrrrough Mitglied
Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 24. Mai. 2004 14:42 <-- editieren / zitieren --> Unities abgeben:
hmm, vielen dank für den hinweis. leider auch hiermit kein gewünschtes ergebnis - ich hab das im dwg aufgezeichnet: Linie kreuzt Schraffur - ich zerlege diese in zwei Einzellinien. so. Und jetzt soll die Linie gelöscht werden die innerhalb der Schraffur liegt. Mit Kreuzen erwische ich beide nicht .. ------------------ leute: vielen dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Acad 2011-deutsch, Express Tools 3ds Max 2010 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 24. Mai. 2004 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für rrrrough
Du könntest versuchen das Objekt das gefunden wurde auszuschalten (HIDE) und dann noch einmal ein SelectAtPoint ausführen, dann sollte er das nächste Objekt finden. Danach solltest du die Objekte allerdings wieder sichtbar stellen. ------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rrrrough Mitglied
Beiträge: 18 Registriert: 15.08.2003
|
erstellt am: 24. Mai. 2004 22:34 <-- editieren / zitieren --> Unities abgeben:
Das war ebenfalls meine erste Idee. Ich hatte es mit Objekt.Visible = False versucht - die SelectionSet findet dennoch das selbe Objekt. HIDE kenne ich nur für UserForms ... ich habs jetzt für AcadLine ausprobiert und das wird mit Fehlermeldung abgelehnt ... noch was: selbst das hilft ja nicht so richtig weiter, weil ich die schraffur ja nur dann erwische, wenn ausgerechnet an diesem punkt ein stück pattern vorbeikommt - unwahrscheinlich genug. ich will ja folgendes: entweder mit der schraffur die linine anwählen die innerhalb liegen (aber die OuterLoop berühren) oder umgekehrt mit der linie die schraffur finden. ------------------ leute: vielen dank [Diese Nachricht wurde von rrrrough am 24. Mai. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |