Перейти к содержанию
ERITKOM
Open SourceРазбор

FreeCAD: параметрическая модель хранит не только форму, но и способ её получения

Параметры, эскизы, операции и таблицы образуют направленную цепочку зависимостей. На открытом учебном руководстве разбираем, чем такая модель отличается от набора поверхностей или экспортированной треугольной сетки.

Историческая учебная схема FreeCAD: эскиз, выдавливание и вырез связаны зависимостями параметрической модели
Yorik van Havre и сообщество FreeCAD, A FreeCAD Manual, CC BY 4.0. Исторический учебный пример руководства 0.16–0.19, не интерфейс нового релиза; содержание учебного примера сохранено. Изменены размер и формат.

Размер — это вход алгоритма построения

Параметрическое моделирование начинается не с произвольного перемещения каждой точки поверхности, а с правил. Цилиндр определяется радиусом и высотой, выдавливание — исходным профилем и расстоянием. Изменение свойства запускает перестроение результата. Поэтому числовое поле в CAD-документе может быть частью вычислительного описания объекта, а не просто справочной подписью.

В A FreeCAD Manual параметры включают числа, размеры с единицами, координаты, строки и ссылки на другие объекты. Последние связывают операции в цепочку: эскиз становится основой выдавливания, его грань используется для нового эскиза, затем создаётся вырез. Промежуточные объекты остаются в документе и могут влиять на итог после пересчёта.

Цепочка должна оставаться направленной, без циклов. Если A зависит от B, а B снова от A, однозначного порядка пересчёта нет. Несколько последующих объектов могут использовать один исходный элемент — это допустимое ветвление, а не цикл. Здесь и далее историческое руководство, первоначально написанное для FreeCAD 0.16 и обновлявшееся к 0.19, служит источником принципов. Его изображения не выдаются за современный интерфейс или описание нового выпуска программы.

Документ объединяет объекты, а рабочее окружение меняет инструменты

Документ FreeCAD содержит объекты сцены, группы и результаты разных рабочих окружений. Переход между workbenches не требует автоматически создавать отдельный документ для каждого этапа. Один файл может сочетать твердотельную геометрию, сетки и неграфические объекты. Поэтому дерево проекта нельзя понимать исключительно как перечень видимых тел на экране.

Группы помогают организовать содержимое, но сами могут не иметь геометрического представления. В документе существуют объекты разных типов, добавляемые различными рабочими окружениями. Несколько видов одного документа показывают одни данные с разных сторон; несколько одновременно открытых документов, напротив, являются отдельными наборами объектов. Активность документа определяет, к какому набору относится текущая операция.

Руководство также описывает ссылки на объекты другого документа и архивную структуру FCStd. Сохранение исходного документа сохраняет гораздо больше контекста, чем снимок трёхмерного окна. Важна не только форма последнего результата, но и состав дерева, типы объектов, их свойства и отношения. Наличие объекта в дереве при отсутствии его изображения может означать скрытый исходник или служебную структуру, а не потерю геометрии.

CSG и BREP описывают разные стороны построения

Constructive Solid Geometry строит сложный результат из простых тел через объединение, вычитание и пересечение. В учебном примере ножка стола получается из двух пересекающихся параллелепипедов, один из которых вычитается из другого. Исходные операнды не исчезают: они скрываются и остаются связанными с результатом Cut. Их параметры продолжают участвовать в последующем пересчёте.

BREP относится к устройству самой геометрии. Грани, рёбра и вершины описывают границу объекта; криволинейные элементы задаются математическими кривыми и поверхностями. Полигональная сетка вместо этого приближает поверхность отдельными гранями. Эти различия проявляются при изменении масштаба и экспорте: точное геометрическое описание и его треугольное приближение не являются одинаковыми данными.

Внутренняя структура также различает wire, face, shell и solid. Замкнутая оболочка может определять объём с понятиями внутренней и внешней области. Простое объединение произвольных форм в compound не означает автоматического получения единого твердого тела. Таким образом, история булевых операций отвечает на вопрос «как построено», а граничное представление — «как описана полученная форма». Эти уровни связаны, но не подменяют друг друга.

Эскиз фиксирует отношения, а не только координаты рисунка

В упражнении по проектированию детали Sketcher задаёт двумерную геометрию и ограничения. Вертикальность, горизонтальность, совпадение точек и размеры заставляют эскиз сохранять отношения между элементами при изменении параметров. Полностью ограниченный эскиз не имеет оставшихся свободных перемещений, а избыточные ограничения могут дублировать друг друга и создавать проблему для решателя.

Дальнейшие операции добавляют и удаляют материал. Pad превращает профиль в объём, Pocket делает вырез по профилю. В историческом примере прямоугольник становится основанием учебного блока, затем внутренний эскиз задаёт полость. Повторяющиеся выступы создаются через линейный шаблон, а не обязательно независимыми копиями вручную построенных тел.

Это различие заметно в дереве: повторяется элемент истории построения, а итог остаётся частью формируемой детали. Изменение размеров исходного профиля должно пройти по зависимостям к последующим операциям. Учебник использует знакомую форму конструктора и специально изменённый масштаб; приведённые изображения показывают последовательность моделирования, а не подтверждение совместимости напечатанной детали с коммерческим изделием. В статье не воспроизводится старый пошаговый интерфейс как инструкция для текущей версии.

Исторический учебный FreeCAD: полностью ограниченный прямоугольный эскиз детали
Исторический учебный FreeCAD: полностью ограниченный прямоугольный эскиз детали. Yorik van Havre и сообщество FreeCAD, A FreeCAD Manual, CC BY 4.0. Исторический учебный пример руководства 0.16–0.19, не интерфейс нового релиза; содержание учебного примера сохранено. Изменены размер и формат.
Исторический учебный FreeCAD: первое выдавливание Pad на основе ограниченного эскиза
Исторический учебный FreeCAD: первое выдавливание Pad на основе ограниченного эскиза. Yorik van Havre и сообщество FreeCAD, A FreeCAD Manual, CC BY 4.0. Исторический учебный пример руководства 0.16–0.19, не интерфейс нового релиза; содержание учебного примера сохранено. Изменены размер и формат.

Таблица может управлять моделью и читать её свойства

Spreadsheet Workbench позволяет хранить в документе таблицу со значениями, формулами и ссылками на свойства объектов. В одном направлении таблица собирает данные: например, длину параллелепипеда или радиус цилиндра. В другом направлении именованная ячейка становится источником размера, используемого объектом либо ограничением эскиза.

Эти направления подчиняются общей модели зависимостей. Если одна и та же таблица задаёт свойство объекта и одновременно читает его обратно, возникает цикл. В учебном примере ввод управляющих значений и чтение вычисленных параметров разделены. Именованные ячейки делают выражения понятнее, чем набор координат вида B1, но не отменяют отношения между объектами.

Руководство отдельно различает внутреннее имя объекта и редактируемую подпись, видимую в дереве. Внутреннее имя однозначно идентифицирует объект внутри документа; подпись предназначена для человека. Это важно при чтении исторических примеров выражений: изменение видимой надписи не обязательно означает изменение имени, на которое ссылается формула. Таблица здесь выступает не внешним каталогом размеров, а полноправной частью вычислительной модели, которая может задавать семейство геометрически связанных вариантов.

Экспорт переносит выбранное представление, а не всю историю

Разные форматы сохраняют разные свойства модели. В руководстве STEP рассматривается как путь передачи твердотельной и NURBS-геометрии, BREP — как формат геометрического ядра OpenCASCADE. STL и OBJ относятся к сеточным представлениям: при таком экспорте точные поверхности исходных тел преобразуются в полигональное приближение. Выходной файл поэтому не обязательно содержит то же, что FCStd.

Для двумерных задач используются другие представления, в том числе SVG. Выбор формата связан с потребителем результата: геометрическим редактором, чертёжным процессом или программой подготовки печати. Наличие расширения в списке экспорта само по себе не означает переноса параметрических зависимостей и всех свойств исходного документа.

Импортированная геометрия тоже может не содержать историю, даже если её поверхность выглядит точно. На такой форме можно строить новые параметрические операции, однако это не восстанавливает автоматически все прежние эскизы и замысел автора. Поэтому «модель открывается» и «модель сохраняет редактируемую цепочку построения» — разные свойства обмена. Сведения о конкретных конвертерах в старом руководстве не используются здесь как перечень актуальных возможностей 2026 года: сопоставляется именно характер данных, который передаётся между форматами.

Разные уровни данных в CAD-проекте
ПредставлениеЧто описываетЧего не следует ожидать автоматически
Параметрическая история Правила и зависимости построения Произвольного цикла взаимных зависимостей
BREP / STEP Точные границы и поверхности геометрии Исходной истории всех операций
STL / полигональная сетка Аппроксимацию поверхности гранями Сохранения точных кривых и эскизов
FCStd Документ с объектами и свойствами Тождественности одному экспортированному телу

Источник: A FreeCAD Manual: принципы представления и обмена геометрией

Источники

Принципы журнала и исправления.

ERITKOM / НОВЫЙ ПРОЕКТ

Расскажите о задаче и оставьте контакты. Мы свяжемся с вами, чтобы обсудить проект.

  1. 01 Контакты
  2. 02 Ваша задача