Een automatisch paginanummer toevoegen aan het titelblok

Hoi allemaal

Ik heb een vraag over automatische eigenschappen in een 2D-vlak:

Ik wil alleen de actieve pagina weergeven, evenals het totale aantal pagina's in mijn tekening:
image

Ik ging als volgt te werk:
Ik heb twee automatische velden in mijn titelblok, de eerste is om het actieve paginanummer te weten. Ik heb gewoon de attribuutlink " Sheet Number" in het gewenste vak ingevoegd:

Dan zou ik in een tweede veld het totale aantal pagina's willen hebben.
Er is inderdaad een attribuutkoppeling met het totaal aantal vellen:

Het probleem is dat in deze teller alle lagen in aanmerking worden genomen, maar ik zou graag zien dat de " detaillaag " wordt uitgesloten van deze teller.

Weet u of deze zeer bijzondere requette bestaat?
Misschien heb je een andere methode om de paginateller op een titelblok weer te geven?

Alvast bedankt voor uw feedback.

Hallo;

Om het totale aantal vellen weer te geven, gebruikt u de variabele "SW-Total Sheets" of "SW-Total Sheets"

https://help.solidworks.com/2020/french/SolidWorks/sldworks/t_link_notes_to_document_properties.htm

Aan de andere kant, om een blad volgens een specifiek criterium uit te kunnen sluiten, denk ik dat je een macro moet doorlopen.
van het 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

Vriendelijke groeten.

1 like

Bedankt voor je feedback, helaas ben ik op Catia, en ik denk dat het niet van toepassing is... :confused:

Hallo;

Ah! Sapristi! Ik had de software die ik gebruikte niet opgemerkt.
Sorry... :crazy_face:
Enkele waarschijnlijke aanknopingspunten hier (het is goed voor CATIA deze keer):

Vriendelijke groeten.

2 likes

Hallo

Waarschijnlijk te laat, maar...

[optioneel, dit is zodat we hetzelfde hebben in stap 2] // In plaats van je " / " schrijf " -/- " in het tekstvak:
image

Wijzig de naam van het tekstvak in Paginanummer

De macro die (normaal) goed gaat:
Privé Sub CommandButtonValider_Click()

Dim Planche, SurPlanches

' bepaalt het totale aantal platen
SurPlanches = 0
Voor I = 1 TB CATIA. ActiveDocument.Sheets.Count
Als CATIA. ActiveDocument.Sheets.Item(I). IsDetail = Onwaar dan
SurPlanches = SurPlanches + 1
Einde als
Volgend

' Toewijzing van het paginanummer
Bord = 0
Voor I = 1 TB CATIA. ActiveDocument.Sheets.Count
Als CATIA. ActiveDocument.Sheets.Item(I). IsDetail = Onwaar dan
Bord = Bord + 1
CATIA. ActiveDocument.Sheets.Item(I). Weergaven.Item(2). Texts.GetItem(" PaginaNummer "). Tekst = Plaat & " / " & SurPlanches

' hernoemt tabbladen
CATIA. ActiveDocument.Sheets.Item(I). Naam = Plaat & " / " & OnPlates

Einde als

Volgend

Einde Sub

Ik zal je weer in vorm laten komen, ik heb alles verwijderd wat nutteloos is, wat verklaart waarom we in een " privé ", waarom er " volgende " mensen rondlopen ...