Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Markierte Objekte

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:  Markierte Objekte (1051 mal gelesen)
Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 29. Okt. 2009 14:50    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 Zusammen,

ist es möglich die aktuell in AutoCAD markierten Objekte in ein Selectionset zu bekommen?

(Falls es schon ein Thread dazu gibt tut mir leid die Suchfunktion ist gerade down...)

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 29. Okt. 2009 15:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

suche nach ImpliedSelectionSet (im Editor) (genauen Begriff hab ich jetzt gerade nicht, aber mit 'implied' liege ich genau richtig  )

- alfred -

[EDIT} Wichtige Ergänzung: das funktioniert nur, wenn Du in der Befehlsdefinition Deines dotNET-Befehls auch das CommandFlag Autodesk.AutoCAD.Runtime.CommandFlags.UsePickSet gesetzt hast

Und jetzt hab ich auch den genauen Link zur Funktion:
Public Function SelectImplied() As Autodesk.AutoCAD.EditorInput.PromptSelectionResult
    Member von Autodesk.AutoCAD.EditorInput.Editor

[/EDIT]
------------------
www.hollaus.at

[Diese Nachricht wurde von a.n. am 29. Okt. 2009 editiert.]

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 03. Nov. 2009 10:12    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 Alfred,

danke das klappt soweit. Jetzt wollte ich wissen gibt es für eine Veränderung der markierten Objekte auch ein Event?
Sowas wie "SelectImplied().Valuechange"?

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 03. Nov. 2009 14:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Silvan,

ich hab jetzt keinen Dev-Rechner vor mir, aber sowas wie SelectionChanged gibt's schon, schau bitte bei den Events des EditorInput.Editor

- alfred -

------------------
www.hollaus.at

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 04. Nov. 2009 11: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

Hallo Nochmal,

ich glaube ich hab das Event gefunden meine Funktion sieht jetzt folgendermaßen aus:

Code:

Public tAcadDoc As Document
Public WithEvents Edt As Autodesk.AutoCAD.EditorInput.Editor = tAcadDoc.Editor

Private Sub refreshop() Handles Edt.SelectionAdded

Dim temp = Edt.SelectImplied().Value


Kann es sein, dass bei der Abfrage das Event wieder ausgelöst wird?

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 04. Nov. 2009 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Silvan,

>> dass bei der Abfrage das Event wieder ausgelöst wird

bei welcher Abfrage?

- alfred -

------------------
www.hollaus.at

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 04. Nov. 2009 14:47    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 Alfred,

ich meinte bei der markierten Zeile:

Code:
Dim temp = Edt.SelectImplied().Value

wenn ich eine Funktion so:

Code:
Private Sub refreshop() Handles Edt.SelectionAdded
....
Dim temp = Edt.SelectImplied().Value

erstelle wird da eine Schleife drauß (Springt von der Temp initialisierung wieder zum Anfang der Funktion). Ich komm aber nicht drauf, wie ich das vermeiden kann 

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 04. Nov. 2009 20:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Silvan,

hab ich so nicht ausprobiert, ist aber durchaus möglich. Mit  'Handles Edt.SelectionAdded' ist grundsätzlich mit Vorsicht umzugehen, es gibt Sitationen, wo bei einfacher Selektion das gleiche Element trotzdem mehrfach in den Eventhandler geschickt wird.

Um die Endlosrekursion zu behandeln, hast Du zwei Möglichkeiten:

a) Du hast machst ein Flag (z.B. HandleSelectionEvents), dieses setzt Du vor Deiner ersten Zeile (Dim temp = ...) auf false, danach wieder auf true. In dem Eventhandler selbst fragst Du die Variable zuerst ab, ob diese true ist, nur dann machst Du das, wofür der Eventhandler gebaut ist, anderenfalls (bei HandleSelectionEvents = false) gehst Du gleich ans Ende des Codes im Eventhandler.

b) Du aktivierst/deaktivierst den Eventhandler im Lauf:
AddHandler Edt.SelectionAdded, AddressOf refreshop  'aktivieren
RemoveHandler Edt.SelectionAdded, AddressOf refreshop  'deaktivieren

Beides ist möglich und erlaubt Dir zu bestimmen, ob der Eventhandler 'handeln soll' oder nicht.

HTH, - alfred -

------------------
www.hollaus.at

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 05. Nov. 2009 11:14    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,

danke für deine Hilfe Alfred!
Habe es jetzt folgendermaßen eingebaut:

Code:
Private Sub refreshopt(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edt.SelectionAdded, Edt.SelectionRemoved

RemoveHandler Edt.SelectionAdded, AddressOf refreshopt
RemoveHandler Edt.SelectionRemoved, AddressOf refreshopt

Dim temp = Edt.SelectImplied().Value


SelectionRemoved sollte doch auftreten, wenn ich z.B. die Markierung der Objekte in AutoCAD mit Esc entferne oder?

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 05. Nov. 2009 12:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> SelectionRemoved sollte doch auftreten, wenn ich z.B. die Markierung der
>> Objekte in AutoCAD mit Esc entferne oder?

Sollte ja, tut es aber nicht. 

Sorry, - alfred -

------------------
www.hollaus.at

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 05. Nov. 2009 12:40    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,

dann hat sich das wohl erledigt!
Gibts da eine andere Lösung?

Grüße

Silvan

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


Ex-Mitglied

erstellt am: 05. Nov. 2009 12:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hab's jetzt nicht im Kopf, aber ich glaube:

a) SelectionAdded reagiert auf ESC  - oder -
b) es gibt einen anderen Event, der darauf reagiert und dann holt man sich nochmals das ImpliedSelectionSet um zu wissen, was jetzt doch gerade selektiert ist.

Lass mal wissen, was Du vorhast, denn für das Eventhandling eignet sich oft auch der Zugriff auf die COM-Komponenten-Events, die z.T. sauberer reagieren.

Ich sitz aber jetzt auf keinem Dev-Rechner und hab leider nicht alle im Kopf. 

- alfred -

------------------
www.hollaus.at

Silvan01
Mitglied



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

Beiträge: 128
Registriert: 28.04.2009

AutoCAD Civil 2009
AutoCAD Civil 2010
Visual Studio 2008

erstellt am: 05. Nov. 2009 13:01    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 Alfred,

es wird auf einer Benutzeroberfläche angezeigt werden wieviele Blöcke selektiert sind.
Klappt auch soweit aber das SelectionRemoved klappt nicht...

Das mit dem SelectionAdded und Esc probier ich mal aus.
Grüße

Also SelectionAdded reagiert nicht auf ESC bedienung 

[Diese Nachricht wurde von Silvan01 am 05. Nov. 2009 editiert.]

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