Autor
|
Thema: Tangent to curve -> last solution (454 mal gelesen)
|
danilo.sl Mitglied Student
Beiträge: 9 Registriert: 08.09.2020
|
erstellt am: 25. Okt. 2020 13:00 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 26. Okt. 2020 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für danilo.sl
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 |
| Zerspanungsmechaniker - Fachrichtung FMS / Fachrichtung DMS (m/w/d) | Dirostahl ist eines der führenden Familienunternehmen im Bereich Freiformschmieden. Mit rund 450 gut ausgebildeten Beschäftigten werden Freiformschmiedestücke bis 35.000 kg Liefergewicht und Ringe bis 3.500 mm Durchmesser gefertigt. Grundlage des Erfolgs ist die Kombination aus langjähriger Erfahrung, fachlichem Know-how und modernster Anlagentechnik in allen Betriebsbereichen. ... | Anzeige ansehen | Mechaniker |
|
danilo.sl Mitglied Student
Beiträge: 9 Registriert: 08.09.2020
|
erstellt am: 26. Okt. 2020 11:06 <-- editieren / zitieren --> Unities abgeben:
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 >>)
|