prosper67
Membres-
Compteur de contenus
51 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par prosper67
-
Je te conseille tout de même d'utiliser la version CSV qui est bien plus performante et utilisable sur Unix: Sub CATMain() Dim ainformations() Dim apointcoordinates(2) Set oselection = CATIA.ActiveDocument.Selection oselection.Clear oselection.Search "CATGmoSearch.Point,all" ilength = oselection.Count ReDim ainformations(1 To ilength, 0 To 3) For i = 1 To ilength Set opoint = oselection.Item(i).Value opoint.GetCoordinates apointcoordinates ainformations(i, 0) = opoint.Name ainformations(i, 1) = apointcoordinates(0) ainformations(i, 2) = apointcoordinates(1) ainformations(i, 3) = apointcoordinates(2) Next Set filesys = CATIA.FileSystem Dim FileName As String FileName = "C:\temp\coordinates.csv" Dim FilIn As File Set FilIn = filesys.CreateFile(FileName, True) Set ostream = FilIn.OpenAsTextStream("ForWriting") For i = 1 To UBound(ainformations) ostream.Write (ainformations(i, 0) & ";" & ainformations(i, 1) & ";" & ainformations(i, 2) & ";" & ainformations(i, 3) & ";" & Chr(10)) Next ostream.Close End Sub Bon courage!! Salutations Christophe
-
Salut, le code suivant permet d'exporter tes coordonnées de 3D points vers un fichier Excel: Sub CATMain() Dim ainformations() Dim apointcoordinates(2) Set oselection = CATIA.ActiveDocument.Selection oselection.Clear oselection.Search "CATGmoSearch.Point,all" ilength = oselection.Count ReDim ainformations(1 To ilength, 0 To 3) For i = 1 To ilength Set opoint = oselection.Item(i).Value opoint.GetCoordinates apointcoordinates ainformations(i, 0) = opoint.Name ainformations(i, 1) = apointcoordinates(0) ainformations(i, 2) = apointcoordinates(1) ainformations(i, 3) = apointcoordinates(2) Next Set oexcel = CreateObject("excel.application") oexcel.Visible = False oexcel.Application.Workbooks.Add Set oexcelsheet = oexcel.Workbooks(oexcel.ActiveWorkbook.Name).Sheets(1) For i = 1 To UBound(ainformations) oexcelsheet.range("A" & i).Value = ainformations(i, 0) oexcelsheet.range("B" & i).Value = ainformations(i, 1) oexcelsheet.range("C" & i).Value = ainformations(i, 2) oexcelsheet.range("D" & i).Value = ainformations(i, 3) Next oexcel.ActiveWorkbook.SaveAs "c:\temp\coordionates.xls" oexcel.Quit End Sub
-
Salut à tous, j'aimerais encore ajouter qq chose par rapport à ces histoires de SP. Comme l'a précisé mbn, plus le SP à l'interieur de la Release est élevé, plus la realise devient stable. A l'interieur de chaque SP, afin de corriger les bugs ou mettre à disposition certaines fonctionnalités spécifiques au groupe, on vient ajouter au SP un certain nombre de HF (Hot Fixes). Cela donne par exemple du R14 SP3 HF19. :) Mais je ne sais pas si toutes les boites ont accès aux HF, peut être que mbn pourra nous le préciser. bye Christophe [Edité le 8/4/2005 par prosper67]
-
Bonjour, est-ce que qq'un d'entre vous sais comment lancer un CATScript à partir d'une application Java? La situation est la suivante: J'ai un CATScript: C:\tmp\tmp.CATScript Catia V5 est ouvert. J'ai un code Java que je désire compiler par la suite (pas de JavaScript), et je souhaite insérer une commande qui va me lancer le CATScript sous Catia... Une idée peut être? Merci pour vos réponses Ciao Christophe
-
Salut Marc, Je me permets de faire une petite remarque par rapport à ton messsage précédent. Il n'est pas nécéssaire d'avoir un agrément DS pour organiser des formations CATIA, par contre il faut être Partner ou Golden-Partner afin de proposer des formations dans lesquelles tu utilises les PowerPoints de formation officiels de DS ou utiliser leur logo. D'autre part, je tiens à préciser que nous organisons souvent des formations CV5 chez de grands OEMs... Enfin, je comprends bien mieux le sens de ton message en lisant le post suivant: http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=4943#pid16743 :) Pour info, c'est quoi ta boite? ça m'interresse puisque je suis originaire de l'est. Salutations Christophe
-
salut à vous, en effet, l'editeur VBA ne nécéssite pas de licence appropriée. La proposition de Gawel peut être une solution à ton problème, je te décris néanmoins ma démarche, ça peut être débloquer la situation. Chez moi j'ai résolu le problème un peu autrement (dans le cas où "Visual Basic Editor" était grisé) ... Si tu as accèes aux cds d'installation de catia, tu peux, dans le repertoire VBA du cd1 lancer le fichier ???.msi qui va installer l'editeur VBA. Ferme catia, relance l'application et tu auras acces à l'environement VBA, pas besoin d'être admin. En tout k c comme ça que je procède lorsque je n'ai pas accès à l'editeur et pour l'instant ça a toujours marché :) Sinon essaye de voir ça avec l'admin... Au pire tu peux toujours utiliser l'editeur de macros sous word ou excel et acceder à catia par le fonction GetApplication. Mais là c du jonglage salutations Christophe
-
Salut, à l'aide du menu View/Toolbars, tu peux afficher la barre d'outils "Graphic Properties". Selectionne une face et applique une nouvelle couleur. Tu peux également utiliser le pinceau pour copier la couleur d'une autre face par exemple. Sinon il reste toujours la méthode macro avec l'objet VisProperties. Salutations Christophe
-
Salut, exactement! La commande "enregister sous" conserve l'UUID et dans ce cas, tu peux rediriger le lien. La commande New ou New from crée une nouvelle UUID, il n'est donc pas possible de rediriger le lien... Salutations Christophe
-
Salut, cet type d'opération est tout simplement impossible. La redirection d'un lien Ref-Ref entre Part (ou Produit) et un drawing n'est possible que si la source (part, produit) à la même UUID. Je m'explique: chaque part ou produit reçoit, lors de sa création, un identifiant interne appellé UUID qui est unique. Le Drawing pointe sur cette UUID par le biais d'un generic naming et non sur un nom ou un chemin. Effectue la manipulation suivante pour t'en rendre compte: 1- Crée un nouveau Part dans lequel tu crées une extrusion. 2- Crée une vue de face de cette extrusion dans un nouveau drawing 3- Modifie l'esquisse de cette extrusion, update le drawing, la vue de face se met à jour 4- Ferme le drawing 5- Modifie à nouveau, l'esquisse et enregistre le part sous un nouveau nom (l'UUID est conservée) 6- Ouvre le drawing et redirrige le lien du drawing vers le part précédement enregistré sous un nouveau nom 7- Update le drawing, la mise à jour s'effetue sans problème 8- Fait un "New From" (j'ai pas la traduction française en tête) d'un des parts enregistrés (la commande New From tout comme New va créer un part avec une nouvelle UUID) 9- Ouvre le Drawing et redigie le lien vers le nouveau part et là... Message "The Document refused the Link" et pourtant la géometrie est la même... C'est un truc à savoir et on ne peut, à ce jour, rien n'y faire. Maintenant si qq'un a un Workaround, je suis preneur. :) Salutations Christophe
-
Salut à tous, étant donné que je vois que certains d'entre vous semblent avoir bien des problèmes avec ce très cher logiciel, j'en profite pour faire une proposition. Il serait envisageable par le biais de mon entreprise (http://www.ivm-automotive.com) rubrique IVM Atuomotive Solutions d'organiser des formations ou des workshops CV5. Ces sessions peuvent être organisées en français directement chez vous. Ce qui pourrait être proposé: formations, coaching ou développement de méthodes de construction basées sur vos process. Compétences: Part Design, Assembly Design, Generative Shape Design, Knowledge (paramétrique, Link Flow, Rules, Reactions, Checks, Power Copies, UDF; Automation: Macros), DMU (Navigator, Fitting, Kinematiks), Optimizer, Product Structure (VizuMode, DesignMode, gestion Mémoire RAM), éventuellement Manufacturing, Elements finis. Je reste à votre disposition pour d'éventuelles précisions. sincères salutations Christophe
-
ah oui j'ai oublié ton histoire de bouttons dans la barre des taches. Pour cela il te suffit d'écrire le script et, par le biais de TOOLS/CUSTOMIZE de générer une nouvelle barre d'outils et de glisser la macro dans cette nouvelle barre d'outils. Tu peux même créer une nouvele icone personnalisée qu'il faut copier dans un repertoire spécifique, dans le répertoire d'installation CATIA mais encore une fois il me semble que tout cela est décrit dans l'online docu. Si jamais t'as des problèmes, je veux bien t'expliquer cela plus en détails. Bye Christophe
-
Guigne31, - premièrement pour ce qu'il en est de ton problème concernant les boites de dialogue: je te donne une esquisse de code, mais sache que je n'ai pas ouvert CATIA et j'écris cela en live. Tout d'abord, admettons que tu as uniquement un Part d'ouvert dans lequel se trouve un paramètre appellé "Diameter" qui gère le diamètre d'un trou par ex. Si tu souhaites guider ce paramètre par macro le code est le suivant (je précise que j'écris en live et que je l'ai pas testé): Sub CATMain set opart = CATIA.ActiveDocument.Part set oparameters = opart.parameters set odiam = oparameters.item("Diameter") snewvalue = Inputbox("Nouveau diamètre?") 'je ne me souviens pas de la syntaxe exacte de l'inputbox odiam.value = snewvalue End sub Dans le cas où tu serais dans un produit: Sub CATMain set oprod = CATIA.ActiveDocument.Product. set opart = oprod.products.item("nom du part").referenceproduct.parent.part set oparameters = opart.parameters set odiam = oparameters.item("Diameter") snewvalue = Inputbox("Nouveau diamètre?") 'je ne me souviens pas de la syntaxe exacte de l'inputbox odiam.value = snewvalue End sub - deuxièmement, pour ton histoire de points à générer à partir d'un fichier texte, pas de problèmes majeurs. Essaye de faire un macro record lors de la génération d'un coordinatepoint. Ensuite, tu lis l'onlinedocu dans laquelle est bien expliqué la lecture d'un fichier TXt et, à l'aide de la commande ReadLine, tu lis tes différents lignes de ton fichier texte, avec un split tu extrais les coordonnées en X, Y et Z. Tu ajoutes le code issu du record pour générer les points et le tour est joué. Comme dit, j'ai pas Catia à ma dispo mais si jamais ça pose problème je peux te faire parvenir le fichier texte ainsi que le code associé si c nécéssaire. Mais générer des points à partir d'un fichier txt est vraiment un jeu d'enfant. Il me semble même qu'un tel script se trouve dans les exemples de macros mises à ta dispo. dans l'online doc. Bon courage. christophe PS: Je ne relis pas, vive les fautes :)
-
Salut, fais une recherche *.CATScript dans l'installation Catia. Il y'a un ou deux scripts qui génèrent un cartouche, mais je ne connais pas le nom par coeur. A toi de l'adapter à tes besoins. salutations Christophe
-
Salut, pour cette histoire de flêche, ne serait-il pas plus simple de créer un flêche temporaire dans un sketch? ca t'évite d'utiliser des références qui sont souvent bien chiantes :) A partir de Hole.Origin tu trouves les coord du trou et, à l'aide des fonctions VBA du Sketcher tu génères une flêche (tu peux faire un record, ca marche pour le sketcher). Après la selection du trou en question, tu effaces le sketch en l'ajoutant à la selection et en faisant un selection.remove... Non? salutations Christophe
-
Salut Enael, il y'a peut-etre qd meme une possibilité. Tout dépend de ce que tu cherches à faire... Par macro il est possible de déployer "only first level", "expand all levels"... bref tu peux utiliser les fonctions standards dispo dans l'UI avec la fonction CATIA.StartCommand("Nom_de_la_commande") salutations Christophe
-
Hi, qq'un sait-il, s'il est possible de différencier directement un Product d'un Component situé (forcément) dans un Product. La fonction "TypeName", qu'elle soit appliquée sur un product ou un Component me donne toujours "ProductDocument". Avez-vous peut être une autre solution que d'utiliser un loop until component.parent.parent.item(i).Name <> component.name... bref un truc direct sans utiiser de boucle? Merci pour vos réponses. Christophe
-
Hi, J'aimerais qd meme bien rajouter qqs mots au sujet de DotNET74. C'est vrai que le .NET est un outil vraiment efficace mais il ne peut malheuresement être mis en place que un env. Windows. S sous developpez en paralelle sous win, unix et sgi,c mort! Pour ma part, je ne développe qu'en vb-script, c'est très très limité et c'est bien dommage, si seulement je pouvais deja utiliser les fonctios VB de base dans mes env., je serais bien content... :) bye Christophe
-
Salut Enael, je vois qu'il y'a pas mal de bla bla par rapport au sujet principal, d'ailleurs perso, j'aime pas trop ça.... Ton problème de selection est-t il résolu? Si ce n'est cas, pourrais-tu peut être, être un peu plus explicite, maybe I can help you! Christophe
-
Salut Enael, En VB il n'est pas possible de controler l'arborescence e l'arbre. En tout cas pas jusqu'en R12 et j'ai rien entendu à ce sujet sous R14. Salautations Christophe
-
Pour la recherche des points utilise plutot ça: osel.clear osel.search "CATPrtSearch.Point,all" Salutations. Christophe
-
Salut, la fonction GetCoordinates marche très bien. Le script suivant recherche tous les points 3D et enrregistre des coordonnée dans une Table. Après il te suffit plus qu'à balayer la table et l'exporter dans un fichier CSV. Sub CATMain() Dim table() ReDim table(0) Set osel = CATIA.ActiveDocument.Selection osel.Clear osel.Search "CATGmoSearch.Point,all" For i = 1 To osel.Count Set opoint = osel.Item(i).Value Dim acoord(2) opoint.GetCoordinates acoord scoord = acoord(0) & ";" & acoord(1) & ";" & acoord(2) table(UBound(table)) = scoord ReDim Preserve table(UBound(table) + 1) Next ReDim Preserve table(UBound(table) - 1) End Sub Bye et bon courage pour la suite! Christophe
-
Salut, Autocad j'y connais que dalle, d'ailleurs ça m'interresse même pas.... :) sous V5: je vais pas détailler le code mais te donner quelques directions. avec ta fonction search, tu as dans ta selection un certain nombre de points 3D. avec une commande For tu balayes ta selection, tu crées une array à 3 entrées et pour chaque objet (chaque point) tu appliques un GetCoordinates. Qu'il s'agisse d'un Point on Curve, on Plane, on Surface ou d'un Coordinate Point pas de problème ça marche (tant que ça reste un (3D Point) J'ai perso souvent utilisé cette fonction. Après, une fois que tu as les coordonnées, rien de plus facile d'exporter cela dans un textstream (de mon coté j'utilise pas directment les classeurs excel mais des fichiers CSV importables sous Unix) Bon courage! Christophe
-
Salut Gawel, Pour les coincidences pas de pb. Pour les offsets c'est un plus "compliqué" tout dépend des directions. Ces directions sont référencées par rapport aux références du produit dans lequel tu établis ta contrainte (en VB tu t'es certainement rendu compte que chaque product avait bien un axissystem non explicite dan l'interface utilisateur). Pour ma part, je référence uniquement sur les axes. Dans ce cas, les directions sont définies. J'utilise pricipalement des "Angles". Attention tout de meme si tu travailles sur R12: tu positionnes par ex un part sur un point (0,0,10) (coincidence) et tu définis 2 contraintes d'angle (sur X et sur Z) afin d'être isocontraint. Si tu passes de 0 à 180 degrés, lors de l'update, il va t'afficher un message "overconstraint". Le "trick" c de donner une valeur 0,00001 à la contrainte et, après l'update, de lui imputer la valeur 0. Le truc c que Catia n'arrive pas à calculer ce type de transformation car le point en question se situe sur l'axe Z. Bref ce problème est résolu (chez nous) sur R12SP6. En tout cas, les contraintes d'angles sont très stables: c'est par ex. bp mieux d'utiliser un angles (0 ou 180) plutot qu'un parallelisme. Les directions sont en effet très mal gérées surtout si tu référence sur des Edges par ex... Salutations Christophe
-
Salut, Y'a t'il des personnes qui s'y connaissent en matière BKT (Business Knowledge Template)? On pourrait peut-être s'échanger qqs infos Christophe
-
Salut à vous, pour etre exact, je suis inscrit depuis Mars mais j'avais perdu mon MDP. Y'a t'il parmis vous des Heavy-programmers l'histoire de faire un echange de connaissances. Bye Christophe
