Hinzufügen einer automatischen Seitenzahl zum Schriftfeld

Hallo ihr alle

Ich habe eine Frage zu automatischen Eigenschaften in einer 2D-Ebene:

Ich möchte einfach nur die aktive Seite sowie die Gesamtzahl der Seiten in meiner Zeichnung anzeigen:
image

Ich bin wie folgt vorgegangen:
Ich habe zwei automatische Felder in meinem Schriftfeld, das erste besteht darin, die aktive Seitenzahl zu kennen. Ich habe einfach den Attributlink " Blattnummer " in das gewünschte Feld eingefügt:

In einem zweiten Feld möchte ich dann die Gesamtzahl der Seiten haben.
Es gibt tatsächlich eine Attributverknüpfung mit der Gesamtzahl der Blätter:

Das Problem ist, dass in diesem Zähler alle Ebenen berücksichtigt werden, aber ich möchte, dass die " Detailschicht " von diesem Zähler ausgeschlossen wird.

Wissen Sie, ob es diese ganz besondere Requette gibt?
Vielleicht haben Sie eine andere Methode, um den Seitenzähler auf einem Schriftfeld anzuzeigen?

Vielen Dank im Voraus für Ihr Feedback.

Hallo;

Um die Gesamtzahl der Blätter anzuzeigen, verwenden Sie die Variable "SW-Gesamtblätter" oder "SW-Gesamtblätter"

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

Auf der anderen Seite, um ein Blatt nach einem bestimmten Kriterium ausschließen zu können, denke ich, dass man ein Makro durchlaufen muss.
des Genres:


    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

Herzliche Grüße.

1 „Gefällt mir“

Vielen Dank für Ihr Feedback, leider bin ich auf Catia, und ich denke, es ist nicht anwendbar... :confused:

Hallo;

Ah! Sapristi! Ich hatte die Software, die ich benutzte, nicht bemerkt.
Tut mir Leid... :crazy_face:
Hier einige wahrscheinliche Hinweise (diesmal ist es gut für CATIA):

Herzliche Grüße.

2 „Gefällt mir“

Hallo

Wahrscheinlich zu spät, aber...

[optional, dies ist so, dass wir das Gleiche in Schritt 2 haben] // Anstelle von Ihrem " / " schreiben " -/- " in das Textfeld:
image

Benennen Sie das Textfeld in PageNumber um

Das Makro, das (normalerweise) gut läuft:
Privater Sub-CommandButtonValider_Click()

Dim Planche, SurPlanches

' bestimmt die Gesamtzahl der Platten
SurPlanches = 0
Für I = 1 TB CATIA. ActiveDocument.Sheets.Count
Wenn CATIA. ActiveDocument.Sheets.Item(I). IsDetail = dann falsch
SurPlanches = SurPlanches + 1
Ende, wenn
Nächster

' Zuweisen der Seitenzahl
Brett = 0
Für I = 1 TB CATIA. ActiveDocument.Sheets.Count
Wenn CATIA. ActiveDocument.Sheets.Item(I). IsDetail = dann falsch
Brett = Brett + 1
CATIA. ActiveDocument.Sheets.Item(I). Views.Item(2). Texts.GetItem(" PageNumber "). Text = Platte & " / " & SurPlanches

' benennt Registerkarten um
CATIA. ActiveDocument.Sheets.Item(I). Name = Plate & " / " & OnPlates

Ende, wenn

Nächster

Ende Sub

Ich lasse dich wieder in Form kommen, ich habe alles entfernt, was nutzlos ist, was erklärt, warum wir in einem " privaten " sind , warum es " nächste " Leute gibt, die herumlaufen...