| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: ssget Problem (1878 mal gelesen)
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 05. Sep. 2008 12:33 <-- editieren / zitieren --> Unities abgeben:
Hallo ihr! Hab mal wieder was mitgebracht. Ich weiss nicht, was ich an folgendem Code falsch mache: Code: (defun c:test ;Funktion test () ;Abl1: Ablage1, myfilter: eigener Filter für die Objektauswahl (setq myfilter (list (cons 0 "Circle") (cons 8 "Kreislayer"))) ; myfilter wird definiert (setq abl1 (ssget W myfilter)) ;Auswahlsatz wird abgefragt und mit den Informationen aus myfilter gefiltert. (if abl1 (progn (alert "Die Objektauswahl ist gültig!") ) ;end progn (alert "Die Objektauswahl ist ungültig!") ) ; end if end) ;end defun
Die Fehlermeldung lautet: Fehlerhaftes Punktelement. Kann mir mal bitte jemand die Augen öffnen, bin ja noch ein Anfänger. ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 05. Sep. 2008 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 05. Sep. 2008 12:47 <-- editieren / zitieren --> Unities abgeben:
Genau da ist mein Problem. Ich kann in der Befehlszeile zwar Code: (ssget W)
eingeben und kann dann Objekte auswählen, aber wenn ich Code: (ssget "_W")
eingebe kommt "Fehlerhaftes Punktargument". Viele Grüße, Sebastian ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Sep. 2008 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 05. Sep. 2008 12:56 <-- editieren / zitieren --> Unities abgeben:
Ich hatte das so verstanden, dass diese beiden Punkte (dieses Window) von mir auch mit der Maus bestimmt werden können. Hm, wohl nicht korrekt gedacht. Vielen Dank! Sebastian ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Sep. 2008 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 05. Sep. 2008 13:03 <-- editieren / zitieren --> Unities abgeben:
Das Problem ist leider noch nicht behoben. Lasse ich in der Zeile Code: (setq abl1 (ssget W myfilter))
das W weg bekomme ich als Fehler ((0 . Circle) (8 . Kreislayer)); Fehler: Fehlerhaftes Punktargument. Ist denn jetzt noch was an meiner "myfilter" Liste falsch? Ich dreh hier noch durch. Sieht eigentlich alles logisch aus für mich. Viele Grüße, Sebastian ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 05. Sep. 2008 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
(ssget "_w" (setq a(getpoint "\nErster Punkt:"))(getcorner a "\nZweiter Punkt")(list (cons 0 "Circle") (cons 8 "Kreislayer"))) und bitte, drück F1 und guck dir die Beispiele dazu an. ------------------ - 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 |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Sep. 2008 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 05. Sep. 2008 13:14 <-- editieren / zitieren --> Unities abgeben:
Jo! Ich Dussel habe den Namen der Funktion in "Test" geändert, aber immer mit dem alten Namen gestartet. Vielen Dank nochmal! Sebastian ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sponk-mg Mitglied
Beiträge: 38 Registriert: 10.10.2011
|
erstellt am: 19. Okt. 2011 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
Hallo, ich versuche vergeblich, sämtliche Bemaßungen in einer Zeichnung auszuwählen. Die Ausgabe ist immer nil. (ssget "_X" '((0 . "DIMENSION" )(70 . 0)(70 . 1))) Wer hat Rat? Gruß Martin ( noch blutender Anfänger) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 19. Okt. 2011 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Okt. 2011 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
( FETT=geändert ) Das der gc70 GLEICHZEITIG den Wert 0 und 1 hat ist unwahrscheinlich, daher wäre dein Gedanke so umzusetzen: (ssget "_X" '((0 . "DIMENSION")(-4 . "<OR")(70 . 0)(70 . 1)(-4 . "OR>"))) oder auch (ssget "_X" '((0 . "DIMENSION")(-4 . "<")(70 . 2))) (wobei das ja NICHT ALLE Bemaßungen wählt..!) Auch ein (ssget "_X" '((0 . "DIMENSION"))) ist Diskussionswürdig, willst du Führungen dabei haben (eher unwahrscheinlich) ? Dann wäre dies das Objekt LEADER und Multileader wären MULTILEADER. Die relativ neue Bogen(längen)Bemaßung fällt aber auch durch´s Raster, dafür müßte man den Code mindestens so erweitern: (ssget "_X" '((0 . "*DIMENSION"))) oder auch (ssget "_X" '((0 . "DIMENSION,ARC_DIMENSION"))) ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 19. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 19. Okt. 2011 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
na gut, wenn Cadffm so ausführlich antwortet, will ich mich nicht lumpen lassen. Grundsätzlich gilt bei den Filterlisten folgendes: + alles Filter die angegeben werden, sind UND- verknüpft. Will man das nicht, kann man entweder mit den logischen Operanden (-4 . "<..") .. (-4 . "..>") arbeiten, oder bei Zeichenketten dann durch Ausnutzen der Möglichkeit mit Zeichenkettenmustern zu arbeiten andere Verknüpfungen integrieren. Zum Bsp: alle Polylinien und Linien wählen (ssget "_X" '((0 . "*LINE"))) oder : alle(M)Texte und Linien auf den Layer A oder B wählen: (ssget "_X" '((0 . "*TEXT,LINE")(8 . "A,B"))) In Kombination hat man so allerhand Möglichkeiten, relativ einfach die gesuchten Objekte zu wählen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sponk-mg Mitglied
Beiträge: 38 Registriert: 10.10.2011
|
erstellt am: 19. Okt. 2011 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
sponk-mg Mitglied
Beiträge: 38 Registriert: 10.10.2011
|
erstellt am: 20. Okt. 2011 20:13 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
Stichwort: Zusammengehörige Formatierungen. Ich habe in einer Zeichnung Text deren Inhalt in geschweißten Klammern steht {....}. Selbiges Problem habe ich mit Blockreferenzen und deren Namen. Die Namen stehen auch in geschweißten Klammern. In beiden Fällen stehen Formatierungen voran. Wie kann ich mit ssget auf Namen der Blöcke bzw. Inhalt der Text zugreifen? Danke schön. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Okt. 2011 22:08 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 21. Okt. 2011 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|