Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  schnittpunkt einer geraden mit einer ebene

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:  schnittpunkt einer geraden mit einer ebene (625 mal gelesen)
fca_mi2
Mitglied
Bauingenieur


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

Beiträge: 505
Registriert: 10.01.2003

ACAD2018

erstellt am: 23. Feb. 2005 07:37    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,

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



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

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 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 fca_mi2 10 Unities + Antwort hilfreich

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



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

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 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 fca_mi2 10 Unities + Antwort hilfreich

(arxload "geomcal")
(cal "ilp(p1,p2,p3,p4,p5)")

p1,p2 ... Linie
p3,p4,p5 ... Ebene

------------------
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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Feb. 2005 09:21    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 fca_mi2 10 Unities + Antwort hilfreich

@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



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

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 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 fca_mi2 10 Unities + Antwort hilfreich

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Feb. 2005 10:12    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 fca_mi2 10 Unities + Antwort hilfreich

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

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