Я пытаюсь создать генератор болтов в Solidworks с помощью API. Одна из пользовательских форм, которую я сделал, создает болт с цилиндрической головкой IAW ISO 4762. На данный момент у меня есть 3 комбинированных блока; Выбор номинального диаметра болта, выбор длины болта и выбор длины резьбы.
Значение, отображаемое при выборе длины резьбы, зависит от значения, выбранного в секции болта, а значение, отображаемое в секции болта, зависит от номинального диаметра болта. Это делает выбор потока зависимым от обоих значений предыдущих комбинированных списков. Код, который я написал ниже:
Private Sub SSocketl_Change()
SSockett.Clear 'Clears the contents of SSockett whenever SSocketl changes selection
If SSocketd.Text = "M2.5" Then 'Nominal Bolt Diameter
If SSocketl.Value = "25" Then 'Bolt Length
SSockett.AddItem ("17") 'Thread Length
End If
If SSocketl.Value <= "20" Then 'Bolt Length
SSockett.AddItem ("Full") 'Thread Length
End If
End If
Если пользователь выбирает диаметр M2,5 и длину болта 25 мм, длина резьбы должна быть 17 мм (это работает). Если длина болта меньше 20 мм, длина резьбы должна быть «Полная» (это также работает), если длина болта не меньше 10 мм, в этом случае поле длины резьбы остается пустым, когда должно быть указано «Полная».
Может кто-нибудь предложить какой-либо совет или решение этой проблемы? Кажется, не поддается логи c
Спасибо
Алекс