| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: SelectatPoint (822 mal gelesen)
|
Karl01 Mitglied
Beiträge: 55 Registriert: 15.06.2004 Win 7; Map2012
|
erstellt am: 28. Okt. 2009 11:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe zwei unterschiedliche Blöcke die übereinanderliegen. Basispunkt Block A = Basispunkt Block B Ich will nun den darüberliegenden BlockB von dem Selektierten Block A bearbeiten. Dazu ermittle ich den Einfügepunkt von Block A und will mit SelectAtPoint den Block B selektieren, klappt aber nicht. Block B ist ein Kreis dessen Mittelpunkt der Basispunkt ist. Funktioniert die SelectAtPoint Methode auch mit dem Basispunkt? Hier der Code
Code: For i = 0 To ThisDrawing.SelectionSets.Count - 1 If ThisDrawing.SelectionSets(i).Name = "SSET" Then SSetvorhanden = True Exit For End If Nexti = 0 If SSetvorhanden = False Then Set acSSet = ThisDrawing.SelectionSets.Add("SSET") Else Set acSSet = ThisDrawing.SelectionSets("SSET") End If acSSet.Clear acSSet.SelectAtPoint Einfügepunkt
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 28. Okt. 2009 11:46 <-- editieren / zitieren -->
Hi, >> Dazu ermittle ich den Einfügepunkt von Block A und will mit SelectAtPoint >> den Block B selektieren, klappt aber nicht Ohne mir jetz den Code angesehen zu haben, 'SelectAtPoint' ist gefährlich! a) muss dieser Punkt im sichtbaren Bereich sein b) die Selektion liefert Elemente kreuzend mit Pickbox ==> damit ist es Zoom-abhängig! c) muss auch Geometrie draufliegen ==> hast Du z.B. einen Block bestehend aus einem Kreis und der Blockbasispunkt ist der Mittelpunkt des Kreises, dann erwischt Du mit der Punktselektion genau nichts. Liege ich mit eine der Annahmen schon mal richtig? - alfred - ------------------ www.hollaus.at |
Karl01 Mitglied
Beiträge: 55 Registriert: 15.06.2004 Win 7; Map2012
|
erstellt am: 28. Okt. 2009 13:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred Zitat: c) muss auch Geometrie draufliegen ==> hast Du z.B. einen Block bestehend aus einem Kreis und der Blockbasispunkt ist der Mittelpunkt des Kreises, dann erwischt Du mit der Punktselektion genau nichts.
Ja genau so ist das. Na dann werde ich es mit AcSelectionSetWindows probieren, indem ich mir die Fenstergröße berechne, oder Kann ich den Block über einen Filter auswählen, ich kenne ja den Einfügepunkt und die Blockbezeichnung. Karl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 28. Okt. 2009 13:22 <-- editieren / zitieren -->
Hi, solltest Du auf SelectAtPoint bestehen, kannst Du in diesen Fällen aber auch die Blockdefinition so ändern, dass am Einfügepunkt des Blocks ein AutoCAD-Punkt eingesetzt ist. Vor dem Selektieren musst Du halt mit '_ddptype' einen Punktstil einstellen, der Sichtbares darstellt. Aber Du erkennst schon aus meinen obigen Aussagen, ich halte von SelectAtPoint nicht viel. - alfred - ------------------ www.hollaus.at |
Karl01 Mitglied
Beiträge: 55 Registriert: 15.06.2004 Win 7; Map2012
|
erstellt am: 28. Okt. 2009 13:34 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 28. Okt. 2009 13:46 <-- editieren / zitieren -->
Hi, >> Eine Suchfunktion mit dem Einfügepunkt und dem Blocknamen gibt es nicht? Nein, Collection bauen und ev. als Key für die Collection einen Ausdruck aus X- und Y-Wert des Einfügepunkte (Z brauchst Du ja nicht, wenn es mit SelectAtPoint angedacht war), damit findest Du diese dann auch schnell. - alfred - ------------------ www.hollaus.at |
Karl01 Mitglied
Beiträge: 55 Registriert: 15.06.2004 Win 7; Map2012
|
erstellt am: 28. Okt. 2009 13:53 <-- editieren / zitieren --> Unities abgeben:
|