Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Auswahlsatz

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:  Auswahlsatz (1743 mal gelesen)
Roberta
Mitglied


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

Beiträge: 4
Registriert: 16.10.2006

erstellt am: 17. Okt. 2006 08: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 AutoLisp-Spezialisten,

als absolutes Greenhorn versuche ich mich an einem AutoLisp-Programm:
es soll über eine verschachtelte Inselerkennung eine Bereichsauswahl treffen (wie z.B. bei einer Schraffur). Alle Objekte im Bereich sollen in einen Auswahlsatz, um deren Eigenschaften zu ändern.
Es handelt sich hierbei um eine große Anzahl von Kreisen, innerhalb von Symbolen oder Ziffern (Polylinien), die eine andere Farbe erhalten sollen ohne umständliches markieren mit z.B. Kreuzen Polygon.
Vielleicht gibt es dieses Programm schon?
Ansonsten benötige ich dringend Hilfestellung.

Lisa

------------------
Robby

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 17. Okt. 2006 08:31    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 Roberta 10 Unities + Antwort hilfreich

ok, mal als Begrüßungsgeschenk:

(defun c:AWS (/ AUSWAHL FARBE OBJDATA) 
  (if(and(setq AUSWAHL(ssget '((0 . "CIRCLE"))))
         (setq FARBE (acad_colordlg 1))
     )
    (progn
      (setq INDEX -1)
      (repeat(sslength AUSWAHL)
        (setq OBJDATA(entget(ssname AUSWAHL(setq INDEX (1+ INDEX)))))
        (if(assoc 62 OBJDATA)
          (entmod(subst(cons 62 FARBE)(assoc 62 OBJDATA)OBJDATA))
          (entmod(append OBJDATA (list(cons 62 FARBE))))         
        )
      )              
    ) 
  )
  (princ)
)

Dafür mußt du aber versprechen, dich durch Mapcars Lisp-Tutorial zu arbeiten.

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.

       

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 17. Okt. 2006 08: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 Nur für Roberta 10 Unities + Antwort hilfreich

Hallo Roberta,

Erst mal Willkommen im Forum!       

So ganz klar ist mir Deine Fragestellung noch nicht, willst Du alle Objekte wählen oder nur Kreise?
Siehe hierzu auf alle Fälle mal die Hilfe zu ssget, ssname einschl. Optionen. (Zur Auswahl von Kreisen z. B. (ssget '((0. "CIRCLE"))).

Bei weiteren Fragen ...

LG

Thomas


---edit----

uups, Holger war wieder schneller, und gleich mit "Begrüßungsgeschenk"      

[Diese Nachricht wurde von spider_dd am 17. Okt. 2006 editiert.]

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

Roberta
Mitglied


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

Beiträge: 4
Registriert: 16.10.2006

erstellt am: 17. Okt. 2006 10:27    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,

ich möchte eine Polyline der Zeichnung auswählen, um damit alle Kreise die sich innerhalb dieser Polylinie befinden zu markieren.
Also wie bei einer Schraffur. Der Bereich soll nicht schraffiert werden, sondern die Elemente (Kreise) die sich darin befinden, markiert werden. Außerhalb des Bereichs befinden sich noch weitere Kreise, die nicht markiert werden sollen.
Holger hatte wohl auch Probleme mit meiner Fragestellung, habe aber was dazulernen können.

Gruß
Robby

------------------
Robby

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: 17. Okt. 2006 10:45    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 Roberta 10 Unities + Antwort hilfreich

dann versuch es mit der Erweiterung von Holgers Code .. die PL darf aber keine doppelten Stützpunkte haben!

(defun c:AWS (/ PL AUSWAHL FARBE OBJDATA INDEX PLLIST) 
  (vl-load-com)
  (if(and(setq PL(car(entsel "\nPolylinie wählen:")))
        (setq PL(vlax-ename->vla-object PL))
        (setq INDEX -1)
        (repeat (fix(1+(vlax-curve-getendparam PL)))
          (setq PLLIST(cons (vlax-curve-getpointatparam PL (setq INDEX (1+ INDEX))) PLLIST))
        ) 
        (setq AUSWAHL(ssget "_WP" PLLIST '((0 . "CIRCLE"))))
        (setq FARBE (acad_colordlg 1))
    )
    (progn
      (setq INDEX -1)
      (repeat(sslength AUSWAHL)
        (setq OBJDATA(entget(ssname AUSWAHL(setq INDEX (1+ INDEX)))))
        (if(assoc 62 OBJDATA)
          (entmod(subst(cons 62 FARBE)(assoc 62 OBJDATA)OBJDATA))
          (entmod(append OBJDATA (list(cons 62 FARBE))))         
        )
      )             
    ) 
  )
  (princ)
)

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

Roberta
Mitglied


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

Beiträge: 4
Registriert: 16.10.2006

erstellt am: 17. Okt. 2006 13:54    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,

hat leider nicht funktioniert. Bekomme die Meldung Programmfehler.
Werde mich wohl erst mal durch den Urschlamm wühlen müssen.

Gruß
Roberta

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: 17. Okt. 2006 14:03    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 Roberta 10 Unities + Antwort hilfreich

Hast wohl ACAD LT oder ACAD 14 ? Und was hat nicht funktioniert? Bei mir läuft das Teil.


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

Roberta
Mitglied


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

Beiträge: 4
Registriert: 16.10.2006

erstellt am: 17. Okt. 2006 14:26    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

ich habe BricsCad Pro 7.0.

------------------
Robby

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: 17. Okt. 2006 14:44    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 Roberta 10 Unities + Antwort hilfreich

  
Zitat:
Original erstellt von Roberta:
ich habe BricsCad Pro 7.0.


   ..das wäre ne Info für gaaaanz oben gewesen.. da hast du mit den Vlax-vurve Befehlen natürlich Pech, die sind da nicht integriert. Da mußt du dir die Polylinienstützpunkte aus den GC10 des LW-PL-Objects oder aus dem GC10 der nachfolgenden Vertexte auslesen.

Auch wenn mich das vorenthalten solch wichtiger Informationen bei einer Hilfeanfrage nicht gerade begeistert, ein letzter Versuch ohne ActivX:

(defun c:AWS (/ PL AUSWAHL FARBE OBJDATA INDEX PLLIST) 
  (vl-load-com)
  (if(and(setq PL(car(entsel "\nLWPolylinie wählen:")))
         (setq PL(entget PL))
         (=(cdr(assoc 0 PL))"LWPOLYLINE")
         (while (setq PL (member(assoc 10 PL) PL))          
           (setq PLLIST(cons (cdr(car PL))PLLIST))
           (setq PL (cdr PL))
         )            
         (setq AUSWAHL(ssget "_WP" PLLIST '((0 . "CIRCLE"))))
         (setq FARBE (acad_colordlg 1))
     )
    (progn
      (setq INDEX -1)
      (repeat(sslength AUSWAHL)
        (setq OBJDATA(entget(ssname AUSWAHL(setq INDEX (1+ INDEX)))))
        (if(assoc 62 OBJDATA)
          (entmod(subst(cons 62 FARBE)(assoc 62 OBJDATA)OBJDATA))
          (entmod(append OBJDATA (list(cons 62 FARBE))))         
        )
      )             
    ) 
  )
  (princ)
)

FIN

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

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