Renommer feuilles de mise en plans

vos questions concernant les API SolidWorks

Renommer feuilles de mise en plans

Messagepar SIMEONI » Ven 01 Nov 2013, 18:35

Bonjour,

Je cherche à renommer automatiquement des feuilles de mise en plan de façon automatique.
Etant nouveau sur le forum, j'ai posté cette question visiblement au mauvais endroit car pour le moment je n'ais eu aucune réponses...Alors navré pour le doublon.

En ce qui concerne ma question =>Mise en situation:

J'ai une mise en plan de pièce d'ouverte avec plusieurs feuilles. (une feuille par configuration de la pièce)
Je souhaite, en cliquant sur un bouton (lié à la macro) renommer chacune des feuilles de la façon suivante:
Nom du fichier de la pièce + Nom de la configuration + Nom de la famille

J'ai récupéré un code qui fonctionne bien pour donner le "nom de la pièce" + "nom de la configuration".

Seulement j'aimerai aussi avoir la "famille"

Je ne sais pas comment récupérer le nom de la propriété personnalisée "Famille"

Voici le code récupéré et adapté à mon cas. Merci de le compléter si vous avez une idée.

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim swModelview2 As Configuration
Dim vSheets As Variant
Dim swView As SldWorks.View
Dim i As Integer

Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Dim ConfigName As String, Filename As String, Test As String, CodeFam As String
Dim NbView As Integer

vSheets = swDraw.GetSheetNames
Set swModel = swApp.ActiveDoc

For i = 1 To swDraw.GetSheetCount
swDraw.ActivateSheet vSheets(i - 1)
Set swSheet = swDraw.GetCurrentSheet
Filename = swModel.GetPathName 'Récupérer le nom du fichier en court
Filename = Strings.Left(Filename, Len(Filename) - 7) 'On enlève l'extension SLDDRW
nbr = Len(Filename) ' Comptage nombre de caractères
Position = InStrRev(Filename, "\") ' Détermine la position du dernier SLASH
Filename = Right(Filename, nbr - Position) ' Coupe le nom et on garde que ce qui est à droite du dernier SLASH

Set swView = swDraw.GetFirstView

Do While Not swView Is Nothing
ConfigName = swView.ReferencedConfiguration
Set swView = swView.GetNextView
Loop

'A partir d'ici je ne sais pas aller chercher la propriété "famille"

'nbrcfg = Len(ConfigName) ' Comptage nombre de caractères

'If nbrcfg <= 3 Then 'si nom config sup ou égal à 3
'CodeFam = swModel.GetCustomInfoValue(ConfigName, "Famille")
'End If

'CodeFam = swModel.GetPROPRIETEInfoValue(ConfigName, "Famille")

Do While Not swView Is Nothing
CondFam = swModel.GetPROPRIETEInfoValue(ConfigName, "Famille")
Set swView = swView.GetNextView
Loop

'$PROPRIETE@Famille
'If nbrcfg = 17 Then
'ConfigName = Left(ConfigName, 2) 'garder la partie sans le Flat avec config 2 chiffres
'CodeFam = ""
'End If

'If nbrcfg = 18 Then
'ConfigName = Left(ConfigName, 3) 'garder que la partie sans le Flat avec config 3 chiffres
'CodeFam = ""
'End If

swSheet.SetName CodeFam & Filename & ConfigName

Next i
Exit Sub

End Sub
SIMEONI
Ewok SolidWorks
 
Messages: 3
Inscription: Dim 27 Oct 2013, 17:35

Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

banniere