Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Listen

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:  Listen (1205 mal gelesen)
m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


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

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 20. Aug. 2001 21: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

Hallo,

ich habe eine LISP geschrieben, wo Blöcke mit Attributen eingefügt werden, dabei möchte ich aber die Attributwerte (z.B 2 Attribute) mit einer Liste übergeben. Wie macht mann das ?

meine Liste:
bei (princ MAINLIST) erscheint folgendes
(1245 abcd)("12345" "abcd")
nun der Einfügebefehl
(command "-EINFÜGE" Einfügepkt XFakt YFakt ZFakt Winkel (MAINLISTE))

ich bekomme die Fehlermeldung
Nicht beendigtes komplexes Objekt

Danke im vorraus Mario

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

Marco Müller
Mitglied
Konstrukteur Versorgungstechnik


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

Beiträge: 241
Registriert: 12.03.2001

Acad2002 (engl.)
LiNear 3D-Heizzentrale
WinXP SP1
AMD 2,8 GHz 1GB RAM
GF FX5700 128MB

erstellt am: 21. Aug. 2001 08:13    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 m-troeger 10 Unities + Antwort hilfreich

Hallo Mario,

kann es sein, dass du dich verschrieben hast: Einmal MAINLIST und dann MAINLISTE? Wenn nicht, dann teil doch mal deine Liste auf. Da AutoCAD nacheinander alle Attribute abfrägt, brauchst du beim Einfügen nur sagen was drinstehen soll. Beispiel: Attribut 1 soll "123" enthalten und Attribut 2 "ABC", dann:

(setq attrib1 "123" attrib2 "ABC")
(command "-EINFÜGE" Einfügepkt XFakt YFakt ZFakt Winkel attrib1 attrib2)

Gruss
Marco

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

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


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

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 21. Aug. 2001 18: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

Hallo Marco,

danke esrtmal, so wie Due mir das beschrieben hast ist mir das klar. Ich möchte aber Blöcke mit wesentlich mehr und unterschiedlich vielen Attributen einfügen. Deshalb versuche ich dies über eine Liste, welche jeweils soviel Werte enthält wie mein Bloch Attribute hat.

Mario

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

Brischke
Ehrenmitglied V.I.P. h.c.
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: 4185
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 22. Aug. 2001 08:13    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 m-troeger 10 Unities + Antwort hilfreich

Hallo Mario,

folgende LISP-Zeilen erfüllen deine Anforderungen. Ich denke, das kannst du deinen speziellen Bedürfnissen anpassen.

Bei Fragen ...

Grüße Holger

(setvar "attreq" 1);Sicherstellen, daß Attribute abgefragt werden
(setq ATTLI (list "12345697" "PROJEKTNAME" "DWGNAME" "GRUNDRISS"));Listenwerte in Reihenfolge der Attributabfrage
(command "_.INSERT" "PLANKOPF" "0,0" "" "" "");Einfügen des Blockes OHNE Attribute auszufüllen
(mapcar '(lambda (WE);Attribute ausfüllen
  (command WE)
  )
ATTLI
)
(while (= 1 (getvar"cmdactive"));Falls mehr attribute abgefragt werden, werden diese leer (oder auf Vorgabe) gelassen
  (command "")
  )

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

nahe
Ehrenmitglied



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

Beiträge: 1738
Registriert: 18.01.2001

erstellt am: 22. Aug. 2001 08: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 Nur für m-troeger 10 Unities + Antwort hilfreich

Hallo Mario

anbei ein kleines Programm, welches Dein Problem lösen sollte

(defun C:BLINS ( / bname winkel scalef alst p1 cmd n)
 
  (setq bname "B1")
  (setq winkel 0)
  (setq scalef 1) 
  (setq alst '("Attribut1" "Attribut2"))
 
  (if (setq p1 (getpoint "Einfügepunkt: "))
    (progn     
      (setq cmd (list winkel scalef scalef 'p1 bname "_-INSERT" 'command))
      (foreach n alst
(setq cmd (cons n cmd))
      )
      (eval (reverse cmd))
    ) 
  )    

Der "Trick" dabei ist, die Liste zum Einfügen des Block nicht "starr" zu erstellen, sondern vom Programm aus erstellen zu lassen, (einer der großen Vorteile von LISP).

Grüße
Heinz

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

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


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

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 22. Aug. 2001 20: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

Hallo Heinz,

dein Code funktioniert absolut, coole Sache.
Ich lisp'le zwar schon eine ganze Weile, aber darauf wäre ich nicht gekommen. Da hab ich richtig was dazu gelernt, hah also noch mal schönen Dank.

Tschüß Mario

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