Hot News:

Mit Unterstützung durch:

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

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:  arrays (360 mal gelesen)
AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 15. Okt. 2002 11:46    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 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


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

Beiträge: 830
Registriert: 09.11.2000

erstellt am: 15. Okt. 2002 13: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 AB 10 Unities + Antwort hilfreich


musst Du näher erklären. Verstehe die Auswahlkriterien so nicht. Es muss ja eine logische Verbindungsmöglichkeit für die Punkte bestehen.

------------------

gruß
stephan

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: 15. Okt. 2002 15:09    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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

du schreibst von einer bestimmten Methode. Versuche die zu beschreiben, dann kann man bestimmt auch was machen.

Array kann man dem AutoLISP-Datentyp Liste zuordnen. Oder was verstehst Du unter einem array?

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



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 16. Okt. 2002 09:20    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


Punktelisten.gif

 
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



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: 16. Okt. 2002 09:39    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 AB 10 Unities + Antwort hilfreich

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



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 16. Okt. 2002 10:02    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

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



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 21. Okt. 2002 08:41    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

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



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: 21. Okt. 2002 16:18    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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

schau dir mal diesen Beitrag an. http://www.cad.de/foren/ubb/Forum145/HTML/000038.shtml

Ich denke, den Code von Axel kannst du zur Lösung gut gebrauchen.

Grüße Holger

------------------
Holger Brischke
CADlon - Lisp over night

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 22. Okt. 2002 07: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

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

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