| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: ssget mit Variablen im Filter ? (2750 mal gelesen)
|
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 12. Jul. 2005 16:41 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum! Ich möchte mit ssget Auswahlsatzfilter für Layer benutzen. Mit (8 . "0") kann ich beispielsweise die Elemente vom Layer "0" auswählen. Wie lautet die Schreibweise, wenn ich den Layernamen aus einer Variablen "layername" verwenden möchte? Mit (8. layername) kommt eine Fehlermeldung "bad SSGET list value" Danke vorab für die Hilfe! Gruß, Manfred
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 12. Jul. 2005 16:48 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
|
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 12. Jul. 2005 17:20 <-- editieren / zitieren --> Unities abgeben:         
hi, Thomas, danke für Deine Antwort! Funktioniert leider nicht. Ich brauche einen ssget mit Auswahlfilter, wo der Name des Layers nicht fest eingetragen ist, sondern über eine Variable angesteuert werden kann. Diese Variable trägt den jeweiligen Layernamen als String. Die Frage ist, wie lautet der korrekte Syntax in ssget für eine Variable? gruß, Manfred
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danielboukreev Mitglied

 Beiträge: 27 Registriert: 10.03.2005
|
erstellt am: 12. Jul. 2005 17:37 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
liegt am ' (Quote) - gequotete argumente werden nicht evaluiert - sprich so interpretiert wie sie dastehen, variablen also nicht gefüllt... (setq ssvariable "LAYERNAME") (setq ss (ssget "X" (list (cons 8 ssvariable)))) gruß
daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 12. Jul. 2005 17:38 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
|
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 12. Jul. 2005 17:51 <-- editieren / zitieren --> Unities abgeben:         
Danke Daniel für den Tip! Leider kann ich bei mir dies nicht sinvoll einbauen. Mein Auswahlsatz lautet: (setq ob_wahl (ssget "X" '( (0 . "INSERT")(-4 . "<OR") (2 . "OF_CAD0") (2 . "OF_CAD1") (2 . "OF_CAD2") (2 . "OF_CAD3") (2 . "OF_CAD4") (2 . "OF_CAD2P") (2 . "OF_CAD3P") (2 . "OF_CAD4P") (-4 . "OR>") (8 . "0") (50 . 0) (10 . (0 0 0)) ) ) ) Wobei ich den (8 . "0") mit Variable belegen möchte. Mit (cons 8 ssvariable) kommt nur Fehlermeldung. Hättest Du eine Idee? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 12. Jul. 2005 18:01 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Wie Daniel bereits geschrieben hat: mit einer gequoteten List klappt es nicht... Wie heisst denn deine Variable der du den Layernamen zuweist ? Hoffentlich ssvariable, weil sonst ist da noch ein zweiter Bug drin... ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 12. Jul. 2005 18:15 <-- editieren / zitieren --> Unities abgeben:         
meine Variable heisst "lay_border", aber ich habe die richtig gesetzt, also nicht daran's lag. Könnte ich eventuell die ssget befehle verschachteln, indem ich eus einer Auswahl eine weitere, engere mache? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 12. Jul. 2005 18:37 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Wieso ? Brauchst du gar nicht... Code:
(setq laynam (getstring "\nLayer name: ")) ;;; oder wie du das dann immer nennen willst... (ssget "X" (list '(0 . "LINE") (cons 8 laynam) ) )
Kleiner Tipp am Rande - bring deinen Code in eine ordentlich Form - sonst wird dir ziemlich schnell ein "malformed input" passieren... ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 12. Jul. 2005 19:29 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
so sollte es klappen: (setq LAYERNAME "0") (setq ob_wahl (ssget "X" (list '(0 . "INSERT") (cons 8 LAYERNAME) '(-4 . "<OR") '(2 . "OF_CAD0") '(2 . "OF_CAD1") '(2 . "OF_CAD2") '(2 . "OF_CAD3") '(2 . "OF_CAD4") '(2 . "OF_CAD2P") '(2 . "OF_CAD3P") '(2 . "OF_CAD4P") '(-4 . "OR>") '(50 . 0) '(10 . (0 0 0)) ) ) ) ------------------ - 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 |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 12. Jul. 2005 20:37 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Der Weg, wie Cadmium ihn beschrieben hat, ist der richtige. Manfred, nur zur Zusatzinfo (und alle anderen, die es interessiert, ebenso): QUOTE in den Formen '( ...) und (quote ( ...)) bedeutet immer, dass innerhalb der Funktion QUOTE alles so genommen wird, wie es dasteht. Variablennamen werden nicht interpretiert. Das, was du gerne möchtest, ist ein BACKQUOTE - eine Ausnahme sozusagen. Innerhalb eines QUOTEs soll an einer Stelle doch interpretiert werden. In allen Lisp-Dialekten gibt es das Backquote-Zeichen ` bzw. die Funktion BACKQUOTE, nur in AutoLisp hat man leider den kompletten Backquote-Mechanismus ausgebaut*. Damit muss man sich als AutoLisp-User einfach abfinden. Das heisst, außen ein LIST statt QUOTE, dafür innen viele Quotemarks, ausser an der Backquote-Stelle. *) Ausgebaut bedeutet hier: Im Originalcode von XLisp (David Betz), den Autodesk für AutoLisp erwendet hat, war er drin, ebenso wie optionale Funktionsargumente, Hooks usw. Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 12. Jul. 2005 20:48 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Hi Axel .. hast du noch mehr Anekdoten aus der Historie? Wie wäre es, wenn du solche Beiträge mal als "gesammelte Werke" mit auf deine Seiten packst. Interessiert bestimmt noch mehrere.. Da fällt mir die "Debug-erklärung" ein und der Beitrag zum Laufzeitverhalten von append und cons mit den Kerzen die Treppe rauf ... Wieviel Stimmen brauchst du, die dich überzeugen? ------------------ - 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 |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 12. Jul. 2005 21:45 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Das ist ja nun eigentlich keine Anekdote, oder? Lustig ist da nur mein kleiner Tippfehler, dass Autodesk den Code "erwendet" hat;-) Aber um doch noch eine Anekdote draus zu machen: Autodesks Lisp basiert also auf Davids Code, das stand sogar in den Handbüchern drin, bis dann VisualLisp kam, das von Sergej??? stammt, aus Moskau. Wie dem auch sei, ich habe mich über Jahre mit den Lisp- und Scheme-Interpretern von David auseinandergesetzt. 2003 habe ich in den USA Urlaub gemacht, und zwar in der Nähe von Peterborough, New Hampshire. Irgendwie hat mir der Name "Peterborough" auch was gesagt, aber ich wusste nicht was. Ein richtig netter New England-Ort übrigens, klein, aber fein, nette Strassencafes und ein Fotohändler, bei dem ich mir noch eine Kamera gekauft habe. Richtig schön da, ich würde gerne wieder ein paar sonnige Tage in dem Cafe absitzen;-) Vielleicht sogar mit dem Notebook, und was programmieren, was der Schönheit dieses Ortes entspricht... Auf dem Heimflug, mitten über dem Atlantik, ist es mir dann eingefallen: Peterborough, da wohnt doch der David Betz! Tja, zu spät. Jetzt werde ich wohl nie erfahren, ob und vor allem wie Autodesk seinen Code damals "erwendet" hat. Wieder zu Hause habe ich dann rausgekriegt, dass er nur zwei Häuser weiter neben dem Cafe gewohnt hat. Inzwischen ist er umgezogen, aber nicht allzuweit, nur 10 oder 20 Meilen... Vielleicht gibt es ja doch noch eine Chance, ich würde sehr gerne nochmal einen Urlaub da verbringen. Übrigens: Mein Lisp-Interpreter ist nach wie vor online: http://www.mapcar.de/pils/pils.html Der kann backquoten! Gruß, Axel Strube-Zettler
------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benwisch Mitglied Bautechniker, CAD-Konstrukteur
 
 Beiträge: 375 Registriert: 01.02.2001
|
erstellt am: 13. Jul. 2005 09:41 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Zitat: Da fällt mir die "Debug-erklärung" ein und der Beitrag zum Laufzeitverhalten von append und cons mit den Kerzen die Treppe rauf ..
...oder das Funktionshandling mit dem Kaugummiautomaten (Geld rein, Gummi raus  ) ...oder das eifrige pushen und poppen Tja und wer hat schon mal vom Axel einen auf den Rüffel bekommen, daß er zu wenige setqs verwendete Ich könnte mir so eine Art FAQ vorstellen und ich würde beim heraussuchen der Beiträge sofort mithelfen wollen !!  Also, tolle Idee und hier ist meine Stimme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 13. Jul. 2005 10:13 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
|
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 13. Jul. 2005 12:43 <-- editieren / zitieren --> Unities abgeben:         
hi Axel, hi Thomas, danke für Eure Hilfe und für die ausführliche Erklärung der Hintergrundinfo! Jetzt sind mir eine genze Reihe Lisp-Befehl-Strukturen klar geworden. So funktioniert mein ssget wieder! Interessant ist weiterhin, dass der nummerische Wert "1" als Layername in die Variable gepeichert bei dem ersten Durchlauf des eingesetzten Codes nicht als String interpertiert werden konnte. Das ist aber nicht das erste Mal, dass mir sowas passiert. Hat der LISP-Interpreter unter ACAD Probleme damit? Gruß, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 13. Jul. 2005 13:00 <-- editieren / zitieren --> Unities abgeben:         
danke für den Hinweis! Zitat: Original erstellt von tunnelbauer:
Kleiner Tipp am Rande - bring deinen Code in eine ordentlich Form - sonst wird dir ziemlich schnell ein "malformed input" passieren...
Meinst Du damit die Fehlerquelle den LISP-Interpreter, der mit meinem Code-Form Fehler macht, oder mich, dass ich leichter beispielsweise Klammer-Fehler mache? Gibt es unter Lisp besser bzw. schlechter funktionierende Code-Formen, die vom Interpreter unterschiedlicherweise bearbeitet werden? Oder dienen die Code-Formen nur der Überschaubarkeit? Gruß, Manfred [Diese Nachricht wurde von ManfredMann am 13. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 13. Jul. 2005 13:06 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
wie du den Code formartierst ist dem Interpreter egal.. uns, die ihn lesen sollen aber nicht  und langfristig machst du dir mit unkommentierten unformatierten Code, nichtsprechenden Variablen usw. selbst keine Freude. Spätestens dann, wenn du anfängst dir eine Funktionsbibliothek aufzubauen. Axel? Sagst du auch mal bitte was dazu?! ------------------ - 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 |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 13. Jul. 2005 13:48 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
Mach ich doch: Erstens stimme ich dir aus Prinzip zu: Ordentlich formatierter Code ist für mich die Grundvoraussetzung, dass man seinen eigenen Code auch nach vier Wochen oder vier Jahren noch verstehen und ändern kann. Und wenn man für Geld programmiert, besteht auch die Verpflichtung dem Auftraggeber den Code so zu liefern, dass auch jemand anders damit klar kommt, falls der Code-Autor im Urlaub Bekanntschaft mit den vielfältigen Erscheinungsformen der Materialermüdung gemacht hat - beim Bungee-Jumping. Und dann ist da noch die soziale Komponente hier im Forum: Wer seinen ohnehin schon schlecht formatierten Code hier ohne ein Code-Tag drumherum in Proportionalschrift innerhalb des Lesetextes publiziert, muss damit rechnen, dass ich dann im Gegenzug einfach keine Lust habe, da noch einen Fehler drin zu suchen. Das ist für mich ein Bestandteil des höflichen Umgangs miteinander, genauso wie die Rechtschreibung und die Zeichensetzung. Hier ist das nicht so gravierend, sind ja nur ein paar Zeilen. Aber der Code im 6. Beitrag sieht aus, als habe er die Nacht auf dem Schüttelrost einer Gießerei gelegen;-) Einrücken macht nur Sinn, wenn auch ein erkennbares und adäquates System dahinter steht. Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManfredMann Mitglied CAD Konstrukteur
 
 Beiträge: 220 Registriert: 27.04.2001 Autocad 2021 / Win10- 64 bit
|
erstellt am: 13. Jul. 2005 14:08 <-- editieren / zitieren --> Unities abgeben:         
ich bitte Euch um Entschuldigung, der 6. Beitrag stammt von mir. Ich hatte natürlich nicht den Absicht mit den hereinkopierten Code denen das Leben schwer zu machen, deren Hilfsbereitschaft genoss. Bei mir im Lisp-Editor sah der Cade viel ordentlicher aus, habe ich aber versäumt vor dem Abschicken mit dem Vorschau anzuschauen. Nochmals Danke für Eure Hilfe! Gruß, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 13. Jul. 2005 16:48 <-- editieren / zitieren --> Unities abgeben:          Nur für ManfredMann
|