Répétition linéaire paramétrable
2 participants
Page 1 sur 1
Répétition linéaire paramétrable
Bonjour à tous,
Je viens vers vous car dans le cadre d'un projet étudiant, j'ai décider de paramétrer un ascenseur totalement paramétrable.
J'ai donc créer une structure dans laquelle l'ascenceur va se déplacer. or la dite structure représente la structure pour 1 étage d'un immeuble.
Or l'un des paramètres clé est le nombre d'étage de l’ascenseur. Je dois donc réussir à mettre en place une répétition linéaire de ma structure en fonction du nombre d'étage.
J'ai testé de réaliser une macro, en fixant une structure de base et en appelant une seconde pièce que je fixe à l'aide de la première. l'idée était de répéter cette opération à l'aide de la macro en empilant le nombre d'étage souhaitée. le problème est que la macro applique toujours les nouvelles contraintes à la première pièce appelée. est ce "réparable"? je vous joint le code :
La seconde idée fut d'utiliser la multi instanciation. Mais dans ce cas, je ne retrouve pas dans les paramètre la valeur que j'ai appliqué pour le nombre d'instance. Est-ce possible?
J'ai également entendu parlé de la possibilité d'appelé une pièce à des points placé précédemment? effectivement possible?
merci d'avance pour votre aide!
Je viens vers vous car dans le cadre d'un projet étudiant, j'ai décider de paramétrer un ascenseur totalement paramétrable.
J'ai donc créer une structure dans laquelle l'ascenceur va se déplacer. or la dite structure représente la structure pour 1 étage d'un immeuble.
Or l'un des paramètres clé est le nombre d'étage de l’ascenseur. Je dois donc réussir à mettre en place une répétition linéaire de ma structure en fonction du nombre d'étage.
J'ai testé de réaliser une macro, en fixant une structure de base et en appelant une seconde pièce que je fixe à l'aide de la première. l'idée était de répéter cette opération à l'aide de la macro en empilant le nombre d'étage souhaitée. le problème est que la macro applique toujours les nouvelles contraintes à la première pièce appelée. est ce "réparable"? je vous joint le code :
- Code:
Sub CATMain(NombreEtage As Integer)
MsgBox "salut"
For i = 1 To NombreEtage
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Dim products1 As Products
Set products1 = product1.Products
Dim arrayOfVariantOfBSTR1(0)
arrayOfVariantOfBSTR1(0) = "\\uran01\blondela\NF15\Projet\cage d'ascenseur.CATProduct"
Set products1Variant = products1
products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All"
Dim constraints1 As Constraints
Set constraints1 = product1.Connections("CATIAConstraints")
Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("Assemblage_etage/Produit1.1/pilier/!Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.3;7)));None:();Cf11:());Pad.1_ResultOUT;Z0;G2980)")
Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("Assemblage_etage/Cage_ascenseur.1/pilier/!Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.3;7)));None:();Cf11:());Pad.1_ResultOUT;Z0;G2980)")
Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeDistance, reference1, reference2)
Dim length1 As Length
Set length1 = constraint1.Dimension
length1.Value = 0#
constraint1.Orientation = catCstOrientSame
Set constraints1 = product1.Connections("CATIAConstraints")
Dim reference3 As Reference
Set reference3 = product1.CreateReferenceFromName("Assemblage_etage/Cage_ascenseur.1/pilier/!Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.3;8)));None:();Cf11:());Pad.1_ResultOUT;Z0;G2980)")
Dim reference4 As Reference
Set reference4 = product1.CreateReferenceFromName("Assemblage_etage/Produit1.1/pilier/!Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.3;8)));None:();Cf11:());Pad.1_ResultOUT;Z0;G2980)")
Dim constraint2 As Constraint
Set constraint2 = constraints1.AddBiEltCst(catCstTypeDistance, reference3, reference4)
Dim length2 As Length
Set length2 = constraint2.Dimension
length2.Value = 0#
constraint2.Orientation = catCstOrientSame
Set constraints1 = product1.Connections("CATIAConstraints")
Dim reference5 As Reference
Set reference5 = product1.CreateReferenceFromName("Assemblage_etage/Cage_ascenseur.1/barre/!Selection_RSur:(Face:(Brp:(MultiPad.1;1:(Brp:(MultiPad.1_GeometricalElement3D.3;0)));None:();Cf11:());MultiPad.2_ResultOUT;Z0;G2980)")
Dim reference6 As Reference
Set reference6 = product1.CreateReferenceFromName("Assemblage_etage/Produit1.1/barre/!Selection_RSur:(Face:(Brp:(MultiPad.1;1:(Brp:(MultiPad.1_GeometricalElement3D.3;0)));None:();Cf11:());MultiPad.2_ResultOUT;Z0;G2980)")
Dim constraint3 As Constraint
Set constraint3 = constraints1.AddBiEltCst(catCstTypeDistance, reference5, reference6)
Dim length3 As Length
Set length3 = constraint3.Dimension
length3.Value = i * 3300#
constraint3.Orientation = catCstOrientSame
Next
End Sub
La seconde idée fut d'utiliser la multi instanciation. Mais dans ce cas, je ne retrouve pas dans les paramètre la valeur que j'ai appliqué pour le nombre d'instance. Est-ce possible?
J'ai également entendu parlé de la possibilité d'appelé une pièce à des points placé précédemment? effectivement possible?
merci d'avance pour votre aide!
Tatoo911- timide
- Messages : 2
Date d'inscription : 09/01/2014
Localisation : Troyes
Re: Répétition linéaire paramétrable
Salut,
il y a peut être des raisons pour que tu te dirige vers une macro, mais ça ne serai pas plus simple d'utiliser une répétition linéaire avec le nombre d'étages en paramètre.
il y a peut être des raisons pour que tu te dirige vers une macro, mais ça ne serai pas plus simple d'utiliser une répétition linéaire avec le nombre d'étages en paramètre.
=> Répétition suivant une esquisse ? mais je ne vois pas trop l'intérêt dans ton casJ'ai également entendu parlé de la possibilité d'appelé une pièce à des points placé précédemment? effectivement possible?
flo- Fédérateur
- Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers
Sujets similaires
» Numero d'itération de répétition dans la formule de répétition
» Répétition personnalisée
» Répétition d'un trou d'assemblage
» Outil Répétition Circulaire
» Cotation répétition rectangulaire
» Répétition personnalisée
» Répétition d'un trou d'assemblage
» Outil Répétition Circulaire
» Cotation répétition rectangulaire
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum