Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Tangent to curve -> last solution

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
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Autor Thema:   Tangent to curve -> last solution (182 mal gelesen)
danilo.sl
Mitglied
Student

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

Beiträge: 3
Registriert: 08.09.2020

erstellt am: 25. Okt. 2020 13:00    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 zusammen,

ich habe ein Makro geschrieben, welches ein Bauteil mit der Intersection-Funktion "schneidet" und anschließend eine Linie tangential an die Intersection-Linie erzeugt. Das klappt bisher auch so wie es soll. Allerdings bin ich auf das Problem gestoßen, dass bei einer komplexeren Bauteilgemetrie, mit mehreren Möglichkeiten der Tangentenerzeugung immer die oberste Tangente ausgewählt wird.

Hier ein Auszug aus dem Code:

Code:
Set hybridShapeLineBiTangent1 = hybridShapeFactory1.AddNewLineBiTangent(ref26, ref27, Nothing)
    hybridShapeLineBiTangent1.SetChoiceNo 1, 1, 1, 1, 1
    hybridBody8.AppendHybridShape hybridShapeLineBiTangent1
    hybridShapeLineBiTangent1.SetLengthType 3
    hybridShapeLineBiTangent1.Name = "InfiniteLine." & CStr(n)

Das Problem kommt daher, dass die erste "1" (in der zweiten Code-Zeile) die erste mögliche Lösung auswählt. Für meinen Anwendungsfall brauche ich jedoch immer die letzte mögliche Tangente.

Mein erster Ansatz das Problem mit einer Schleife und einer anschließenden Fehlerabfrage zu lösen hat bisher nicht funktioniert.

Ich bin für jeden Lösungsvorschlag dankbar. 

Beste Grüße
Danilo

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11150
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Okt. 2020 09: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 Nur für danilo.sl 10 Unities + Antwort hilfreich

Servus Danilo

In meinem Kurztest war die über GetChoiceNo ausgegebene Lösung immer die 1 (egal welche ich zuvor manuell gewählt hatte).
Schon mal probiert über die Tangentialrichtungen die gewünschte Linie zu bestimmen? zB

Code:
hybridShapeLineBiTangent1.SetChoiceNo 1, -1, 0, -1, 0
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

danilo.sl
Mitglied
Student

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

Beiträge: 3
Registriert: 08.09.2020

erstellt am: 26. Okt. 2020 11: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

Hallo Bernd,

Danke für deine schnelle Antwort. Das habe ich auch versucht, leider ohne Erfolg. Ein Beispiel bei dem es im Einzelfall geklappt hat war:

Code:
hybridShapeLineBiTangent1.SetChoiceNo 5, 1, -1, 1, 1

Die fünfte Lösung in dem Fall ist die unterste Tangente am Bauteil, sprich meine gesuchte Lösung. Leider weiß ich nicht wie ich diesen Ansatz am besten auf alle gesuchten Linien (500+ Linien) überführen kann...

Zur besseren Veranschaulichung: Die Intersection-Linie, die auf meinem Bauteil die verschiedenen Kurven zur Tangentenerzeugung liefert, befindet sich in der ZX-Ebene. Die Linien, die tangential an der unterste Kurve erstellt werden sollen befinden sich ebenfalls in der ZX-Ebene und haben den selben Ursprung. Sprich die Orientierung sollte die gleiche sein. Da bleibt mir nur die erste und dritte Stelle der Tangentialrichtungen als Einstellungsparameter.

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