Hallo, ich möchte die Nummerierung meiner Revision mit der Beschriftung der Revisionen abgleichen.
In den Optionen haben wir nur die Wahl mit 0,1,2,3 oder A,B,C.....
Wenn ich es nicht jedes Mal von Hand ändere, wenn ich einen Hinweis gebe, habe ich keinen Ort gefunden, an dem ich die Beschriftung automatisch ändern kann. Ich habe ein Bild in PJ eingefügt, um meinen Standpunkt zu erklären
Ich für meinen Teil wusste nicht, dass es geändert werden kann, aber auf jeden Fall passt dieses Etikett hinein und verweist auf den letzten Index.
Wenn Sie es dann löschen möchten, wenn Sie einen höheren Index übergeben, können Sie es löschen, indem Sie antworten, dass Sie das Label löschen möchten, andernfalls wird der Index der neuesten Version gelöscht.
Wenn Sie sich zum Beispiel in B befinden und zu C wechseln möchten, wird durch Entfernen dieser Beschriftung "B" die Zeile im Revisionsblock entfernt.
Wahrscheinlich müssen Sie Ihre Vorlagendatei ändern, die Sie beim Erstellen der einzelnen Pläne verwenden (Layoutvorlage *.drwdot)
Um den Speicherort Ihrer Dateivorlagenwerkzeuge/-option/-speicherort von Dateien\ Vorlagen von Speicherdokumenten anzuzeigen (es sei denn, es handelt sich um eine Hintergrundkarte - entsprechend den Erweiterungen zu überprüfen)
Und sobald die ursprüngliche Modelldatei geändert wurde, haben alle Ihre neuen Mitglieder den neuen Indextyp, aber alle vorherigen Mitglieder müssen zurückgenommen werden.
Für das Makro finden Sie hier 2 Beispiele, die Sie bei Bedarf anpassen können:
'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
Und auch:
'**********************
'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