SolveSpace — бесплатная параметрическая CAD-программа для построения точных двумерных эскизов, создания трёхмерных механических деталей, компоновки сборок и подготовки геометрии к производству. Рабочий процесс основан на геометрических ограничениях: пользователь не просто рисует контур мышью, а задаёт длины, диаметры, углы, параллельность, перпендикулярность, симметрию, касание и другие зависимости. После изменения одного управляющего размера связанная геометрия перестраивается автоматически.
Программа заметно компактнее крупных инженерных комплексов. В ней нет отдельных модулей для расчёта конструкций, фотореалистичного рендеринга, управления производством или оформления многостраничной конструкторской документации. Основная специализация SolveSpace — параметрическая геометрия, сравнительно простые твёрдые тела, механизмы, ассоциативные сборки и точный обмен данными через распространённые CAD-форматы.
По подходу SolveSpace отличается и от художественных редакторов наподобие Blender, и от программ для свободного полигонального моделирования. Деталь здесь строится не путём перемещения вершин сетки, а как последовательность эскизов, ограничений, выдавливаний, вращений, массивов и булевых операций. Такой метод особенно удобен, когда размеры изделия должны изменяться без ручного редактирования каждой линии.
Что представляет собой SolveSpace
SolveSpace относится к классу constraint-based CAD, то есть систем автоматизированного проектирования с геометрическим решателем ограничений. Пользователь создаёт набор геометрических объектов, после чего описывает отношения между ними. Решатель вычисляет координаты точек и положение элементов так, чтобы одновременно выполнялись все заданные условия.
Простой прямоугольник можно построить четырьмя отрезками, но для параметрической модели этого недостаточно. Необходимо определить, какие стороны должны оставаться горизонтальными и вертикальными, какие вершины совпадают, чему равны ширина и высота, где контур расположен относительно начала координат. После этого прямоугольник сохраняет форму при изменении размеров.
SolveSpace поддерживает как двумерные ограничения в активной рабочей плоскости, так и пространственные зависимости. Это позволяет использовать одну систему команд для нескольких задач:
построения плоских контуров;
моделирования деталей выдавливанием;
создания тел вращения;
формирования винтовых тел;
размещения компонентов в сборке;
построения плоских и пространственных механизмов;
вычисления вспомогательной геометрии;
подготовки векторных контуров для резки;
экспорта сеток для 3D-печати;
передачи точных поверхностей в другие CAD- и CAM-системы.
В отличие от универсальных инженерных платформ, SolveSpace не разделяет работу на большое количество специализированных рабочих окружений. Эскиз, история групп, ограничения и твёрдое тело остаются частью одной модели. Пользователь переключается между группами построения, но не меняет отдельные модули программы.
Собственные документы сохраняются в формате .slvs. В одном проекте хранятся группы, геометрические объекты, ограничения, параметры отображения, цвета поверхностей и ссылки на внешние компоненты. Отдельного формата сборки нет: любой файл SolveSpace можно подключить к другому файлу как деталь или подсборку.
Для каких задач подходит программа
Параметрическое моделирование механических деталей
Основной сценарий SolveSpace — создание деталей, геометрию которых можно описать набором эскизов и простых пространственных преобразований. В программе удобно строить:
кронштейны;
монтажные пластины;
корпуса и крышки;
втулки;
переходники;
фланцы;
шайбы;
рычаги;
распорки;
держатели;
панели с отверстиями;
детали с линейными и круговыми массивами;
элементы, вырезаемые из листового материала;
простые шкивы, ролики и тела вращения.
Типичная модель начинается с плоского замкнутого профиля. Контур получает точные размеры, после чего группа Extrude формирует объём. Для следующей операции создаётся новая рабочая плоскость, в ней рисуется дополнительный профиль, а результат добавляется к существующему телу или вычитается из него.
Программа хорошо справляется с деталями, которые можно разложить на последовательность понятных конструктивных операций. Для сложных поверхностей свободной формы, управляемых фасок, развитых скруглений, листового металла с автоматическими развёртками и параметрических семейств промышленного уровня возможностей SolveSpace недостаточно.
Двумерные чертежи и производственные контуры
SolveSpace можно использовать без построения объёмного тела. В рабочей плоскости создаётся замкнутый или разомкнутый векторный рисунок, к которому добавляются размеры, ограничения и вспомогательные линии.
Такой режим подходит для:
деталей лазерной резки;
раскроя на гидроабразивном оборудовании;
плазменной резки;
фрезерования плоских контуров;
шаблонов для ручной обработки;
технологических отверстий;
панелей и лицевых пластин;
схем расположения элементов;
размерных эскизов;
вычисляемых геометрических построений.
Плоский проект отличается от обычного рисунка тем, что контур сохраняет заданные зависимости. Например, ряд отверстий можно разместить симметрично относительно центра пластины, связать равными диаметрами и задать расстояние между крайними точками. После изменения ширины пластины система пересчитает положение отверстий.
Для полноценного оформления больших комплектов документации с листами, штампами, автоматическими спецификациями и развитой системой аннотаций больше подходят специализированные чертёжные комплексы и AutoCAD. SolveSpace ориентирован прежде всего на геометрию детали и её производственный контур.
Подготовка моделей для 3D-печати
Твёрдое тело экспортируется в STL или другой формат треугольной сетки. Это позволяет построить деталь в SolveSpace, затем открыть сетку в слайсере, например в Cura, настроить ориентацию, поддержки, заполнение и параметры печати.
Перед экспортом можно включить отображение треугольной сетки. На поверхности становятся видны границы полигонов, поэтому пользователь оценивает плотность аппроксимации криволинейных участков. Чем меньше допуск хорды, тем точнее сетка повторяет окружности и дуги, но тем больше получается треугольников.
SolveSpace не выполняет нарезку модели на слои и не управляет 3D-принтером. Программа отвечает за создание геометрии, а подготовка управляющего задания выполняется во внешнем слайсере.
Подготовка данных для станков
Для плоской обработки доступны векторные форматы и G-code. Кроме того, SolveSpace умеет передавать объёмную модель через STEP или STL в стороннюю CAM-систему.
Практический выбор формата зависит от оборудования:
| Задача | Подходящий результат |
|---|---|
| Лазерная или гидроабразивная резка | DXF, SVG, HPGL или G-code |
| Печать чертежа | PDF, EPS или SVG |
| Трёхмерная печать | STL или OBJ |
| Обмен с другой CAD-системой | STEP |
| Передача в CAM для фрезерования | STEP или STL |
| Векторный вид детали | DXF, PDF, SVG или EPS |
| Снимок рабочего окна | PNG |
При экспорте двумерной секции программа может учитывать компенсацию радиуса инструмента. Контур смещается относительно исходной геометрии на заданное расстояние. Такой инструмент подходит для простых задач, но не заменяет полноценную CAM-систему с выбором стратегии, заходами, переходами, безопасной высотой и симуляцией обработки.
Проектирование сборок
Файлы деталей подключаются командой New Group → Link / Assemble. Каждый добавленный компонент изначально имеет шесть степеней свободы: три поступательных и три вращательных. Его можно приблизительно расположить мышью, а затем зафиксировать точными ограничениями.
Сборка в SolveSpace полезна для проверки:
взаимного расположения деталей;
совпадения отверстий;
посадки выступов в пазы;
расстояний между компонентами;
ориентации поверхностей;
пересечений;
изменений после редактирования исходных файлов;
кинематики простых механизмов.
Подключённая деталь остаётся связанной с исходным .slvs. Изменение исходной геометрии передаётся в сборку, после чего положение компонентов пересчитывается с учётом ограничений.
Механизмы и геометрические расчёты
Решатель ограничений применим не только к неподвижным деталям. Если модель определена не полностью, оставшиеся степени свободы можно использовать как подвижность механизма.
В SolveSpace моделируются:
шарнирные четырёхзвенники;
кривошипно-шатунные механизмы;
ползунковые соединения;
рычажные передачи;
пространственные шарниры;
направляющие;
механизмы с вращательной и поступательной подвижностью.
Пользователь перемещает свободную точку, а программа рассчитывает положение остальных звеньев. Траекторию выбранной точки можно проследить и экспортировать для дальнейшего анализа в таблице. Такой режим не является динамическим расчётом: SolveSpace не вычисляет массу, инерцию, нагрузки, трение и ускорения. Он решает геометрическую задачу положения связанных элементов.
Лицензия и формат работы
SolveSpace распространяется по лицензии GNU GPL версии 3 или более поздней. Программа не требует покупки подписки, активации коммерческого тарифа или создания облачной учётной записи. Исходный код открыт, а функциональность не разделена на бесплатную и платную редакции.
Проекты обрабатываются локально. Собственные файлы можно хранить в обычных папках, копировать вместе со связанными деталями и передавать на другой компьютер. Для сохранения сборочных зависимостей удобнее размещать детали и основной файл в одном каталоге или сохранять относительную структуру папок.
В Windows исполняемый файл способен запускаться без традиционной установки. Многопоточная сборка использует OpenMP; для неё может потребоваться пакет компонентов Microsoft Visual C++. Однопоточная сборка обходится без этой зависимости. На Linux используются нативные пакеты, Flatpak, Snap или самостоятельная сборка. В macOS приложение работает как обычный пакет .app.
В проект также входит экспериментальная браузерная реализация. Она воспроизводит основные принципы работы SolveSpace, но настольная программа остаётся основным вариантом для регулярного проектирования, работы с локальными файлами и предсказуемого обмена данными.
Интерфейс SolveSpace
Интерфейс состоит из двух основных окон: Graphics Window и Property Browser. Большая графическая область используется для построения эскизов, выбора объектов, просмотра тела и управления камерой. Property Browser показывает структуру модели, свойства текущей группы, ограничения, числовые параметры и ссылки на настройки.

Graphics Window
В Graphics Window отображаются:
эскизные линии и кривые;
точки;
размеры;
обозначения ограничений;
рабочие плоскости;
нормали;
грани и рёбра твёрдого тела;
треугольная сетка;
скрытые линии;
подсвеченные и выбранные объекты.
Объект под указателем мыши подсвечивается жёлтым. После щелчка выбранная геометрия становится красной. Эта цветовая логика используется для линий, точек, дуг, ограничений, нормалей и выбираемых граней.
Панорамирование выполняется перетаскиванием правой кнопкой мыши. Средняя кнопка вращает модель, колесо изменяет масштаб. Команда View → Zoom to Fit вписывает видимую геометрию в окно. View → Align View to Workplane или клавиша W ориентирует камеру точно по активной рабочей плоскости.
Для получения технических видов используются:
View → Nearest Ortho View — ближайший ортогональный вид;
View → Nearest Iso View — ближайшая изометрия;
View → Center View at Point — центрирование по выбранной точке;
View → Set to Full Scale — отображение плоской геометрии в натуральном масштабе на экране.
В левом нижнем углу расположены цветные оси X, Y и Z. Они являются выбираемыми объектами. Например, отрезок можно связать параллельностью с осью X или совместить нормаль компонента с осью Z.
Property Browser
Property Browser открывается и скрывается клавишей Tab либо командой View → Show Property Browser. Окно построено как система страниц с кликабельными ссылками.
На домашней странице показаны группы проекта. Для каждой группы отображаются:
имя;
активность;
видимость;
состояние решения;
количество степеней свободы;
наличие ошибок;
состояние твёрдого тела.
Выбор имени группы открывает её страницу. Там доступны параметры конкретной операции. Для выдавливания можно переключить одно- или двусторонний режим, изменить способ объединения тела, задать цвет и включить принудительное преобразование в треугольную сетку. Для массива меняется число копий. Для винтовой операции задаётся шаг. Для текстового элемента выбирается шрифт и кернинг.
На странице группы перечисляются созданные объекты и ограничения. При наведении на название соответствующая геометрия подсвечивается в Graphics Window. Это помогает найти ограничение в сложном эскизе, даже когда его обозначение перекрывается другими элементами.
Видимость объектов
В верхней части Property Browser расположены переключатели отображения:
рабочих плоскостей неактивных групп;
нормалей;
точек;
ограничений и размеров;
выбираемых граней;
затенённого тела;
рёбер;
треугольной сетки;
скрытых линий;
вспомогательной геометрии.
Скрытие точек или нормалей не делает их недоступными. При наведении мыши они временно появляются и остаются выбираемыми. Это позволяет очистить экран, не потеряв возможность ставить пространственные зависимости.
Режим скрытых линий полезен при создании эскиза внутри тела. В обычном затенённом отображении внутренние точки и рёбра закрыты поверхностями. После включения скрытых линий их можно увидеть и использовать как опорную геометрию.
Единицы измерения и выражения
Команда View → Dimensions in Inches/Millimeters переключает отображение между миллиметрами и дюймами. Переключение не масштабирует модель: значение 1 дюйм отображается как 25,40 мм.
В числовые поля можно вводить выражения. Поддерживаются арифметические операции, скобки, число pi, квадратный корень и тригонометрические функции. Примеры допустимых выражений:
40 + 2*5 25.4/2 7*pi sqrt(100) 10*cos(30)
Тригонометрические функции используют градусы. Выражение вычисляется при вводе, после чего ограничение получает рассчитанное числовое значение. Программа не создаёт именованные переменные и не сохраняет формулу как развитую систему параметров уровня крупных CAD-платформ. Поэтому взаимосвязанные размеры удобнее задавать геометрическими ограничениями Equal, Length Ratio и Length Difference.
Группы и история построения
Модель SolveSpace организована как последовательность групп. Каждая группа содержит эскиз, преобразование, подключённый компонент или операцию над телом. Порядок групп образует историю построения.
После запуска нового документа создаётся группа ссылочной геометрии g001-#references. В неё входят начало координат, основные плоскости и оси. Следующая группа обычно содержит первый эскиз.
Автоматические имена выглядят так:
g002-sketch-in-plane g003-extrude g004-sketch-in-new-workplane g005-extrude
Название можно изменить через ссылку [rename] на странице группы. Осмысленные имена упрощают работу с длинной моделью: вместо последовательности одинаковых extrude удобно использовать base-profile, mounting-holes, rib или shaft.
Активная группа
Новые объекты создаются в активной группе. Геометрия активной группы рисуется белым, более ранняя — коричневым, а последующие группы скрываются. Чтобы изменить ранний эскиз, пользователь возвращается к нему через Property Browser, редактирует размеры или объекты, затем снова активирует последнюю группу.
Изменения распространяются вперёд по истории. Если отверстия были построены на грани исходного корпуса, то изменение ширины корпуса пересчитает положение рабочей плоскости и последующую операцию вычитания.
Активная рабочая плоскость
Вся геометрия SolveSpace существует в трёхмерном пространстве, но большинство эскизов создаётся в Workplane. Активная рабочая плоскость ограничивает новые точки: они могут перемещаться только внутри неё.
Команда Sketch → Anywhere in 3d отключает рабочую плоскость и разрешает свободное пространственное построение. Sketch → In Workplane активирует выбранную плоскость.
Для обычной детали чаще используется New Group → Sketch in New Workplane. Новую плоскость можно определить:
выбранной плоской гранью;
точкой и двумя направлениями;
точкой и нормалью;
существующей рабочей плоскостью;
приблизительной ориентацией текущего вида с последующим выравниванием.
При создании такой группы камера автоматически ориентируется по новой плоскости.
Режимы объединения тела
Группы, создающие твёрдую геометрию, имеют параметр solid model as. Основные режимы:
union — добавляет материал;
difference — вычитает материал;
intersection — оставляет общую часть тел;
assembly — сохраняет несколько тел без выполнения дорогостоящего объединения.
Режим assembly полезен, когда геометрию нужно отображать совместно, но получение единого тела не требуется. Он уменьшает объём вычислений и помогает работать со сложными проектами.
Булевы операции выполняются над NURBS-поверхностями или треугольными сетками. NURBS сохраняют точные окружности и гладкие поверхности, но сложнее обрабатываются при пересечениях. Сеточные операции устойчивее, однако заменяют кривые набором прямолинейных сегментов.
Создание двумерного эскиза
Основные геометрические объекты
Меню Sketch содержит инструменты для построения:
| Объект | Применение |
| Point | Опорная или вычисляемая точка |
| Line Segment | Отрезок |
| Polyline | Последовательность связанных отрезков |
| Rectangle | Замкнутый четырёхугольный контур |
| Circle | Окружность |
| Arc of a Circle | Дуга по точкам |
| Tangent Arc at Point | Автоматическое скругление между кривыми |
| Bezier Cubic Spline | Кубический сегмент Безье |
| Text in TrueType Font | Текстовый контур |
| Image | Растровое изображение для обводки или привязки |
| Workplane | Явно созданная рабочая плоскость |
| Datum Point | Вспомогательная точка |
Отрезки, окружности, дуги и сплайны участвуют в формировании производственного контура. Текст преобразуется в векторные очертания шрифта и может входить в экспорт или операцию выдавливания.
Построение замкнутого контура
Для создания профиля удобно использовать Sketch → Line Segment. Первый щелчок задаёт начало, второй — конец. После завершения отрезка команда остаётся активной, и следующая линия начинается из предыдущей конечной точки.
Чтобы замкнуть полилинию, последнюю точку нужно поставить на первую. При наведении исходная точка подсвечивается, а щелчок создаёт совпадение. Внутренняя область корректного замкнутого контура получает тёмную заливку.

Если профиль имеет разрыв, программа сообщает, что контур не замкнут, и показывает проблемный участок. Выдавливание требует плоских замкнутых кривых без самопересечения. Для открытой геометрии можно выполнять двумерный экспорт, но создать обычное твёрдое тело из такого профиля нельзя.
Вспомогательная геометрия
Команда Sketch → Toggle Construction переводит выбранный объект в construction geometry. Вспомогательные элементы отображаются зелёным и сохраняют обычные свойства: к ним можно привязывать точки, размеры и ограничения.
При этом они не участвуют:
в формировании выдавливаемого профиля;
в образовании тела вращения;
в расчёте области контура;
в производственном экспорте по умолчанию.
Вспомогательные линии используются как:
оси симметрии;
центровые линии;
направления массивов;
диагонали;
границы построения;
опоры для вычисляемых точек;
траектории размещения элементов.
Переключить construction-режим для объекта можно и во время рисования, используя клавишу G.
Прямоугольники
Sketch → Rectangle создаёт четыре связанных отрезка. Две стороны получают горизонтальное направление, две — вертикальное. Объект остаётся набором обычных линий, поэтому каждую вершину и сторону можно ограничивать отдельно.
Для параметрической прямоугольной пластины обычно задаются:
совпадение одной вершины с началом координат или симметрия относительно осей;
горизонтальность верхней и нижней сторон;
вертикальность боковых сторон;
ширина;
высота.
Если пластина должна изменяться симметрично от центра, удобнее привязать её середину к началу координат, а не фиксировать нижний левый угол.
Окружности и дуги
Окружность определяется центром и радиусом. Команда Constrain → Distance / Diameter задаёт размер выбранного круга. В зависимости от настройки размер отображается как диаметр или радиус.
Дуги используются в профилях, пазах, закруглениях и переходах. Для сопряжения двух линий предназначена команда Sketch → Tangent Arc at Point. Пользователь выбирает общую вершину двух кривых, после чего SolveSpace создаёт дугу с автоматическими касательными зависимостями.
Это эскизное скругление. Оно создаётся до получения твёрдого тела. Универсальной операции, которая выбирает готовое трёхмерное ребро и автоматически строит по нему скругление переменного или постоянного радиуса, в SolveSpace нет. Поэтому радиусы и фаски рекомендуется закладывать в исходные профили.
Сплайны
Кубический Bezier Cubic Spline задаётся управляющими точками. После создания точки сплайна можно добавлять и удалять. Кривую разрешается ограничивать положением конечных точек, касательностью и другими поддерживаемыми зависимостями.
Сплайны подходят для плавных профилей, но значительно усложняют последующие булевы операции. Для механических деталей предпочтительнее использовать прямые, окружности и дуги там, где форма допускает точное аналитическое описание.
Разделение и обрезка
Команда Split Curves at Intersection делит линии и кривые в точках пересечения. После разделения ненужные участки удаляются отдельно.
Инструмент удобен при создании:
пазов;
пересекающихся окружностей;
сложных плоских контуров;
профилей, полученных наложением простых фигур;
сопряжений;
контуров для резки.
Перед удалением сегмента следует проверить, что оставшаяся геометрия образует нужное количество замкнутых областей. Случайный микроскопический разрыв препятствует созданию твёрдого тела и может привести к незамкнутому пути при экспорте.
Ограничения и управляющие размеры
Ограничения задают геометрические отношения. Сначала выбираются объекты, затем вызывается команда из меню Constrain. Одна команда может выполнять разные действия в зависимости от набора выбранной геометрии. Например, Distance / Diameter задаёт длину отрезка, расстояние между точками или диаметр окружности.
Основные ограничения
| Ограничение | Результат |
| Coincident | Совмещает точки |
| Point on Line | Помещает точку на прямую |
| Point on Circle | Помещает точку на окружность |
| Point on Plane | Помещает точку на плоскость или грань |
| Horizontal | Делает отрезок горизонтальным либо выравнивает точки |
| Vertical | Делает отрезок вертикальным либо выравнивает точки |
| Parallel | Сохраняет параллельность направлений |
| Perpendicular | Устанавливает угол 90 градусов |
| Tangent | Создаёт касание кривых |
| Equal Length | Уравнивает длины отрезков |
| Equal Radius/Diameter | Уравнивает размеры окружностей и дуг |
| Equal Angle | Уравнивает углы |
| Midpoint | Совмещает точку с серединой отрезка |
| Symmetric | Создаёт симметрию относительно линии или плоскости |
| Same Orientation | Полностью совмещает ориентацию нормалей |
| Distance | Задаёт расстояние |
| Angle | Задаёт угол |
| Length Ratio | Связывает длины отношением |
| Length Difference | Связывает длины разностью |
| Comment | Добавляет текстовую пометку |
Ограничения отображаются пурпурным. Размерную надпись можно перетащить в свободное место, не изменяя геометрию. Двойной щелчок открывает поле редактирования значения.
Проецируемые и пространственные ограничения
Когда активна рабочая плоскость, размеры и геометрические отношения применяются к проекции объектов на неё. Для объектов, находящихся внутри самой плоскости, проецируемая длина совпадает с реальной.
После перехода в Sketch → Anywhere in 3d ограничения работают в пространстве. Это используется при сборке, измерении расстояния между плоскостями, установке ориентации компонентов и связывании элементов, которые не лежат в одной плоскости.

На изображении один отрезок имеет две размерные зависимости: реальную пространственную длину и длину его проекции на рабочую плоскость. Такие ограничения позволяют строить геометрию, которую сложно описать только обычными двумерными размерами.
Управляющие и справочные размеры
Обычный размер управляет геометрией. Изменение его значения заставляет решатель переместить связанные точки.
Команда Constrain → Toggle Reference Dimension превращает размер в справочный. К надписи добавляется REF. Такой размер только показывает вычисленное значение и не влияет на положение объектов.
Справочные размеры полезны для:
контроля итогового габарита;
проверки диагонали;
измерения расстояния, уже определённого другими ограничениями;
отображения результата геометрического расчёта;
подготовки размерного вида без переопределения модели.
Если попытаться добавить управляющий размер к уже полностью определённой геометрии, система может признать его избыточным. Преобразование в reference dimension устраняет конфликт.
Степени свободы
Степень свободы — независимое перемещение, которое ещё допускает эскиз. Свободная точка на плоскости обычно имеет две степени свободы. Совпадение с горизонтальной осью убирает одну, а размер по X — вторую.
Количество степеней свободы отображается рядом с группой. Команда Analyze → Show Degrees of Freedom отмечает крупными голубыми квадратами точки, через которые можно изменить недоопределённую геометрию.
Полное определение означает 0 DOF. Такой эскиз нельзя случайно деформировать перетаскиванием. Однако стремиться к нулю необходимо не всегда. В механизме оставшаяся степень свободы описывает предусмотренное движение.
Автоматические ограничения
При рисовании почти горизонтального или вертикального отрезка программа предлагает соответствующее ограничение. Оно обозначается H или V и добавляется после установки конечной точки.
Автоматическая привязка ускоряет построение, но иногда создаёт нежелательную зависимость. Например, слегка наклонная сторона может ошибочно получить Vertical. Перед нанесением размеров полезно просмотреть все автоматически созданные обозначения.
Автоматическое создание горизонтальности и вертикальности отключается в настройках. Во время отдельного построения его также можно временно подавить клавишей-модификатором.
Избыточные и противоречивые ограничения
Избыточное ограничение повторяет уже определённое отношение. Противоречивое требует невозможной геометрии.
Пример противоречия — треугольник с углами 30°, 50° и 90°. Их сумма не равна 180°. Пример избыточности — треугольник с углами 30°, 50° и 100°: третий угол уже однозначно определяется первыми двумя.
При ошибке фон Graphics Window становится красным, а Property Browser показывает SOLVE FAILED. Для противоречивой или избыточной системы программа формирует список ограничений, удаление одного из которых способно восстановить решение.

Наведение на пункт списка подсвечивает соответствующее обозначение в эскизе. После этого ограничение можно удалить или отредактировать. Если решатель перестал сходиться из-за резкого изменения размера, помогает Edit → Undo, возврат к допустимому значению и постепенное изменение параметра.
Трёхмерное моделирование
Extrude
New Group → Extrude превращает замкнутый плоский профиль в объёмное тело. Направление первоначально связано с нормалью активной рабочей плоскости.
Выдавливание бывает:
односторонним;
двусторонним;
симметричным относительно исходного эскиза;
свободно направленным;
наклонным.
Длину можно задавать перетаскиванием точки на торцевой грани или размерным ограничением. Для производственной модели предпочтительнее ограничение: оно фиксирует точное значение и предотвращает случайное изменение.

Двустороннее выдавливание удобно, когда деталь должна быть симметрична относительно основной плоскости. Последующие элементы можно размещать относительно середины тела без дополнительных вычислений.
Наклонное выдавливание разрешает изменять направление по трём степеням свободы. Оно позволяет получать скошенные призматические формы, но не заменяет sweep по произвольной криволинейной траектории.
Lathe
New Group → Lathe вращает плоский профиль вокруг выбранной оси и создаёт тело вращения. Перед вызовом команды выбирается отрезок, который становится осью.
Lathe подходит для:
втулок;
роликов;
шкивов;
простых валов;
ручек;
колец;
ступенчатых цилиндрических деталей;
осесимметричных корпусов.
Профиль не должен пересекать сам себя во время вращения. Если контур пересекает ось неподходящим образом, операция завершается ошибкой.
Revolve
Revolve также создаёт геометрию вращением, но предоставляет другой способ управления углом и положением результата. Операция подходит для неполных тел вращения: сегментов, поворотных элементов и деталей, которые не должны замыкаться на полный оборот.
Для точного результата ось задаётся выбранными объектами, а угол фиксируется ограничением. Неполное вращение можно объединить с исходным телом, вычесть из него или сохранить как отдельный компонент.
Helix
Helix перемещает профиль по винтовой траектории. Операция задаётся осью, углом, высотой и шагом.
Практические применения:
спиральные элементы;
винтовые каналы;
витые пружиноподобные формы;
резьбоподобные выступы;
шнеки простой формы;
декоративные винтовые детали.
Helix создаёт геометрию из плоского профиля. Это не автоматический генератор стандартной метрической резьбы: пользователь самостоятельно строит сечение витка и задаёт его положение относительно оси.
Сложные винтовые поверхности увеличивают вероятность ошибок NURBS-пересечения. Перед добавлением новых вырезов полезно убедиться, что базовая Helix-группа формирует корректное тело.
Линейный массив
New Group → Step and Repeat Translating копирует активную геометрию вдоль прямой. Направление и расстояние между копиями определяются вектором, а количество меняется на странице группы.
Массив применяется к:
эскизу;
выдавливанию;
подключённой детали;
нескольким телам;
группе, формирующей вырез.
Если массив создаётся до Extrude, повторяются плоские профили, после чего они выдавливаются одной операцией. Если массив создаётся после Extrude, копируются готовые тела.
Первый способ обычно требует меньше вычислений, когда все копии имеют одинаковую глубину и лежат в общей плоскости. Второй нужен, если направление массива не параллельно плоскости исходного эскиза.
Круговой массив
New Group → Step and Repeat Rotating размещает копии по окружности. Перед созданием выбирается ось вращения — например, точка и нормаль.
Круговой массив подходит для:
отверстий на фланце;
зубьев простой формы;
радиальных рёбер;
лопастей;
спиц;
повторяющихся пазов.
Количество экземпляров и общий угол связываются с параметрами группы. Для полного круга копии распределяются равномерно, если угловая зависимость построена соответствующим образом.
Union, Difference и Intersection
Булевы операции назначаются через свойства группы.
union объединяет новый объём с предыдущим телом. Так создаются выступы, рёбра, бобышки и дополнительные корпуса.
difference вычитает новый объём. Этот режим используется для отверстий, пазов, карманов и внутренних полостей.
intersection оставляет только пересечение исходного и нового объёма. Операция полезна при получении сложной формы из двух более простых тел.
Для устойчивого результата следует избегать неоднозначной геометрии:
совпадающих поверхностей на значительной площади;
касания тел ровно по ребру;
нулевой толщины;
микроскопических зазоров;
самопересекающихся профилей;
слишком грубой сетки;
избыточно сложных сплайнов.
Если точная NURBS-операция не срабатывает, на странице группы можно включить принудительное использование triangle mesh. Результат становится менее точным для последующего STEP-экспорта, но сеточная операция часто обрабатывает проблемное пересечение устойчивее.
Сборки и связанные компоненты
Структура сборочного проекта
SolveSpace не разделяет файлы на детали и сборки. Любой .slvs подключается в другой документ через New Group → Link / Assemble. Поэтому можно построить многоуровневую структуру:
деталь → узел → подсборка → общая сборка
Связь хранит путь к исходному файлу. Для переноса проекта на другой компьютер удобнее копировать весь каталог. Относительные пути делают сборку менее зависимой от конкретного диска и имени пользовательской папки.
Размещение детали
После подключения компонент свободно перемещается в пространстве. Перетаскивание точки изменяет положение, сочетания клавиш позволяют вращать объект.
Приблизительное размещение мышью используется только как подготовка. Точное положение задаётся ограничениями:
Same Orientation совмещает ориентацию нормалей;
On Point совмещает две точки;
Point on Plane размещает точку на поверхности;
Parallel и Perpendicular задают направление;
расстояние фиксирует зазор;
угол определяет поворот;
совпадение осей устанавливается через линии, точки и нормали.
Одна зависимость Same Orientation фиксирует не только параллельность двух нормалей, но и поворот вокруг них. Поэтому ориентацию детали часто удаётся определить одним ограничением, а положение — совпадением двух точек.
Повторение компонентов
После размещения одной связанной детали её можно размножить линейным или круговым массивом. Это удобно для крепежа, перегородок, повторяющихся пластин и других одинаковых компонентов.
Вместо семи отдельных подключений создаётся один Link / Assemble, затем Step and Repeat Translating с семью экземплярами. Изменение исходной детали передаётся всем копиям.

Обновление связанных файлов
При изменении исходной детали сборка использует обновлённую геометрию. Ограничения повторно решаются, поэтому компоненты сохраняют заданное взаимное положение.
Ассоциативность имеет практическое ограничение: сборочная связь не превращается в полноценную систему управления версиями. Если файл переименован, перемещён или не передан вместе с проектом, SolveSpace не сможет восстановить компонент без указания нового пути.
Редактировать геометрию связанной детали непосредственно внутри сборки нельзя. Для изменения открывается исходный .slvs, после сохранения сборка обновляется.
Проверка пересечений
Interference check вычисляет пересечение компонентов. Команда помогает найти ситуации, когда:
выступ не входит в паз;
две пластины занимают один объём;
крепёж пересекает стенку;
перемещаемое звено задевает корпус;
зазор исчез после изменения размера.
Проверка пересечений не оценивает производственные допуски. Два компонента без математического пересечения могут оказаться слишком близко для реальной сборки. Необходимый зазор следует задавать размерами и проверять измерениями.
Сборки механизмов
Если компонент зафиксирован не полностью, он сохраняет предусмотренную подвижность. Например, ось может быть совмещена с отверстием, но вращение вокруг неё остаётся свободным. Перетаскивание детали заставляет решатель перемещать связанные компоненты.
Таким способом моделируются шарниры, направляющие и простые кинематические цепи. Поведение зависит только от геометрических ограничений, без контактов, упругости и динамических сил.
Анализ модели
Измерение геометрии
После выбора объектов Property Browser показывает контекстные параметры. Поддерживаются:
координаты точки;
длина линии;
расстояние между точками;
расстояние от точки до линии;
расстояние от точки до плоскости;
проецируемое расстояние;
угол между плоскими гранями;
параметры окружности;
положение и ориентация нормали.
Команда Analyze → Measure Perimeter вычисляет суммарную длину выбранных кривых. Это полезно для оценки длины реза, периметра профиля или траектории.
Площадь
Для корректного замкнутого плоского контура рассчитывается площадь. Если выбраны грани тела, вычисляется площадь выбранных поверхностей.
Кривые предварительно аппроксимируются, поэтому точность зависит от chord tolerance. Слишком грубая аппроксимация заметно искажает результат на окружностях малого радиуса и длинных криволинейных профилях.
Объём
Measure Volume показывает объём тела. Для сеточного представления результат является приближённым. Уменьшение допуска хорды повышает точность ценой большего числа треугольников и увеличения времени расчёта.
Объём можно использовать для:
приблизительной оценки расхода материала;
сравнения вариантов детали;
контроля отсутствия лишних полостей;
проверки результата булевой операции.
Массу SolveSpace напрямую не определяет без данных о плотности материала. Значение рассчитывается отдельно:
масса = объём × плотность
Центр масс
Analyze → Center of Mass рассчитывает геометрический центр массы однородного тела. Результат обновляется при изменении модели.
Вычисление предполагает одинаковую плотность всего объёма. Для сборки из разных материалов полученная точка не соответствует реальному центру тяжести без дополнительного расчёта.
Degrees of Freedom
Analyze → Show Degrees of Freedom выделяет недоопределённые точки. Команда особенно полезна перед завершением эскиза. Если пользователь ожидает полностью фиксированный профиль, но видит свободную вершину, следует добавить недостающее ограничение.
Причиной остаточной подвижности часто становится:
незакреплённое положение всего контура;
свободный центр окружности;
незаданный угол;
отсутствующее совпадение конечных точек;
свободный радиус дуги;
незакреплённая ориентация компонента.
Проверка STL
Проверка сетки ищет геометрические проблемы, мешающие использованию STL:
несовпадающие вершины;
самопересечение;
некорректные участки поверхности.
Успешная проверка означает, что сетка геометрически согласована с точки зрения программы. Она не гарантирует печатаемость: слишком тонкие стенки, нависающие элементы, закрытые полости и неправильная ориентация оцениваются уже в слайсере.
Импорт, связывание и экспорт файлов
SolveSpace не является универсальным конвертером всех инженерных форматов. Для каждого типа данных используется свой механизм: открытие собственного проекта, импорт двумерной геометрии, связывание внешнего компонента или экспорт результата.
Собственный формат SLVS
.slvs хранит редактируемую модель SolveSpace. Он сохраняет:
историю групп;
эскизные объекты;
ограничения;
управляющие размеры;
рабочие плоскости;
свойства операций;
цвета;
видимость групп;
связи с внешними файлами.
Это основной формат для продолжения параметрического редактирования.
DXF и DWG
DXF и DWG импортируются как двумерная или пространственная геометрия. При импорте программа способна распознавать совпадающие точки, горизонтальные и вертикальные элементы, а также создавать некоторые размеры и углы из существующих размерных объектов.
Импортированный чертёж требует проверки:
масштаба;
единиц;
замкнутости контуров;
дублирующихся линий;
разрывов;
сплайнов;
лишних слоёв;
автоматически созданных ограничений.
SolveSpace не сохраняет все возможности исходного DWG: сложные типы объектов, внешние ссылки, оформление листов, блоки и специфические данные могут быть преобразованы или потеряны. Для простого просмотра чертежей без параметрического редактирования удобнее применять DWG FastView или Free DWG Viewer.
STEP
STEP используется для экспорта точной трёхмерной геометрии. NURBS-поверхности передаются без замены окружностей и дуг грубой треугольной сеткой. Экспортированные объекты сохраняют цвета и прозрачность, а твёрдые тела записываются как solid models.
При этом SolveSpace не предназначен для полноценного открытия произвольной STEP-модели с восстановлением параметрической истории. Для обмена рабочим проектом между разными CAD-системами STEP подходит как геометрический результат, но не как замена исходному .slvs.
STL
STL хранит треугольную сетку без параметрических ограничений. SolveSpace экспортирует активное тело или сборку в координатах проекта.
STL можно подключить как внешнюю геометрию, например для размещения в сборке или использования в качестве пространственного ориентира. Изменить исходные размеры сетки так же, как размеры собственного эскиза, нельзя.
OBJ и VRML
Wavefront OBJ используется для полигональной модели и может сопровождаться материалами с информацией о цветах. VRML/WRL подходит для передачи цветной сетки в программы, поддерживающие этот формат.
Эти варианты полезны для визуализации, но для точного инженерного обмена предпочтительнее STEP.
SVG, PDF и EPS
SVG сохраняет векторную геометрию и удобен для лазерной резки, макетов и редактирования в векторных программах. Окружности могут передаваться как точные векторные объекты.
PDF и EPS подходят для публикации размерного вида или печати. При экспорте двумерного вида программа выполняет проекцию текущей ориентации модели, удаляет скрытые линии или показывает их в зависимости от выбранного режима.
HPGL и G-code
HPGL используется оборудованием и программами, работающими с плоттерными командами. Кривые могут преобразовываться в набор отрезков.
Экспорт G-code формирует простую двумерную траекторию. Перед использованием необходимо проверить:
систему координат;
единицы;
направление обхода;
компенсацию инструмента;
безопасную высоту;
порядок контуров;
совместимость команд с контроллером.
Для сложной обработки G-code следует формировать в специализированной CAM-системе.
Режимы двумерного экспорта
File → Export 2d View экспортирует проекцию текущего вида. В файл попадают видимые линии, включая геометрию эскиза. Этот режим подходит для чертежа, изометрии или ортогонального представления.
File → Export 2d Section пересекает твёрдое тело выбранной плоскостью и экспортирует геометрию сечения. Режим подходит для получения производственного контура из 3D-модели.
Плоскость секции задаётся:
выбранной плоской гранью;
активной Workplane;
точкой и двумя направлениями.
File → Export Image создаёт PNG текущего экранного вида. Такой файл предназначен для иллюстрации, а не для точного производственного обмена.
Пошаговая инструкция: создание параметрического кронштейна
Ниже разобран типичный рабочий процесс: построение углового кронштейна с двумя отверстиями и усиливающим ребром. Конкретные размеры можно изменить, сохранив последовательность действий.
Шаг 1. Создание основного профиля
После открытия пустого документа активна плоскость XY. Нажмите W, чтобы камера точно смотрела на неё.
Выберите Sketch → Line Segment и постройте замкнутый Г-образный контур. Для внутреннего угла оставьте место под дугу.
Последнюю точку совместите с первой. Замкнутая область получит тёмную заливку. Если заливка не появилась, найдите разрыв между конечными точками.
Шаг 2. Привязка к началу координат
Выберите нижнюю левую вершину профиля и начало координат. Выполните Constrain → On Point / Curve / Plane.
Контур перестанет свободно перемещаться целиком, но его форма останется изменяемой.
Шаг 3. Направления сторон
Последовательно назначьте:
Horizontal нижней стороне;
Horizontal внутренней горизонтальной стороне;
Vertical короткой торцевой стороне;
Parallel / Tangent двум наклонным длинным сторонам;
Perpendicular торцевой стороне относительно наклонной.
Не наносите размеры до проверки автоматических H и V. Лишнее ограничение может вызвать переопределение.
Шаг 4. Одинаковая толщина
Выберите два коротких торцевых отрезка и примените Equal Length / Radius / Angle. Их длины станут одинаковыми, поэтому две полки будут иметь общую толщину.
Затем выберите один из отрезков и задайте точную длину через Distance / Diameter, например 4 мм. Второй элемент получит тот же размер через равенство.
Шаг 5. Скругление внутреннего угла
Выберите вершину между внутренними сторонами и выполните Sketch → Tangent Arc at Point. SolveSpace заменит острый переход касательной дугой.
Задайте радиус через Distance / Diameter. Для изменения формы выбирайте саму дугу, а не её центр.
Шаг 6. Основные габариты
Нанесите управляющие размеры:
длину горизонтальной полки;
высоту вертикальной полки;
толщину;
угол между полками;
радиус внутреннего перехода.
После каждого размера проверяйте количество DOF. Если фон стал красным, отмените последнюю операцию и найдите зависимость, которая уже определяла тот же параметр.
Шаг 7. Выдавливание
Выберите New Group → Extrude. В Property Browser переключите выдавливание в two-sided, если модель должна быть симметрична относительно исходной плоскости.
Задайте ширину кронштейна размером между торцевыми точками. Например, при общей ширине 40 мм половина двустороннего выдавливания составит 20 мм в каждую сторону.
Шаг 8. Рабочая плоскость ребра
Включите скрытые линии, чтобы увидеть внутренние точки. Выберите центральную точку внутреннего перехода и создайте New Group → Sketch in New Workplane.
Если плоскость ориентировалась неправильно, отмените действие, приблизительно поверните вид нужной стороной и повторите построение с более определённым набором выбранных направлений.
Шаг 9. Профиль ребра
В новой плоскости постройте треугольный контур. Одну вершину совместите с внутренним углом кронштейна. Две другие поместите на поверхности полок ограничением On Point / Curve / Plane.
Для симметричного ребра назначьте двум боковым сторонам Equal Length. Замкнутый треугольник должен получить заливку.
Шаг 10. Выдавливание ребра
Создайте Extrude, выберите двусторонний режим и оставьте solid model as union.
Чтобы толщина ребра совпадала с толщиной основной детали, выберите ребро, идущее вдоль толщины нового выдавливания, затем соответствующее ребро корпуса. Примените Equal Length.
Теперь изменение толщины основной детали одновременно перестраивает ребро.
Шаг 11. Плоскость отверстий
Выберите плоскую грань вертикальной полки и создайте Sketch in New Workplane. Камера развернётся перпендикулярно поверхности.
Постройте две окружности. Их центры разместите приблизительно симметрично.
Шаг 12. Ограничение отверстий
Выберите обе окружности и примените равенство радиусов. Задайте диаметр одной окружности через Distance / Diameter.
Выберите центры и назначьте Symmetric. Затем определите положение:
расстояние между центрами;
высоту относительно края;
расстояние от оси симметрии;
либо совпадение середины между центрами с осью рабочей плоскости.
Избыточно задавать одновременно все взаимосвязанные расстояния. Оставьте только минимальный набор, определяющий положение.
Шаг 13. Вычитание цилиндров
Создайте Extrude. В Property Browser переключите solid model as с union на difference.
Глубина цилиндров должна полностью пересекать полку. Надёжнее вывести выдавливание за обе поверхности либо точно связать торцевую точку с противоположной гранью через Point on Plane.
После вычитания в теле появятся два сквозных отверстия.

Шаг 14. Контроль модели
Перед экспортом выполните несколько проверок:
Активируйте каждую эскизную группу и посмотрите количество DOF.
Убедитесь, что нет красного фона и отметок err.
В последней группе включите отображение рёбер.
Проверьте отверстия с противоположной стороны.
Измерьте объём.
Включите треугольную сетку и оцените криволинейные участки.
Измените один ранний размер и убедитесь, что ребро и отверстия перестраиваются корректно.
Верните исходное значение или сохраните нужный вариант.
Шаг 15. Экспорт
Для передачи в другую CAD-систему используйте STEP. Для печати — STL. Для размерной иллюстрации ориентируйте модель и экспортируйте 2d View в PDF или SVG.
Если требуется контур отдельной плоскости, выберите соответствующую грань и используйте Export 2d Section.
Пошаговая инструкция: контур для лазерной резки
Подготовка геометрии
Создайте новый плоский эскиз и выровняйте вид по Workplane. Постройте внешний контур детали.
Центровые линии и оси симметрии сразу переведите в construction geometry. Они останутся доступными для ограничений, но не попадут в производственный результат.
Размещение отверстий
Первое отверстие разместите размерами относительно центра или краёв. Остальные отверстия создавайте не независимым копированием, а массивом:
Step and Repeat Translating для ряда;
Step and Repeat Rotating для расположения по окружности.
Если все отверстия должны иметь одинаковый диаметр, примените Equal Radius/Diameter. Не задавайте один и тот же диаметр отдельным размером для каждой окружности.
Проверка замкнутости
Каждая область реза должна быть замкнута. Внешний контур образует одну область, каждое отверстие — отдельную внутреннюю область.
Проверьте:
отсутствие дублирующихся линий;
совпадение конечных точек;
отсутствие микрозазоров;
отсутствие самопересечений;
правильный режим construction для вспомогательных объектов;
отсутствие случайных линий внутри контура.
Для проверки можно временно создать Extrude. Если профиль корректен, программа сформирует тело с отверстиями. После проверки группу разрешается удалить или подавить.
Выбор способа экспорта
Если проект остаётся плоским эскизом, используйте Export 2d View, предварительно ориентировав камеру по рабочей плоскости.
Если контур получен из объёмного тела, выберите грань и примените Export 2d Section.
Для большинства систем лазерной резки подходят DXF и SVG. Перед передачей файла откройте его в программе подготовки оборудования и проверьте реальные габариты.
Компенсация ширины реза
Cutter Radius Offset смещает экспортируемый контур. Для внешнего профиля компенсация обычно выполняется наружу, для отверстий — внутрь. Направление зависит от ориентации контура и параметров экспорта.
При ответственных посадках лучше передавать исходный контур в CAM-систему и задавать kerf там. Это позволяет отдельно управлять внешними и внутренними траекториями, порядком резки и заходами.
Проверка результата
После экспорта:
Откройте файл в отдельном векторном редакторе или программе станка.
Измерьте контрольный габарит.
Проверьте количество контуров.
Убедитесь, что вспомогательные линии отсутствуют.
Проверьте, не разбились ли окружности на слишком крупные сегменты.
Убедитесь, что масштаб равен 1:1.
Проверьте единицы проекта.
Производительность и устойчивость
SolveSpace быстро работает с небольшими деталями, но нагрузка определяется не только количеством линий. Наиболее заметно производительность снижают:
большие системы взаимосвязанных ограничений;
сложные пространственные зависимости;
множество сплайнов;
точные NURBS-пересечения;
крупные массивы;
сборки с большим числом компонентов;
слишком мелкая триангуляция;
постоянный расчёт степеней свободы;
сложные Helix- и Revolve-поверхности.
Для эскизов с большим числом зависимостей используется ускоренный решатель. Максимальное количество неизвестных было увеличено с 1024 до 2048, а вычисление сложных систем ускорено приблизительно в восемь раз. Для тяжёлых групп доступен параметр suppress dof calculation, отключающий постоянный подсчёт степеней свободы.
Как уменьшить нагрузку
полностью определяйте отдельные группы до перехода к следующим;
не создавайте лишние ограничения;
используйте массив вместо множества независимых копий;
скрывайте неиспользуемые группы и служебные объекты;
применяйте assembly, когда объединение тел не требуется;
не уменьшайте chord tolerance без необходимости;
используйте простые дуги вместо сложных сплайнов;
разделяйте сборку на отдельные файлы;
подавляйте твёрдое тело у вспомогательных групп;
включайте triangle mesh только для проблемных операций.
NURBS и треугольная сетка
NURBS-поверхности предпочтительны для точного STEP и сохранения аналитических окружностей. Их слабое место — сложные булевы операции.
Сетка лучше переносит некоторые пересечения, но результат зависит от плотности триангуляции. На круглом отверстии появляется набор плоских граней. Для 3D-печати это нормально при достаточной детализации, а для передачи точной модели в другую CAD-систему — нежелательно.
Ограничения сложных деталей
SolveSpace не предназначен для моделей с сотнями развитых конструктивных элементов, большим количеством автоматических фасок и скруглений, управляемыми поверхностями, конфигурациями изделий и глубокими сборочными деревьями.
Сложную деталь иногда удаётся построить вручную, но количество обходных операций растёт. В таком проекте выгоднее перейти в FreeCAD или Autodesk Fusion, а SolveSpace оставить для отдельных параметрических профилей, механизмов и небольших компонентов.
Системные требования
Формальный минимум по частоте процессора, объёму оперативной памяти и видеопамяти не установлен. Программа компактна, но фактическая нагрузка зависит от количества ограничений, сложности поверхностей и плотности сетки.
| Компонент | Требование |
| Операционная система Windows | Windows Vista–11, доступны 32- и 64-разрядные сборки |
| Операционная система macOS | 64-разрядная macOS, начиная с 10.6 |
| Операционная система Linux | Совместимый дистрибутив с графической средой и OpenGL |
| Графика | Поддержка OpenGL |
| Процессор | x86/x64; многопоточная обработка доступна через OpenMP |
| Оперативная память | Точный минимум не установлен; сложным проектам требуется больше памяти |
| Устройства ввода | Мышь с колесом; поддерживаются некоторые 3Dconnexion-контроллеры |
| Интернет | Для обычного моделирования не требуется |
| Учётная запись | Не требуется |
Однопоточная сборка подходит для простых моделей и систем без необходимых OpenMP-компонентов. Многопоточный вариант полезен при операциях, способных использовать несколько ядер, но не ускоряет каждое действие интерфейса.
Для комфортной работы важнее мышь с тремя кнопками или нажимаемым колесом, чем производительная видеокарта. Средняя кнопка используется для вращения вида, правая — для панорамирования. На тачпаде те же действия требуют жестов или сочетаний клавиш.
Сравнение с аналогами
SolveSpace конкурирует не с одним конкретным продуктом, а с несколькими подходами к проектированию: крупными параметрическими CAD-системами, программируемыми моделлерами и двумерными чертёжными редакторами.
| Критерий | SolveSpace | FreeCAD | OpenSCAD | LibreCAD | Autodesk Fusion |
| Основной подход | Интерактивный эскиз с ограничениями | Модульная параметрическая CAD-система | Описание модели кодом | Двумерное черчение | Интегрированная CAD/CAM/CAE-платформа |
| 2D-ограничения | Да | Да | Не являются основным методом | Ограничены задачами 2D-чертежа | Да |
| 3D-тела | Extrude, Lathe, Revolve, Helix, Boolean | Развитое твердотельное и поверхностное моделирование | CSG и программируемая геометрия | Нет полноценного 3D | Развитое твердотельное, поверхностное и сеточное моделирование |
| Сборки | Связанные файлы и ограничения | Есть сборочные инструменты | Через программную композицию | Нет | Развитые компоненты и соединения |
| Скругления готовых рёбер | Нет универсального инструмента | Есть | Создаются конструктивно кодом | Только 2D-геометрия | Есть |
| CAM | Простой G-code и экспорт геометрии | Отдельные производственные инструменты | Экспорт модели | Нет полноценного CAM | Интегрированный CAM |
| Автоматизация | Командная строка, параметрические зависимости | Python и макросы | Основной способ — код | Ограниченная | Скрипты, API и облачные процессы |
| Облачная зависимость | Нет | Нет | Нет | Нет | Облачная платформа с настольным клиентом |
| Лицензия | GPL | Open source | Open source | Open source | Коммерческая подписка и ограниченные бесплатные варианты |
| Сложность освоения | Умеренная | Высокая | Зависит от знания программирования | Низкая для 2D | Высокая из-за объёма функций |
| Лучший сценарий | Небольшие точные детали и механизмы | Сложные инженерные проекты без коммерческой лицензии | Генеративные и конфигурируемые модели | Традиционные 2D-чертежи | Полный цикл разработки и производства |
SolveSpace и FreeCAD
FreeCAD функционально шире. Он поддерживает множество рабочих окружений, развитое твердотельное моделирование, технические чертежи, конечно-элементные задачи, производственные операции, Python-автоматизацию и дополнительные модули. Это делает его подходящим для сложных изделий, но увеличивает количество сущностей, настроек и возможных зависимостей.
SolveSpace проще по архитектуре. Эскиз, ограничение и операция находятся в короткой линейной истории. Для кронштейна, фланца, корпуса или небольшого механизма путь до результата часто короче.
FreeCAD предпочтительнее, когда нужны:
фаски и скругления готовых рёбер;
сложные поверхности;
листовой металл;
большие сборки;
технические листы;
FEM;
развитый CAM;
макросы и Python;
специализированные рабочие окружения.
SolveSpace удобнее для пользователя, которому нужен компактный параметрический инструмент без необходимости осваивать архитектуру большого инженерного комплекса. Пользователи часто называют SolveSpace более плавным и предсказуемым для небольших проектов, а FreeCAD — значительно более функциональным.
SolveSpace и OpenSCAD
OpenSCAD строит твёрдые модели из текстового описания. Пользователь задаёт примитивы, преобразования, булевы операции, циклы, функции и параметры. Изменение кода пересоздаёт результат. OpenSCAD не является обычным интерактивным моделлером: текст программы выступает источником геометрии.
SolveSpace использует графическое построение. Пользователь рисует профиль мышью, выбирает объекты и накладывает ограничения.
OpenSCAD сильнее в задачах:
генерации семейств моделей;
циклического повторения сложных структур;
алгоритмических конструкций;
воспроизводимых проектов в системе контроля версий;
конфигураторов;
массового изменения параметров через код.
SolveSpace удобнее, когда форма определяется визуально, а отношения между объектами проще показать геометрическими ограничениями. Для настройки положения отверстия достаточно выбрать центр, ось и размер, не вычисляя координаты в коде.
SolveSpace и LibreCAD
LibreCAD — свободная кроссплатформенная программа для двумерного CAD. Она подходит для традиционных чертежей, слоёв, размеров и работы с DXF, но не создаёт полноценные параметрические трёхмерные тела.
Для плоской детали выбор зависит от результата. LibreCAD удобнее, когда требуется чертёжный лист с большим количеством 2D-объектов и привычным подходом к слоям. SolveSpace выигрывает, если тот же контур затем нужно выдавить, проверить в сборке или быстро перестроить через constraint solver.
SolveSpace и Autodesk Fusion
Autodesk Fusion объединяет параметрическое, прямое, поверхностное, свободное и сеточное моделирование с CAM, CAE, электроникой, чертежами, управлением данными и совместной работой. Это полноценная производственная платформа, а не компактный редактор отдельных деталей.
Fusion значительно сильнее в:
сложных скруглениях;
поверхностях;
листовом металле;
больших сборках;
визуализации;
симуляции;
подготовке траекторий ЧПУ;
управлении проектными данными;
командной работе.
SolveSpace не требует облачного проекта и подписки. Файлы находятся под прямым контролем пользователя, программа быстро запускается и не перегружает интерфейс производственными модулями. Для небольших личных моделей, учебных задач и open-source-проектов это существенное преимущество.
SolveSpace и SketchUp
SketchUp ориентирован на быстрое визуальное формирование объёмов, архитектурные эскизы, интерьеры и концептуальные модели. SolveSpace лучше подходит для механических деталей, где критичны точные зависимости, диаметры, равенство элементов и перестроение по размерам.
В SketchUp проще быстро сформировать здание или предметную сцену. В SolveSpace проще гарантировать, что два отверстия имеют одинаковый диаметр, лежат симметрично и сохранят положение после изменения габарита детали.
Отзывы пользователей и профильных изданий
Hackaday
Hackaday неоднократно обращал внимание на SolveSpace. В публикациях выделялись constraint solver, компактность и сравнительно прямой рабочий процесс. В обсуждениях программу характеризовали как быструю и предсказуемую, хотя внешний вид интерфейса воспринимается устаревшим.
Такая оценка соответствует реальному устройству программы. Интерфейс не пытается повторять современные ленточные панели и крупные менеджеры операций. Его сильная сторона — быстрый доступ к геометрии, ограничениям и группам. Слабая — высокая плотность условных значков и непривычная логика Property Browser.
Embedded Computing Design
В обзоре Embedded Computing Design отмечались быстрый запуск, небольшой объём программы, доступность сочетаний клавиш и наличие сборок, механизмов, двумерных чертежей и экспорта STL. Автор также обратил внимание на непривычный порядок действий: сначала выбирается объект, затем вызывается команда.
Этот порядок распространяется на большую часть SolveSpace. Для установки размера сначала выбирается линия или окружность, затем Constrain → Distance / Diameter. В программах с режимом активировать инструмент, затем выбрать объекты привычка формируется иначе, поэтому первые действия в SolveSpace могут казаться обратными.
LinuxLinks
LinuxLinks рассматривает SolveSpace как свободный параметрический CAD-инструмент для Linux, macOS и Windows. Публикация подчёркивает кроссплатформенность и открытый характер программы.
Для Linux это особенно важно: SolveSpace предоставляет одинаковую модель проектов на нескольких системах. .slvs можно редактировать в Windows, Linux и macOS без преобразования в другой формат.
Libre Arts
Libre Arts связывает развитие SolveSpace с более ранним SketchFlat и отмечает переход от двумерных ограничений к 2D/3D-моделированию, подготовке данных для производства и симуляции механизмов. Ранние обзоры хвалили компактность и решатель, но указывали на ограничения булевых NURBS-операций.
Ограничение остаётся актуальным как архитектурная особенность: сложные точные пересечения обрабатываются менее устойчиво, чем простые призматические формы. Программа компенсирует это возможностью принудительно использовать треугольную сетку.
Усреднённое мнение пользователей
На форумах, Hacker News, Reddit и в сравнительных обзорах повторяются несколько положительных оценок:
программу легче начать использовать, чем FreeCAD;
геометрический решатель ведёт себя предсказуемо;
небольшие механические детали строятся быстро;
интерфейс не перегружен дополнительными рабочими окружениями;
параметрические зависимости хорошо подходят для лазерной резки и 3D-печати;
файлы хранятся локально;
сборки из связанных .slvs удобны для проверки посадки;
программа работает на Linux, Windows и macOS.
Повторяющиеся замечания:
внешний вид кажется устаревшим;
значки и Property Browser требуют привыкания;
сложные булевы операции иногда завершаются ошибкой;
нет универсальных трёхмерных фасок и скруглений;
крупных сборочных инструментов и спецификаций недостаточно;
обучающих материалов меньше, чем для FreeCAD и Fusion;
импорт STEP не заменяет работу в системах с развитым обменом B-rep;
возможности сложного поверхностного моделирования ограничены.
Пользователи нередко описывают SolveSpace как более приятный инструмент для маленьких проектов, но не считают его полной заменой FreeCAD. В сообществах 3D-печати программу хвалят за простоту параметрического проектирования, а в сообществах FreeCAD подчёркивают существенно меньшую глубину функций.
Преимущества и недостатки
Плюсы:
бесплатная лицензия GPL без функционального разделения на тарифы;
локальная работа без обязательной учётной записи;
параметрические 2D- и 3D-ограничения;
быстрый доступ к степеням свободы;
поддержка выдавливания, вращения, Helix и массивов;
булевы операции union, difference и intersection;
сборки из связанных файлов;
автоматическое распространение изменений в сборку;
моделирование простых механизмов;
точный STEP-экспорт;
STL, OBJ, DXF, SVG, PDF, EPS и другие форматы;
экспорт двумерного сечения;
подготовка контуров для лазерной и гидроабразивной резки;
поддержка русского интерфейса;
работа в Windows, Linux и macOS;
запуск Windows-варианта без традиционной установки;
сравнительно простая линейная история групп;
возможность переключения между NURBS и triangle mesh;
выражения в размерных полях;
reference dimensions;
контроль площади, объёма, центра массы и пересечений.
Минусы:
нет развитого инструмента фасок и скруглений готовых трёхмерных рёбер;
отсутствует произвольное выдавливание профиля по сложной пространственной траектории;
ограничены средства поверхностного моделирования;
сложные NURBS-пересечения могут завершаться ошибкой;
нет полноценного модуля технических листов и спецификаций;
нет встроенного развитого CAM;
нет расчёта напряжений, динамики и тепловых процессов;
крупные сборки организованы проще, чем в профессиональных CAD-системах;
Property Browser и условные значки требуют освоения;
импорт внешних моделей не восстанавливает параметрическую историю;
нет развитой системы именованных параметров и конфигураций;
сложные детали требуют обходных построений;
обучающих материалов меньше, чем у более массовых программ.
Кому подойдёт SolveSpace
Новичкам в параметрическом моделировании
SolveSpace показывает основные принципы CAD без большого количества модулей. Пользователь быстро сталкивается с понятиями Workplane, DOF, Coincident, Equal, Extrude и Boolean. Эти знания переносятся в другие инженерные системы.
Начинать лучше с плоских деталей, затем перейти к выдавливанию и только после этого — к рабочим плоскостям и сборкам.
Владельцам 3D-принтеров
Программа подходит для креплений, переходников, кронштейнов, корпусов и других функциональных деталей. Размеры изменяются быстрее, чем в полигональном редакторе, а STL передаётся в слайсер.
Для органических моделей, миниатюр и персонажей лучше использовать скульптинг или полигональное моделирование.
Пользователям лазерных станков
Параметрические контуры, массивы, равные размеры и сборочная проверка полезны для пазовых конструкций, коробок, панелей и шаблонов. Изменение толщины материала можно учитывать через размеры и связи между деталями.
Для автоматического раскроя по листу, назначения режимов реза и управления оборудованием потребуется отдельное программное обеспечение.
Инженерам и конструкторам небольших изделий
SolveSpace удобен как быстрый геометрический блокнот с точными размерами. В нём можно проверить идею механизма, положение деталей и основные габариты до переноса проекта в более крупную CAD-систему.
Пользователям Linux
Кроссплатформенная работа и открытый код делают SolveSpace практичной альтернативой облачным и только Windows-ориентированным продуктам. Один проект можно хранить в системе контроля версий вместе с исходными файлами деталей.
Разработчикам открытых аппаратных проектов
Формат .slvs, исходный код программы и отсутствие закрытой подписки упрощают публикацию редактируемых моделей. Получатель проекта может изменить размеры без покупки коммерческой лицензии.
Когда лучше выбрать другую программу
FreeCAD рациональнее для сложных инженерных деталей, листового металла, технических листов, FEM и автоматизации на Python.
OpenSCAD лучше подходит для алгоритмически генерируемых конструкций и конфигураторов.
LibreCAD удобнее для традиционного двумерного черчения без перехода в 3D.
Autodesk Fusion оправдан, когда в одном проекте требуются сложное моделирование, CAM, расчёты, электроника и командное управление данными.
Частые вопросы
Есть ли в SolveSpace русский интерфейс
Да. Русский перевод входит в программу. Названия основных меню и команд могут отображаться на русском, но в учебных материалах часто используется английский вариант интерфейса. Поэтому знание терминов Sketch, Constrain, Extrude, Workplane и Property Browser облегчает поиск инструкций.
Можно ли использовать SolveSpace бесплатно в коммерческой работе
Лицензия GPL не запрещает проектировать коммерческие изделия. Условия GPL относятся прежде всего к распространению и изменению самой программы и её исходного кода, а не к правам на созданные пользователем модели.
Подходит ли SolveSpace для 3D-печати
Да. Программа экспортирует STL и OBJ. После экспорта модель открывается в слайсере. Перед печатью необходимо проверить замкнутость сетки, толщину стенок и масштаб.
Можно ли создавать сборки
Да. Детали связываются через New Group → Link / Assemble и размещаются ограничениями. Отдельного расширения сборочного файла нет.
Поддерживается ли STEP
STEP используется для экспорта точных NURBS-поверхностей и твёрдых моделей. Это предпочтительный формат передачи геометрии в другую CAD- или CAM-систему.
Открывает ли SolveSpace произвольные STEP-файлы
Программа не заменяет универсальный STEP-редактор и не восстанавливает параметрическую историю сторонней модели. Основные внешние сценарии SolveSpace связаны с экспортом STEP, импортом DXF/DWG и подключением .slvs, STL и IDF/EMN.
Можно ли открыть DWG
Да, DWG и DXF импортируются. После открытия следует проверить единицы, слои, контуры и автоматически созданные ограничения.
Работает ли программа без интернета
Да. Настольная версия выполняет моделирование и экспорт локально. Интернет нужен только для получения программы, документации или обновлений.
Можно ли сделать резьбу
Винтовая операция Helix позволяет создать резьбоподобный профиль. Пользователь самостоятельно строит сечение витка, задаёт ось, шаг и длину. Автоматического мастера стандартных резьб с выбором обозначения нет.
Можно ли построить фаску
Фаску можно заложить в исходный плоский профиль или создать дополнительным вычитанием. Универсальной команды обработки выбранного трёхмерного ребра нет.
Можно ли сделать скругление
В эскизе применяется Tangent Arc at Point. Скругление готового трёхмерного ребра приходится формировать через геометрию профиля или отдельную булеву операцию.
Подходит ли SolveSpace для ЧПУ
Программа создаёт плоский G-code и экспортирует DXF, SVG, STEP и STL для внешних CAM-систем. Для многооперационной фрезерной обработки требуется специализированный CAM.
Что означает красный фон
Красный фон означает, что решатель не смог удовлетворить систему ограничений. Причиной становится противоречие, избыточность или невозможная геометрия. Property Browser показывает список потенциально проблемных зависимостей.
Почему размер нельзя изменить
Размер может быть reference dimension с пометкой REF. Он только отображает значение. Для изменения геометрии нужен управляющий размер либо редактирование других ограничений, которые определяют этот параметр.
Почему точка продолжает перемещаться
Группа остаётся недоопределённой. Используйте Analyze → Show Degrees of Freedom, найдите свободные точки и добавьте недостающие зависимости.
Почему не работает Extrude
Проверьте, что профиль:
замкнут;
лежит в одной плоскости;
не самопересекается;
не содержит разрывов;
не включает ненужные обычные линии вместо construction geometry;
образует корректные внутренние и внешние области.
Почему не выполняется Difference
Причиной становится касание тел, совпадение поверхностей, нулевая толщина или сложная NURBS-геометрия. Измените глубину вычитающего тела так, чтобы оно явно пересекало основное, либо включите принудительное использование triangle mesh.
Чем SolveSpace отличается от FreeCAD
SolveSpace проще, компактнее и сосредоточен на эскизах, ограничениях, базовых телах и сборках. FreeCAD функционально шире, но требует освоения рабочих окружений и более сложной структуры модели.
Итог
SolveSpace подходит для задач, в которых геометрия важнее развитой инфраструктуры вокруг проекта. Она уверенно справляется с параметрическими эскизами, небольшими механическими деталями, плоскими производственными контурами, сборками из связанных файлов и геометрическими механизмами.
Для 3D-печати программа удобна при создании функциональных деталей с точными размерами. Для лазерной резки полезны двумерные ограничения, массивы, construction geometry и экспорт сечений. Для инженерного обмена применяется STEP, а для сеточных процессов — STL и OBJ.
Главные ограничения проявляются на сложных поверхностях, автоматических фасках и скруглениях, крупных сборках и проектах, где требуются расчёты, технические листы или встроенный CAM. В таких сценариях SolveSpace рациональнее использовать как быстрый параметрический инструмент для отдельных компонентов и ранней проверки геометрии, а итоговую разработку продолжать в более крупной CAD-системе.
Список изменений
Начало проекта:
- Разработка SolveSpace началась в 2008 году. Ей предшествовала программа SketchFlat, ориентированная на двумерное проектирование с ограничениями. Новая система расширила этот подход до пространственных моделей, твёрдых тел, сборок и механизмов.
- Первоначально программа распространялась как закрытый коммерческий продукт для Windows. Затем появилась бесплатная редакция, а исходный код был открыт под GPL.
SolveSpace 2.0:
- группы построения;
- рабочие плоскости;
- параметрические эскизы;
- геометрический решатель;
- выдавливание;
- тела вращения;
- булевы операции;
- собственный формат .slvs.
SolveSpace 2.1:
- добавлением и удалением точек сплайна;
- Length Difference;
- автоматическими горизонтальными и вертикальными ограничениями;
- reference dimensions;
- отображением диаметра как радиуса;
- константой pi в выражениях;
- вставкой объектов вместе с внутренними ограничениями.
SolveSpace 2.2 и 2.3:
- Следующие выпуски были посвящены стабильности, производительности и исправлению платформенных ошибок. Улучшилась работа 3Dconnexion-устройств, перетаскивание объектов, обработка путей с пробелами и Unicode, экспорт DXF и вставка преобразованной геометрии.
SolveSpace 3.0:
- булева операция intersection;
- группы Revolution и Helix;
- режим assembly для твёрдых тел;
- подавление solid model;
- многомерные массивы;
- создание Sketch in Workplane на основе существующей плоскости;
- изображения как элементы эскиза;
- дополнительные управляющие точки TrueType-текста;
- улучшенная диагностика степеней свободы;
- новые средства выбора ограничений;
- импорт IDF-плат;
- VRML-экспорт;
- цвета и прозрачность в STEP;
- измерение периметра;
- центр массы;
- площадь выбранных граней;
- командный интерфейс для пакетных операций;
- HiDPI;
- русский перевод интерфейса;
- turntable navigation.
SolveSpace 3.1:
- В 3.1 появились отношения длины и разности для дуг, комментарии к точкам, жесты трекпада macOS и exploded view эскиза.
- Система единиц получила Feet-Inches. В Helix добавили параметр pitch. Property Browser стал обновляться во время перетаскивания геометрии.
- Появилась возможность связывать STL и показывать запретные области IDF-плат как construction geometry.
- Наиболее значительное внутреннее изменение — переход решателя на библиотеку Eigen. Работа эскизов с большим числом ограничений ускорилась примерно в восемь раз, а предел неизвестных увеличился до 2048.
SolveSpace 3.2:
- уравнивать длины нескольких отрезков;
- уравнивать диаметры нескольких окружностей;
- назначать Horizontal или Vertical группе линий;
- совмещать несколько точек;
- помещать точку одновременно на несколько граней.

Оставте свой отзыв о SolveSpace