Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Auswahlsatz Filtern

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 Filtern (1982 mal gelesen)
woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 16. Apr. 2009 15: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, hat einer einen Tip für mich, wie man aus einem Auswahlsatz alle Text Elemente in einem anderen Auswahlsatz bekommt?

(setq aws (ssget)   ;Objekte wählen
      awstext (ssget "_X" '((0 . "*TEXT"))))      ;TEXT Objekte ausfiltern

so ist ja das Problem das sich die zweite Zeile auf die ganze Zeichnung und nicht nur auf den Auswahlsatz der ersten Zeichnung bezieht.

Und eine Frage kommt ja selten alleine:

Ich suche nach einer Möglichkeit die Reihenfolge aller Opjekte in dem Auswahlsatz nach den X-Koordinaten in absteigender Reihenfolge zu sortieren.
Der Auswahlsatz wird dann als *.DXF 2000 gespeichert und in der CNC-programmierung weiterverarbeitet, deswegen ist eine sortierte Reihenfolge von Vorteil.

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. Apr. 2009 16: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 Nur für woppi 10 Unities + Antwort hilfreich

1. Auswahlsatz durchlaufen mit ssname und Textobjekte mit ssadd in einen zweiten Auswahlsatz packen ..., aber ich würde den ersten Auswahlsatz gleich in eine Objektliste wandeln und damit weiterarbeiten

es geht aber auch sowas, wenn man sich das durchhangeln durch den AWS sparen will..

(if(setq AWS (ssget)) 
  (progn
    (sssetfirst AWS AWS)
    (setq awstext (ssget "_i" '((0 . "*TEXT"))))
  )
)

2. fürs sortieren gibt es die Funktionen vl-sort und vl-sort-i .. in der Lisphilfe sind auch bsp für die Vergleichsfunktion

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 16. Apr. 2009 16: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 Nur für woppi 10 Unities + Antwort hilfreich

Hi,

(setq aws  (ssget  '((0 . "*TEXT")))) reicht nicht?

dann geh über entget und GC0, die guten ins Töpfchen die schlechten...

mfg heiko

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 16. Apr. 2009 16:06    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 woppi 10 Unities + Antwort hilfreich

abgesehen davon das natürlich mehrere Wege nach Rom führen..
komme erstmal von dem Auswahlsatz weg und erstelle eine LISTE.


Also zB:

(defun bau_elemli (asatz / n elemli)
  (setq n 0)
  (repeat (sslength asatz)
    (setq elemli(cons (ssname asatz n) elemli)
  n (1+ n))
    )
  elemli
  )

(setq ELEMLI (bau_elemli (ssget))) => (<Objektname: 7e0a3cc0> <Objektname: 7e0a3da0> <Objektname: 7e0a3da8> )

Nun kannst du die Liste durchgehen, Elemente entfernen(Texte) und daraus eine neue Liste erstellen - die Objekte
der verbleibende Liste nach Ihrem X-Wert sortieren etc..

mit ssadd kannst du nun aus beiden neue Auswahlsätze erstellen

wie gesagt: Nur eine Möglichkeit

Helferlein: mapcar lambda vl-remove-if etc.

Bin mir aber nichtmal sicher deine Frage verstanden zu haben - 

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 16. Apr. 2009 23:29    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 woppi 10 Unities + Antwort hilfreich

Hi,

@cadffm
Watt denn nu? Zuerst Liste und dann doch wieder mit ssadd Auswahlsätze fummeln?   

Für die Sortierung nach X-Werten hätte ich schon mal einen Vorschlag, wenn die Objekte als Liste vorliegen:

Code:
(vl-sort
  (mapcar
    '(lambda (x)
      (cons x (car (cdr (assoc 10 (entget x)))))
    )
    entlist
  )
  '(lambda (a b)
    (< (cdr a) (cdr b))
  )
)

Gruß
CADchup

------------------
CADmaro.de

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 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

Hallo,

vielen Dank für die schnellen Antworten, konnte gestern leider nicht daran weiter machen.
Mußte mehr CNC als CAD machen.
Ich hoffe ich habe heute etwas Zeit um die Hilfen von Euch auszuprobieren.
Bin schon gespannt ob ich das mit meinem Anfängerwissen richtig verbaut bekommen.


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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 17. Apr. 2009 08:57    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 woppi 10 Unities + Antwort hilfreich

@CADchup
ja klar - ist hier ja nun mal gefordert (AWS)

@woppi
und zudem fällt mir gerade noch auf das uns immernoch nicht verraten wurde wofür der AWS der Texte sein soll ??

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Apr. 2009 09: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 Nur für woppi 10 Unities + Antwort hilfreich

(aufdenBodenstampf)...ja, aber wer hat denn mit dem Listenkram angefangen? ...

Knackpunkt ist IMHO  am Ende die DXF-Ausgabe.
Die verhaftet als command-Aufruf oder ActiveX-Methode einfach die ganze Zeichnung - setzt also voraus, dass die ungewünschten Objekte gelöscht wurden. Und die sucht man sich am besten über die Listen-Funktionen zusammen und entsorgt sie am Ende über sowas wie  (mapcar 'entdel entlist). Nachteil: Vor der DXF-Ausgabe muss man noch bereinigen, weil sonst die Definitionen der gelöschten Objekte mitkommen.

Besser eignet sich also der WBLOCK-command, bzw. die entsprechende ActiveX-Methode - und die erwartet einen Auswahlsatz. Punkt.


Gruß
CADchup

------------------
CADmaro.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: 17. Apr. 2009 09:52    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 woppi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADchup:
(aufdenBodenstampf)...ja, aber wer hat denn mit dem Listenkram angefangen? ... 

Knackpunkt ist IMHO  am Ende die DXF-Ausgabe.
Die verhaftet als command-Aufruf einfach die ganze Zeichnung ...


also ich kann auch Objekte wählen ..


Befehl: DXFOUT

Zeichnung speichern unter
<K:\Archiv\Test.dxf>:

Aktuelle DXF-Einstellungen: Genauigkeit= 16 Format= ASCII Voransicht= Nein
Version= 2007

Anzahl Dezimalstellen eingeben (0 bis 16) oder [Binär/Objekte
wählen/VOransicht/Version] <16>: o

Objekte wählen: Entgegengesetzte Ecke angeben: 21 gefunden

Objekte wählen:

Anzahl Dezimalstellen eingeben (0 bis 16) oder [Binär/Objekte
wählen/VOransicht/Version] <16>:
Eine Zeichnung mit diesem Namen besteht schon.
Wollen Sie sie ersetzen? <N> j

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Apr. 2009 10: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 Nur für woppi 10 Unities + Antwort hilfreich

Hi,

:top
ein tolles Beispiel dafür, was passiert, wenn man die Befehlszeile nicht mitliest! 


Danke,
CADchup

------------------
CADmaro.de

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 10: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

@CADFFM
und zudem fällt mir gerade noch auf das uns immernoch nicht verraten wurde wofür der AWS der Texte sein soll ??[b]

Der ganze Auswahlsatz wird nach 0,0 kopiert und bei Bedarf gedreht, und dann als DXF gespeichert:

  (Command "_saveas" "dxf" "V" "2000" "O" aws aws1 aws2 "" "16" name "j") ;überschreibt wenn vorhanden!
  (Command "_.ERASE" aws2 aws1 "")
und der Text muß in der Zeichenreihenfolge ganz oben liegen, damit die Steuerdatei erst den Namen der im Text angegebenen Unterprogramme hat, und dann erst den Include-Befehl in der CNC auslößt.
Hier der Abschnitt der Steuerdatei:

[DUMMY]
IF_LAYER=IMA_INCLUDE*
SETVAR = 37,STRTOKEN #LAYER, '_',2
IF_CMP=GRE #VAR37,#VAR34
SETVAR = 35,1

[SWVD1_60]
IF_LAYER=IMA_INCLUDE*
IF_ENTITY=MTEXT   
IF_CMP=LES #VAR35,99980
;Schaltet aus wenn schon ein Unterprogrammaufruf gesetzt ist
SETVAR = 35,99990
SETVAR = 36,Include_
SETVAR = 37,STRTOKEN #LAYER, '_',2
SETVAR = 34,STRTOKEN #LAYER, '_',2
SETVAR = 38,$
SETVAR = 39,_Variable
P=BEZB, STRCAT #VAR36,#VAR37,#VAR39
P=VAR, STRCAT #VAR36,#VAR37,#VAR38
P=WERT,#TEXT
P=AFB,1

[SWVD1_60]
IF_LAYER=IMA_INCLUDE*
IF_ENTITY=TEXT   
IF_CMP=LES #VAR35,99980
SETVAR = 35,99990
SETVAR = 36,Include_
SETVAR = 37,STRTOKEN #LAYER, '_',2
SETVAR = 34,STRTOKEN #LAYER, '_',2
;VAR 34 um bei neuer Nummer wieder einzuschalten
SETVAR = 38,$
SETVAR = 39,_Variable
P=BEZB, STRCAT #VAR36,#VAR37,#VAR39
P=VAR, STRCAT #VAR36,#VAR37,#VAR38
P=WERT,#TEXT
P=AFB,1

[SWVD1_60]
IF_LAYER=IMA_INCLUDE*
IF_ENTITY=POINT
IF_CMP=LES #VAR35,99980
SETVAR = 36,Include_
SETVAR = 37,STRTOKEN #LAYER, '_',2
SETVAR = 34,STRTOKEN #LAYER, '_',2
SETVAR = 38,$
SETVAR = 39,_Variable
P=BEZB, STRCAT #VAR36,#VAR37,#VAR39
P=VAR, STRCAT #VAR36,#VAR37,#VAR38
P=AFB,1

[SWINCL60]
IF_LAYER=IMA_INCLUDE*
IF_ENTITY=POINT
SETVAR = 35,99990
SETVAR = 36,Include_
SETVAR = 37,STRTOKEN #LAYER, '_',2
SETVAR = 38,$
P=BEZB, STRCAT #VAR36,#VAR37
P=NAME, STRCAT #VAR36,#VAR37,#VAR38
P=POSX, #GROUP10
P=POSY, #GROUP20
P=DWKL, DrehWKL
P=KMI, 1
P=PKTBEZUG_XY, 0


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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 11:29    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

Sorry , aber ich schaffe es ja noch nichteinmal aus einem Auswahlsatz eine Liste zu erstellen:
wennn ich den Code:

(defun c:test4()  ;Test Auswahlsatz in Liste umwandeln
(defun bau_elemli (asatz / n elemli)
  (setq n 0)
  (repeat (sslength asatz)
    (setq elemli(cons (ssname asatz n) elemli)
  n (1+ n))
    )
  elemli
  )
(setq ELEMLI (bau_elemli (ssget))) => (<Objektname: 7e0a3cc0> <Objektname: 7e0a3da0> <Objektname: 7e0a3da8> )
 
(prompt  ELEMI)
)

benutze.
Kommt die Fehlermeldung: no function definition: <OBJEKTNAME:

Ich stelle mich wahrscheinlich super doof an!

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Apr. 2009 11: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 Nur für woppi 10 Unities + Antwort hilfreich

(defun c:test4 (/ ELEMLI)
  ;;Test Auswahlsatz in Liste umwandeln
  (setq ELEMLI (bau_elemli (ssget)))
  (foreach elem elemli
    (princ elem)
  )
  (princ)
)

(defun bau_elemli (asatz / n elemli)
  (setq n 0)
  (repeat (sslength asatz)
    (setq elemli (cons (ssname asatz n) elemli)
  n (1+ n)
    )
  )
  elemli
)

mfg heiko

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 12: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

Hallo Heiko,

vielen Dank, da ich leider nur ca. die Hälfte genau verstehe (Ihr Profis spart immer mit Kommentaren),
kann ich jetzt nicht nachvollziehen warum diese Fehlermeldung jetzt kommt:

no function definition: ASATZ



PS: Ich versuche mir auch immer mit dem AutoLISP-Handbuch.doc zu helfen.

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Apr. 2009 12:08    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 woppi 10 Unities + Antwort hilfreich

Hi,

Das ist eine Sub-Funktion, diese baut dir eine Liste aus den Elementen des Auswahlsatzes (ssget) zusammen.

(defun bau_elemli (asatz / n elemli)
  (setq n 0);;counter
  (repeat ;;begin schleife
  (sslength asatz);;bedingung: länge auswahlsatz
    (setq elemli  ;;liste
                (cons ;;packe zu liste
                  (ssname asatz n);;objektname aus asatz an stelle n
                elemli)
  n (1+ n);; Zähler hoch zählen
    );;end setq
    );; end repeat
  elemli ;;rückgabe
  )

So rufst du die Sub auf und erhälts in "elemli" die Liste der Element.
(setq ELEMLI (bau_elemli (ssget)))

Dies oder so ähnlich ist dein Ergebnis, also der Inhalt der Liste.
(kein Befehl, kein Aufruf, keine Variable ....)
=> (<Objektname: 7e0a3cc0> <Objektname: 7e0a3da0> <Objektname: 7e0a3da8> )
(=> steht für Ausgabe/Ergebnis)

Rest zum weiteren Bearbeiten, siehe oben.

mfg heiko

[Diese Nachricht wurde von Dorfy am 17. Apr. 2009 editiert.]

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 12: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

Super!

Die Erklärungen haben geholfen (ich war gar nicht so auf dem Holzweg!)

Hatte die Funktion: bau_elemli nicht richtig eingeklammert.
Jetzt ist die Fehlermeldung weg und als Ausgabe erscheint die Liste.
Das finde ich ja schon ziemlich gut.
Dann werde ich mich mal an das sortieren der Liste machne, und wenn das funktioniert an die
Rückumwandlung in einen Auswahlsatz.

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 13:36    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 glaube ich bin der Aufgabe nicht gewachsen.

Jetzt habe ich zwar meine Objektliste, ich weiß auch wie man Listen sortiert,
aber die Liste besteht doch nur aus den Opjektnamen.  (Oder sehe ich das falsch?)
Wie kann ich da auf X-Koordinaten zugreifen?

Ich glaube das ist eine Nummer zu groß für mich!

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. Apr. 2009 13: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 Nur für woppi 10 Unities + Antwort hilfreich

(entget OBJEKT) liefert dir die GC-Liste ....

aber so ganz ohne Vorkenntnisse und Peilung .... Einfach was zusammenzukopieren klappt halt nicht immer... Wenn du Zusammenhänge suchst :  informier dich hier

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 14:06    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

Du hast ja recht,

Die mapcar Seiten sind auch in meiner favoritenliste abgespeichert, und das "Kochbuch" habe ich auch.
Aber wenn man nicht die Zeit hat alles Seite für Seite durchzuarbeiten, ist es halt manchmal schwer zu verstehen.
Oder doch Komplizierter als man sich das als Anfänger vorgestellt hat.

Ich bin ja eigentlich auch Tischlermeister und kein Informatiker oder technischer Zeichner.


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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 17. Apr. 2009 14:51    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 woppi 10 Unities + Antwort hilfreich

Hi,
Zitat:
Original erstellt von woppi:
...Aber wenn man nicht die Zeit hat alles Seite für Seite durchzuarbeiten, ist es halt manchmal schwer zu verstehen.
Oder doch Komplizierter als man sich das als Anfänger vorgestellt hat.


dann hättest du spätestens bei bau_elemli das weiße Fähnchen schwenken sollen. 

Du muss nicht Seite für Seite durcharbeiten, dein Einstieg ist bei Seite 99: Die relevanten Funktionen werden genannt, kleine Beispiele gelistet und zusammen mit der Hilfe, einem regnerischen Wochenende und dem, was hier schon gesagt wurde, kommt man weiter.


Gruß
CADchup

------------------
CADmaro.de

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 17. Apr. 2009 16:10    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,

dann gib mir doch noch einen Tip, soll ich jetzt mit Auswahlzätzen arbeiten, oder besser mit Listen.

Wie gesagt es geht darum alle Elemente (egal welchen Types) eines Auswahlsatzes nach den X-Koordinaten in der Reihenfolge zu sortieren, und dann als DXF2000 zu speichern.

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Apr. 2009 18: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 woppi 10 Unities + Antwort hilfreich

hi,
na es ist doch eigentlich alles gesagt

Auswahlsatz --> Liste ---> Sortierte Liste ---> Auswahlsatz -->DXF Speichern

...und los 

mfg heiko

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 17. Apr. 2009 23: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 Nur für woppi 10 Unities + Antwort hilfreich

Schau dir zum sortieren in der Hilfe mal "VL-SORT" an, da gibt es ein fast schon perfektes Beispiel.
hier mal abgeändert (du benötigst nur die 2.Zeile):


(mapcar'(lambda(e)(princ(strcat"\n"(rtos(cadr(assoc 10 (entget e)))2 0) " - " (cdr(assoc 0 (entget e))))))
(vl-sort (bau_elemli (ssget))'(lambda(S1 S2)(< (cadr(assoc 10 (entget S1))) (cadr(assoc 10 (entget S2))))))
)

CADffm stellt sein silbernes Tablett zu CADchup´s und verschwindet in den Feierabend.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

[Diese Nachricht wurde von cadffm am 17. Apr. 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