Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API - Spaltmessung Problem

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
  
On-Demand-Webinare zu SolidCAM (SolidCAM)
Autor Thema:  API - Spaltmessung Problem (979 mal gelesen)
volvoracer
Mitglied
student


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

Beiträge: 10
Registriert: 31.01.2009

vista home premium SP1
Intel core 2 duo t5800(2x2ghz)
4GB DDR2 RAM
Geforce 9600GT(512MB DDR3)
ProE
SW 2008

erstellt am: 24. Jun. 2009 12: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

Hallo an Alle,
Ich schreibe grade eine Projektarbeit zum Thema Geometrieanalyse in deren Rahmen ein Makro geschrieben werden soll, welches die minimalen Spaltmaße zwischen den Oberflächen von Bauteilen messen soll, um die RP-Fähigkeit der Bauteile festzustellen.

Hierzu habe ich zunächst ein Makro geschrieben, welches alle Flächen durchläuft und miteinander vergleicht.
Um Festzustellen, ob die Tolleranzen für ein minimales Spaltmaß unterschritten werden, muss ich nun zunächst einmal feststellen, ob zwei Flächen überhaupt einen Spalt einschließen.
Hierfür habe ich mir zwei Kriterien überlegt:
1. liegen die normalenvektoren der Flächen in einem Winkel von  90°-270° zueinander? (Dieser Teil funktioniert einwandfrei)
2. In welcher Position liegen die Flächen zueinander?

Und hier beginnt mein Problem:
Mein Plan war, ein Koordinatensystem, dessen x-Achse parallel zum Normalenvektor der Fläche1 in ihrem Ursprung liegt zu positionieren, um dann den x-Wert von Fläche2 zu bestimmen. Somit müsste ich feststellen können, ob die Normalenvektoren der Flächen "voneinander weg" zeigen(kein Spalt möglich) oder ob sie "aufeinander zu" zeigen(Spalt möglich).

Leider kann man mit der Funktion "InsertCoordinateSystem" nur die Achsen des Ursprungssysthems umkehren, nicht aber das Koordinatensystem "schief" zum Ursprungssystem anordnen.

Kann mir irgendjemand sagen, wie ich die X-Achse des Koordinatensystems parallel zum Normalenvektor der Fläche ausrichten kann?

Ich hoffe ich habe mich jetzt nicht zu umständlich ausgedrückt, und es ist klar, wo mein Problem liegt, wenn nicht, einfach bescheid sagen.

Wenn mein Gedankengang zum Feststellen ob ein Spalt vorliegt jetzt kompletter Mumpitz sein sollte und irgendjemand einen besseren Ansatz kennt wäre es natürlich auch super, wenn er mir den verraten könnte.  

So, Vielen Dank schonmal im Vorraus,
Benne

------------------

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

jens_oliver
Mitglied
Softwareentwickler


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

Beiträge: 114
Registriert: 28.06.2005

erstellt am: 24. Jun. 2009 13: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 volvoracer 10 Unities + Antwort hilfreich

hi,

vieleicht helfen dir die beiden funktionen.

den minimalen abstand zweier flächen kannst du mit
ModelDoc2::ClosestDistance bestimmen.
die materialrichtung ist in der fläche (face2) gespeichert.
Face2::Normal sollte immer vom material wegzeigen.

gruß oliver

------------------
Software nach Maß für Ihr CAD-System
www.ib-knepper.de

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

volvoracer
Mitglied
student


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

Beiträge: 10
Registriert: 31.01.2009

vista home premium SP1
Intel core 2 duo t5800(2x2ghz)
4GB DDR2 RAM
Geforce 9600GT(512MB DDR3)
ProE
SW 2008

erstellt am: 24. Jun. 2009 14:49    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 Oliver,
Danke schonmal für die Antwort, die Funktion "ClosestDistance" wollte ich verwenden um ,nachdem sichergestellt ist, dass es überhaupt einen Spalt gibt, die Distanz zu messen.

Das Problem ist allerdings leider, dass durch meine erste Einschränkung(Winkel) Flächen, wie z.B. die obere und die untere Seite eines Quaders nicht ausgeschlossen werden, obwohl diese ja keinen Spalt miteinander einschließen können.
Ich suche also nach einer Möglichkeit sicherzustellen, dass Flächen, welche das Winkelkriterium erfüllen, aber dennoch keinen Spalt einschließen, ausgeschlossen werden.

Danke trotzdem für deine schnelle Antwort,
Gruß,
benne

------------------

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

jens_oliver
Mitglied
Softwareentwickler


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

Beiträge: 114
Registriert: 28.06.2005

erstellt am: 24. Jun. 2009 15:50    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 volvoracer 10 Unities + Antwort hilfreich

was liefert denn face2.normal?
einen vektor der von 0,0,0 zu einem punkt auf der ebene(fläche) geht, natürlich normal steht und ein bestimmte länge hat aber nicht die materialrichtung angibt?
oder
einen einheitsvektor (länge 1) der normal zur ebene liegt, weg vom material?

ich glaube ja die funktion liefert den einheitsvektor mit der materialrichtungsinformation. und mit diesem vektor hast du alle informationen, bis auf den abstand.

oder was meinst du mit "position der flächen"?

edit: sollte doch erstmal nachdenken und dann schreiben.
die position der fläche wäre mit dem normalenvektor natürlich noch nicht definiert und man kann nicht bestimmen ob ein spalt möglich ist.
aber wenn du dir noch einen beliebigen punkt auf den flächen holst, dann ja.
die funktion ClosestDistance gibt dir ja die beiden punkte zurück. erstellst du daraus einen vektor kannst du den mit den normalen vergleichen.


gruß

------------------
Software nach Maß für Ihr CAD-System
www.ib-knepper.de

[Diese Nachricht wurde von jens_oliver am 24. Jun. 2009 editiert.]

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

volvoracer
Mitglied
student


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

Beiträge: 10
Registriert: 31.01.2009

vista home premium SP1
Intel core 2 duo t5800(2x2ghz)
4GB DDR2 RAM
Geforce 9600GT(512MB DDR3)
ProE
SW 2008

erstellt am: 24. Jun. 2009 16:29    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


Spaltmassproblem.JPG

 
Du hast schon recht, die Funktion liefert den Einheitvektor mit der Materialrichtungsinformation.
Ich habe mal auf die schnelle ein Bild gemalt, um das Problem zu verdeutlichen, es ist halt sonst wirklich schwer zu erklären.

Fläche 2 und Fläche 3 Schließen einen Spalt ein, ihre Normalenvektoren haben einen Winkel von >90° <270° zueinander und zeigen vom Material weg. Also ist alles in Ordnung.

Fläche 1 und Fläche 4 Schließen keinen Spalt ein, ihre Normalenvektoren haben aber auch einen Winkel von >90° <270° zueinander und zeigen auch vom Material weg.
Ich würde mit "closestDistance" also, wenn ich nur die Winkelbedingung benutze auch hier einen Spalt feststellen, obwohl es keinen gibt.

Wenn ich jetzt ein Koordinatensystem, dessen X-Achse parallel zum Normalenvektor von Fläche 1 ist und in dieselbe Richtung zeigt, einfügen könnte, dann hätte der Flächenursprung von Fläche 4 in diesem Koordinatensystem einen negativen X-Wert, und ich könnte die Fläche somit ausschließen.

Wenn man dasselbe dann mit Fläche 2 und Fläche 3 machen würde, hätte der Flächenursprung der zu vergleichenden Fläche einen positiven X-Wert, ein Spalt wäre möglich, und ich könnte die Distanz messen.

Ich hoffe mal, dass mein Problem damit etwas verständlicher geworden ist.
Gruß,
Benne

------------------

[Diese Nachricht wurde von volvoracer am 24. Jun. 2009 editiert.]

[Diese Nachricht wurde von volvoracer am 24. Jun. 2009 editiert.]

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

jens_oliver
Mitglied
Softwareentwickler


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

Beiträge: 114
Registriert: 28.06.2005

erstellt am: 24. Jun. 2009 17:07    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 volvoracer 10 Unities + Antwort hilfreich

fläche 1 -> fläche 4
closestDistance liefert dir einen punkt auf fläche1 (p1) und  fläche4 (p4).
wenn du jetzt einen vektor bildest (p4-p1) und den winkel mit der normalen von fläche1 berechnest ist dieser über 90°.

fläche2 ->fläche3
winkel zwischen normale auf fläche3 und vektor(p2-p3) ist aber kleiner als 90°.

ist das nicht dein zweites kriterium?

------------------
Software nach Maß für Ihr CAD-System
www.ib-knepper.de

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

volvoracer
Mitglied
student


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

Beiträge: 10
Registriert: 31.01.2009

vista home premium SP1
Intel core 2 duo t5800(2x2ghz)
4GB DDR2 RAM
Geforce 9600GT(512MB DDR3)
ProE
SW 2008

erstellt am: 24. Jun. 2009 17:22    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, an die Punkte hatte ich garnicht gedacht, ich denke so müsste es auch ohne koordinatensystem funktionieren, werds gleich ausprobieren.
Vielen Dank für die Hilfe!

------------------

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

Dirk Wollborn
Mitglied
Entwicklungskonstrukteur


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

Beiträge: 379
Registriert: 31.07.2001

erstellt am: 24. Jun. 2009 18:33    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 volvoracer 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von volvoracer:
...
Das Problem ist allerdings leider, dass durch meine erste Einschränkung(Winkel) Flächen, wie z.B. die obere und die untere Seite eines Quaders nicht ausgeschlossen werden, obwohl diese ja keinen Spalt miteinander einschließen können.
...

Müssen die Flächen denn nicht von 2 verschiedenen Körpern kommen, um einen Spalt zu bilden? Das würde deinen Fall 2 Flächen vom gleichen Würfel ja ausschließen

------------------
Dirk

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