Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Lisp
  Zugriff auf Gruppen-Elemente

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Zugriff auf Gruppen-Elemente (891 mal gelesen)
tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1221
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 05. Dez. 2011 15:02    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 !

unter Einbeziehung der Gruppen-Zugriffsfunktionen aus http://ww3.cad.de/foren/ubb/Forum145/HTML/000019.shtml#000017 habe ich eine Funktion erstellt mit welcher ich auf die Elemente von Gruppen zugreifen möchte.

Code:

(if group_name
  (progn
    (princ "\ngroup_name: ")
    (princ group_name)
    (princ "\n\n")
    (command "_.select" "_group" group_name "")
    (setq aws_group (ssget "_p"))
    ;; Auslesen der Gruppenelemente
    (while (setq aws_group_ele (ssname aws_group (setq idx (1+ idx))))
      (princ "\naws_group_ele: ")
      (princ aws_group_ele)
      (princ "\n\n")
    ) ;end-while
  ) ;end-progn
) ;endif

Nun habe ich das Problem das als Elemente der Gruppe immer dieselben Objekte gelistet werden:

Zitat:
group_name: (*A24)
aws_group_ele: <Objektname: 7ffffb0a460>
aws_group_ele: <Objektname: 7ffffb0a450>

group_name: (*A25)
aws_group_ele: <Objektname: 7ffffb0a460>
aws_group_ele: <Objektname: 7ffffb0a450>


Das merkwürdige ist nur das in einer kleinen Testfunktion - bei der ich den Namen der Gruppe übergebe - ist das kein Problem:

(defun test100 (group_name / )
  (princ "\nTestfunktion")
  (princ "\nGruppenname: ")(princ group_name)
              (command "_.select" "_group" group_name "")
      (setq aws_group (ssget "_p")
    idx -1)
      ;; Auslesen der Gruppenelemente
      (while (setq aws_group_ele (ssname aws_group (setq idx (1+ idx))))
          (princ (entget aws_group_ele))
                  (princ "\n\n")
      );end-while
  );end-defun
(princ )

Irgendwie habe ich den Eindruck als wenn ich irgendwie im Wald stehe.

Kann mir einer von Euch weiterhelfen ?

Gruß Jan :-)

------------------
jan :-)

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

.

erstellt am: 05. Dez. 2011 15:46    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 tappenbeck 10 Unities + Antwort hilfreich

Also ich würd da gar nicht über (Command "_select"..) gehen , sondern die Gruppe über (vla-item(vla-groups .. ermitteln und die Objekte dann via (vlax-for ITEM GROUP ermitteln ....

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1221
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 05. Dez. 2011 16:42    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 Thomas,

dann meinst Du als Basis sicherlich

http://forums.augi.com/showthread.php?t=120913

Werde mich mal durchkämpfen obwohl ich mit vl noch nicht so bewandert bin.

Gruß Jan :-)

------------------
jan :-)

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

.

erstellt am: 05. Dez. 2011 21:49    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 tappenbeck 10 Unities + Antwort hilfreich

neurosis
Mitglied
dipl.ing.


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

Beiträge: 224
Registriert: 22.08.2006

erstellt am: 05. Dez. 2011 23:05    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 tappenbeck 10 Unities + Antwort hilfreich

wenn du das ganze ohne vl machen willst:
Code:

(defun DictListAll (Root / DictRoot GrpList Temp)
  (setq DictRoot (entget Root))
  (while DictRoot
    (setq Temp (if (= (caar DictRoot) 3)
                (list (cons (cdr (car DictRoot))(cdr (cadr DictRoot))))
              )
          DictRoot (cdr DictRoot)
    )
    (setq GrpList (append GrpList Temp))
  )
)


mit
Code:

(setq lst (DictListAll (cdr (assoc "ACAD_GROUP" (dictlistall (namedobjdict))))))


bekommst du eine assoziierte liste in der form
(("GroupName1" . <Objektname: xxx>;) ("GroupName2" . <Objektname: yyy>;) ...)

und mit

Code:

(apply 'append (mapcar '(lambda(x) (if (= (car x) 340) (list (cdr x)))) (entget (cdr (assoc "gewuenschter Gruppenname" lst)))))


bekommst dann deine einzelnen elemente als liste anhand des gewuenschten gruppennamens.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

.

erstellt am: 06. Dez. 2011 08:07    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 tappenbeck 10 Unities + Antwort hilfreich

... aber immer schön überprüfen, ob das Element auch noch existiert und nicht nur noch sein "Handle" im Gruppendictionary ! 

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 224
Registriert: 22.08.2006

erstellt am: 06. Dez. 2011 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 tappenbeck 10 Unities + Antwort hilfreich

Zitat:
...aber immer schön überprüfen...

... wer macht denn sowas?

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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



Anzeige:Infos zum Werbeplatz >>

KOSTRABereitstellung CAD APP für AEC - Architektur-, Ingenieur- und Bauwesen, Infrastruktur, Kostenlose Werkzeuge / Add-Ons

Wer mit Kanalnetzhydraulik zu tun hat, ist auf die Verwendung von Regendaten des Deutschen Wetterdienstes (DWD) angewiesen. Mit KOSTRABereitstellung können die Niederschlagshöhen eines beliebigen Ortes ermittelt und als praktische XML- oder PDF-Datei gespeichert werden. KOSTRA-DWD-2020 & 2010R.

tappenbeck
Mitglied
Vermessungsingenieur


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

Beiträge: 1221
Registriert: 30.05.2002

AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net

erstellt am: 08. Dez. 2011 13: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 die Hilfestellungen - Problem gelöst!

gruß Jan :-)

------------------
jan :-)

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