| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: schnittpunkt einer geraden mit einer ebene (627 mal gelesen)
|
fca_mi2 Mitglied Bauingenieur
Beiträge: 505 Registriert: 10.01.2003 ACAD2018
|
erstellt am: 23. Feb. 2005 07:37 <-- editieren / zitieren --> Unities abgeben:
hallo, ich möchte kontrollieren, ob die punkte alle auf der ebene liegen, die die ersten beiden und der letzte punkt einer polylinie aufspannt. hier mein code: (defun c:fc_gc (/ n punkte) (setq punkte (fc_punkt_extrakt (car (entsel)))) (if (> (distance (nth 0 punkte) (nth (- (length punkte) 1) punkte)) 0.0) (setq lp (nth (- (length punkte) 1) punkte)) (setq lp (nth (- (length punkte) 2) punkte)) ) (if cal (princ) (arxload "geomcal") );if (setq 1p (nth 0 punkte)) (setq 2p (nth 1 punkte)) (setq 3p (nth 2 punkte)) (princ (cal "ilp(1p,3p,1p,2p,lp)")) (princ) );defun ; ERMITTELT DIE PUNKTE einer polylinie oder linie ;aufruf : (fc_punkt_extrakt element) (defun fc_punkt_extrakt (element / element n punktliste) (cond ((= (cdr (assoc 0 (cdr (entget element)))) "POLYLINE") (setq punktliste (fc_punkt_extrakt_polylinie element))) ((= (cdr (assoc 0 (cdr (entget element)))) "LWPOLYLINE") (setq punktliste (fc_punkt_extrakt_linie element))) ((= (cdr (assoc 0 (cdr (entget element)))) "LINE") (setq punktliste (fc_punkt_extrakt_linie element))) );cond punktliste );defun
; ERMITTELT DIE PUNKTE einer polylinie ;aufruf : (fc_punkt_extrakt_polylinie element) (defun fc_punkt_extrakt_polylinie (element / element punktliste) (setq punktliste nil) (setq xelement (entnext element)) (while (/= (cdr (assoc 0 (entget xelement))) "SEQEND") (setq punktliste (append punktliste (list (cdr (assoc 10 (entget xelement)))))) (setq xelement (entnext xelement)) );while punktliste );defun ; ERMITTELT DIE PUNKTE einer linie ;aufruf : (fc_punkt_extrakt_linie element) (defun fc_punkt_extrakt_linie (element / element punktliste n) (setq punktliste nil) (foreach n (entget element) (if (= (car n) 10) (setq punktliste (append punktliste (list (cdr n)))) );if );foreach punktliste );defun fehlermeldung: >> Fehler: Komma in Argumentliste der Funktion ILP erwartet.
------------------ MfG Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf Böger Mitglied
Beiträge: 281 Registriert: 18.09.2002 IBM R50p 1.7GHz 1GB RAM ATI Mobility Fire GL T2 128 MB Win2000 SP3 AutoCAD Mechanical 2004 DX Inventor 8 SP1 ADT 2004 PartSolutions 8
|
erstellt am: 25. Feb. 2005 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für fca_mi2
Ein kleiner Tip, der AutoCAD-Geometrierechner hat solche Funktionen. Aufruf über geomcal - ist auch über LISP steuerbar! ------------------ Nur Döner macht schöner und wenn du ihn nicht isst, bleibst du wie du bist! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf Böger Mitglied
Beiträge: 281 Registriert: 18.09.2002 IBM R50p 1.7GHz 1GB RAM ATI Mobility Fire GL T2 128 MB Win2000 SP3 AutoCAD Mechanical 2004 DX Inventor 8 SP1 ADT 2004 PartSolutions 8
|
erstellt am: 25. Feb. 2005 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für fca_mi2
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 25. Feb. 2005 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für fca_mi2
@Ulf erst lesen, dann posten Zitat: Original erstellt von fca_mi2: ... (setq 2p (nth 1 punkte)) (setq 3p (nth 2 punkte)) (princ (cal "ilp(1p,3p,1p,2p,lp)")) ...
es geht um die Art und Weise wie man dem geocal die Daten zukommen lässt.. [Diese Nachricht wurde von cadffm am 25. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf Böger Mitglied
Beiträge: 281 Registriert: 18.09.2002 IBM R50p 1.7GHz 1GB RAM ATI Mobility Fire GL T2 128 MB Win2000 SP3 AutoCAD Mechanical 2004 DX Inventor 8 SP1 ADT 2004 PartSolutions 8
|
erstellt am: 25. Feb. 2005 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für fca_mi2
Stimmt, zeige mich reuhig! Ich würde ein BKS reinlegen und die Benutzerkoordinaten der Punkt prüfen. Mit entsprechnendem BKS müsste dann eine Koordinate Null sein! Ich hofffe ich habe nicht wieder zu wenig gelesen! ------------------ Nur Döner macht schöner und wenn du ihn nicht isst, bleibst du wie du bist! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Leiter (m/w/d) Konstruktion / Chief Design Engineer (m/w/d) | Bei Bauermeister vereinen sich Innovationskraft und eine lange Tradition im Maschinenbau zu maßgeschneiderten Lösungen für Kunden weltweit. Mit über 135 Jahren Erfahrung zählt Bauermeister zu den weltweit führenden Herstellern von Mahl- und Sichtanlagen für die Lebensmittel-, Mineralien- und Chemieindustrie. Mit Standorten in Deutschland, Schottland und den USA ist das Unternehmen Teil der Probat-Gruppe, dem Weltmarktführer für Maschinen und Anlagen für die Kaffeeindustrie.... | Anzeige ansehen | Teamleitung, Gruppenleitung |
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 25. Feb. 2005 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für fca_mi2
Wenn ich die Punkte per (setq p1 (getpoint)) ermittel dann läuft es, hole ich die Koordinaten aus einer LWP (aber als 3D Koord.) bekomme ich es ebensowenig hin wie der Fragesteller - kam aber nicht "schnell" genug auf die Lösung, dann habe ich es wieder beiseite gelegt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |