Nicklaroot
Membres-
Compteur de contenus
17 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Nicklaroot
-
Bonjour à tous, J'ai actuellement développé une macro vb permettant de faire différentes opérations sur une CATPart. Toutefois lorsque je lance ma macro et qu'il n'y a rien d'ouvert à l'écran (ni CATPart, ni CATProduct). La macro plante et visual basic editor me renvois sur le code. Ceci me semble tout a fait normal mais serait-il possible d'ajouter quelques lignes sur ma macro afin que le script soit quitté proprement au lieu de retrouner directement sous visual basic editor? Je vous remercie par avance, Nicklaroot
-
J'ai trouvé solution à mon problème précédent. Toutefois est il possible de définir l'orientation de ces inputs grâce à la macro? Orientation des plans, des lignes....? Merci,
-
Salut, Pourrais tu me dire comment tu fais pour insérer l'élément que tu as selectionner via la commande "selectElemnté" dans la commande permettant de définir le inputs de ta powercopy. Dans mon cas, je n'arrive pas à utliliser le point que je selectionne dans le PutInputData"StartPointPipe". Merci d'avance pour ton aide, Ci-dessous mon script: Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim factory As InstanceFactory Set factory = part1.GetCustomerFactory("InstanceFactory") factory.BeginInstanceFactory "PowerCopy_Expansion", "Z:\Template.CATPart" factory.BeginInstantiate Set MySelection = partDocument1.Selection MySelection.Clear Dim InputObject(0) InputObject(0) = "Point" SelPoint = MySelection.SelectElement2(InputObject, "Select Start Point", False) StartPointPipe = SelPoint.Items1 Dim Thickness As Object Set Thickness = part1.FindObjectByName("Plan.1") Dim Diameter As Object Set Diameter = part1.FindObjectByName("Plan.2") Dim OrientationShape As Object Set OrientationShape = part1.FindObjectByName("Plane.3") Dim NeutralFiber As Object Set NeutralFiber = part1.FindObjectByName("Line.1") factory.PutInputData "Plan1", Plan1 factory.PutInputData "Plan2", Plan2 factory.PutInputData "Plan3", Plan3 factory.PutInputData "Line.1", Line.1 factory.PutInputData "StartPointPipe", StartPointPipe Dim Instance As ShapeInstance Set Instance = factory.Instantiate factory.EndInstantiate factory.EndInstanceFactory part1.Update End Sub
-
Salut, Pourrais tu me dire comment tu fais pour insérer l'élément que tu as selectionner via la commande "selectElemnté" dans la commande permettant de définir le inputs de ta powercopy. Dans mon cas, je n'arrive pas à utliliser le point que je selectionne dans le PutInputData"StartPointPipe". Merci d'avance pour ton aide, Ci-dessous mon script: Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim factory As InstanceFactory Set factory = part1.GetCustomerFactory("InstanceFactory") factory.BeginInstanceFactory "PowerCopy_Expansion", "Z:\Template.CATPart" factory.BeginInstantiate Set MySelection = partDocument1.Selection MySelection.Clear Dim InputObject(0) InputObject(0) = "Point" SelPoint = MySelection.SelectElement2(InputObject, "Select Start Point", False) StartPointPipe = SelPoint.Items1 Dim Thickness As Object Set Thickness = part1.FindObjectByName("Plan.1") Dim Diameter As Object Set Diameter = part1.FindObjectByName("Plan.2") Dim OrientationShape As Object Set OrientationShape = part1.FindObjectByName("Plane.3") Dim NeutralFiber As Object Set NeutralFiber = part1.FindObjectByName("Line.1") factory.PutInputData "Plan1", Plan1 factory.PutInputData "Plan2", Plan2 factory.PutInputData "Plan3", Plan3 factory.PutInputData "Line.1", Line.1 factory.PutInputData "StartPointPipe", StartPointPipe Dim Instance As ShapeInstance Set Instance = factory.Instantiate factory.EndInstantiate factory.EndInstanceFactory part1.Update End Sub
-
Ok merci pour ton aide. Toutefois, je ne souhaiterais pas réaliser toute l'instantiation via la macro. J'aimerais juste lancer la fenêtre puis ensuite choisir moi même les inputs. J'ai également essayé la commande ci dessous pour lancer l'instance mais je n'arrive pas sélectionner automatiquement le fichier désiré. Si tu essais les 2 lignes ci-dessous, tu verras apparaître une fenêtre browser, te permettant de choisir le fichier à instancier. CATIA.StartCommand "Instanciate From Document" AppActivate "CATIA V5" Ensuite j'ai essayé ca pour automatiser la sélection d'un fichier mais sans succes: CATIA.StartCommand "Instanciate From Document" AppActivate "CATIA V5" Dim partname As String partname = "c:\temp\PowerCopyReference.CATPart" Dim cmd As String cmd = "wscript C:\SendKeys.vbs " & partname Call Shell(cmd) --------------------------------------------- Set WshShell = WScript.CreateObject("WScript.Shell") WScript.sleep 200 WshShell.SendKeys WScript.Arguments.Unnamed(0) WshShell.SendKeys "{TAB 3}" WshShell.SendKeys "{ENTER}" Si quelqu'un a une idée.... Merci A+
-
Bonjour, J'ai bien les licences KT1 et KWA. Toutefois le code que tu m'as posté ci-dessous ne semble pas fonctionner. Mon éditeur vba ne reconnait pas la 2em ligne "PutInputData..." As tu déjà utilisé ce script? Peux tu donner un exmple concret? Merci d'avance,
-
Bonjour, J'aimerais insérer une powercopy à partir d'un script codé en Vba. J'ai essaye le code ci-dessous mais cela ne fonctionne pas. Quelqu'un connaît-il la solution? InstanceFactory.BeginInstanceFactory "NameOf Reference", "C:\NameOfPowercopy.CATPart" Merci d'avance,
-
Merci pour ton aide Ce code m'a permis de resoudre mon probleme Bon week end
-
Bonjour à tous, J'aimerais savoir quelle fonction utiliser pour générer un fichier .txt dans catia V5 à l'aide d'une macro? Par exemple comment retranscrire dans un fichier .txt le contenu d'une fenetre d'entrée. ----------------------- Sub CATMain() Dim sMessage As String sMessage = InputBox("Enter a message", "Message", "Hello World") ....Code pour genere un fichier .txt contenant le contenu de l'inputBox "Hello World"..... End Sub -------------------------- Merci d'avance pour votre aide, A+ Nicklaroot
-
Disfonctionnement macro (fonction search)
Nicklaroot a répondu à un(e) sujet de Nicklaroot dans Catia
Oui c'est exact le clear est mal place dans le script ci-dessus. Je me suis trompe en le recopiant, en faite je l'ai placé juste apres "Set selection1 = productDocument1.Selection". J'ai aussi essaye en le supprimant totalement le clear mais ca ne fonctionne pas non plus. Alex -
Bonjour à tous, J'ai un petit souci avec l'une de mes macros, recherchant et comptabilisant des parametres contenu dans un arbre de conception. Le probleme est que la macros ne fonctionne qu'une seule fois, au second lancement celle-ci affiche des resultats nuls. Elle ne refonctionne qu'au redemarrage de Catia. Je ne sais pas trop d'ou peut venir le probleme donc si quelqu'un a une idée... Voici le code de la macros: Sub CATMain() Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection selection1.Search "CATAsmSearch.Assembly,all" selection1.Clear A$ = selection1.Count MsgBox ("There are" + Space(1) + A$ + Space(1) + "Product in this document") Dim selection2 As Selection Set selection2 = productDocument1.Selection selection2.Search "CATAsmSearch.Part,all" selection2.Clear B$ = selection2.Count MsgBox ("There are" + Space(1) + B$ + Space(1) + "Part in this document") Dim selection3 As Selection Set selection3 = productDocument1.Selection selection3.Search "Name=XXXX*,all" selection3.Clear C$ = selection3.Count MsgBox ("There are" + Space(1) + C$ + Space(1) + "XXXX parameter in this document") End Sub Merci d'avance, Nicklaroot
-
Bonjours, Quelqu'un connait il la fonction permettant de verrouiller un parametre catia (type:length, mass...) par l'intermediaire d'un code vb? J'ai essaye d'utiliser la fonction "macro recording "dispo dans catia pour connaitre l'intitule de la fonction mais cela ne me la donne pas! Merci d'avance pour votre aide, Nicklaroot
-
Merci Naurel, Effectivement avec la fonction "search", il est possible de rechercher des parametres par les noms, de le comptabiliser, et de connaitre leur valeurs. A partir de la, il m'a ete facile d'adapter une macros avec une boucle "for" (reprenant celle disponible dans ta precedente reponse) permettant de les additionner. Cette fois tous fonctionne correctement avec un temps execution rapide! Merci pour ton m'aide. A+
-
Merci Naurel, Effectivement avec la fonction "search", il est possible de rechercher des parametres par les noms, de le comptabiliser, et de connaitre leur valeurs. A partir de la, il m'a ete facile d'adapter une macros avec une boucle "for" (reprenant celle disponible dans ta precedente reponse) permettant de les additionner. Cette fois tous fonctionne correctement avec un temps execution rapide! Merci pour ton m'aide. A+
-
Merci Naurel pour les infos, en suivant tes conseils, j'ai reussi a faire fonctionner une macros. Toutefois j'ai l'impression que le nombre d'iteration de la boucle est tres important car la macros met bcp de temps realiser les additions (20 min pour une vingtaine addition de parametres). Merci beaucoup qd meme et si tu as une idée, ce pb fait moi signe. A+ Nicklaroot
-
Salut, Merci pour l'infos mais tu pourrais m'ecrire un petit script sur ce point parce que je n'arrive pas a faire fonctionner une boucle correctement et puis comment fais tu pour rechercher un nom de parametre? Je te remercie d'avance, A+ Nicklaroot
-
Bonjour, je debute sur vb et je cherche a developper une macro permettant de sommer des parametres presents dans differents set de parametres. Voici l'arborescence de conception ce qui sera plus explicite: Part Parameters Parameters.1 Length.1 Parameters.2 Length.1 Parameters.3 Length.1 Summon parameters Summon length (= parameters1/length1+parameters2/length1+parameters3/length1) (Il y a deux niveaux de parametres; parametres1,2, 3 et sommun appartiennent a parameters) Donc pour le moment de maniere "manuel", j'ai trouve une solution, c'est a dire qu'en connaissant le nbr de set de parametres, j'ai une solution avec le code suivant : Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim parameters1 As Parameters Set parameters1 = part1.Parameters Dim length1 As Length Set length1 = parameters1.Item("Summon length") Dim relations1 As Relations Set relations1 = part1.Relations Dim Formula1 As Formula Set Formula1 = relations1.CreateFormula("Formula.1", "", length1, "Parameters.1\Length.1`+``Parameters.2\Length.1` + Parameters.3\Length.1`") Formula1.Rename "Formula.1" End Sub Maintenant la difficulte est que je nbr de set de parameres n'est pas connu et pu évoluer, donc je ne fais pas comment faire pour trouver un solution permettant de sommer tous mes parametres longueurs . Je pense qu'il faut une boucle et declarer d'autres variables mais je coince... Merci pour votre aide... Nicklaroot
