Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Auswahl umkehren

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
Autor Thema:   Auswahl umkehren (3902 mal gelesen)
Barnygumble
Mitglied
Programmierer

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

Beiträge: 4
Registriert: 27.09.2004

erstellt am: 27. Sep. 2004 07:43    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

Gibt es eine Möglichkeit zu sagen, ich will alle Blöcke ausserhalb einer Polylinie auswählen? Innerhalb ist ja kein Problem. aber ausserhalb check ich leider nicht


mfg Barny

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 27. Sep. 2004 07:53    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 Barnygumble 10 Unities + Antwort hilfreich

Hallo Barny,

weiß zwar nicht wie Du das bis jetzt machst, aber probier mal das Wörtchen 'NOT' vor deinem Befehl.

Gruß TP

------------------

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

Barnygumble
Mitglied
Programmierer

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

Beiträge: 4
Registriert: 27.09.2004

erstellt am: 27. Sep. 2004 08: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

Code:
outer.SelectByPolygon acSelectionSetWindowPolygon, poly, filtercode, filtervalue

So mach ich es bis jetzt. Da kann ich aber nirgends ein NOT einbauen, oder doch?


mfg Barny

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 27. Sep. 2004 08:38    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 Barnygumble 10 Unities + Antwort hilfreich

Hallo Barny,

ja das ist wohl richtig, da kannst Du kein 'NOT' einbauen.

Was mir so auf die schnelle einfällt, dass Du das mit zwei SelectionSets baust und Du den Inhalt des Polygons von dem größeren ausnimmst. Du also die Objekte, welche sich in deinem jetzigen SelectionSet befinden aus dem SelectionSet über deine gesamte Zeichnung einfach ausnimmst. Somit bleiben nur noch die übrig, welche ausserhalb deines jetzigen Polygons liegen.

Ein SelectionSet über die gesamte Zeichnung kann automatisch gebaut werden, so dass der User nur das kleinere auswählen muss.

Sorry, mehr kann ich Dir dazu auch net sagen, aber hier weiß bestimmt jemand anderes noch eine bessere Lösung.

Gruß TP

------------------

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

Barnygumble
Mitglied
Programmierer

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

Beiträge: 4
Registriert: 27.09.2004

erstellt am: 27. Sep. 2004 10: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

Danke erstmal, aber das mit dem ausnehmen versteh ich noch nicht ganz!

meinst du

Code:
SS1=SS1-SS2
?

weil so funktioniert das bei mir nicht.


mfg Barny

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 27. Sep. 2004 11: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 Nur für Barnygumble 10 Unities + Antwort hilfreich

also selectionssets kann man nicht einfach subtrahieren.
aus der acad hilfe:
Signature

object.RemoveItems Objects

Object

Group, SelectionSet
The object or objects this method applies to.

Objects

Variant (array of objects); input-only
An array of objects to be removed.


z.B.: 2 selectionssets benannt SSall und SSPoly
SSPoly soll von SSAll abgezogen werden


    Dim removeObjects() As AcadEntity
    i1 = 0
    For Each n1 In sspoly
        ReDim Preserve removeObjects(i1)
        Set removeObjects(i1) = n1
    Next
    ssall.RemoveItems (removeObjects)

------------------
WWW.FFZELL.AT.TC

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 27. Sep. 2004 11: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 Nur für Barnygumble 10 Unities + Antwort hilfreich

Hallo Barny,

wenn SS1 dein jetziges SelectionSet ist und SS2 das über SelectionSet über deine gesamte Zeichnung ist, dann funktionieren das ...

Code:
For Each Block_SS2 in SS2
  For Each Block_SS1 in SS1
    If Block_SS2.ObjectID = Block_SS1.ObjectID then
      ...
    end if
  Next Block_SS1
Next Block_SS2

In der IF Anweisung läuft er nun rein, wenn er Objecte findet, die in beiden SelectionSets sind. Hier könntest also die gleichen Objecte löschen und übrig bleiben würden nur die, welche sich ausserhalb deines gezogenes Polygones befinden.

Wenn Du die Objecte allerdings löscht, dann löscht er die nicht temporär, sondern in der Zeichnung. Deshlab musst Dir irgendwie eine Kopie deines SelectionSets anlegen. Zumindest funktioniert es, hab´s gerade ausprobiert hier.

Nochmal wie schon vorhin gesagt, ich glaube, dass dieser Weg eher ein Umweg ist .. weiß es aber gerade auch nicht besser.

Gruß TP

------------------

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

Barnygumble
Mitglied
Programmierer

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

Beiträge: 4
Registriert: 27.09.2004

erstellt am: 27. Sep. 2004 16:35    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

Danke habs schon mit Removeitem gelöst


mfg Barny

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