Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  objektauswahl

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:  objektauswahl (1754 mal gelesen)
Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 16. Mrz. 2011 13:33    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

Servus

verwende Code zur Auswahl von Blöcken mit gleichen Namen den u.a Code, leider funktioniert der Code bei dynamischen Blöcken nicht mehr. Ich hab aber gesehen das bei EffectiveName der richtige Name drin steht, kann man diesen für den Filter verwenden und wenn ja wie.


Code:

;;-Auswahl Blocknahme--------------------------------------------------------
(defun c:sel_blk (/ OBJ AWS)
  (if(setq OBJ(car(entsel)))
    (progn     
      (setq AWS(ssget "_x" (vl-remove-if-not '(lambda(x)(member (car X) '( 2 )))  (entget OBJ))))
      (sssetfirst AWS AWS)
    )
  )
)

danke bernd

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 16. Mrz. 2011 14:22    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 Bernd P 10 Unities + Antwort hilfreich

Hallo Bernd,
mit:
(vla-get-effectivename (vlax-ename->vla-object OBJ))

müßtest du was anfangen können.

Aber prüf vorher ob es ein Block ist sonst gibts ne Fehlermeldung.

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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: 13508
Registriert: 30.11.2003

.

erstellt am: 16. Mrz. 2011 15: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 Bernd P 10 Unities + Antwort hilfreich

z.B.
Code:

(defun C:BLOCKSELECTSIMILAR(/ OBJ NAME BLOCKDEF ITEM LISTE AWS)
  (if(and(setq OBJ(car(entsel"\nBlockreferenz wählen: ")))
        (wcmatch(strcase(cdr(assoc 0(entget OBJ))))"*INSERT")
        (setq OBJ(vlax-ename->vla-object OBJ))
        (or(and(vlax-property-available-p OBJ "EffectiveName")
                (setq NAME(strcase(vla-get-EffectiveName OBJ)))
            )   
            (setq NAME (strcase(vla-get-name OBJ)))
        )       
    )   
    (progn     
      (vlax-for BLOCKDEF (vla-get-blocks(vla-get-ActiveDocument(vlax-get-acad-object)))
        (if (=(vla-get-isxref BLOCKDEF):vlax-false)
          (vlax-for ITEM BLOCKDEF
            (if(and(member (strcase(vla-get-objectname  ITEM))
                          '("ACDBBLOCKREFERENCE" "ACDBMINSERTBLOCK")
                  )
                  (or(=(strcase(vla-get-name ITEM))(strcase NAME))
                      (and(vlax-property-available-p ITEM "EffectiveName")
                          (=(strcase(vla-get-EffectiveName ITEM))(strcase NAME))
                      )
                  ) 
              )
              (setq LISTE(cons ITEM LISTE))
            ) 
          )
        )
      )
      (if(>(length LISTE)0)
        (progn
          (setq AWS(ssadd))
          (mapcar '(lambda(X) (ssadd (vlax-vla-object->ename X) AWS)) LISTE)
          (sssetfirst AWS AWS)
        )
      )
    )
  )
)

------------------
  - 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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 16. Mrz. 2011 15: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 CADmium funktioniert super

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 08. Apr. 2011 11:37    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

Servus

Kann man das ganze so drehen das der dynamische Block mit dem Namen "PLT M010 Textfeld" gewählt wird?

( kriegs alleine net hin)

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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: 13508
Registriert: 30.11.2003

.

erstellt am: 08. Apr. 2011 11: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 Bernd P 10 Unities + Antwort hilfreich

Code:

(defun C:BLOCKSELECTSIMILAR_SP(/ OBJ NAME BLOCKDEF ITEM LISTE AWS)
  (if(and(setq NAME "PLT M010 Textfeld")
        (tblobjname "BLOCK" NAME)
    )   
    (progn     
      (vlax-for BLOCKDEF (vla-get-blocks(vla-get-ActiveDocument(vlax-get-acad-object)))
        (if (=(vla-get-isxref BLOCKDEF):vlax-false)
          (vlax-for ITEM BLOCKDEF
            (if(and(member (strcase(vla-get-objectname  ITEM))
                          '("ACDBBLOCKREFERENCE" "ACDBMINSERTBLOCK")
                  )
                  (or(=(strcase(vla-get-name ITEM))(strcase NAME))
                      (and(vlax-property-available-p ITEM "EffectiveName")
                          (=(strcase(vla-get-EffectiveName ITEM))(strcase NAME))
                      )
                  ) 
              )
              (setq LISTE(cons ITEM LISTE))
            ) 
          )
        )
      )
      (if(>(length LISTE)0)
        (progn
          (setq AWS(ssadd))
          (mapcar '(lambda(X) (ssadd (vlax-vla-object->ename X) AWS)) LISTE)
          (sssetfirst AWS AWS)
        )
      )
    )
  )
)

..alles klar ?

------------------
  - 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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 11. Apr. 2011 14:00    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 funkt einwandfrei

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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