Как сделать разрез freecad

Добавил пользователь Алексей Ф.
Обновлено: 10.09.2024

Сайт проекта по адаптации САПР FreeCAD под стандарты СНГ

Данный проект имеет целью консолидацию усилий русскоязычного сообщества для доработки, внедрения в архитектуру САПР FreeCAD, особенно в модуль TechDraw опции для работы по стандартам ГОСТ-ЕСКД (ГОСТ 2.1xx, ГОСТ 2.2xx, ГОСТ 2.3xx) и параллельно популяризации FreeCAD на территории стран СНГ.

Чем интересен FreeCAD

Исходный код САПР FreeCAD управляется на основе git, открыт и доступен под лицензией LGPL license. Код FreeCAD может копировать, загружать, изучать, изменять и распространять любой желающий!
Нужно понимать, что если Вы всерьёз хотите участвовать в разработке официальной ветки FreeCAD, то Ваш код должен быть предварительно одобрен ответственными за проект разработчиками, с которыми можно познакомиться на форуме проекта FreeCAD в разделе для разработчиков Development. Для начала имеет смысл почитать обращение к желающим участвовать в написании кода проекта Read this first if you want to write code for FreeCAD (перевод будет здесь).

Актуальные задачи!

Доработка шаблонов чертежей по ГОСТ

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

Замусоренные шаблоны — это:

  • затруднение ловли багов рендера шаблонов,
  • потенциальные проблемы с экспортом файлов,
  • проблемы с обменом между контрагентами,
  • кем-то перередактированные и перезалитые в репозиторий шаблоны в редакторе, который не смог нормально распарсить изначально замусоренный шаблон..
  • в конце-концов, репутация FreeCAD!
Требуется аудит этого сайта специалистами

Требуется помощь в проверке и создании материалов сайта. Если Вы считаете, что нужно разместить на сайте какую-то информацию, либо заметили ошибку…

Что имеет смысл почитать на настоящее время

Принципы развития FreeCAD, архитектура кода

FreeCAD является параметрической САПР (англ. CAD) (Система автоматизированного проектирования) общего назначения с открытыми исходными кодами.
FreeCAD может работать на большинстве известных операционных систем Microsoft Windows, Linux, UNIX, MacOS.

Код FreeCAD в основном написан на C++, но также в программе активно используется Python (CPython, PyCXX).
Идеология состоит в том, что любой функционал в программе, реализованный на C++ должен быть доступен через более высокоуровневый API для Python. Некоторые высокоуровневые задачи во FreeCAD пишутся исключительно на Python. При разработке модулей (верстаков) можно использовать смесь C++ и Python.

Практически весь код FreeCAD делится на две части: App (приложение) и Gui (графический пользовательский интерфейс). Это разделение прослеживается во всей файловой структуре проекта. App (приложение) содержит весь необходимый код для запуска FreeCAD из консоли (без графического интерфейса). FreeCAD может быть скомпилирован и работать как консольная программа, без необходимых для графического интерфейса библиотек. Код Gui (графического интерфейса), соответственно является уже надстройкой над основным кодом программы (App, приложение).

Во FreeCAD библиотека OpenCasCade является основой для моделирования, а библиотека Coin3D (которая возможно со временем будет заменена на другую) лежит в основе 3D графического интерфейса.

Система трёхмерного проектирования Freecad была создана, чтобы составить конкуренцию программам профессионального уровня в этой сфере. Основное применение эта программа нашла в машиностроении, создании архитектурных проектов, а также для создания дизайна различных новых продуктов. Она предназначена для твердотельного параметрического проектирования и является полностью бесплатной. Лицензия, под которой она распространяется, позволяет проводить самостоятельные доработки программы. Эта программа — одна из лучших систем для трёхмерного моделирования.

Установка программы

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

Внимание! При установке рекомендуется не использовать путь, где прописаны кириллические символы. Программа не всегда обеспечивает корректную работу с ними.

Системные требования для установки Freecad

Версии для Windows могут работать с ПО, начиная с седьмой. Других особых системных требований нет, так как Freecad потребляет системные ресурсы экономно. Считается, что она нормально работает даже на относительно слабых компьютерах.

Если имеется минимум 800 МБ оперативной памяти, а процессор работает с частотой 800 МГц, то этого вполне достаточно для полноценной работы этой системы проектирования. Как правило, современные компьютеры имеют значительно лучшие характеристики.

Настройка программы для работы

  1. General включает все основные настройки для работы. Для удобства они размещены на нескольких вкладках.
  2. Display содержит опции, относящиеся к внешнему виду модели и среды проектирования.
  3. Import-Export отвечает за преобразование форматов. Здесь можно указать входной и выходной форматы трёхмерной модели.

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

фото-1

Если нужно поменять единицы измерения, то потребуется переключиться на последнюю вкладку раздела. Здесь нужно указать используемую систему измерения, а также количество знаков после запятой.

фото-1

Особенности использования Freecad

С помощью ПО можно создать собственные дополнения на языке Python в среде программирования Qt. Проект может быть разработан в форматах STEP, STL, IGES и некоторых других. В качестве ядра система использует Open CASCADE.

Программа предоставляет для работы такие возможности:

  1. Здесь может вестись работа на основании встроенных библиотек объектов для создания сложных моделей с заданными свойствами.
  2. Есть возможность для полноценной работы с практически любыми трёхмерными твердотельными объектами.
  3. После того, как сформирован трёхмерный объект, на его основе могут быть созданы все необходимые двумерные чертежи.
  4. Предусмотрены разнообразные возможности тестирования результатов.
  5. Можно самостоятельно создавать библиотеки с собственными примитивами.
  6. Объект, с которым ведётся работа, можно изменять параметрически, не нарушая созданной конструкции.
  7. Есть возможность моделировать роботов. При этом используется специальный модуль, который позволяет имитировать их движения.
  8. Существует специальный модуль, использование которого имитирует процедуру обработки деталей. Таким образом, можно создать базовую модель, а потом с помощью обработки придать им нужный вид.
  9. Здесь можно не только работать в графическом режиме, но и производить манипуляции над объектами при помощи команд на языке Python. Существует специализированная среда для написания, отладки и тестирования макросов.
  10. Здесь созданы многочисленные графические модули для работы с учётом особенностей конкретной сферы проектирования. Например, при проектировании кораблей можно добавить дополнение Ship, при работе с растровым изображением — Image. Количество таких пакетов постоянно растёт, так как их развитием занимается большое сообщество пользователей и программистов.
  11. Эта программа сделана так, что она экономно тратит ресурсы компьютера и может работать на всех основных операционных системах.

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

фото-1

После запуска на главной странице пользователь может видеть несколько областей:

Как только будет сделан выбор, будет показана панель соответствующих инструментов. Далее нужно выбрать, какого рода работа будет выполняться: моделирование, работа над чертежами или просмотр сделанного ранее.

Используемые инструменты разделены на несколько групп:

  1. Для построения трёхмерной модели в аксонометрической проекции.
  2. Существует возможность работать с предустановленными примитивами. При создании сложных объектов можно опираться на совокупность более простых форм. Например. В их число входят параллелепипед. Шар, конус и другие простые геометрические объекты. Получить к ним доступ можно, кликнув по соответствующей кнопке.
  3. Имеются инструменты, позволяющие выполнять логические операции над различными фигурами. Это можно, например, использовать для пересечения, объединения, отрицания или более сложных логических формул.

Также Freecad использует встроенные электронные таблицы. Они нужны для хранения параметров создаваемых объектов.

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

Программа дополнительно включает следующие модули:

  1. Система для рисования позволяет делать двумерные чертежи, документируя сделанную работу.
  2. Модуль рендеринга отвечает за преобразование полученных результатов в форматы. Поддерживаемые другими системами двумерного проектирования.
  3. Существует специализированная архитектурная подсистема, ориентированная на решение задач, относящихся к проектированию зданий.

Freecad может создавать трёхмерные модели для различных целей: например, проектирования технических изделий разного рода или оформления трёхмерных презентаций. Поддержка русского языка в программе сделана только частично.

Удаление утилиты с компьютера

После этого начинается процедура деинсталляции, на протяжении которой нужно следовать инструкциям. После её окончания программа будет удалена.

Полезное видео

Урок по настройке Freecad для повседневной работы:

Модуль Черчения позволяет поместить ваши 3D наработки на бумагу. То есть, поместить проекции ваших моделей в 2D окно и вставить это окно в рисунок, например на лист с рамкой, вашим заголовком и логотипом и наконец распечатать всё это. Модуль черчения находится в стадии разработки и приблизительного технологического тестирования!

Contents

GUI Инструменты

Это инструменты для создания, настройки и экспортирования 2D чертежных листов

Примечание Инструмент Draft View главным образом используется, чтобы поместить чертёжные объекты на бумагу. Он имеет множество дополнительных возможностей кроме стандартных чертёжных инструментов, и поддерживает специффические объекты вроде размеров на чертеже.


Drawing extraction.jpg

На картинке вы видите, основные концепции модуля Черчения. Документ содержит объект-форму (Schenkel) который мы хотим извлечь для черчения. Поэтому создается "Лист". Лист автоматически получает шаблон, в данном случае шаблон "A3_Landscape". Этот шаблон представляет собой документ SVG и может содержать обычную чертежную рамку, ваш логотип или же соответствовать вашим собственным стандартам.

На этот лист вы можете поместить один и более видов. Каждый вид обладает своей позицией на странице (свойства X,Y), и коэффициентом масштабирования (свойство scale) и другие дополнительные свойства. Каждый раз когда лист или вид или объект на который они ссылаются, изменяются лист перерисовывается, и отображение листа обновляется.

Написание сценариев

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

Это скрипт, с помощью которого можно легко заполнить лист Macro_CartoucheFC FreeCAD A3_Landscape.

Простейшие примеры

Прежде всего нам нужны модули Part и Drawing:

Создадим простую маленькую деталь

Прямая проекция. G0 будет жесткой гранью, а G1 непрерывно касается.

Всё помещено в проекцию на плоскость Z:

вставляем на лист и добавляем шаблон

Создает вид на "Форму" объекта,определяем положение и масштаб и помещаем его на лист

Создать второй вид на тот же объект, но на этот раз вид представление объекта будет повернуто на 90 градусов.

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

Изменим кое-что и обновим. В процессе обновления, изменится отображение и лист.

Получение доступа к битам и деталям

Получить SVG фрагмент первого вида

Получить весь лист (это файл в во временном каталоге документа, доступный только для чтения)

Важно : освобождаем файл!

Вставить вид с вашим собственным содержанием:

Это приводит к следующим результатам:

DrawingScriptResult.jpg

Размеры и допуска

Чертёжные размеры и допуска еще в стадии проектирования, но Вы можете получить некоторую базовую функциональность при помощи небольшой работы.

Сначала Вам нужно взять отсюда модуль python под названием gdtsvg (ВНИМАНИЕ: Он может оказаться испорченным в любой момент!):

Чтобы получить контрольную рамку, попробуйте следующее:

Параметры, отправляемые в кадр управления, следующие:

  1. Координата X в координатной системе SVG (строковый тип)
  2. Координата Y в координатной системе SVG (строковый тип)
  3. Требуемый символ геометрической характеристики (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)
  4. Допуск (тип string)
  5. (опционально) символ диаметра (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)
  6. (опционально) Условия изменения материала (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)
  7. (опционально) The first datum (строковый тип)
  8. (опционально) The first datum's modifying condition (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)
  9. (опционально) The second datum (строковый тип)
  10. (опционально) The second datum's modifying condition (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)
  11. (опционально) The third datum (строковый тип)
  12. (опционально) The third datum's material condition (кортеж, сначала строка SVG, затем ширина символа, затем высота символа)

The ControlFrame function returns a type containing (svg string, overall width of control frame, overall height of control frame)

Чтобы получить размер, попробуйте следующее:

  1. point1, an (x,y) tuple with svg-coordinates, this is one of the points you would like to dimension between
  2. point2, an (x,y) tuple with svg-coordinates, this is the second point you would like to dimension between
  3. textpoint, an (x,y) tuple of svg-coordinates, this is where the text of your dimension will be
  4. dimensiontext, a string containing the text you want the dimension to say
  5. linestyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling the how the lines look
  6. arrowstyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling how the arrows look
  7. textstyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling how the text looks

With those two, you can proceed as above for displaying them on the drawing page. This module is very buggy and can be broken at any given moment, bug reports are welcome on the github page for now, or contact jcc242 on the forums if you post a bug somewhere else.

Шаблоны

FreeCAD поставляется вместе с набором стандартных шаблонов, но вы также можете найти больше на странице Чертежных шаблонов .

Расширение модуля Drawing

Некоторые примечания по программной стороне модуля были добавлены на страницу Drawing Documentation. Это для быстрого понимания, как работает модуль Drawing, позволяя программистам быстро начать программирование для него.

FreeCAD предназначен главным образом для проектирования объектов реального мира. Всё, что вы делаете в FreeCAD, использует реальные единицы измерения микроны, километры, дюймы или футы, или даже любое их сочетание. FreeCAD предлагает инструменты для создания, экспорта и твердотельного моделирования моделей, экспорта их для трехмерной печати или обработки на ЧПУ станках, создания 2D рисунков и видов ваших моделей, выполнение анализов, таких как анализ конечных элементов, или экспорта данных модели, таких, как количество или ведомость материалов.

Feature 06

Feature 01

Мощное твердотельное геометрическое ядро

FreeCAD features an advanced geometry engine based on Open CASCADE Technology. It supports solids, Boundary Representation (BRep) objects, and Non-uniform rational basis spline (NURBS) curves and surfaces, and offers a wide range of tools to create and modify these objects, including complex Boolean operations, fillets, shape cleaning and much more.

Параметрическая среда с широкими возможностями

All FreeCAD objects are natively parametric, meaning their shape can be based on properties such as numeric values, texts, on/off buttons, or even other objects. All shape changes are recalculated on demand, recorded by an undo/redo stack, and allow to maintain a precise modelling history. Properties of one object can drive the value of properties of other objects, allowing complex, custom parametric chains that could only exist in your wildest dreams. New parametric objects are easy to code.

Feature 03

Feature 04

Python везде

While the FreeCAD core functionality is coded in C++ for robustness and performance, large parts of the external layers, workbenches and and almost all the communication between the core and the user interface is coded in Python, a flexible, user-friendly, easy to learn programming language. From Python code, you are able to do just anything in FreeCAD, from simple one-line commands in the integrated Python console to recording macros, coding your own tools up to full custom workbenches.

Совместимость с форматами файлов

FreeCAD allows you to import and export models and many other kinds of data from your models such as analyses results or quantities data to dozens of different file formats such as STEP, IGES, OBJ, STL, DWG, DXF, SVG, SHP, STL, DAE, IFC or OFF, NASTRAN, VRML, OpenSCAD CSG and many more, in addition to FreeCAD's native FCStd file format. Add-on workbenches can also add more file formats.

Feature 08

Feature 02

Редактор 2D эскизов основанный на параметрических ограничениях

FreeCAD features a state-of-the-art Sketcher with integrated constraint-solver, allowing you to sketch geometry-constrained 2D shapes. Sketches are the main building block of FreeCAD, and the constrained 2D shapes built with it may then be used as a base to build other objects throughout FreeCAD, be it either with the dedicated Part Design workbench or any other workbench.

Большая (и развивающаяся) многопрофильная экосистема

FreeCAD offers dedicated workbenches for a variety of purposes such as CSG modeling, simple 2D CAD drafting, NURBS surfaces, architectural or BIM modeling, 3D printing, CAM and CNC, point clouds, working with OpenSCAD files, designing industrial robot trajectories, doing Finite Element Analyses, and much more. FreeCAD also provides easy tools to install and manage add-on workbenches and macros developed by the users community.

Feature 05

Feature 07

Разработано сообществом

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

Примечания к выпуску

Здесь находятся примечания к выпуску для текущих и предыдущих версий FreeCAD. Примечания к выпуску описывают, что нового в каждом выпуске:

Читайте также: