| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Block mit variabler Anzahl von Attributen einfügen (1243 mal gelesen)
|
SebZ Mitglied Bauingenieur Tiefbau
Beiträge: 189 Registriert: 17.10.2004 AutoCAD 2010 Civil 3D DACH WinXP Professional 2002 SP3 MS Office 2007 Intel Core2Duo 2.80 GHz, 3.00 GB RAM
|
erstellt am: 18. Dez. 2006 16:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich seh mal wieder den wald vor Bäumen nicht: mit Code: (command "_-insert" Blockname Punkt X Y Drehung <Attribute> )
will ich verschiedene Blöcke mithilfe einer einzigen Routine einfügen. Die Blöcke können unterschiedlich viele Attribute haben oder auch gar keins. Wie kann ich die dem COMMAND-Befehl übergeben? Erster Gedanke: Liste mit den Attributwerten belegen und die einzelnen Elemente innerhalb COMMAND INSERT aufrufen, also auch Liste=NIL, wenns keine Attribute gibt. Aber sowohl FOREACH als auch WHILE geben nur das letzte Element zurück, und MAPCAR gibt eine Liste zurück. Sicherlich ein altes Problem, aber den richtigen Thread hab ich auch nicht gefunden.
------------------ Gruß SebZ 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: 18. Dez. 2006 16:50 <-- editieren / zitieren --> Unities abgeben: Nur für SebZ
mal ein Bsp-Code (setq ATTLIST '("A" "B" "C")) (setvar "Attdia" 0) (command "_-insert" Blockname Punkt X Y Drehung) (while (/=(getvar "cmdactive")0) (if (=(type (car ATTLIST))'STR) (command (car ATTLIST)) (command " ") ) (setq ATTLIST(cdr ATTLIST)) ) .. denke sagt mehr als Worte ------------------ 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 |
SebZ Mitglied Bauingenieur Tiefbau
Beiträge: 189 Registriert: 17.10.2004 AutoCAD 2010 Civil 3D DACH WinXP Professional 2002 SP3 MS Office 2007 Intel Core2Duo 2.80 GHz, 3.00 GB RAM
|
erstellt am: 18. Dez. 2006 17:15 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Dez. 2006 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für SebZ
Eigentlich ist das doch nicht so wild. Du rufst den commandteil bis zu den Attributen auf, dann kannst du in 'ne while-schleife und mit der Abfrage von cmdecho prüfen, wie lange Attribute abgefragt werden und die dann eben so lange ausfüllen. Oder was noch besser, oder sicherer ist, die Blockreferenzen ohne Attributeingabe (attreq 0) und dann per (entlast) auf die Referenz zugreifen, die Attribute durchlaufen und dann ausfüllen ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |