Je ne connais pas d'outils existant permettant de faire ça mais cela est surement faisable via un programme qui devrait en automatique à partir d'une liste de plan :
- ouvrir le plan slddrw.
- analyser toutes les notes de ce plan.
- modifier la note si = xxxxxxx.
- sauvegarder ce plan.
- passer au plan suivant.
- etc...
ci-joint un petit exemple de programme, à lancer après démarrage de SW et chargement d'un plan SLDDRW. Ce programme permet de rechercher toutes les notes et toutes les cotes présentes sur un plan (pas toutes les tolérances par contre).
dommage que l'on ne puisse pas scroller certaines info étaient inaccessibles en bas de la fenêtre de résultat
on ne peut pas sélectionner le texte
Mais surtout pour mon application il me faudrait ouvrir tous les plans (200) un par un. Autant le faire à la mano avec SW / outils / Rechercher/modifier.
J'aurais aimé quelque chose de plus automatique, mais je ne pense pas que cela existe.
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'--------------------Find and Replace Annotations--------------------
Set swUtil = swApp.GetAddInObject("Utilities.UtilitiesApp")
Set swUtilFindReplaceAnnotations = swUtil.FindReplaceAnnotations
longstatus = swUtilFindReplaceAnnotations.InitPMPage()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
swUtilFindReplaceAnnotations.FindText = "M6x30"
swUtilFindReplaceAnnotations.ReplaceText = "M6x30 - 8.8"
swUtilFindReplaceAnnotations.options = gtFraMatchCase Or gtFraWholeWord Or gtFraIncludeHiddenAnnotation
swUtilFindReplaceAnnotations.AnnotationFilter = gtFraAllTypes
Part.ClearSelection2 True
longstatus = swUtilFindReplaceAnnotations.ReplaceAll()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
longstatus = swUtilFindReplaceAnnotations.Close()
End Sub
à voir pour le mettre dans un programme qui boucle sur tout les plan d'un dossier par contre je suis embeter par la boite de dialogue qui apparait a la fin de la macro :/
Ce programme n'est qu'un exemple pour rechercher les notes et cotes d'un plan, il faut automatiser l'ouverture et la fermeture des SLDDRW, modifier les notes ou cotes en automatique, tracer le résultat dans un fichier log, etc ....
Ton besoin nécessite un peu de connaissance en programmation (vba, vb.net ou C#) mais est faisable. Pour traiter 200 plans, cela représentera un temps de traitement d'environ 20 à 30 minutes au final mais avant il faut prévoir à peu près 2 heures pour écrire le programme.
Je vais regarder en fonction de mes maigres capacité en programmation et de mes disponibilités.
Je suis plus familier avec le VB car j'ai fait beaucoup de macro pour Excel, pour le C++ je l'ai vue à l'école dans les année 2000, je ne suis donc plus du tout à la page mais il offre d'autre possibilités.
- chargement d'un fichier csv contenant la liste des fichiers à analyser, attention cette liste doit être formattée comme le fichier liste.csv joint avec le programme.
- Ouvrir chaque fichier dans Solidworks.
- Analyser toutes les notes de chaque fichier 2D chargé.
- Remplacer le "Texte à modifier" par le "Nouveau texte de la note"
- Sauvegarder le plan ainsi modifié.
Il est préférable de faire un test sur une petite quantité de copie de fichier 2D pour démarrer.
A la fin du traitement, il y aura création d'un fichier résultat.csv dans le dossier de l'éxécutable indiquant si les fichiers ont étés traités ou mis en erreur.
Comme indiqué au lancement du programme, il est impératif de faire une sauvegarde de tous les fichiers à traiter avant traitement.
Je n'aime pas créer de fonction de sauvegarde des fichiers SolidWorks pour d'autres personnes car en temps que personne externe j'estime que je n'ai pas à intervenir sur ceux-ci en mode modification mais pour le fonctionnement de ce programme j'y était un peu obligé, merci donc de bien vouloir travailler sur des copies des fichiers et non sur les originaux.
Sinon il y a l'outil intégration dans mycadtools que tu peux installer et lancer sur un dossier il suffit de modifié la règle jointe.
Et pour cela aucune compétence en programation ne sont nécessaire.
Il suffit de modifier la condition ici j'ai mis pour tous les documents de type plan.
Puis de changer l'opération ici remplacement du texte d'une note par une autre note.Note recherché dans la règle jointe M6x30 texte de remplacement M6x30 -8.8
Et choix des feuilles j'ai choisit toutes les feuilles.
Tu peux l'adapter très simplement puis appliquer cette règle à tout un dossier à tout un assemblage ou autre suivant tes besoin.