J’ai une question concernant les propriétées automatiques dans un plan 2D:
J’aimerai tout simplement afficher la page active ainsi que le nombre totale de page de ma mise en plan :
j’ai procédé comme ci-dessous :
J’ai deux champs automatiques dans mon cartouche, le premier est pour connaitre le numéro de page active. J’ai simplement inséré le lien d’attribut « Numéro de feuille » dans la case souhaité :
Ensuite dans un deuxième champ je souhaiterai avoir le nombre de pages total.
Il y a bien un lien d’attribut avec le nombre total de feuilles :
Le problème c’est que dans ce compteur tous les calques sont pris en compte, or j’aimerai que le « calque de detail » soit exclu de ce compteur .
savez vous si celle requette très spécial existe?
Peut-être avez vous une autre méthode pour afficher le compteur de page sur un cartouche ?
Par contre pour pouvoir exclure une feuille selon un critère spécifique je pense qu’il faudra passer par une macro.
du genre :
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim vSheetNames As Variant
Dim bRet As Boolean
Dim i As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swSheet = swDraw.GetCurrentSheet
vSheetNames = swDraw.GetSheetNames
For i = 0 To UBound(vSheetNames)
Debug.Print " SheetName[" & i & "] = " & vSheetNames(i)
If vSheetNames(i) = "LE NOM DE LA FEUILLE A NE PAS COMPTER" Then
swModel.AddCustomInfo2 "Total Sheets", swCustomInfoText, swModel.GetSheetCount - 1
End
End If
Next i
End Sub
La macro qui va bien (normalement) :
Private Sub CommandButtonValider_Click()
Dim Planche, SurPlanches
’ détermine le nombre total de planches
SurPlanches = 0
For I = 1 To CATIA.ActiveDocument.Sheets.Count
If CATIA.ActiveDocument.Sheets.Item(I).IsDetail = False Then
SurPlanches = SurPlanches + 1
End If
Next
’ Attribution du numero de page
Planche = 0
For I = 1 To CATIA.ActiveDocument.Sheets.Count
If CATIA.ActiveDocument.Sheets.Item(I).IsDetail = False Then
Planche = Planche + 1
CATIA.ActiveDocument.Sheets.Item(I).Views.Item(2).Texts.GetItem(« NumeroPage »).Text = Planche & « / » & SurPlanches
je te laisse remettre en forme, j’ai viré tout ce qui ne sert à rien, ce qui explique pourquoi on est dans une « private », pourquoi il y a des « next » qui se baladent…