| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Cideon Sparify - der digitale Ersatzteilkatalog für alle, ein Webinar am 15.10.2024
|
Autor
|
Thema: Punkte verbinden (337 mal gelesen)
|
AB Mitglied
Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 01. Okt. 2002 14:37 <-- editieren / zitieren --> Unities abgeben:
Hallo liebes CAD-Forum, jetzt habe ich ein paar Tage eigenständig arbeiten können und nun habe ich schon wieder eine Frage: Ich habe verschiedene Punkte und durch diese Punkte (jeweils ein gelber und ein roter) soll ein Querschnitt (s. grün) gelegt werden. Wie muss ich so etwas in LISP programmieren. Ich habe zunächst versucht zwei Listen (eine mit den gelben Punkte und eine mit den roten Punkten), sortiert nach steigender x-Koordinate zu erstellen. Dann wollte ich die Punkte aus den zwei Listen kombinieren, um so meine Querschnitte zu erhalten. Ich bekomme es aber leider nicht hin. Es wäre schön, wenn Ihr mir helfen könntet. 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: 01. Okt. 2002 21:52 <-- editieren / zitieren --> Unities abgeben: Nur für AB
Hallo Andrea, ist es immer noch das gleiche Problem? Bei Deiner jetzigen Frage ist zunächst mal zu klären, ob das BKS in der richtigen Stellung ist. Wenn JA dann kannst Du doch mit dem Befehl (command "_.section" ...) arbeiten, und erhältst dann den Querschnitt an einer beliebigen Stelle des Bauteils. Hast Du kein BKS in der richtigen Lage, würde ich das in die entsprechende Lage bringen. Dazu kannst du ja dann die Punkte deiner beiden Listen nutzen. entweder: Zu diesen 2 Punkten brauchst du ja dann nur noch einen 3. Punkt erzeugen, der rechtwinklig zu dieser Fläche ist. Mit ein wenig Mathematik und dem Geometrierechner [ (cal ...) ] sollte das kein Problem sein. Dann BKS - neu - 3Punkte oder BKS - neu - ZAchse In diesem Fall brauchst du den Punkt nicht berechnen und kannst meiner Meinung nach mit dem Befehl _section immer auf die zx-Ebene gehen und als Punkt 0,0 angeben. Ich bin mir da jedoch nicht sicher, ist nur ein Gedanke, den du mal probieren solltest Vielleicht helfen Dir meine Gedanken zum Thema. Oder Lag das Problem in der Zuordnung der Punkte aus beiden Listen zueinander? Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon 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: 02. Okt. 2002 07:10 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Holger, das Problem liegt in der Zuordnung der Punkte aus den beiden Listen. Wie mache ich dem PC klar, dass er den ganz linken roten Punkt mit dem ganz linken gelben Punkt u.s.w. miteinander verbinden soll und nicht alle irgendwie durcheinander? 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: 02. Okt. 2002 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für AB
Hallo Andrea, bin in den letzten Tagen (und auch jetzt) sehr in Zeitdruck, deshalb nur eine kurze Erläuterung der Herangehensweise. Du baust dir am besten aus den beiden Listen eine neue Liste. Du solltest dazu wissen welche Koordinate (x, y oder z) bei den Punkten gleich sein müßte) Du nimmst du die Liste A und vergleichst die Koordinate mit den Punkten aus der ListeB. Folgender Code ist hier nur mal so runter geschrieben und nicht getestet und gilt für den Fall dass die X-Koordinate gleich ist):
Code:
(setq neueListe(mapcar '(lambda (Ae) (if (setq passendesBe(apply 'append (mapcar '(lambda (Be) (if (equal (car Ae)(car Be) 0.0000001) (list Be) ) ListeB );mapcar );apply ) (list Ae passendesBe) );if ListeA ) )
Das Ergebnis sollte eine Liste in folgendem Format sein: ((Ae1 passendesBe1)(Ae2 passendesBe2)...) So in etwa könnte es aussehen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon 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: 02. Okt. 2002 10:12 <-- editieren / zitieren --> Unities abgeben:
|
AB Mitglied
Beiträge: 255 Registriert: 24.05.2002 Mechanical Desktop 6 AutoCAD 2002
|
erstellt am: 04. Okt. 2002 11:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger und auch alle anderen, das Problem ist, dass es keine Koordinate gibt, die gleich ist. Es sind lediglich gleich viele gelbe und rote Punkte vorhanden und die Punkte sollen genau in der Reihenfolge, wie sie auf dem Bildschirm sichtbar sind miteinander verbunden werden. Das bedeutet, dass der 1. gelbe Punkt zu dem 1. roten gehört, der 2. gelbe zu dem 2. roten, ... Viele Grüße Andrea Ich habe das Problem gelöst, auch wenn ich jetzt einen zwei Seiten langen Quelltext geschrieben habe. Aber es funktioniert. [Diese Nachricht wurde von AB am 24. Oktober 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |