| |
 | 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: arrays (371 mal gelesen)
|
AB Mitglied
 
 Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 15. Okt. 2002 11:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebes Forum, ich habe eine ganze Reihe von Punkten über eine Bauteiloberfläche gelegt, die ich nach einer bestimmten Methode, zu verschiedenen einzelnen Polylinien verbinden muss. In anderen Programmiersprachen ist es ja möglich, dies mit Hilfe von arrays zu realisieren. Jetzt habe ich in der Entwicklerhilfe von VLISP nachgesehen, doch da wird unter array etwas anderes verstanden. Auch über die Suchfunktion in diesem Forum, bin ich auf keine passende Lösung gestossen. Habt Ihr sonst eine Idee, wie ich meine Punkte (die keine gemeinsamen Koordinaten haben) miteinander verbinden kann? Ich hatte es zunächst mit Auswahlsätzen probiert, in denen ich die Punkte in einer bestimmten Reihenfolge sortiere und dann verbinde, aber dieser Versuch ist leider fehlgeschlagen. Viele Grüße Andrea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StephanJP Mitglied CAD-Admin
  
 Beiträge: 834 Registriert: 09.11.2000
|
erstellt am: 15. Okt. 2002 13:13 <-- editieren / zitieren --> Unities abgeben:          Nur für AB
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 15. Okt. 2002 15:09 <-- editieren / zitieren --> Unities abgeben:          Nur für AB
|
AB Mitglied
 
 Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 16. Okt. 2002 09:20 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen zusammen, also, ich versuche mein Problem noch mal anhand des Würfels zu beschreiben (s. Bild). Ich habe eine Liste erstellt, in der ich alle roten Punkte gespeichert habe und ein zweite Liste mit allen gelben. Nun möchte ich, dass diese Linien, wie auf dem Bild miteinander verbunden werden (1. Punkt der roten Punkteliste mit 1. Punkt der gelben Punkteliste, etc.). Dafür habe ich mir überlegt, sortiere ich die Punkte in den Listen, aufsteigend nach x-Werten. Dann ist mir aber das erste Poblem aufgefallen: einige Punkte haben die gleiche x-Koordinate (s. hellgrüne Linien). Für diesen Fall habe ich die Bedingung eingebaut, dass Punkte mit dem gleichen x-Wert zusätzlich nach aufsteigendem z-Wert sortiert werden. Daraus resultiert aber das Problem, dass die pinken Linien nicht, wie in der Zeichnung miteinander verbunden werden. Da ja auch hier der x-Wert gleich ist und so die Punkte nach aufsteigendem z-Wert sortiert werden. Ist das etwas deutlicher erklärt? Wie kann ich meine Punkte, wie in dem Bild verbinden? Das ist der bisherige Code zur Listen Erstellung: (setq as_Punkte_rot (ssget "X" '((8 . "START")(0 . "POINT"))) Punkte_rot_Liste_1 (mapcar '(lambda (EL) (cdr(assoc 10 EL)) ) (mapcar 'entget (bau_elemli as_Punkte_rot))) ) (setq liste_rot (vl-sort Punkte_rot_Liste_1 (function (lambda (e1 e2) (if (equal (car e1) (car e2)0.00000005) ;falls der x-Wert gleich, dann sortiere nach aufsteigendem z-Wert (< (cadr e1) (cadr e2)) (< (car e1) (car e2)) ) ) )) ) Viele Grüße Andrea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 16. Okt. 2002 09:39 <-- editieren / zitieren --> Unities abgeben:          Nur für AB
Hallo Andrea, vielleicht sollte man mal anders an die Sache rangehen. A) Zum einen woher hast du überhaupt die Punkte? Kann man nicht vielleicht von da her die Reihenfolge ableiten. B) Wenn ich das Bild einmal anders interpretiere, dann soll doch immer ein roter Punkt mit dem am nahe liegendsten gelben Punkt verbunden werden. Vielleicht ist das ja auch ein Ansatz. Einfach die Distanzen vergleichen und die Punkte, die die kürzeste Entfernung haben miteinander zu verbinden. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AB Mitglied
 
 Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 16. Okt. 2002 10:02 <-- editieren / zitieren --> Unities abgeben:         
Ich fürchte, dass beides nicht so geht. Ich werde mir noch mal genauere Gedanken darüber machen und mich in den nächsten Tagen noch mal melden, wenn ich mir darüber im Klaren bin. Trotzdem vielen Dank für die Anregungen. Viele Grüße Andrea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AB Mitglied
 
 Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 21. Okt. 2002 08:41 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen zusammen, ich habe mir noch mal Gedanken über mein Problem gemacht. Die einzige Lösungsmöglichkeit ist, zwei Listen (eine mit gelben und eine mit roten Punkten) zu erstellen, die wie folgt organisiert sind: Als erstes filtere ich den Punkt mit dem kleinsten x- und z-Wert heraus. Die anderen Punkte müssen dann, in steigendem Abstand zu diesem ersten Punkt, GEMESSEN ENTLANG DER LINIE auf der sie liegen, in der Liste sortiert werden. Jetzt brauche ich also eine Funktion, die den Abstand von Punkten, angepasst an die Linie auf der sie liegen, ermittelt. Gibt es da schon etwas fertiges? Viele Grüße Andrea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH

 Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 21. Okt. 2002 16:18 <-- editieren / zitieren --> Unities abgeben:          Nur für AB
|
AB Mitglied
 
 Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 22. Okt. 2002 07:27 <-- editieren / zitieren --> Unities abgeben:         
Super danke, genau so etwas habe ich gesucht. Warum ich das nicht selber gefunden habe, weiß ich allerdings nicht. Schließlich ist der Titel des Themas eindeutig. Nochmal danke, damit werde ich jetzt erst mal weiterkommen. Viele Grüße Andrea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |