| |  | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 | | |  | KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: Punkte auf einer Kurve zwischen Anfangs- und Endpunkt verteilen (2504 mal gelesen)
|
F.lix Mitglied Student

 Beiträge: 15 Registriert: 10.10.2014
|
erstellt am: 17. Nov. 2014 15:26 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Community, dank des Buches von Jens Hansen ("Kochbuch - Catia V5 automatisieren") bin ich als Catia Programmieranfänger schon ziemlich weit allein gekommen. Jetzt stehe ich jedoch in einer Sackgasse. Hier mein Problem: Ich würde gerne automatisiert Punkte auf einer Kurve verteilen. Es existieren schon zwei Punkte auf der Kurve die automatisch konstruiert 50mm vom Anfangs und 50mm vom Endpunkt der Kurve entfernt liegen. Dazwischen sollen nun die x Punkte erstellt werden. Manuell mache ich es wie im Bild mit dem Befehl "Points & Planes Repetition". Ganz einfach eigentlich, nur nicht ganz so schön für tausende von Kurven (: Übrigens mit dem Makrorekorder habe ich es schon probiert, der haut mir aber für jede Wiederholung eines Punktes eine extra erstellte Formel raus. Ziemlich unflexibel also. Hat jemand vielleicht eine einfachere Idee? Grüße F.lix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Nov. 2014 15:37 <-- editieren / zitieren --> Unities abgeben:          Nur für F.lix
Servus meine Idee dazu: - 1.Punkt mit Formel erstellen - Punkt mit "AddNewPointDatum" isolieren - Formel für 2. Punkt anpassen - isolieren ... oder: Mit einer Schleife die punkte über "AddNewPointOnCurveFromPercent" anlegen dabei "Ratio" entsprechend hochzählen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.lix Mitglied Student

 Beiträge: 15 Registriert: 10.10.2014
|
erstellt am: 17. Nov. 2014 17:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ersten Frage: was macht den "AddNewDatum" genau? Meine Lösung war jetzt: - erster und letzter Punkt schon per Makro konstruiert und vorhanden - Abstand zwischen den gleichverteilten Punkten bestimmen, in dem man die Kurvenlänge nimmt und den Anfangs- und Endabschnitt abzieht dazu die Anzahl der gleichverteilten Punkte, die letztlich den Abstand vorgeben Abstand = (Länge der Kurve - Anfangs/Endabschnitt) / Anzahl der Abschnitte zwischen gleichverteilten Punkten - und den Abstand nimmt man dann und setzt ihn in .AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, Abstand, False) sieht jetzt so aus (Ausschnitt)
Code: 'Erster Punkt 30 mm vom Anfang Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, 30#, False) hybridBody7.AppendHybridShape hybridShapePointOnCurve1 hybridShapePointOnCurve1.Name = Shape.Name & "_1" 'Referenz zwischen dem die Punkte eingefügt werden sollen Set reference2 = part1.CreateReferenceFromObject(hybridShapePointOnCurve1) 'Abstand zwischen den gleichverteilten Punkten bestimmen, mit Kurvenänge weniger Anfangs- und Endpunkt, geteilt durch die gleichgroßen Abschnitte Abstand = Kurvenlaenge / (k - 1) 'k Anzahl der Punkte insgesamt 'Punkte dazwischen gleichverteilt For j = 3 To k Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, (Abstand * (j - 2)), False) hybridBody7.AppendHybridShape hybridShapePointOnCurve2 hybridShapePointOnCurve2.Name = Shape.Name & "_" & j - 1 'part1.Update Next 'letzter Punkt 30 mm vom Ende Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, 30#, True) hybridBody7.AppendHybridShape hybridShapePointOnCurve2 hybridShapePointOnCurve2.Name = Shape.Name & k
Ist wahrscheinlich nicht die Genaueste Methode, da man den Abstand hier selber berechnet, aber für mich ausreichend! Grüße F.lix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |