Добавить в корзинуПозвонить
Найти в Дзене

Нормальный значек шероховатости.

Привет. Сегодня короткий макрос изменения значка шероховатости. Выбираем заметки со значками шероховатости и запускаем макрос. Текст заметок может быть разным. Чтобы вернуть как было поставьте эту галочку: Алгоритм работы думаю понятен по самому коду. Option Explicit Dim swApp As SldWorks.SldWorks Dim Part As SldWorks.ModelDoc2 Dim SelMgr As SldWorks.SelectionMgr Dim swNote As SldWorks.Note Dim anSFSymbol As SldWorks.SFSymbol Dim Anno As SldWorks.Annotation Dim swTextFormat As SldWorks.TextFormat Dim i, j As Long Dim bRet As Boolean Dim text, newText As String Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager 'проходим по выбранным объектам For j = 0 To SelMgr.GetSelectedObjectCount 'выбираем обозначения шероховатости If SelMgr.GetSelectedObjectType3(j, -1) = swSelSFSYMBOLS Then Set anSFSymbol = SelMgr.GetSelectedObject6(j, -1) Set Anno = anSFSymbol.GetAnnotation 'ищем где прописана шероховатость и берем текст For i = 0 To anSFS
Было - стало
Было - стало

Привет. Сегодня короткий макрос изменения значка шероховатости.

Выбираем заметки со значками шероховатости и запускаем макрос.

Текст заметок может быть разным.

Выбрали все значки
Выбрали все значки
После макроса
После макроса

Чтобы вернуть как было поставьте эту галочку:

Вернуть обратно
Вернуть обратно

Алгоритм работы думаю понятен по самому коду.

Картинка кода
Картинка кода

Код:

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim SelMgr As SldWorks.SelectionMgr
Dim swNote As SldWorks.Note
Dim anSFSymbol As SldWorks.SFSymbol
Dim Anno As SldWorks.Annotation
Dim swTextFormat As SldWorks.TextFormat
Dim i, j As Long
Dim bRet As Boolean
Dim text, newText As String
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
'проходим по выбранным объектам
For j = 0 To SelMgr.GetSelectedObjectCount
'выбираем обозначения шероховатости
If SelMgr.GetSelectedObjectType3(j, -1) = swSelSFSYMBOLS Then
Set anSFSymbol = SelMgr.GetSelectedObject6(j, -1)
Set Anno = anSFSymbol.GetAnnotation
'ищем где прописана шероховатость и берем текст
For i = 0 To anSFSymbol.GetTextCount
If InStr(anSFSymbol.GetTextAtIndex(i), "Ra") <> 0 Then
text = anSFSymbol.GetTextAtIndex(i)
End If
Next
'меняем размер шрифта в ячейке № 7
newText = "<FONT size=3.4>" & text
bRet = anSFSymbol.SetText(7, newText)
'уменьшаем общий масштаб заметки
Set swTextFormat = Anno.GetTextFormat(0)
swTextFormat.CharHeight = 0.0022
' swTextFormat.Bold = False
' swTextFormat.Italic = True
' swTextFormat.TypeFaceName = "GOST type A"
bRet = Anno.SetTextFormat(0, False, swTextFormat)
End If
Next
End Sub

Желаю удачи в творчестве, конструировании и оформлении чертежей.

Напишите в комментариях интересующие темы— разберём их в следующих постах.

#SolidWorks #VBA #Макросы #Автоматизация #Инженерия #Конструирование #Шероховатость #ЕСКД