banner

Блог

Jun 07, 2024

CadQuery достигает совершеннолетия

Теперь мы знаем, что скажут некоторые из вас: «О боже, это не еще один программный инструмент САПР, что не так с OpenSCAD?» — и возможно, вы правы, но, может быть, подождите немного и взгляните на это, потому что мы думаем, что теперь оно просто потрясающее! OpenSCAD великолепен, мы постоянно используем его в этих частях, но местами он, знаете ли, немного странный. Затем появляется CadQuery, который превосходит его по простоте использования и функциональности. За прошедшие годы мы видели несколько упоминаний о CadQuery, и, наконец, он стал самостоятельным полноценным набором инструментов, дополненным графическим интерфейсом/редактором CQ-редактором. Никаких странных зависимостей от FreeCAD не видно! Тем не менее, установка FreeCAD тоже неплохая вещь.

Цель состоит в том, чтобы сценарий CadQuery, создающий этот объект, был как можно ближе к английской фразе, которую мог бы использовать человек.

Для тех, кто не видел этого раньше, CadQuery — это библиотека Python, которая позволяет создавать 3D-модели и экспортировать их как в STL, так и в STEP, поэтому создание моделей для вашего проекта KiCAD также является вариантом. Однако в отличие от OpenSCAD CadQuery гораздо больше ориентирован на проектирование. Идея состоит в том, чтобы сценарий Python больше походил на человеческое описание формы объекта, а не на набор алгоритмов, создающих объект из простых логических операций, все относительно глобальной системы координат. CadQuery использует модель относительной ассоциации, в которой вещи определяются относительно других вещей. Из документов:

CadQuery отличается от других: вы можете находить объекты относительно других, сохраняя замысел проекта так же, как это делает человек при создании чертежа или построении объекта.

высота = 60,0ширина = 80,0толщина = 10,0диаметр = 22,0отступ = 12,0

# создаем базовый результат = cq.Workplane("XY").box(height, width, Thickness)\.faces(">Z").workplane().hole(diameter)\.faces(">Z"). workplane() \.rect(height - отступ, ширина - отступ,forConstruction=True)\.vertices()\.cboreHole(2.4, 4.4, 2.1)\.edges("|Z").fillet(2.0)

# Отрисовываем Solidshow_object(результат)

# Exportcq.exporters.export(result,'result.stl')cq.exporters.export(result,'result.step')

Мы не говорим, что OpenSCAD плох, вовсе нет, он просто другой, и для некоторых людей CadQuery будет намного проще получить то, что вам нужно. Нужен полностью параметризованный корпус для 3D-печати? Как насчет того, чтобы выполнить всего 47 строк кода Python? По мере роста сложности объекта растут и преимущества подхода CadQuery. С помощью этого инструмента можно изучить немало концепций, поскольку он довольно мощный и предлагает множество способов решения проблем, но мы думаем, что усилия того стоят. Если вам не нравится редактор QC, это не проблема, поскольку CadQuery можно использовать автономно с любым редактором, который вам нравится, он работает даже с блокнотом Jupyter! Его установка также не должна стать проблемой, поскольку доступны готовые сборки, но, тем не менее, это колоссальная установка, поэтому мы надеемся, что у вас есть свободный гигабайт дискового пространства!

Если у вас более визуальное мышление, и все это кодирование оставляет вас равнодушным, возможно, вы захотите ознакомиться с этим руководством по параметрическому моделированию в FreeCAD, аналогичным руководством для fusion360 или, если вы чертовски хорошо придерживаетесь OpenSCAD, спасибо. -очень-очень, тогда почему бы не освежить навыки работы с OpenSCAD.

Спасибо [JohnU] за совет!

ДЕЛИТЬСЯ