| |
| 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: car und cdr Salat aus A´s und D´s (1894 mal gelesen)
|
PsycoDad Mitglied Bauleiter
Beiträge: 54 Registriert: 10.11.2005 AutoDesk AutoCad 2005, Pentium 4 2,8Ghz 1024RAM Asus P4P800 ATI READON 9600 Pro 256MB
|
erstellt am: 15. Jun. 2012 07:54 <-- editieren / zitieren --> Unities abgeben:
Hallo LISP´ler, hab mal wieder das alte Problem mit Punktwolken import aus einem txt-File. Ich habs wirklich versucht, versteh aber einfach nicht wie ich die Listen-Auswahl Befehle (car, cdar, caar) richtig anwende. Meine Datei sieht so aus -> PNR X Y Z COD (siehe Anhang) wie muss ich "car" umbauen das es mir X und Y zurück liefert, wie das es mir Z zurück gibt? Über ne Hilfe bin ich wie immer Dankbar, vielleicht versteh ichs je dann endlich. Gruß Peter ------------------ Essen und schlafen, macht niemand zum Grafen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 15. Jun. 2012 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
Hallo Peter, wenn du dich auf einen eigenen 4 Jahren alten Beitrag beziehst, wäre Verlinken nicht schlecht, sonst ist der Zusammenhang nur dir klar aber keinesfalls für die anderen Mitglieder ersichtlich. Wenn es immer noch ums Einlesen von Punkten geht und du immer noch Student bist - lade dir AutoCAD Civil 3D hier herunter und verwende den Befehl IMPORTPOINTS. Wenn du selber ein Lisp Programm geschrieben hast (aus den Codeschnipseln des verlinkten Beitrags) und dazu noch Fragen hast, dann poste deine Quelltext ebenfalls hier - nicht nur deine Koordinatenliste. Wenn es dir nur um das Einlesen dieser Koordinatenliste geht, die könntest du mit einem Texteditor auch schnell in ein AutoCAD Script umbauen (dazu gibts ebenfalls diverse Beiträge). ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de [Diese Nachricht wurde von CAD-Huebner am 15. Jun. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Jun. 2012 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Jun. 2012 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
Zitat: Original erstellt von PsycoDad: ... versteh aber einfach nicht wie ich die Listen-Auswahl Befehle (car, cdar, caar) richtig anwende. ...
Hallo Peter, (setq liste '("-1-" "-2-" "-3-" "-4-" "-5-" "-6-" "-7-" "-8-")) ;Grundsätzlich gilt ; a -> erstes Element einer Liste wird ermittelt ; d -> die Liste ohne das erste Lement wird ermittelt ; daraus folgt: (car liste); gibt das erste Element zurück -> "-1-" (cdr liste); gibt die Liste ohne das erste Element zurück -> '("-2-" "-3-" "-4-" "-5-" "-6-" "-7-" "-8-") ;nun kann man die a's und d's bis zu 4 Ebenen beliebig verschachteln, ohne dass man mit den beiden obigen Funktionen (car ..) und (cdr ..) kombinieren muss ;Die Reihernfolge, was gemacht wird, liest man wie immer von Innen nach außen, was hier von rechts nach links entspricht (cadr liste) ;entspricht also (car(cdr liste)) ;oder (caddr liste) ;entspricht also (car(cdr(cdr liste))) ;entspricht aber auch (car (cddr liste)) ;entspricht aber auch (cadr(cdr liste)) 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 |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 15. Jun. 2012 21:19 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 16. Jun. 2012 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
Und wer mit car & cdr nicht durchsteigt kann sich auch mit (nth Position liste) durchblättern) auf cadmiums beispiel bezogen (nth 0 '("1002" "3513282.268" "5405418.475" "254.516" "284"))->"1002" ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PsycoDad Mitglied Bauleiter
Beiträge: 54 Registriert: 10.11.2005 AutoDesk AutoCad 2005, Pentium 4 2,8Ghz 1024RAM Asus P4P800 ATI READON 9600 Pro 256MB
|
erstellt am: 18. Jun. 2012 15:32 <-- editieren / zitieren --> Unities abgeben:
Erstmal Danke euch allen für die Hilfe. Bin kein Student mehr, werde mein Profil gleich bearbeiten. Entschuldige mich für den fehlenden Link. Hab mich für die "nth"-Version entschieden, da ich mit "car" und "cdr" immer Probleme hab. An "nth" hat ich gar nicht mehr gedacht. Arbeite nur noch sehr selten mit AutoCAD. Mein Lisp sieht momentan so aus: Zitat: (defun c:test (/ file zeile) (setq file (getfiled "Verzeichnisliste" "" "" 2)) (if file (progn (setq file (open file "r")) (while (setq zeile (read-line file)) (setq LISTE (read(strcat "(" zeile ")"))) (command "_.point" (list (nth 1 LISTE) (nth 2 LISTE) 0) "" "" "") (command "_.text" (list (1+(nth 1 LISTE)) (1+(nth 2 LISTE)) 0) 0.0 (nth 3 LISTE) "" "" ) ) (close file) ) (alert "Keine Date gewählt!") ) ) (princ "\nStarten mit test")
Ich setz nen Punkt aus meiner Koordinaten Datei auf die X-Y-Ebene, und daneben setzt ich meinen Z-Wert als Text. Ist jetzt zwar nicht mehr dem Beitragsthema entsprechend, aber könnte mir einer ne Hilfestellung geben, wie ich mit der Funktion "_.text" klar komme. Also wie ich die Textart, Höhe, Beschriftung auf "NEIN" setze. Verschwitzte Grüße Peter ------------------ Essen und schlafen, macht niemand zum Grafen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 18. Jun. 2012 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
Zitat:
aber könnte mir einer ne Hilfestellung geben, wie ich mit der Funktion "_.text" klar komme. Also wie ich die Textart, Höhe, Beschriftung auf "NEIN" setze.
Hallo Peter, gehe mal den Textbefehl in der Befehlszeile durch. Genauso mit allen Optionen musst Du dass dann an "command" übergeben also z. B. Code:
(command "_.text" "_style" textstilname ... )
Texthöhe wird nur abgefragt (und kann nur eingegeben werden) bei Textstilen, denen nicht schon eine Höhe zugewiesen wurde.HTH Gruß Thomas 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: 19. Jun. 2012 00:40 <-- editieren / zitieren --> Unities abgeben: Nur für PsycoDad
|