Параметрическое моделирование в САПР SolveSpace: Эскиз

    Построение геометрии любой детали в SolveSpace начинается с проектирования эскиза (sketch). Эскиз представляет собой набор замкнутых контуров (циклов, loop), каждый из которых не должен иметь самопересечений и пересечений с другими контурами. Контуры состоят из примитивов (entity). Примитивы объединяются в контуры с помощью ограничения "точка-к-точке" (points coincident).
    image


    Запрос (request)


    Создание примитивов в SolveSpace имеет одну особенность: пользователь создает их наборами (запросы, requests). Например, при запросе на создание отрезка создаются три сущности для его представления: две точки и линия, соединяющая их. Для пользователя не существует разделения запроса на отдельные сущности: если пользователь удаляет одну из сущностей запроса, удаляется и весь запрос. Сущности можно разделить на два класса: те, которые не имеют параметров (parameters) и сущности, имеющие параметры: точки, нормали и расстояния.


    Точки


    Точки в SolveSpace являются основой параметризации и имеют параметры, соответствующие координатам в Декартовой системе. Точки бывают двумерные и трехмерные и содержат два или три параметра соответственно. Для простоты, будем рассматривать такие характеристики, как число параметров, степеней свободы (degrees of freedom, DOF) и уравнений только для двумерного случая.


    image


    Нормали


    Нормаль имеет ссылку на точку, определяющую начало системы координат (origin). Нормали используются для задания системы координат в сборках деталей (assembly) и для некоторых примитивов. Пользователь не может создавать нормали. Нормаль вводит 4 параметра и одно уравнение (equation), что соответствует 3 вращательным степеням свободы. Этот поворот выражается кватернионом, а уравнение служит для приведения его к единичной длине.


    Расстояния


    Расстояния служат для задания радиусов окружностей. Эта сущность не имеет визуализации, и ее невозможно создать отдельно, поэтому ее можно рассматривать как часть окружности. Сущность расстояния определяет единственный параметр — радиус окружности.


    Отрезки


    Отрезок состоит из двух точек и линии, которая их соединяет. Отрезок вводит 4 степени свободы и 4 параметра.


    image


    Окружности


    Запрос на создание окружности создает точку, нормаль, расстояние и линию окружности. Нормаль нужна для ориентации окружности в трехмерном пространстве.
    image


    Дуги окружностей


    Запрос на создание дуги окружности состоит из трех точек, нормали и отрезка окружности. Дуга добавляет шесть параметров и одно уравнение. Результирующее число степеней свободы — пять. Их можно представить как координаты центра, радиус, одномерные координаты (углы) начала и конца дуги.
    image


    Кубические сплайны Безье


    В SolveSpace существует возможность создания кубических сплайнов Безье. Сплайны могут быть замкнутые и незамкнутые. Если сплайн содержит более, чем 4 точки, создается несколько отрезков кубических сплайнов, с гладкой стыковкой первых и вторых производных. Например, такие сплайны идеально подходят для проектирования аэродинамического профиля крыла самолета и других обтекаемых форм. Для незамкнутого сплайна имеется возможность изменять производные в начале и конце сплайна с помощью изменения координат соответствующих точек.
    image
    image


    Текст


    SolveSpace поддерживает создание контуров на основе текста с использованием шрифтов формата TrueType, которые тоже основаны на кубических сплайнах. Это позволяет создавать надписи на объемных моделях деталей.
    image


    Изображения


    Существует возможность вставки произвольного изображения из файла формата png. Это изображение можно свободно вращать, изменять его размеры, благодаря чему оно может служить основой для ручного конвертирования отсканированных чертежей в формат SolveSpace. Угловые точки изображений могут быть задействованы в ограничениях, что позволяет выравнивать изображение и настраивать его масштаб.
    image


    Заключение


    Здесь я кратко познакомил вас с основными типами сущностей двумерного эскиза SolveSpace. Эти знания будут активно использоваться в следующей статье, где будут рассмотрены уравнения ограничений.


    Часть 1: Введение
    Часть 2: Эскиз
    Часть 3: Степени свободы и уравнения ограничений
    Часть 4: «Неисповедимы пути Решателя» или «Червоточины Ньютона»

    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 10
    • 0
      не сравнивали решатель с opencascade?
      • 0
        Насколько мне известно, OpenCASCADE не предоставляет решателя. Где можно посмотреть про него?
        • 0
          • 0

            Так это наш отечественный коммерческий солвер. Его сейчас используют в BricsCAD, так что речь явно не об open source.

      • 0
        Спасибо за статьи!

        Сейчас делаю прикладную САПР на основе LibreCAD. Для хитрых вещей типа 2D вычитания и пересечения использую такую вещь, как Spatialite (GIS API для SQLite, в общем, огороды в форме деталей).

        Вот, на основе этих статей задумался, что, возможно, мои задачи можно было решать через этот самый SolveSpace
        • 0

          Я так понимаю, вы говорите про Булевы операции с двумерными объектами. К сожалению, в SolveSpace такое поддерживается только для трехмерных объектов.

          • 0
            Ну, можно всё нарисовать как вид сверху, выдавить на 1 сантиметр толщиной и вычитать :-)
        • 0
          Как успехи с вашим проектом? :)
          • 0
            Согласно планам, в ближайший месяц собираемся возобновить разработку.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.