Этикетки для ячеек Gridfinity Винты с шестигранной головк..
Этикетки предназначены для этих блоков Gridfinity: https://www.printables.com/model/592545-gridfinity-bin-with-printable-label-by-pred-parame.
Болты должны быть масштабированы как можно дальше. Когда винты становятся слишком длинными для этикетки, фигура болта ломается.
Распечатайте его на высоте слоя 0,2 мм и замените нить в слое 3.
--------------------------------------
Меня несколько раз спрашивали, как я их сгенерировал, поэтому вот краткое руководство по использованию Fusion360:
Вам нужно два шага:
Параметризируйте свою модель
Напишите сценарий, который просматривает все ваши варианты, сохраняет их под нужным именем и самостоятельно заархивирует. Дополнительно сделайте скриншот для красивого .gif.
1.) Сложная часть — это параметрический текст, поскольку Fusion (пока) не поддерживает его. В Appstore есть приложение «ParametricText», однако оно НЕ работает со скриптами. Перейдите на страницу GitHub и получите форк ext-trigger.
После того, как вы установили его, поместив его в "%appdata%\Autodesk\Autodesk Fusion 360\API\AddIns", вы можете использовать его в Autodesk. См. страницу Appstore для получения помощи.
Подсказка: после сохранения и загрузки иногда приложение глючит и формат текста меняется. Если у вас возникнут проблемы, просто снова назначьте эскиз/текст параметрической настройке.
2.) в Fusion360 в разделе «Утилиты/ADD-INS/Сценарии и надстройки» вы можете создать себе скрипт Python, который в основном управляет Fusion360.
Откроется Visual Studio, где вы сможете создать свой скрипт. Вы можете взглянуть на мою и взять ее за отправную точку. Я не программист, и это ни в коем случае не идеальный сценарий, но он работает. Приведенный ниже сценарий выглядит ужасно на печатных формах, скопируйте и вставьте его в Visual Studio для правильного форматирования и выделения. Я добавил несколько комментариев, думаю, их легко адаптировать. При необходимости используйте ChatGPT для помощи ;)
После того, как вы его настроили, вы можете откинуться назад и посмотреть, как работает ваш скрипт. Fusion работает очень медленно, мой сценарий занял пару часов для всех вариантов, поэтому лучше начать с небольшого пакета, чтобы убедиться, что все работает нормально.
#Автор-
#@Eistee_158202
импорт adsk.core,adsk.fusion,adsk.cam, обратная трассировка
импортировать ОС
импортировать Shutil
защита запуска (контекст):
пользовательский интерфейс = Нет
попробуйте:
приложение = adsk.core.Application.get()
ui = app.userInterface
дизайн = adsk.fusion.Design.cast(app.activeProduct)
# Получаем корневой компонент активного проекта
rootComp = design.rootComponent
# У��ажите папку для записи результатов.
папка = 'C:/Temp/'
# Получите параметры с именами «bolt_length_l» и «Box_width», которые определены в моей параметрической модели Fusion360, и измените их.
MParam = design.allParameters.itemByName('M')
bolt_lengthParam = design.allParameters.itemByName('bolt_length_l') # Параметр в Fusion360
Box_widthParam = design.allParameters.itemByName('Box_width') # Параметр в Fusion360
cnt=1 # счетчик цифр
M = 3 # Модуль болта
Box_width = 1 # ширина метки
для M in (3, 4, 5, 6, 8, 10, 12, 14, 16, 18, 20): # список модулей, которые необходимо пройти в цикле
for Box_width in (1, 2): # сделать метки разной ширины
для длины в диапазоне (4200): # цикл по длине болта от 4 до 200
if length % 2 == 0 или length % 5 == 0: # длина болта указывается только в том случае, если она делится на 2 или 5
Box_widthParam.expression = str(Box_width) # превратим это в строку
MParam.expression = str(M) # превращаем это в строку
bolt_lengthParam.expression = str(length) # превращаем это в строку
app.fireCustomEvent('thomasa88_ParametricText_Ext_Update')
adsk.doEvents()
adsk.doEvents() # Не знаю почему, но он работает стабильно только если вызвать его дважды
# Создайте имя выходного файла.
новая папка_M = папка + "/" + «M» + str(M)
новая_папка_ширина = новая_папка_M + '/' + s



