Мы любим и ненавидим OpenSCAD. Как программистам, нам нравится описывать объекты, которые мы хотим напечатать в 3D или смоделировать иным способом. Как программистам, нам не нравятся все те странности в OpenSCAD, которые делают его непохожим на обычный язык программирования. Возможно, ответом будет µCAD (или Microcad). Эта новая запись в поле позволяет создавать что-либо программно и написана на Rust.
На самом деле, единственный способ получить это прямо сейчас — создать это из исходного кода с использованием cargo. Предполагая, что у вас уже есть Rust, это не сложно. Просто введите: cargo install microcad. Если у вас еще нет Rust, что ж, тогда это проблема. Тем не менее, мы попытались создать его, и, несмотря на наличие встроенной библиотеки libmanifold, Rust не смог ее найти. Возможно, вам повезет больше.
Вы можете получить представление о языке, пройдя через одно из учебных пособий, например, по созданию фигуры, похожей на LEGO. Вот фрагмент кода из этого руководства:
используйте std::geo2d::*; используйте std::ops::*; постоянный ИНТЕРВАЛ = 8 мм; сетка операций(столбцы: целые, строки: целые) { @input. перевести(x = [1.. столбцы] * ИНТЕРВАЛ, y = [1.. строки] * ИНТЕРВАЛ). выровнять() } основа эскиза(столбцы: Целое число, строки: Целое число, ширина: Длина, высота: Длина ) { толщина = 1,2 мм; рамка = Рамка(ширина, высота, толщина); распорки = кольцо(наружный_d = 6,51 мм, внутренний_d = 4,8 мм). сетка(столбцы = columns-1, строки = rows-1); рамка | распорки; }
Имеются соответствующие функции, поддержка 2D-эскизов и 3D-объектов, и даже расширение VSCode.
Вы попробуете? Если мы сможем запустить его для сборки, мы это сделаем. Между тем, всегда есть OpenSCAD. Даже TinkerCAD может выполнять некоторое параметрическое моделирование.