XGX4 Posté(e) le 9 mai 2011 Posté(e) le 9 mai 2011 Bonjour, Je cherche à créer une polyligne avec rayon mais sans resultat. Tous mes points sont dans un set Géom et sont de different types ( isolé, de coordonnées, inersections etc. et dans un ordre non défini) nommés P1, P2...La valeur du rayon est un parametre. En lisant la doc V5automation, il y a la fonction que je recherche : HybShpPolyline.GetElement 1, HybShpPolylineElement,HybShpPolylineRadius mais je n'arrive pas à faire un boucle sur mon set Géom. Est ce que quelqu'un peut me donner la solution? merci d'avance XGX4 indocti discant et ament meminisse periti(Que les ignorants apprennent, que ceux qui savent se souviennent)
XGX4 Posté(e) le 6 juin 2011 Auteur Posté(e) le 6 juin 2011 Salut à tous, Après pal mal d'enervement et de noms d'oiseaux qui ont fusé dans tous les sens je suis arrivé à mes fins. voici le code:Prè-requisun paramètre "RAYON_CINTRAGE" type longueurun set Géom nommé POINTS avec des points créés avec la commande points ( pas de points déduits du style intersection, extraction...)Un set Géom nommé "FIBRE_NEUTRE" Set mon3ddoc = CATIA.ActiveDocument Set mon3d = mon3ddoc.part Dim hybridBodies1 As HybridBodies Set hybridBodies1 = mon3d.HybridBodies Dim paramdext As Parameters Set paramdext = mon3d.Parameters Dim paramdint As Parameters Set paramdint = mon3d.Parameters Dim relations1 As Relations Set relations1 = mon3d.Relations 'Dim cons As HybridBody 'Set cons = hybridBodies1.Item("CONSTRUCTION") Dim Fibre As HybridBody Set Fibre = hybridBodies1.Item("FIBRE_NEUTRE") 'Dim Fibre As HybridBody 'Set Fibre = mon3d.HybridBodies.Item("FIBRE_NEUTRE") Dim Points As HybridBody Set Points = mon3d.HybridBodies.Item("POINTS") Dim hybridShapeFactory1 As HybridShapeFactory Set hybridShapeFactory1 = mon3d.HybridShapeFactory Dim Polyline As HybridShapePolyline Set Polyline = hybridShapeFactory1.AddNewPolyline() Dim PointPoly As Point For i = 1 To Points.HybridShapes.Count Set PointPoly = Points.HybridShapes.Item(i) Set reference2 = mon3d.CreateReferenceFromObject(PointPoly) Polyline.InsertElement reference2, i If i <> 1 And i <> Points.HybridShapes.Count Then Polyline.SetRadius i, paramdext.Item("RAYON_CINTRAGE").Value Dim Formula3 As Formula Set Formula3 = relations1.CreateFormula("Formule Rayon." & i, "", paramdext.SubList(Polyline, False).Item(paramdext.SubList(Polyline, False).Count - 1), "RAYON_CINTRAGE") paramdext.SubList(Polyline, False).Item(paramdext.SubList(Polyline, False).Count - 1).Rename "Rayon." & i End If Next Fibre.AppendHybridShape Polyline Polyline.Name = "Fibre Neutre" mon3d.InWorkObject = Fibre mon3d.Update End Si cela peut aider quelqu'un ... XGX4 indocti discant et ament meminisse periti(Que les ignorants apprennent, que ceux qui savent se souviennent)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant