Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  räumlicher Geradenschnitt

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:  räumlicher Geradenschnitt (2499 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 28. Jun. 2012 14:34    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

Kann man einen Geradenschnitt im "Raum" berechnen. Die Punkte p1,p2,p3,p4 sind 3d-punkte. Wie könnte ich daraus einen Geradenschnitt rechnen bzw. was wäre wen die linien p1,p2 und p3,p4 sich nicht treffen kommt dann automatisch nil

Code:

(if (not c:cal)(arxload "geomcal"))
(if (setq obj (list (set 'ea (car (entsel "\nWähle 1. Höhe !")))
    (set 'eb (car (entsel "\nWähle 2. Höhe !")))
    (set 'ec (car (entsel "\nWähle 3. Höhe !")))
    (set 'ed (car (entsel "\nWähle 4. Höhe !")))
    ))
  (progn
    (setq pa (cdr (assoc 10 (entget ea)))
  p1 (list (nth 0 pa) (nth 1 pa) (atof (cdr (assoc 1 (entget ea)))))
 
  pb (cdr (assoc 10 (entget eb)))
  p2 (list (nth 0 pb) (nth 1 pb) (atof (cdr (assoc 1 (entget eb)))))
 
  pc (cdr (assoc 10 (entget ec)))
  p3 (list (nth 0 pc) (nth 1 pc) (atof (cdr (assoc 1 (entget ec)))))
 
  pd (cdr (assoc 10 (entget ed)))
  p4 (list (nth 0 pd) (nth 1 pd) (atof (cdr (assoc 1 (entget ed)))))
 
  )
    (setq ps (cal "ill(p1,p2,p3,p4)"))
   
   
    )
  )

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 28. Jun. 2012 16:10    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 cadplayer 10 Unities + Antwort hilfreich

hallo dirk,
Zitat:
Kann man einen Geradenschnitt im "Raum" berechnen

so zum beispiel:
http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline3d/int2.lsp

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 28. Jun. 2012 16:26    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 cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
die Funktion "inters" ermittelt auch 3D-Schnittpunkte, wenn alle übergebenen Punkte ebenfalls 3D sind.
z.B.:
Code:
(inters '(0 0 0) '(1 1 1) '(3 0 0) '(3 1 1) nil)
-> (3.0 3.0 3.0)

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 29. Jun. 2012 08:19    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

@Henning:
Was mir bei der Funktion inters aufgefallen ist, es werden immer nur dann Schnittpunkte ermittelt, wenn der Schnitt genau zwischen den 2 Linien liegt. Sobald er ausserhalb liegt kommt nil raus.

@Marco:
der code ist echt prima, damit ist mir sehr weitergeholfen

Danke euch beiden.

------------------
Gruss Dirk

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 29. Jun. 2012 09:06    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 cadplayer 10 Unities + Antwort hilfreich

Habe es nicht ganz verstanden aber um Schnittpunkte aus einer Punktliste auszulesen kannst du auch ssnamex verwenden.

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 29. Jun. 2012 09:35    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


Drawing1.dwg.txt

 
Hintergrund meines Vorhabens, ich habe 4 Höhenpunkte vorgegeben, d.h. die jeweiligen Punktpaare p1,p2 und p3,p4 stellen ein bestimmtes Gefälle dar. Jetzt möchte ich gern den Schnittpunkt zw. p1,p2 und p3,p4 berechnen.

Bisher habe ich das iterativ gelöst, also solange gerechnet bis der ermittelte Punkt p5 genau in der Flucht zw. p1,p2 und p3,p4 liegt.
Das habe ich vor zu vereinfachen. Vielleicht hat aber eine einfachere Lösung als ich denke.
Der angehängte File stellt die Situation dar, wie würdet ihr p5 ermitteln ? (mit int2.lsp geht es, es gibt aber Sonderfälle, wo selbst das Programm keine Lösung findet oder falsch rechnet ?

------------------
Gruss Dirk

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 29. Jun. 2012 10:52    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 cadplayer 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadplayer:
Was mir bei der Funktion inters aufgefallen ist, es werden immer nur dann Schnittpunkte ermittelt, wenn der Schnitt genau zwischen den 2 Linien liegt. Sobald er ausserhalb liegt kommt nil raus.

Daher noch das letzte Argument "NIL":
Zitat:
If the onseg argument is present and is nil, inters returns the point where the lines intersect, even if that point is off the end of one or both of the lines.

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 29. Jun. 2012 11: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

Verstehe ich nicht, wenn ich die Zeile (setq ps (inters p1 p2 p3 p4 nil)) eingebe kommt in meiner Beispiel dwg nil raus.

Command: !p1
(2.00059 1.57095 46.13)
Command: !p2
(2.91485 3.80573 47.58)
Command: !p3
(3.69992 6.31862 48.56)
Command: !p4
(4.082 7.28625 48.58)

Command: (inters '(2.00059 1.57095 46.13) '(2.91485 3.80573 47.58) '(3.69992 6.31862 48.56) '(4.082 7.28625 48.58) nil)
nil

------------------
Gruss Dirk

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 29. Jun. 2012 12: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 cadplayer 10 Unities + Antwort hilfreich

na, dann sind die Linien nicht koplanar, und es gibt eben keinen Schnittpunkt!
... aber warscheinlich habe ich Dich - Dein Vorhaben - dann nur nicht verstanden.

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 29. Jun. 2012 12:52    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 cadplayer 10 Unities + Antwort hilfreich

es gibt keinen schnittpunkt.
der geringste abstand zwischen den linien ist 0.21225 .
abstandskoordinaten sind (3.5174 5.27859 48.5356) und (3.32 5.35644 48.5401)

sowas solltest du aber mit geringem aufwand auch selber rauskriegen koennen.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 29. Jun. 2012 14:08    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

Stimmt hast recht Marco, dein Link mit dem Programm fand eine Lösung, deshalb war ich zu oberflächlich mit der Annahme inters sollte auch eine Lösung finden. Dazu muss ich mich umso mehr mit dem code auseinandersetzen. Ist ganz schön ausgeklügelt. Damit sind meine Fragen auch erstmal beantwortet.

Vielen Dank auch für Eure geopferte Zeit.

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 29. Jun. 2012 15:10    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 cadplayer 10 Unities + Antwort hilfreich

die loesung, die die funktion findet, hab ich dir oben geschrieben.

sie findet eben auch keinen schnittpunkt, sondern berechnet, da kein schnittpunkt gefunden, den kuerzesten abstand.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 05. Jul. 2012 14:52    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

Jetzt habe ich mal versucht nach der Formel von wiki: http://de.wikipedia.org/wiki/Geod%C3%A4tisches_Rechnen

einen GS zu berechnen, komme aber auf kein verwertbares Ergebnis

Stimmt die Formel überhaupt, ist mit x und y die nord und ost koordinate gemeint?

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 05. Jul. 2012 15:11    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 cadplayer 10 Unities + Antwort hilfreich

die formel wird schon stimmen, aber die ist fuer linien in der ebene. du wolltest doch aber den schnittpunkt von 2 linien im raum.
oder willst du eventuell den schnittpunkt von in die ebene projizierten linien?

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 06. Jul. 2012 10:11    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

Ja hab den Hacken gefunden, vielleicht erscheint es sinnlos, aber mal zum Testen meiner 3 versionen einen Geradenschnitt in der Ebene zu ermitteln.

Code:

(defun punkte ()
  (setq p1 (getpoint "\n1. Punkt "))
  (setq p2 (getpoint "\n2. Punkt "))
  (setq p3 (getpoint "\n3. Punkt "))
  (setq p4 (getpoint "\n4. Punkt "))
  )

(defun c:v1 ( / d ys xs ps)
  (if (punkte)
    (progn
      (setq d (/ (float (- (* (- (nth 0 p4) (nth 0 p3)) (- (nth 1 p1) (nth 1 p4)))  (* (- (nth 0 p1) (nth 0 p4)) (- (nth 1 p4) (nth 1 p3)))))
(float (- (* (- (nth 0 p2) (nth 0 p1)) (- (nth 1 p4) (nth 1 p3)))  (* (- (nth 0 p4) (nth 0 p3)) (- (nth 1 p2) (nth 1 p1)))))
))
      (setq ys (+ (* (- (nth 1 p2) (nth 1 p1)) d) (nth 1 p1)))
      (setq xs (+ (* (- (nth 0 p2) (nth 0 p1)) d) (nth 0 p1)))
      (setq ps (list xs ys))
      (setvar "OSMODE" 0)
      (command "line" ps)
      )
    )
  (princ)
  )

(defun c:v2 ( / ps)
  (if (punkte)
    (progn
      (setq ps (inters p1 p2 p3 p4))
      (setvar "OSMODE" 0)
      (command "line" ps)
      (princ)
      )
    )
  )

(defun c:v3 ( / ps)
  (if (punkte)
    (progn
      (if (not c:cal)(arxload "geomcal"))
      (setq ps (cal "ill (p1,p2,p3,p4) "))
      (setvar "OSMODE" 0)
      (command "line" ps)
      (princ)
      )
    )
  )


Meine Aufgabe ist jetzt die Berechnung nicht in der Ebene x/y durchzuführen sondern in x/z. Da ich ja eine Höhe herausbekommen möchte, im Schnittpunkt von 2 Gefälle
In der Ebene xy sollten doch die Punkte in einer Flucht sein. Sonst wird der Geradenschnitt in der x/z Ebene falsch berechnet ?! Wie kann ich es erreichen das mir hier eine Projektion errechnet wird ?

------------------
Gruss Dirk

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 06. Jul. 2012 10:31    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


Drawing3.dwg.txt

 
Nochmal zur Verdeutlichung eine dwg, keine der hier genannten Funktionen hier ist in der Lage den Schnitt der 2 Geraden in der xz-ebene zu berechnen. Händisch geht es in dem ich die 2 Geraden auf die xz-ebene projeziere. Das möchte ich gern mit dem Lisp erreichen.

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 06. Jul. 2012 10:48    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 cadplayer 10 Unities + Antwort hilfreich

ok, quiz zu "in eine ebene projizieren":
welche werte verwende ich, wenn ich in die x/y-ebene projiziere?
richtige antwort: x und y

welche werte verwende ich demzufolge, wenn ich in die x/z-ebene projiziere?

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 06. Jul. 2012 11: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

Die Frage habe ich indirekt schon in meinem vorherigen Eintrag beantwortet.
Ich kann ja jetzt nicht sturr die x- und die z-werte hernehemen. Sondern ich muss ein neues ucs festlegen in denen ich dann mit tranformierten x-werten und den gegebenen z-werten hantiere.

Händisch mache ich ja nix anderes als das ich das ucs nach p1 -> p2 auszurichte und dann eine linie von p3 -> p4 ziehen und die mit der anderen verschneide. e´vola habe ich die z-koord vom gesuchten Schnittpunkt projeziert auf die Linie p1,p2

Mach ich was verkehrt oder versteht man mich nur nicht ?

------------------
Gruss Dirk

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 06. Jul. 2012 12: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 cadplayer 10 Unities + Antwort hilfreich

Hallo,
dann stell doch einfach dein Händisch erstelles per LISP nach wenn du hier mir den Berechnungen nicht hin kommst. Einfach per Lisp 2 Konstrucktionslinen auf die Punkte legen lassen und schon spuckt Intersect den Schnittpunkt aus. Auch die linien wieder löschen lassen oder besser Undo benutzen. Fertig. 

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 06. Jul. 2012 12:43    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 cadplayer 10 Unities + Antwort hilfreich

du wirst immer andere pojizierte hoehen kriegen, je nachdem wie der winkel der ebene, welche lotrecht zur x/y-ebene steht, in der x/y-ebene ist. d.h. die projizierte hoehe in der x/z-ebene ist definitiv eine andere als in der y/z-ebene (bei allen anderen dazwischenliegenden ebenso).
nur wenn es einen schnittpunkt im raum gibt, ist die hoehe identisch.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 06. Jul. 2012 15: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

Da stimme ich dir zwar überein, aber ich will ja kein Atomkraftwerk kontruieren, sondern lediglich Böschungen verschneiden. Also genügt mir eine vergeschlagene Lösung die mir bezüglich einer Linie den Schnittpunkt mit der anderen bringt.

Ich bin darauf gestossen, dass ich ein ucs auch entmaken kann.

Code:

(entmake (list '(0 . "UCS")
      '(100 . "AcDbSymbolTableRecord")
      '(100 . "AcDbUCSTableRecord")
      '(2 . "user2")
      '(70 . 0)
      (cons 10 (list 0 0 0))
      (cons 11 (list 1.0 0.0 0.0))  ; xdirection)
      (cons 12 (list 0.0 1.0 0.0))  ; ydirection)
      '(79 . 3) ;Ansichtsoptionen
      '(146 . 0.0)
)
);end of entmake

Mir ist klar, wie die koordinaten von GC 11 zustande kommen, jedoch von GC 12 steige ich nicht richtig dahinter
Was müsste denn da stehen, wenn ich die Ansicht in y um 40Grad drehe ?

------------------
Gruss Dirk

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 06. Jul. 2012 15:45    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

definier ich es händisch und frage es anschliessen ab kommt

(entget (tblobjname "ucs" "user"))
((-1 . <Entity name: 7ffffa2a170> ) (0 . "UCS") (330 . <Entity name:
7ffffa03870> ) (5 . "517F") (100 . "AcDbSymbolTableRecord") (100 .
"AcDbUCSTableRecord") (2 . "user") (70 . 0) (10 369909.0 309639.0 0.0) (11
0.766044 0.642788 0.0) (12 0.0 0.0 1.0) (79 . 0) (146 . 0.0))

Allerdings wenn ich selbige Angaben zum entmake des user-ucs verwende klappts nicht 

------------------
Gruss Dirk

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 06. Jul. 2012 15: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 Nur für cadplayer 10 Unities + Antwort hilfreich

Hi,
ich weis nicht wie ich das deuten soll
Zitat:
Also genügt mir eine vergeschlagene Lösung die mir bezüglich einer Linie den Schnittpunkt mit der anderen bringt
aber vielleicht hift es dir ersteinmal.
Code:
(setq p1 (getpoint "\n1. Punkt "))
(setq p2 (getpoint "\n2. Punkt "))
(setq p3 (getpoint "\n3. Punkt "))
(setq p4 (getpoint "\n4. Punkt "))
(command"_undo" "m")
(setq osmode(getvar "osmode"))
(setvar "osmode" 0)
(command "_xline" p1 p2 "")
(setq linie1(vlax-ename->vla-object(entlast)))
(command "_xline" p3 p4 "")
(setq linie2(vlax-ename->vla-object(entlast)))
(setq SchnittPKT(vlax-invoke linie1 'IntersectWith linie2 acExtendNone))
(command"_undo" "r")
(alert (vl-princ-to-string  SchnittPKT))

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 06. Jul. 2012 16:01    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 cadplayer 10 Unities + Antwort hilfreich

@meldin:
cadplayers problem ist, dass seine im raum liegenden linien keinen schnittpunkt haben, auch keinen virtuellen.
da helfen leider auch keine strahlen mehr.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 06. Jul. 2012 16:04    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

In der Ebene funktioniert es, es hilft mir nicht richtig weiter, weil ich auch so weit bin. Oder hab ich dich falsch verstanden.
Danke für deine Mühe.

------------------
Gruss Dirk

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 07. Jul. 2012 13:23    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 cadplayer 10 Unities + Antwort hilfreich

So jetzt haben mich irgendwie die Überlegungen daran gepackt.
Nur komme ich mit der Darstellung nicht klar darum wollte ich nochmal nachfragen.
Bei deiner Angabe von Schnittpunkt in Achse XZ liegt der Punkt aus dieser Ansicht aber nicht auf dem Schnittpunkt der angegenenen Punkte. Ist hier die Angabe falsch oder verstehe ich es einfach nicht!?.
Hier die Ergebnisse aus meinen Strahlen auch wenn Marco meint das diese hier nicht helfen. 

Ermittelte Anfangspunkte:
pt1(211.091 113.014 12.5)
pt2(212.787 115.072 12.56)
pt3(213.96 116.54 12.73)
pt4(215.336 118.585 12.98)

Schnittpunkte:
Ansicht von Oben Ergebniss XY = (213.798 116.298 12.5957)
Ansicht von Links Ergebniss XZ = (212.87 115.172 12.5629)


------------------
Gruß Wolfgang 

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden.  

[Diese Nachricht wurde von Meldin am 07. Jul. 2012 editiert.]

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 09. Jul. 2012 09:34    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 bekomme für den Schnittpunkt das raus
(212.958 115.28 12.566)

Der ergibt sich aus der Ansicht des BKS bezogen auf die Linie p1,p2 mit 90Grad Drehung in der x-Achse (da ich ja in der xz-Ebene einen Geradenschnitt rechnen möchte).
Es ist natürlich mathematisch nicht korrekt, dazu lieferte neurosis Funktion c:int2. Die mir aber nicht weiterhalf, da sie nur einen tatsächlichen Schnittpunkt berechnet, nicht eben einen projezierten Schnittpunkt.
Das Programm ist nicht sonderlich schön geschrieben, liefert aber genau das was ich will. Die Kontrolle ergibt Gefälle von p1,p2 = 2.5% wie Gefälle p1,ps = 2.5% und Gefälle p3,p4 = 10% wie Gefälle ps,p3 = 10%.
Ich betone es ist keine mathematisch korrekte Lösung, sondern nur eine Projektion, um zu erfahren wo sich etwa die Gefälle verschneiden (und ob sie sich verschneiden, wäre vielleicht noch sinnvoll einzubauen).

Code:

(defun c:t ()
  (setq os (getvar "OSMODE"))
  (setq p1 (getpoint "\n1. Punkt "))
  (setq p2 (getpoint "\n2. Punkt "))
  (setq p3 (getpoint "\n3. Punkt "))
  (setq p4 (getpoint "\n4. Punkt "))
  (progn
    (command "_ucs" "_z" p1 p2 "")
    (command "_ucs" "_x" "")
    (setq p1 (trans p1 0 1))
    (setq p2 (trans p2 0 1))
    (setq p3 (trans p3 0 1))
    (setq p4 (trans p4 0 1))
    )
  (if
    (setq d (/ (float (- (* (- (nth 0 p4) (nth 0 p3)) (- (nth 1 p1) (nth 1 p4)))  (* (- (nth 0 p1) (nth 0 p4)) (- (nth 1 p4) (nth 1 p3)))))
      (float (- (* (- (nth 0 p2) (nth 0 p1)) (- (nth 1 p4) (nth 1 p3)))  (* (- (nth 0 p4) (nth 0 p3)) (- (nth 1 p2) (nth 1 p1)))))
      ))
    (progn
      (setq ys (+ (* (- (nth 1 p2) (nth 1 p1)) d) (nth 1 p1)))
      (setq xs (+ (* (- (nth 0 p2) (nth 0 p1)) d) (nth 0 p1)))
      (setq ps (list xs ys (nth 2 p1)))
      (setq ps (trans ps 1 0))
      (setvar "OSMODE" 0)
      )
    (princ)
    )
  (command "_ucs" "")
  (command "line" ps)
  (setvar "OSMODE" os)
  )

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 09. Jul. 2012 11: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 cadplayer 10 Unities + Antwort hilfreich

fuer eine exakte berechnung benoetigt man 2 ebenen, die anhand der gefaellevektoren aufgespannt werden. wenn beide ebenen sich durchdringen, erhaelt man eine schnittlinie. mit dieser kann man fuer jeden beliebigen punkt(x,y) auf der linie die exakte hoehe ermitteln.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 09. Jul. 2012 12:04    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

Verstehe ich dich richtig: du würdest eine Koordinatenberechnung im system z/x (p1,p2) und eine Berechnung im system z/x (p3,p4). Liegen die 2 ermittelten Schnittpunkte deckungsgleich um Weltkoordinatensystem, wäre der Geradenschnitt der 2 Vektoren exakt durch einen Punkt definiert.

------------------
Gruss Dirk

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 09. Jul. 2012 12:30    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 cadplayer 10 Unities + Antwort hilfreich

nein.
fuer die exakte berechnung musst du dich von der geradenschnitt-berechnung verabschieden und mit den ebenen deiner boeschungen arbeiten. anhand der gefaellevektor p1p2 und p3p4 wird die lage der ebenen im raum ermittelt. durch verschneiden beider ebenen erhaelst du eine schnittlinie (genau da, wo sich beide ebenen durchdringen). die schnittlinie liegt ebenfalls irgendwie im raum. jetzt kannst du an jeder x-beliebigen stelle auf der schnittlinie die hoehe ermitteln.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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