Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Schnittpunkt zwischen zwei Linien

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 SOLIDWORKS
  
MySolidWorks: Online Lernen & Recherchieren rund um SOLIDWORKS >> (SOLIDWORKS)
Autor Thema:  API: Schnittpunkt zwischen zwei Linien (884 mal gelesen)
ChrisB
Mitglied



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

Beiträge: 61
Registriert: 14.03.2005

SolidWorks 2006/2008
WinXP Pro
MS VS 2005

erstellt am: 11. Okt. 2007 13: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


Schnittpunkt.JPG

 
Hallo Freunde des wohlgepflegten Quellcodes!

Vor einiger Zeit hab ich unseren Leuten ein kleines Tool gebastelt, mit dem sie ein paar Sachen aus Teilen rausmessen können (Zylinderkoordinaten, etc.). Jetzt steh ich vor der Aufgabe, dass ich ihnen auch theoretische Schnittpunkte zwischen Kanten angeben soll. (siehe Screenshot)

Aber: wie bekommt man am einfachsten die Modell-Koordinaten dieses Punktes?

Bisher hab ich probiert die Curve-Objekte von 2 Kanten auszulesen, und diese dann mit
retval = Curve.IntersectCurve ( otherCurve, thisStartPoint, thisEndPoint, otherStartPoint, otherEndPoint )
zu schneiden.

Was dabei rauskommt ist aber absolut unbefriedigend, da ich dabei immer nur die Endpunkte der Kanten bekomme, aber nicht den theoretischen Schnittpunkt.

Ich habe auch schon versucht mit modeler::createLine zwei unendlich lange Linien zu erzeugen, die genau auf den ausgewählten Kanten liegen, und diese dann zu schneiden. Dabei kommt aber leider nur totaler Zahlensalat raus  

Hat von euch schonmal jemand so etwas in der Art gemacht oder Ideen, wie es gehen könnte?

Grüße

Christian

[Diese Nachricht wurde von ChrisB am 11. Okt. 2007 editiert.]

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 11. Okt. 2007 13:59    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 ChrisB 10 Unities + Antwort hilfreich

Hallo Christian,

ich würde das gar nicht mit SolidWorksfunktionen versuchen, sondern mit der guten, alten Vektorrechnung; falls keine Formelsammlung zur Hand findest du z.B. hier die Formel für die Schnittpunktberechnung zweier Geraden. Die SolidWorks API bietet dir mit den Math... Objekten da schon jede Menge fertiges Zeug an.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

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

ChrisB
Mitglied



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

Beiträge: 61
Registriert: 14.03.2005

SolidWorks 2006/2008
WinXP Pro
MS VS 2005

erstellt am: 11. Okt. 2007 14:17    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

Hi Stefan!

Da kommt man doch vor lauter wühlen in der SolidWorks API gar nicht mehr auf die einfachste Lösung 

Für den Schnittpunkt zwischen zwei Linien ist das Ganze eigentlich recht easy, man muss ja nur ein Gleichungssystem lösen. Jetzt muss ich nur noch eine ordentliche Implementierung des Gauss-Algorithmus in die Finger bekommen, aber sowas dürfte sich ja wohl finden lassen 

Interessant wäre es trotzdem zu wissen, ob das ganze auch mit

Code:
Curve.IntersectCurve
funktioniert, denn sobald gekrümmte Kurven (z. B. Radius) ins Spiel kommen wird es sonst natürlich schwierig...

Auf jeden Fall ein riesiges DANKE für die schnelle Hilfe!

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

gismo
Mitglied
SWX Support


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

Beiträge: 1047
Registriert: 05.03.2001

erstellt am: 11. Okt. 2007 14: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 Nur für ChrisB 10 Unities + Antwort hilfreich

HI Stefan,
an genau das hab ich auch gedacht, als ich die Frag gelesen hatte.
Da war doch was im Matheunterricht (lang ist es her) 

CU
Thomas

------------------
Viele Grüße aus dem Schwarzwald
gismo
Meine bescheidene Website
Jetzt neu: Mein Americas Army Clan 


Member of CAD.de BOINC Team  -   | Seti@Home | CPDN | Einstein@Home

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)2024 CAD.de | Impressum | Datenschutz