Etiket herzien

Hallo, ik wil graag de nummering van mijn revisie matchen met het label van revisies. 

in de opties hebben we alleen de keuze met 0,1,2,3 of A,B,C.....

Tenzij ik het elke keer dat ik een hint doorgeef met de hand aanpas, heb ik geen plek gevonden om het label automatisch te veranderen. Ik heb een afbeelding in PJ gezet om mijn punt uit te leggen

Bedankt


label_revision.jpg

Hallo

Van mijn kant wist ik niet dat het kan worden gewijzigd, maar in ieder geval past dit label erin en verwijst het naar de laatste index.

Om het vervolgens te verwijderen bij het passeren van een hogere index, kunt u het verwijderen door te antwoorden dat u het label wilt verwijderen, anders wordt de index van de nieuwste versie gewist.

als je bijvoorbeeld in B bent en je wilt naar C gaan, nou, door dit label "B" te verwijderen, wordt de regel in het revisieblok verwijderd.

Dat is het voor mij.

Vriendelijke groeten.

AR

U moet waarschijnlijk uw sjabloonbestand wijzigen, het bestand waarmee u begint bij het maken van elk plan (Lay-outsjabloon *.drwdot)

Om de locatie van uw bestand te zien sjabloonhulpmiddelen/optie/locatie van bestanden\ sjablonen van geheugendocumenten (tenzij het op de achtergrond is kaart - te controleren op basis van extensies)

En zodra het oorspronkelijke modeldossier is gewijzigd, zullen al uw nieuwe leden van het Europees Parlement het nieuwe type index hebben, maar moeten alle vorige leden van het Europees Parlement worden teruggenomen.

 

Ja, dat is het, behalve dat in mijn bedrijf onze indices in feite de volgende zijn: 0.0, 1.0, 2.0, 3.0....

En SolidWorks biedt slechts 2 soorten revisies aan: 1, 2, 3... of A, B, C.....

En dus komt het niet overeen met wat ik in mijn revisieschema heb...  

kleine precisie, ik heb geen PDM (die misschien moet mijn pb vast te stellen ...)

 

Kijk naar smartproperties, het kan aan uw verzoek voldoen (zelfs als ik deze optie niet zie om te proberen):

https://help.visiativ.com/mycadtools/2020/fr/Indicederevision.html

Anders:

- Verander de indexmethode in een SW-ondersteuningsmethode

- een macro ontwikkelen (of laten ontwikkelen volgens de mogelijkheden)

1 like

Voor de macro zijn hier 2 voorbeelden die u indien nodig kunt aanpassen:

'https://forum.solidworks.com/thread/60856


'ici le chemin vers le modèle de table de révision
Const TABLE_TEMPLATE As String = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\lang\french\standard revision block.sldrevtbt"


Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swDraw As SldWorks.DrawingDoc

Dim swSheet As SldWorks.Sheet

Dim vViews As Variant

Dim swView As SldWorks.View

Dim swTableAnn As SldWorks.TableAnnotation

Dim swAnn As SldWorks.Annotation

Dim swRevTableAnn As SldWorks.RevisionTableAnnotation

Dim i As Integer

Dim UserName As String



 

Sub main()

    Set swApp = Application.SldWorks

    Set swModel = swApp.ActiveDoc

    Set swDraw = swModel

    Set swSheet = swDraw.GetCurrentSheet

 

    'Delete existing revision table

    Set swView = swDraw.GetFirstView

    Do While Not swView Is Nothing

        Set swTableAnn = swView.GetFirstTableAnnotation

        While Not swTableAnn Is Nothing

            If swTableAnn.Type = swTableAnnotation_RevisionBlock Then

                Set swAnn = swTableAnn.GetAnnotation

                swAnn.Select3 False, Nothing

                swModel.Extension.DeleteSelection2 Empty

                Exit Do

            End If

            Set swTableAnn = swTableAnn.GetNext

        Wend

        Set swView = swView.GetNextView

    Loop

 

    'Add new revision table

    Set swRevTableAnn = swSheet.InsertRevisionTable(True, Empty, Empty, swBOMConfigurationAnchor_TopRight, TABLE_TEMPLATE)

    If swRevTableAnn Is Nothing Then

        swApp.SendMsgToUser "Insert revision table failed."

    Else

        Set swTableAnn = swRevTableAnn

        'On récupère le nom de session: prenom.nom, on supprime le . séparateur et on ajoute les majuscule en début de chaque mot
        swRevTableAnn.AddRevision "A"
        UserName = Environ("USERNAME")
        UserName = Replace(UserName, ".", " ")
        UserName = StrConv(UserName, vbProperCase)

        'on ajoute les données dans le tableau
        swTableAnn.Text(2, 4) = UserName

        swTableAnn.Text(2, 3) = DateValue(Now)

        swTableAnn.Text(2, 2) = "Modifications effectuées"

    End If

End Sub

En ook:

'**********************
'Copyright(C) 2020 www.codestack.net
'Reference: https://www.codestack.net/solidworks-api/document/drawing/clear-revision-table-new-revision/
'License: https://www.codestack.net/LICENSE.md
'**********************

Dim swApp As SldWorks.SldWorks
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet

Sub main()

    Set swApp = Application.SldWorks

    Set swDraw = swApp.ActiveDoc
    
    If Not swDraw Is Nothing Then
    
        Set swSheet = swDraw.GetCurrentSheet
        
        Dim swRevTable As SldWorks.RevisionTableAnnotation

        Set swRevTable = swSheet.RevisionTable
        
        If Not swRevTable Is Nothing Then
            
            'ClearRevisionTable swRevTable
            
            AddRevision swRevTable, "001", Array("Sample Zone", "", "Description", "", "Admin")
            
        Else
            MsgBox "There is no revision table in the drawing"
        End If
    
    Else
        MsgBox "Plase open the drawing"
    End If
    
End Sub

Sub ClearRevisionTable(swRevTable As SldWorks.RevisionTableAnnotation)
    
    Dim swTableAnn As SldWorks.TableAnnotation
    
    Set swTableAnn = swRevTable
            
    Dim i As Integer
    
    For i = swTableAnn.RowCount - 1 To 0 Step -1
        
        Dim revId As Long
        revId = swRevTable.GetIdForRowNumber(i)
        
        If revId <> 0 Then
            swRevTable.DeleteRevision revId, True
        End If
        
    Next
    
End Sub

Sub AddRevision(swRevTable As SldWorks.RevisionTableAnnotation, revName As String, rowData As Variant)
    
    Dim i As Integer
    Dim swTableAnn As SldWorks.TableAnnotation
    
    Set swTableAnn = swRevTable
    
    swRevTable.AddRevision revName
            
    For i = 0 To UBound(rowData)
                
        If rowData(i) <> "" Then
            
            swTableAnn.Text(swTableAnn.RowCount - 1, i) = rowData(i)
        
        End If
                
    Next
    
End Sub
1 like

Dat lijkt mij een goede oplossing! Ik zal dat proberen zodra ik de kans heb om dat te doen!

Hartelijk dank! Ik hou jullie op de hoogte!!