RaoulDucable
Membres-
Compteur de contenus
11 -
Inscription
-
Dernière visite
RaoulDucable's Achievements
Newbie (1/14)
0
Réputation sur la communauté
-
Bonjour à tous, Pour clore le chapitre je souhaitrais lancer une macro réalisée en CATScript à l'aide d'une macro VB réalisée sous Excel. Pour info, j'ai réalisé un tableau de paramètres (designTable) dans lequel j'ai écris une macro VB afin de gérer mes paramètres d'un CATPrioduct. à la fin de cette macro Excel, je souhaiterais lancer une macro CATScript pour assembler en automatique des sous-CATProduct. Existe-t-il un code qui permettrait d'effectuer cette manip. ? RaoulDucable
-
Problème d\'association variables et paramètres
RaoulDucable a répondu à un(e) sujet de RaoulDucable dans Catia
Pour info : Déclaration de la variable par un "InputBox" : Dim MaVariable1 As Integer (par exemple) MaVariable1 = InputBox("Texte de la boîte de dialogue", "nom de la fenêtre", MaVariable1) Déclaration de la variable associé à un paramètre du CATProduct principal : Dim MaVariable2 As Dimension (par exemple) Set MaVariable2 = parameters1.Item("MonParamètre1") Association de la variable au paramètre : MaVariable2.value = MaVariable1 Déclaration de la variable associé à un paramètre du CATProduct secondaire : Dim MaVariable3 As Dimension (par exemple) Set MaVariable3 = parameters1.Item("MonParamètre2") Création d'une formule entre le CATProduct principal et un CATProduct secondaire Dim relations1 As Relations Set relations1 = product1.Relations Dim formula1 As Formula Set formula1 = relations1.CreateFormula("Formule.1", "", MaVariable3, "`MonParamètre1`") formula1.Rename "Formule.1" formula1.activate Raoul -
Pour info : En ce qui concene la déclaration de boucle : Dim arrayOfVariantOfBSTR1(0) For i = 1 to Variable arrayOfVariantOfBSTR1(0) = dirname & LigneArbre Set products1Variant = products1 products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" Next Quant à la déclaration des "product" et "reference"autres "Constrainte" , je n'ai pas encore touvé. Raoul ;)
-
Bonjour Marc, En fait dans mon programme j'ai écrit Dim arrayOfVariantOfBSTR1 (0) pour le premier CATProduct puis Dim arrayOfVariantOfBSTR2 (o) pour le second et ainsi de suite. nla est en fait une variable qui remplace 1, 2, 3 ... etc. en fonction de la demande. Evidement cela ne fonctionne pas. Le but étant d'éviter la multiplication des lignes de programme. Il faut également incrémenter les relations et les contraintes .... Pas simple ! Peut-être existe-t-il une autre façon de procéder ? Raoul
-
Bonjour Marc, Effectivement, je suis en train de programmer l'assemblage de CATProduct par le biais d'enregistrement de macros et le peu que l'on puisse trouver sur internet. Pour en dire un peu plus, voici un extrait du programme '******************** Montage des arbres courants ********************* '******************************** 1 *********************************** Dim LigneArbre As String Dim LigneArbreMot As String If MGalets = "2" Then LigneArbre = "RIMSTGCX05_LIGNE_ARBRE_COURANT_EXTER.CATProduct" LigneArbreMot = "RIMSTGCX06_LIGNE_ARBRE_MOTEUR_EXTER.CATProduct" Else LigneArbre = "RIMSTGCX05_LIGNE_ARBRE_COURANT_INTER.CATProduct" LigneArbreMot = "RIMSTGCX06_LIGNE_ARBRE_MOTEUR_INTER.CATProduct" End If Dim LngArbre As String LngArbre = Left(LigneArbre, Len(LigneArbre)-11) Dim LngArbMot As String LngArbMot = Left(LigneArbreMot, Len(LigneArbreMot)-11) nla as String nla = 1 For compteur = 1 to NbLignes_Arbre Dim arrayOfVariantOfBSTR & nla (0) arrayOfVariantOfBSTR & nla (0) = dirname & LigneArbre products1.AddComponentsFromFiles arrayOfVariantOfBSTR & nla , "All" product1.ApplyWorkMode DESIGN_MODE Dim product3 As Product Set product3 = products1.Item(LngArbre & ".1") Dim products3 As Product Set products3 = product3.Products '************* Association des paramètres table / lignes d'arbre ************* Dim parameters3 As Parameters Set parameters3 = product3.Parameters Set length2b = parameters3.Item("Largeur_voie") Set length4b = parameters3.Item("Diametre_arbre") Set length5b = parameters3.Item("Diametre_galet") Dim relations2 As Relations Set relations2 = product1.Relations Dim formula1 As Formula Set formula1 = relations2.CreateFormula("Formule.4", "", length2b, "`Largeur_voie`") formula1.Rename "Formule.4" formula1.activate Dim relations3 As Relations Set relations3 = product1.Relations Dim formula2 As Formula Set formula2 = relations3.CreateFormula("Formule.5", "", length5b, "`Diametre_galet`") formula2.Rename "Formule.5" formula2.activate Dim relations4 As Relations Set relations4 = product1.Relations Dim formula3 As Formula Set formula3 = relations4.CreateFormula("Formule.6", "", length4b, "`Diametre_arbre`") formula3.Rename "Formule.6" formula3.activate product1.Update '************* Réalisation des contraintes d'assemblage ************* Dim reference2 As Reference Set reference2 = product1.CreateReferenceFromName(LngArbre & ".1/AXE.1/!Droite.1") Dim reference3 As Reference Set reference3 = product1.CreateReferenceFromName("RIMSTGCX00_ENS.1/RIMSTGCX01_LONGERON_ENS.1/RIMSTGCX01_LONGERON_D.1/!Point.2") Dim constraint2 As Constraint Set constraint2 = constraints1.AddBiEltCst(catCstTypeOn, reference2, reference3) Dim reference4 As Reference Set reference4 = product1.CreateReferenceFromName(LngArbre & ".1/PALIER_APPLIQUE_D35.2/!Plan.1") Dim reference5 As Reference Set reference5 = product1.CreateReferenceFromName("RIMSTGCX00_ENS.1/RIMSTGCX01_LONGERON_ENS.1/RIMSTGCX01_LONGERON_D.1/!Plan.10") Dim constraint3 As Constraint Set constraint3 = constraints1.AddBiEltCst(catCstTypeOn, reference4, reference5) constraint3.Orientation = catCstOrientsame product1.Update nla = 1+1 compteur= 1+1 Next Mon but étant de lancer ce programme depyuis excel (après entrée et vérification de variables) Voir également message du 24/06 et du 17/06 (résolu) Merci d'avance
-
Bonjour a tous, Question: Peut-on utiliser la variable " arrayOfVariantOfBSTR " dans une boucle (For compteur par exemple) Si oui, sous quelle forme ? RaoulDucable
-
Problème d\'association variables et paramètres
RaoulDucable a répondu à un(e) sujet de RaoulDucable dans Catia
Merci 8_pool Pour plus d'info je peux mettre tout le script (certe assez long !) -
Bonjour à tous. Dans l'extrait de script suivant, je cherche à associer une variable (saisie par un InputBox) à un paramètre situé dans un CATProduct. Mon problème est que cette association ne fonctionne pas. Dim MaVarialble As Integer Do MaVarialble = InputBox("Entrez la longueur.") Loop Until (UCase(MaVarialble) <> "") Dim arrayOfVariantOfBSTR1(0) arrayOfVariantOfBSTR2(0) = dirname & MonProduct products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" product1.ApplyWorkMode DESIGN_MODE Dim product1 As Product Set product1 = products1.Item(MonProduct & ".1") Dim products1 As Product Set products1 = product1.Products product1.Update Dim length1 As Lenght (ou Parameter) Dim parameters1 As Parameters Set parameters1 = product1.Parameters Set length1 = parameters1.Item("MonParametre") [surligneur] length1.value = MaVariable[/surligneur] ------------------------------------------------------------------- ScriptingERR_1002 Source: CATIALength Description: La méthode Value a échouée Quelqu’un a-t-il rencontré et résolu ce problème. Merci d'avance
-
Problème de réalisation de contrainte en CatScript
RaoulDucable a répondu à un(e) sujet de RaoulDucable dans Catia
Salut Marc54, En fait, c'est un peu plus compliqué que cela. C' est au départ une macro que j'ai créé sous excel. Je m'explique : Je me sers d'un fichier excel "table de paramètrage" pour créer et gérer des variantes et les incrémenter pour faire une base de données. Une fois tout cela validé, je cherche à lancer CATMain par excel pour faire l'assemblage de mes CatProduct. Mais ça ne fonctionne pas terrible. Mes connaîssance en programmation étant limitées, je procède par étape en enrregistrant des macros CATScript..... -
Bonjour, Voici une partie d'un programme d'assemblage de CatProduct paramétrables. J'ai 2 soucis : 1- au niveau de laréalisation de la seconde contrainte Le message est (entre autre) SciptingERR_1002 Source : CATIAConstraints La méthode AddBiEltCst a échoué Ligne : 167 Colonne : 0 2- au niveau de la validation des variables avec affichage en msgBox. SciptingERR_1002 Source : CATIALength Description : La méthode Value a échoué Ligne : 92 Colonne : 2 Quelqun a-t-il rencontré ces type de problèmes 'Language = "VBSCRIPT" Sub CATMain() Dim documents1 As Documents Set documents1 = CATIA.Documents Dim productdocument1 As Document Set productdocument1 = documents1.Open("I:\_sharediao\DICAP\catdiv_dicap_3\65304_manut\AFFAIRES\RIMS\TABLE_ROULEAU_GALET\INTER\1_PRE_ETUDE\RIMSTGCX00-LG500\RIMSTGCX00_ENS.CATProduct") Dim product1 As Product Set product1 = productdocument1.Product Dim products1 As Products Set products1 = product1.Products Dim OpenName as String OpenName = CATIA.ActiveDocument.Name Dim dirname dirname = CATIA.ActiveDocument.Path & "\" product1.ApplyWorkMode DESIGN_MODE product1.Update '*********** Chargement des paramètres *********** Dim parameters1 As Parameters Set parameters1 = product1.Parameters ' Déclaration du tableau de paramètres Dim relations1 As Relations Dim ParamTable As DesignTable Set relations1 = product1.Relations Set ParamTable = relations1.Item("ParametresTable") ' Déclaration des paramètres Set length1 = parameters1.Item("Longueur_table") Set length2 = parameters1.Item("Largeur_voie") Set length3 = parameters1.Item("Entraxe_lignes_arbre") Set NbLigne = parameters1.Item("Nb_lignes_arbre") Set length4 = parameters1.Item("Diametre_arbre") Set length5 = parameters1.Item("Diametre_galet") Set MGalets = parameters1.Item("Montage_galets") Dim ChoixEntree As String ChoixEntree = InputBox("Entrée des paramètres manuelle ou par tableau (manuelle ou tableau)") If (ChoixEntree) = "manuelle" Then MsgBox " Le tableau de paramètrage va être désactivé ! " ' Désactivation du tableau de paramètres ParamTable.Deactivate ' Déclaration des variables de paramètres Dim LongTable As Double Dim LargVoie As Double Dim EntrArbre As Double Dim Nbrouleaux As Integer Dim DiamArbre As Double Dim DiamGalet As Double Dim MontGalet As String Dim length1 As Parameter Dim length2 As Parameter Dim length3 As Parameter Dim length4 As Parameter Dim length5 As Parameter Dim NbLigne As Parameter Dim MGalets As Parameter ' Entrée des valeur de variables LongTable = InputBox("Entrez la longueur de table.") LargVoie = InputBox("Entrez la largeur de voie.") EntrArbre = InputBox("Entrez l'entraxe des lignes d'arbres (764 mm std)") Nbrouleaux = InputBox("Entrez le nombre de lignes d'arbre.") DiamArbre = InputBox("Entrez le diamètre des arbres (35 mm ou 40 mm)") DiamGalet = InputBox("Entrez le diamètre des galets (plan de roulement)") MontGalet = InputBox("Entrez le type de montage des galets (intérieur ou extérieur)") ' Affectation des valeurs length1.Value = LongTable MsgBox " Longueur de table : " & length1.Value length2.Value = LargVoie (ligne 92) MsgBox " Largeur de table : " & length2.Value length3.Value = EntrArbre MsgBox " Entraxe des lignes d'arbre : " & length3.Value NbLigne.Value = Nbrouleaux MsgBox " Nombres de lignes d'arbre : " & NbLigne.Value length4.Value = DiamArbre MsgBox " Diamètre d'un arbre : " & length4.Value length5.Value = DiamGalet MsgBox " Diamètre des galets : " & length5.Value MGalets = MontGalet MsgBox " Diamètre des galets : " & MGalets ElseIf (ChoixEntree) = "tableau" Then Dim NumConfig As Integer NumConfig = InputBox("Entrez le numéro de configuration !") ParamTable.Configuration = NumConfig End If product1.Update '******* Chargement des CatProducts ******* '********** Montage des arbres ************ Dim LigneArbre As String If (MGalets.Value) = "extérieur" Then LigneArbre = "RIMSTGCX05_LIGNE_ARBRE_COURANT_EXTER.CATProduct" Else LigneArbre = "RIMSTGCX05_LIGNE_ARBRE_COURANT_INTER.CATProduct" End If Dim LngArbre As String LngArbre = Left(LigneArbre, Len(LigneArbre)-11) Dim arrayOfVariantOfBSTR1(0) arrayOfVariantOfBSTR1(0) = dirname & LigneArbre products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" Dim product2 As Product Set product2 = products1.Item(LngArbre&".1") Dim products2 As Products Set products2 = product2.Products Dim product3 As Product Set product3 = products2.Item("PALIER_APPLIQUE_D35.2") Dim products3 As Products Set products3 = product3.Products Dim constraints1 As Collection Set constraints1 = product1.Connections("CATIAConstraints") Dim reference1 As Reference Set reference1 = product1.CreateReferenceFromName("RIMSTGCX00_ENS/" & LngArbre & ".1/AXE.1/!Droite.1") Dim reference2 As Reference Set reference2 = product1.CreateReferenceFromName("RIMSTGCX00_ENS/RIMSTGCX01_LONGERON_ENS.1/RIMSTGCX01_LONGERON_D.1/!Point.2") Dim constraint1 As Constraint Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2) (ligne 167) Set constraints2 = product1.Connections("CATIAConstraints") Dim reference3 As Reference Set reference3 = product1.CreateReferenceFromName("RIMSTGCX00_ENS/" & LngArbre & ".1/PALIER_APPLIQUE_D35.2/!Plan.1") Dim reference4 As Reference Set reference4 = product1.CreateReferenceFromName("RIMSTGCX00_ENS/RIMSTGCX01_LONGERON_ENS.1/RIMSTGCX01_LONGERON_D.1/!Plan.10") Dim constraint2 As Constraint Set constraint2 = constraints1.AddBiEltCst(catCstTypeOn, reference3, reference4) constraint2.Orientation = catCstOrientsame product1.Update .......... Merci d'avance
-
récupération de données d\'un fichier excel ou vb pour catia
RaoulDucable a répondu à un(e) sujet de ENIM3A1A1 dans Catia
Bonjour, Je viens de m'inscrire dans ce forum pour les mêmes raisons que vous n'étant pas programmeur je tâtonne. Il est possible sous Catia de créer des "paramètres", "tableau de paramètres" Dans mon cas, je procède par l'assemblage de CATProduct paramétrables (sous-product). J'ai créé sous Excel des macros qui me permettent de validé un tableau de paramètres qui peut être lu sous Catia. J'ai créé sous Catia une macro en enregistrant les différentes manip pour l'assemblage de mes sous-product puis j'ai édité le fichier catvbs. (il y a beaucoup de lignes à ôter). On peut insérer les lignes de ce fichier dans l'éditeur VB d'Excel et lancer cette macro par Excel. Là je commence à avoir des soucis. Ce que j’ai aussi de faire, c’est de lancer la macro catvbs par Excel. Là, j’ai des soucis. Ma démarche : créer des CATPart avec formules ou paramètres créer des CATProduct avec paramètres créer un tableau de paramètres (fichier Excel) créer une macro sous Catia (outilmacrosdémarrer l’enregistrement) créer dans le fichier Excel des macros pour géréer les paramètres insérer la macro catvbs dans Excel et faire des essais…… :)
