-
Compteur de contenus
335 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par gawel
-
Salut 8_pool, juste une précision par rapport à ta question: tu veux modifier les tolérances existantes ? car si c'est le cas, ce ne sera pas possible directement. Par contre !! il est tout à fait possible de créer ses propres formats de tolérance. il ya un descriptif dans l'aide pour cela: regarde le fichier suivant : French/online/French/driug_C2/driugsa0405.htm je pense que c'est ce qui t'intéresse, enfin tu me le diras :exclam: @+ tard gawel
-
bon j'ai beau triturer mon code dans tous les sens (j'ai même réussi à fabriquer une machine à gaz, si si !! je vous assure!), il me manque un truc dans ma boucle. je vous mets mon code: Dim NomFichier As String Dim NomDossier As String Dim tableau() As String Dim stock As String Dim i As Integer NomDossier = "K:\" & OF & SERMOFOLDER 'ici on arrive dans mon dossier NomFichier = dir(NomDossier & "*.CATPart") 'là je prends tous les fichiers *.CATPart i = 1 ReDim tableau(i) 'je redimensionne mon tableau pour avoir au moins une valeur Do While NomFichier <> "" 'boucle tant que le dossier n'a pas été entièrement parcouru stock = Mid(NomFichier, 9, 3) 'je stocke le numéro du fichier tableau(i) = stock ' je rentre ma valeur dans le tableau i = i + 1 ReDim Preserve tableau(i) 'j'agrandis mon tableau pour y rentrer la prochaine valeur NomFichier = dir 'passe à l'élément suivant Loop Dim repere_tirant As String Dim debutnumero As Double debutnumero = "1" 'je cherche le numéro de repère Do If debutnumero = Val(tableau(i)) Then debutnumero = debutnumero + 1 Else: Exit Do End If Loop 'je formate mon numéro pour l'injecter plus tard dans mon nom de fichier repere_tirant = format(debutnumero, "000") MsgBox repere_tirant Stop Y-a-t-il qqchose qui vous choque ?? merci gawel
-
Autant pour moi, je vais essayer de mieux me faire comprendre. voilà j'ai par exemple une soixantaine de fichiers dans un dossier qui sont nommés de cette manière: 9999_REP001_SPC_01_A#toto.CATPart 9999_REP024_SPC_01_A#titi.CATPart 9999_REP025_SPC_01_A#tutu.CATPart 9999_REP300_SPC_01_A#lolo.CATPart 9999_REP474_SPC_01_A#lele.CATPart etc.... le numéro qui m'intéresse est situé à ce niveau: 9999_REP001_SPC_01_A#toto.CATPart j'ai besoin de connaître quel est le numéro le plus grand en partant de 001 qui ne soit pas encore pris. Ici par exemple, le 002 serait bon; ou alors en partant d'un chiffre de référence, par exemple 300, donc ici je pourrais prendre le 301. je pensais dans mon raisonnement prendre tous les numéros présents en partant du 9ème caractères et les rangés dans un tableau, j'aurais donc extraits: 001 024 025 300 474 etc... et là en comparant les numéros stockés par rapport à une variable je me dis : le 001 est déjà pris, j'incrémente de 1, je regarde s'il exite: si oui alors je continue d'incrémenter si non alors bingo, je prends ce numéro ! voili voilà mon casse-tête !! gawel
-
Salut à tous, je reviens un peu sur un ancien message si vous le voulez bien. le message était le suivant: http://www.cadxp.com/sujetXForum-2829.htm pour lister mes fichiers dans une listbox, pas de problème, mais ce n'est pas exploitable directement. Maintenant, je voudrais extraire de chaque fichier une liste de caractères qui désigne un numéro. Pour effectuer des sauvegardes de fichiers ultérieurement, j'ai besoin de connaître si un numéro est libre (pour ne pas écraser d'autres fichiers) dans mon raisonnement, je pense faire: 1) lire les fichiers 2) extraire les numéros et les ranger dans un tableau (?) 3) trier ou chercher un numéro en partant d'un numéro de référence si c'est un tri, je commence par un numéro 300 par exemple et je regarde lequel est immédiatement supérieur à celui-ci (et ne soyant pas déjà utilisé dans le tableau). merci d'avance !! gawel
-
Oui en effet, le but premier pour moi est de limiter le choix. Par exemple, j'ai limité: 1) le nombre de polices 2) les tailles de polices 3) les styles de tolérance voila pour l'instant ce que l'on a fait. plus tard, on devrait travailler sur les formats par défauts (lorsque tu ouvres un nouveau drawing) et les bibliothèques de détail 2D. @+ tard ! gawel
-
Salut 8_pool, malheureusement, à ma connaissance, je ne connais pas de résumé des normes de dessin de catia; à part l'aide (qui pour une fois décrit assez bien toutes les possibilités), je ne vois pas ... pour les styles de vues, je n'ai pas encore essayé.... pour l'instant en 2D, j'avoue que je n'y ai pas beaucoup consacré de temps, pour tant il y a pas mal de choses à voir et à faire. Bon courage :yltype: gawel
-
Salut WebTopoNet, je viens d'essayer, c'est nickel !! c'est beaucoup plus léger que le code précédent, en plus sans la référence, merci pour le tuyau ! après, j'ai continué mon code sans mettre de liste: j'utilise une boucle qui va scruter les noms des fichiers jusqu'à trouver ce qui m'intéresse, ça me permet aussi de faire quelques vérification d'usage sur les noms des fichiers. @+ ! gawel
-
Bon, j'ai fait pas mal de recherche sur la toile; j'ai trouvé le code suivant: Dim fso As Scripting.FileSystemObject Dim fd As Scripting.Folder Dim fl As Scripting.File Dim fdCur As Scripting.Folder Dim sFolderName As String ' Initialisation du nom du dossier sFolderName = "K:\9999\etude\" Set fso = CreateObject("Scripting.FileSystemObject") ' Vérifier que le dossier source existe bien. If fso.FolderExists(sFolderName) Then ' Récupérer l'instance du dossier. Set fd = fso.GetFolder(sFolderName) 'Lister les sous-dossiers For Each fdCur In fd.SubFolders List1.AddItem fdCur.Name Next fdCur 'Lister les fichiers For Each fl In fd.files list2.AddItem fl.Name Next fl Else MsgBox "Dossier non trouvé!" End If Il a fallu quand même que je charge une nouvelle référence "Microsoft Scripting Runtime" pour pouvoir utiliser ce code. Il reste tout de même un Hic: par quoi puis-je remplacer le list2 pour pouvoir effectuer une boucle (pour repérer des numéros de fichiers déjà existants afin de mettre à jour un compteur) Merci Gawel
-
Salut à tous, je cherche une commande qui me permettrait de lister le contenu d'un dossier; cette liste, je voudrais ensuite pouvoir l'analyser dans mon programme pour repérer des numéros de fichiers déjà existants afin de mettre à jour un compteur. Existe-il qqchose d'assez simple à exploiter pour réaliser mon problème ?? Merci d'avance ! Gawel
-
Bonne remarque, je n'avais pas encore vu cela......... et c'est idem sur la R13 peut-être s'agit-il d'une commande qui permettrait de restaurer ton environnement en cas de plantage; je n'ai pas encore l'aide en français de R13, à suivre......... Gawel
-
Oui, c'est sûr, il y eu aussi des personnes qui ont eu peur de l'évolution, car il pensait ne plus maitrisé la conception. C'était d'ailleurs une époque où les gens se posait des questions existentielles du style: "ne devrions-nous pas revenir à la conception en 2D ?" Il faut un temps d'adaptation pour tous les dessinateurs et par rapport à tous les outils informatiques gravitant autour de la CAO. Les temps de production ont commencé à diminuer de manière significative au bout d'un an, quand le système était rodé et que notre méthodologie de travail a été défini par rapport aux nouvelles possibilités fournies. @+ ! gawel
-
Salut à tous, je voudrais chercher le nom d'un composant pour pouvoir ultérieurement faire un save as D'une manière générale, ce product a un nom que je ne connais pas exactement car il portera un numéro arbitraire. j'arrive à retrouver l'item de ce product sans problème dans l'arbre; par contre, pour pouvoir retrouver son nom de fichier("toto.CATPart"), c'est une autre paire de manche !! en effet, il existe des commandes comme "path" ou "fullname", mais il faudrait déjà connaître le nom du fichier pour les utiliser (collection document) Y-a-t-il un autre moyen de trouver mon sésame ?? merci d'avance ! gawel
-
Salut 8_pool, le sujet qui était concerné était le suivant: http://www.cadxp.com/sujetXForum-2212.htm cela intéressait beaucoup de monde; pour le consulter, un des membres proposait de contacter Patrick l'administrateur, pour savoir s'il pouvait l'inclure dans la partie "téléchargement"; contacte-le par un message privé pour voir s'il serait d'accord pour intégrer tes docs. @+ :exclam: Gawel
-
ne cherchons plus :exclam: en effet, ça aurait été trop long de te fournir le code entier pour les références, surtout qu'il aurait fallu que je te fournisse les parts et les products nécessaires !! enfin, c'est complétement dingue ce VB, le problème je te le montre dans le code remanié ci-dessous: Dim TGdisttete As Constraint Set TGdisttete = collec_contraintes.AddBiEltCst(catCstTypeDistance, Ref_TETE_TIRANT, Ref_FACE2_BAGUE) set Lenght1 = TGdisttete.Dimension Lenght1.value = 200 TGdisttete.Orientation = catCstOrientSame newproduct1.Update en fait il faut passer par une variable bidon (surtout sans la déclarer avant, car là non plus ça ne marche pas) et là bingo !! c'est quand même tordu, une matinée pratiquement pour trouver cela, à ce rythme, va me falloir 3 ans pour terminer mon appli !! gawel
-
salut à tous, j'ai un problème concernant l'affectation d'une valeur pour une contrainte de distance; mon code est le suivant : Dim TGdisttete As Constraint Set TGdisttete = collec_contraintes.AddBiEltCst(catCstTypeDistance, Ref_TETE_TIRANT, Ref_FACE2_BAGUE) TGdisttete.Dimension.Value = 200 TGdisttete.Orientation = catCstOrientSame newproduct1.Update bizarrement, il construit bien la contrainte, mais sa valeur est à 0 une fois le product updaté, et lorsque je regarde les bornes, catia m'a affecté la valeur de 200 à la borne mini :casstet: j'ai essayé de modifier l'orientation, rien n'y fait (ça plante même catia des fois....); je me demande si je dois préciser qq chose pour la valeur. vraiment bizarre...... gawel
-
je n'ai pas de réponse directe, car l'aide de catia ne montre pas une synthèse de tous les liens existants. elle explique plutôt comment les afficher ou les modifier (en passant pas liaisons dans les menus déroulants ou par le bureau); dans ces fonctions, il te dit quel type de lien est construit (géométriques, paramétriques) s'ils existent, s'ils sont détruits etc... regarde l'aide de catia en tapant "type de lien", "liaisons", "lien",... bonne chance ! gawel
-
regarde ce script que j'ai trouvé dans l'aide de catia; on y trouve le highlight(vers la fin avec un commentaire): Option Explicit ' COPYRIGHT DASSAULT SYSTEMES 2001 Dim Language as String Language="VBScript" ' *********************************************************************** ' Purpose: This macro: ' 1 - Creates a rule base ' 2 - Adds the check below to this rulebase ' (for all) H:Hole ' H.Diameter>12mm ' 3 - Determines whether the rule base is to be solved or not ' 4 - Solves the rulebase if the rule base is to be solved ' 5 - Highlight the failed items ' ' Assumptions: ' This macro is intended to be run on the ' CAAKhwRuleBaseCreate.CATPart document ' ' Author: Carole ROULLE ' Languages: VBScript ' Locales: English (United States) ' CATIA Level: V5R6 ' *********************************************************************** Sub CATMain() CATIA.DisplayFileAlerts = False Dim oActiveDoc As Document Set oActiveDoc = CATIA.ActiveDocument ' Check whether the document is a CATPart If (InStr(oActiveDoc.Name,".CATPart")) <> 0 Then ' Retrieve the Relations collection Dim oRel As Relations Set oRel = oActiveDoc.Part.Relations ' Create the RB1 rulebase Dim oRuleBase As Relation Set oRuleBase = oRel.CreateRuleBase("RB1") ' Create the RuleSet.1 rule set and the HDiaCheck below ' the created rule set Dim oCheck As Relation Set oCheck= oRuleBase.RuleSet.CreateCheck("HDiaCheck","H:Hole","H.Diameter>12mm","RuleSet.1") ' The rule base needs to be solved ' To confirm this, the rule base fingerprint is retrieved ' if the Fingerprint is 0 - the rule base needs be solved ' otherwise it is solved if (oRuleBase.Fingerprint = 0) then msgbox "The rule base must be solved - Click OK to solve the rule base" ' Solve the rule base oRuleBase.Deduce() else msgbox "The rule base is solved" end if ' Highlight the elements not satifying the check criteria ' Reminder: elements are highlighted in the geometry area ' and in the specification tree as well ' Three holes are highlighted after the macro has finished running oCheck.Highlight ' oRuleBase.Report() CATIA.ActiveDocument.Part.Update else MsgBox "The active document must be a CATPart" end if End Sub y'a donc cet objet "highlight" que l'on traduit par surbrillance y'a quand même un hic, c'est que chez moi, il ne supporte pas l'objet highlight; je me demande si ce n'est pas lié à une licence ou à une librairie (du style KWE). à voir gawel
-
j'ai pas essayé, mais j'aurais mis: Set doc1 = CATIA.ActiveDocument Set part1 = doc1.Part Set bodies1 = part1.Bodies Set body1 = bodies1.Item(1) Set Shape1 = body1.Shapes.Item(2) 'nam = Shape1.name 'MsgBox nam dim toto as selection Set toto = Shape1.Selection 'j'affecte la selection directement sur l'objet Shape.1 faudrait que j'essaye en situation réelle pour voir moi-même Gawel
-
Salut kos, ta question est assez floue...... il existe plusieurs sortes de liens: - liens externes (liens associatifs entre plusieurs pièces) qui peuvent être géométriques ou paramétriques - liens parents/enfants (relations généalogiques) - liens entre 3D et une vue - lien avec annotations.....etc et etc A+ Gawel
-
essaye ça: dim toto as selection set toto = nomdutrou.selection ça devrait passer en surbrillance... @+ tard gawel
-
ou aussi par sélection dans catia !!!!! j'avais oublié celle-là, mais là ça rappelle un de tes messages sur la sélection en dehors de la userform, tant que c'est pas réglé, tu ne pourras pas utiliser cette solution. gawel
-
tant mieux, pour sélectionner juste un trou, soit il va falloir que tu le cherches par son nom ("trou.1"), soit par une autre particularités (un paramètre attaché par exemple) tout dépend aussi si ces trous sont toujours présents ou si c'est variable..... à voir ! gawel
-
bingo !! je ne les ai pas toutes cochées car elles sont trop nombreuses, mais j'ai pris celles qui étaient un peu plus parlantes (style microsoft) celle qui était incriminée port le nom de "Microsoft forms 2.0 Object Library" en tout cas c'était bien dans tools/references. as-tu la même librairie ? si c'est le cas cela voudra dire qu'il faut qu'elle soit chargée sur toutes les stations pour pouvoir fonctionner correctement, cela va me faire du boulot !..... merci et @+ tard ! gawel
-
enael, peux-tu vérifier une chose par rapport à l'éditeur VB ? lorsque je lance le debug de l'éditeur, il bloque sur le right et en validant il m'ouvre la fenêtre avec toutes les références de librairie d'objet. par défaut il se met sur: MISSING: CATIA V5 DNBHuman Modeling Interfaces Object Library peux-tu vérifier si toi tu l'as bien (sans le MISSING) ? merci !! gawel
-
Bon, pas possible d'accéder à des informations sur les fonctions couleurs utilisés dans les applis (cest que des .exe et des dll) as-tu essayé: Set visProperties1 = CATIA.ActiveDocument.Selection.VisProperties visProperties1.SetRealColor 255,0,0,1 ici on modifie la couleur sur une sélection, il suffit de changer la sélection par autre chose en scrutant l'arbre de construction; les 3 premiers chiffres sont les couleurs RGB, le dernier qui a comme valeur 0 ou 1 concerne peut-être bien de l'héritage pour les enfants (??) à tester.......! gawel
