Manual/ru

From FreeCAD Documentation
Jump to navigation Jump to search

Это руководство по программе FreeCAD. Оно включает в себя важные части wiki документации по FreeCAD. Оно создано для просмотра или печати как один большой документ. Если Вы хотите изучать это руководство по частям, Вы можете обратиться к Online-версии, которая удобнее для просмотра.


150

Добро пожаловать на страницу помощи FreeCAD

Этот вики документ был создан автоматически из содержимого официальной вики документации FreeCAD, которую можно прочитать в Интернете по адресу http://www.freecadweb.org/wiki/index.php?title=Main_Page/ru. Так как вики активно поддерживается и постоянно развивается сообществом FreeCAD разработчиков и пользователей, Вы можете обнаружить, что онлайн-версия содержит больше или более новую информацию, чем этот документ. Здесь так же можно найти текущий перевод документации на несколько языков. Но всё же, мы надеемся, что Вы найдёте здесь всю необходимую информацию. В случае, если у Вас есть вопросы, на которые не можете найти ответы в данном документе, посмотрите на форуме FreeCAD. Там, возможно, Вы сможете найти ответ на Ваш вопрос, или кто-то сможет Вам помочь.

Как использовать

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

Содействие

Как Вы, возможно, заметили, программисты не умеют писать справку для изучения программ. Для них всё совершенно ясно, потому что они сами это так сделали. Поэтому очень важно, что опытные пользователи помогают нам писать и пересматривать документацию. Да, мы имеем в виду Вас! Как, спросите Вы? Просто зайдите в Wiki на http://www.freecadweb.org/wiki/index.php?title=Main_Page/ru в раздел пользователя. Вам нужна учётная запись на Wiki FreeCADа, чтобы войти. Спросите на форуме или на канале IRC права на редактирование wiki (wiki защищена от записи из-за опасности спама), и мы сделаем учётную запись для Вас. В настоящее время учётная запись wiki и форума раздельны, но имя учётной записи на wiki будет такой же, что и на форуме. После этого Вы сможете начать редактирование! Так же посмотрите страницу http://www.freecadweb.org/wiki/index.php?title=Help_FreeCAD, чтобы узнать, как ещё Вы можете помочь FreeCAD.

Введение

Freecad default.jpg

FreeCAD это универсальный параметрический 3D моделлер или иными словами САПР , чья разработка полностью базируется на принципах Открытого исходного кода (LGPL License). FreeCAD непосредственно нацелен на разработку в машиностроении и дизайне объектов но также подходит для более широкого круга применений в инженерных задачах, таких как архитектура, анализ методом конечных точек, 3D печать, и других.

Во FreeCAD имеются инструменты аналогичные Catia, SolidWorks или Solid Edge, и, следовательно, он также попадает в категорию САПР, PLM, CAx и CAE. Это параметрический моделлер с модульной программной архитектурой, которая позволяет предоставлять дополнительные функциональные возможности без изменения базовой системы.

Как и во многих пакетах САПР, в нем много 2D-компонентов для создания плоских фигур или создания рабочих чертежей. Однако прямое 2D-рисование (как например в Inkscape или AutoCAD LT) не является основным, так же как анимация или редактирование сеток (например Blender, Maya, 3ds Max, или Cinema 4D). Тем не менее, благодаря своей широкой адаптивности, FreeCAD может оказаться полезным в гораздо более широкой области, чем его текущая сфера деятельности.

FreeCAD интенсивно использует библиотеки с открытым исходным кодом, существующие в области научных вычислений. Среди них Open Cascade Technology (OCCT), мощное ядро САПР; Coin3D, инструментарий для разработки 3D-графики, совместимый с Open Inventor; Qt, всемирно известный пользовательский интерфейс; и Python, современный язык сценариев. Сам FreeCAD также может быть использован в качестве библиотеки другими программами.

FreeCAD так же полностью мультиплатформенное приложение, и теперь работает на системах Windows, Linux/Unix и Mac OSX, с абсолютно идентичным видом и функциональностью на всех платформах.

Насчёт дальнейшей информации о возможностях FreeCAD's, смотрите статьи "Основные возможности", "Новости последних выпусков" или "Для начинающих", или посмотрите скриншоты.

О проекте FreeCAD

Проект FreeCAD начался в далёком 2001 году, как описано на странице его истории.

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

Это не полный список реализованных возможностей FreeCAD. Если вы хотите заглянуть в будущее, посмотрите Планы разработчиков для быстрого ознакомления планируемых нововведений. Прекрасной отправной точкой могут стать скриншоты.

Заметки о выпусках

Ключевые особенности

  • Feature1.jpg
    Полное геометрическое ядро, основанное на OpenCasCade, позволяет производить сложные трёхмерные операции над сложными типами форм, со встроенной поддержкой таких понятий, как: Граничное представление (boundary representation, brep), Кривые и поверхности неоднородных рациональных B-сплайнов (Non-uniform rational basis spline, nurbs), широкий спектр геометрических объектов, булевы операции над фигурами или сопряжения и встроенную поддержку форматов STEP и IGES
  • Feature3.jpg
    Полностью параметрическая модель данных. Объекты FreeCAD параметрические в основе, то есть их форма может полностью зависеть от параметров или даже зависеть от других объектов, все изменения пересчитываются по запросу, и записываются в стеке отмен-возвратов. Легко могут быть добавлены новые объекты, которые могут быть даже написаны на python
  • Feature4.jpg
    Модульная архитектура, позволяющая добавлять функциональность через плагины (модули). Эти расширения могут быть комплексными и программироваться на C++, или простыми как скрипты Python или записываемые самостоятельно макросы. У Вас есть полный доступ из встроенного интерпретатора Python, макросов или внешних сценариев к практически любой части FreeCAD, позволяя создавать и изменять геометрию, двумерное и объёмное представление этой геометрии (scenegraph) или даже интерфейс FreeCAD
  • Feature5.jpg
    Импорт/экспорт в стандартные форматы, такие как: STEP, IGES, OBJ, файла) STL, DXF, SVG,U3D, DAE, IFC, OFF, NASTRAN, VRML, кроме собственного формата FreeCAD Fcstd. Уровень совместимости между FreeCAD и данными форматами может различаться, поскольку зависит от поддерживающего их модуля.
  • Feature7.jpg
    Модуль эскизирования со встроенным вычислителем ограничений, позволяющий создавать эскизы с геометрически ограниченными двухмерными формами. Создаваемые с помощью Sketcher двумерные геометрические фигуры с ограничениями могут использоваться как база для построения других объектов FreeCAD.
  • Feature9.jpg
    Модуль робототехники, позволяющий изучать движение роботов в графическом интерфейсе.
  • Feature8.jpg
    Удобный новый модуль для создания традиционных чертежей с опциями вроде видов детализации, сечений, образмеривания и других, которые позволяют создать двумерный вид вашей трёхмерной модели. Эти модули создают листы, готовые к экспорту в SVG или PDF. Так же есть более старый модуль черчения с его небогатыми возможностями графического интерфейса, но мощной функциональностью через Python.
  • Feature-raytracing.jpg
    Модуль рендеринга может экспортировать 3D объекты для рендеринга во внешние программы. Пока что он поддерживает только POV-Ray и LuxRender
  • Feature spreadsheet.png
    Интегрированный обработчик электронных таблиц и выражений, который может использоваться для управления моделями через формулы и централизованной организации данных моделей.


Общие черты:

  • мультиплатформенность. FreeCAD запускается и ведет себя схожим образом на Windows, Linux, macOS и других платформах.
  • полностью графическое приложение. FreeCAD обладает законченным Графическим Интерфейсом Пользователя, основанном на инструментарии Qt, с 3D просмотрщиком, основанным на Open Inventor, позволяющим быстро отрисовывать 3D сцены c весьма доступным представлением SceneGraf.
  • работает как приложение командной строки. В режиме командной строки FreeCAD запускается без графического интерфейса, но со всеми инструментами геометрии. В этом режиме он требует относительно мало памяти и может быть использован, например, в качестве сервера для создания содержимого другим приложениям.
  • может быть импортирован как модуль Python FreeCAD может импортироваться в любое приложение, способное запускать сценарии python. В консольном режиме интерфейсная часть FreeCAD отсутствует, но все геометрические инструменты доступны.
  • концепция верстаков: В интерфейсе FreeCAD инструменты сгруппированы по верстакам. Это позволяет отображать только инструменты, используемые для выполнения конкретной задачи, сохраняя рабочее пространство отзывчивым и незагромождённым, а приложение быстро загружаемым.
  • фреймворк плагинов/модулей для последующей загрузки типов данных/функциональностей. FreeCAD разделён на основное приложение с модулями, которые загружаются при необходимости. Почти все инструменты и типы геометрии хранятся в модулях. Модули ведут себя как плагины, кроме отложенной загрузки, отдельные модули могут быть добавлены или удалены из существующей установленной версии FreeCAD.
  • Параметрические объекты связанные с документом: Все объекты в FreeCAD документе могут быть заданы параметрами. Эти параметры можно менять налету, и пересчитывать в любое время. Также хранятся отношения между объектами, так что изменения одного объекта также изменят зависящие от него объекты.
  • создание параметрических примитивов. Примитивы вроде куба, сферы, цилиндра и т.д. могут создаваться определением их геометрических ограничений.
  • графические модификацирующие операции. FreeCAD может выполнять трансляцию, поворот, масштабирование, отражение, смещение (простое или описанное в Jung/Shin/Choi ) или изменение формы, в любой плоскости трёхмерного пространства.
  • графическое создание планарной геометрии. Линии, ломаные, прямоугольники, сплайнов, дуги и окружности могут сознаваться графически на любой плоскости трехмерного пространства.
  • моделирование с прямым или круговым выдавливанием, сечением и скруглением сопряжений.
  • топологические компоненты вроде вершин, ребер, ломаных и плоскостей.
  • тестирование и восстановление. У FreeCADа есть инструменты для тестирования сеток (тест на твёрдотельность, тест non-two-manifolds (топологическое многообразие), тест на самопересечение) и для их починки (заполнение прорывов и исправление ориентации сегментов).


  • аннотации. FreeCAD может вставить аннотации к надписям или размерам.
  • инфраструктура отмены/возврата. В FreeCADе всё отменяемо/возвращаемо, с пользовательским доступом к стэку выполненных действий. Множество шагов может быть отменено единовременно.
  • ориентация на транзакции. Стек отмен/возвратов хранит транзакции документа, а не одиночные действия, что позволяет каждому инструменту точно определить, что должно быть отменено или переделано.
  • встроенная инфраструктура сценариев. FreeCAD обладает встроенными Python интерпретатором, с API, которые охватывают практически любую часть предложения, интерфейса, геометрии и представления этой геометрии в 3D просмотрщике. Интерпретатор может запускать как сложные сценарии, так и одиночные команды, целые модули могут быть полностью запрограммированы на Python.
  • встроенная консоль Python. Интерпретатор Python включает консоль с подсвечиванием синтаксиса, автодополнением и просмотром классов. Команды Python могут быть выполнены прямо в FreeCAD и напрямую возвращать результаты, позволяя программистам тестировать работу на ходу, раскрывая содержимое модулей FreeCADа и легко изучая его внутренности.
  • отражение пользовательских действий. Всё, что пользователь делает в интерфейсе FreeCAD, выполняется в виде кода Python, который может быть выведен в консоль и записан в макрос.
  • полная запись и редактирование макросов. Команды Python, которые вызываются при манипулировании пользовательским интерфейсом, могут быть записаны, отредактированы и сохранены для дальнейшего использования.
  • составной (основанный на ZIP) формат хранения документов. Документы FreeCAD сохраняются с расширением .FCStd. Он может содержать множество различных типов информации, таких как геометрия, сценарии или иконки миниатюр. Файл .FCStd представляет собой архив zip, так что сохранённый файл FreeCAD уже заархивирован.
  • полностью настраиваемый/сценарируемый Графический Интерфейс Пользователя. Основанный на Qt интерфейс FreeCAD полностью доступен из интерпретатора Python. Помимо простых функций самого FreeCAD предоставляются инструментарии, а также полный доступ к структуре Qt. Пользователь может выполнять любые операции с ГИП, такие как создание, документирование, изменение и удаление виджетов и панелей инструментов.
  • миниатюры. (пока только в Linux системах) Значки документа FreeCAD, показывающие содержимое файла в большинстве файловых менеджеров таких как Nautilus в Gnome.
  • модульный установщик MSI. Установщик FreeCAD производит гибкую установку в системе Windows. Также поддерживаются пакеты системы Ubuntu.

В процессе развития

  • Feature-assembly.jpg
    Модуль Assembly, который позволяет работать с несколькими проектами, несколькими формами, несколькими документами, несколькими файлами, несколькими связями... Это модуль пока на стадии планирования.


Дополнительные верстаки

Опытные пользователи могут создавать различные пользовательские внешние верстаки.


Загрузка


Текущая стабильная версия

Первый, 0.18 выпуск FreeCAD (16093) опубликован 12.03.2019. Выпуск с исправлениями ошибок 0.18.4 (16146) опубликован 26.10.2019. Чтобы узнать о нововведениях, см. замечания о выпуске.

You will find SHA256 checksums to verify the integrity of your download on the 0.18.4 release page.

Windows.png

Windows

32-bit | 64-bit

Mac.png

Mac

Mac OS X 64-bit

AppImage-logo.png

Linux

AppImage 64-bit

Примечание для пользователей Windows

Поддерживаются следующие версии:

  • 32-битный установщик (x86): Windows 7/8/10
  • 64-битный установщик (x64): Windows 7/8/10
  • На странице релиза есть портативная версия (64-битная), не нуждающаяся в установке.

Примечание для пользователей Mac OS X

Минимальная поддерживаемая версия: Mac OS X 10.11 El Capitan.

Примечание для пользователей Linux

Большинство дистрибутивов поддерживают FreeCAD из их официальных репозиториев, однако, если дистрибутив не следует модели гладкого обновления, версия может быть устаревшей. Вместо установки из репозитория вы можете загрузить AppImage по ссылке сверху, разрешить загруженному файлу права на исполнения и запустить его без установки.

Смотрите страницу Install on Unix насчёт дополнительных опций установки, включая однодневные сборки для Ubuntu и производных.

Разрабатываемые версии

FreeCAD разрабатывается активно.

  • Для пользователей Linux, посмотрите AppImage с разрабатываемой версией.
  • Насчёт сборок разработчика для MacOS и Windows и текущих исходных кодов, смотьрите страницу FreeCAD/releases.

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

Сообщество FreeCAD предлагает множество различных модулей и макросов. Начиная с версии 0.17 они могут быть легко установлены напрямую из FreeCAD через Менеджер дополненийAddonManager.svg.

Установка

Установка в Windows


Наиболее лёгкий способ установить FreeCAD под Windows - это загрузить одну из программ установки по ссылке ниже.

Windows.png Windows 32 bit (sha256)

Windows.png Windows 64 bit (sha256)


После загрузки файла .msi (Microsoft Installer)дважды щёлкните по нему мышкой для начала установки.

Далее приведена информация о технических опциях. Если она выглядит обескураживающей, не волнуйтесь! Большинству пользователей Windows не потребуется ничего кроме файла .msi чтобы установить FreeCAD и начать с ним работу!

Простая установка c Microsoft Installer

Простейший способ установить FreeCAD на Windows - использовать пакет загружаемой программы установки выше. Эта страница описывает использование и возможности Microsoft Installer для дополнительных опций установки.

The easiest way to install FreeCAD on Windows is by using the downloadable installer bundle above. This page describes the usage and features of the NSIS Installer for more installation options.

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

Chocolatey

However, it is highly recommended that you use a package manager such as Chocolatey to keep your software updated. You can installed Chocolatey following these instructions and then open a PowerShell terminal as admin and run:

choco install freecad

every once in a while you can update your software with

choco upgrade freecad

to get the latest version available on Chocolatey repository. If there are any issues with the chocolatey package, you may contact maintainers on this page.

Установка из командной строки

В утилите командной строки msiexec.exe доступны дополнительные особенности, такие как не интерактивная установка и административная установка. Смотрите примеры ниже.

With the msiexec.exe command line utility, additional features such as non-interactive installation and administrative installation are available. See examples below.

Не интерактивная установка

Из командной строки

With the command line

msiexec /i FreeCAD<version>.msi

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

msiexec /i FreeCAD-2.5.msi TARGETDIR=R:\FreeCAD25

Ограниченный интерфейс пользователя

Величину пользовательского вмешательства, разрешенного установщиком, можно контролировать с помощью параметров /q:

The amount of user control permitted by the installer can be controlled with /q options:

  • /qn - без интерфейса
  • /qb - основной интерфейс - только маленький диалог прогресса с кнопкой Отмена
  • /qb! - как /qb, но скрыть кнопку Отмена
  • /qr - уменьшенный интерфейс - отображать все диалоги, которые не требуют взаимодействия с пользователем (пропустить все модальные диалоги)
  • /qn+ - как /qn, но отобразить диалог "Завершено" по окончании
  • /qb+ - как /qb, но отобразить диалог "Завершено" по окончании

Целевая папка

Параметр TARGETDIR определяет корневую папку для установки FreeCAD. Например, для установки на отдельный диск, может быть указано

The property TARGETDIR determines the root directory of the FreeCAD installation. For example, a different installation drive can be specified with

TARGETDIR=R:\FreeCAD25

По умолчанию TARGETDIR имеет значение [WindowsVolume\Programm Files\]FreeCAD<version>.

Установка для всех пользователей

Добавление

Adding

ALLUSERS=1

приводит к установке для всех пользователей. По умолчанию, не интерактивная установка (/i) устанавливает пакет только для текущего пользователя(который выполняет установку), а интерактивная установка предлагает диалог со значением по умолчанию "для всех пользователей", если пользователь, выполняющий установку, имеет достаточно привилегий.

Выбор функций

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

A number of properties allow selection of features to be installed, reinstalled, or removed. The set of features for the FreeCAD installer is

  • DefaultFeature - установить программное обеспечение и основные библиотеки
  • Documentation - установить документацию
  • Source code - установить исходники
  • ... ToDo

Кроме того, ALL указывает все функции. Все функции зависят от DefaultFeature, поэтому при установке любой функции автоматически устанавливается и функция по умолчанию. Следующие свойства управляют функциями, которые будут установлены или удалены

  • ADDLOCAL - список функций, которые будут установлены на локальном компьютере
  • REMOVE - список функций, которые будут удалены с локального компьютера
  • ADDDEFAULT - список функций, добавленных с конфигурацией по умолчанию (локально для всех функций FreeCAD)
  • REINSTALL - список функций, подлежащих переустановке / восстановлению
  • ADVERTISE - список функций, для которых необходимо выполнить рекламную установку

Есть несколько дополнительных свойств; для деталей см. документацию MSDN.

С этими опциями, добавив

ADDLOCAL=Extensions

устанавливается сам интерпретатор и регистрируются расширения, но больше ничего не устанавливается.

Удаление

С

With

msiexec /x FreeCAD<version>.msi

FreeCAD может быть удален. Для удаления нет необходимости иметь файл MSI; как вариант могут быть указаны пакет или код продукта. Вы можете найти код продукта, просмотрев свойства ярлыка Uninstall, который FreeCAD устанавливает в меню «Пуск».

Административная установка

С

With

msiexec /a FreeCAD<version>.msi

«административная» (сетевая) установка может быть инициирована. Файлы распаковываются в целевой каталог (который должен быть сетевым каталогом), но никакие другие изменения не вносятся в локальную систему. Кроме того, в целевом каталоге создается другой (меньший) msi-файл, который клиенты затем могут использовать для локальной установки (в будущих версиях также может быть предложено сохранить некоторые функции на сетевом диске в целом).

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

Специальной процедуры удаления для административной установки не существует - просто удалите целевой каталог, если его больше не использует ни один клиент.

Реклама

С

With

msiexec /jm FreeCAD<version>.msi

в принципе можно было бы «рекламировать» FreeCAD на машине (с / ju для пользователя). Это приведет к тому, что в меню «Пуск» появятся значки и будут зарегистрированы расширения без фактической установки ПО. Первое использование функции приведет к ее установке.

В настоящее время установщик FreeCAD поддерживает только рекламу пунктов меню «Пуск», но не ярлыков.

Автоматическая установка на группу машин

С помощью групповой политики Windows можно автоматически устанавливать FreeCAD на группу компьютеров. Для этого выполните следующие действия:

  1. Перейти на контроллер домена
  2. Скопируйте файл MSI в папку, к которой открыт общий доступ для всех целевых компьютеров.
  3. Откройте оснастку MMC «Пользователи и компьютеры Active Directory»
  4. Перейдите к группе компьютеров, которым нужен FreeCAD
  5. Открыть Свойства
  6. Открыть Групповую Политику
  7. Добавить новую политику и редактировать ее
  8. В разделе «Конфигурация компьютера / Установка программного обеспечения» выберите «Новый» / «Пакет».
  9. Выберите файл MSI через сетевой путь
  10. Опционально, выберите, что вы хотите, чтобы FreeCAD был деинсталлирован, если компьютер выходит за рамки политики.

With Windows Group Policy, it is possible to automatically install FreeCAD on a group of machines. To do so, perform the following steps:

  1. Log on to the domain controller
  2. Copy the MSI file into a folder that is shared with access granted to all target machines.
  3. Open the MMC snapin "Active Directory users and computers"
  4. Navigate to the group of computers that need FreeCAD
  5. Open Properties
  6. Open Group Policies
  7. Add a new policy, and edit it
  8. In Computer Configuration/Software Installation, choose New/Package
  9. Select the MSI file through the network path
  10. Optionally, select that you want FreeCAD to be de-installed if the computer leaves the scope of the policy.

Распространение групповой политики обычно занимает некоторое время - для надежного развертывания пакета все компьютеры должны быть перезагружены.

Установка в Linux с использованием Crossover Office

Вы можете установить Windows-версию FreeCAD в системе Linux, используя CXOffice 5.0.1 . Запустите msiexec из командной строки CXOffice. Предполагается что установочный пакет находится в каталоге «software» на диске «Y:»:

msiexec / i Y: \\ software \\ FreeCAD <версия> .msi
msiexec /i Y:\\software\\FreeCAD<version>.msi

FreeCAD работает, но сообщается, что OpenGL дисплей не работает, как и другие программы, работающие под Wine, то есть Google SketchUp.

Установка в Unix/Linux

Установка FreeCAD на наиболее известных системах linux теперь поддерживается сообществом, и FreeCAD должен быть прямо доступен через менеджер пакетов вашего дистрибутива. Команда FreeCAD так же предоставляет множество "официальных" пакетов при выпуске новых версий, и множество экспериментальных репозиториев PPA для тестирование возможностей переднего края.

Когда Вы установили FreeCAD, пора начинать работу!

Установка на системы Debian/Ubuntu

Многие дистрибутивы Linux базируются на Ubuntu и используют их репозитории. Кроме официальных вариантов (Kubuntu, Lubuntu и Xubuntu), существуют неофициальные дистрибутивы, такие как Mnint, Voyager и другие. Приведенные ниже опции установки должны быть совместимыми с этими системами.

Официальный репозиторий Ubuntu

FreeCAD доступен из репозиториев Ubuntu и может быть установлен через Software Center либо следующей командой из терминала:

sudo apt install freecad

Важное примечание: Вероятно, стабильная версия уже устарела и не имеет последних возможностей. Для получения последней версии используйте указанные ниже опции Personal Package Archive (PPA).

Стабильный PPA с графическим интерфейсом

Чтобы установить FreeCAD с помощью PPA из графического интерфейса, пожалуйста, следуйте этим инструкциям. Сообщество FreeCAD предоставляет

Требуется добавить в системные источники программ (Software Sources) следующие PPA. Для этого перейдите к Центр программ Ubuntu -> Изменить -> Источники программ -> Прочее программное обеспечение. Выберите добавить вставьте скопированный ниже код:

ppa:freecad-maintainers/freecad-stable
  • Add the source, close the dialog, and reload your software sources, if asked.

При запросе, обновите ваши источники программ. Теперь вы можете найти и установить последнюю стабильную версию FreeCAD в Центре программ Ubuntu.

Стабильный PPA через консоль

Наберите (или скопируйте и вставьте) эти команды в консоли для добавления PPA:

sudo add-apt-repository ppa:freecad-maintainers/freecad-stable

Не забудьте получить обновлённый список пакетов:

sudo apt update

Затем, установите FreeCAD и документацию к нему:

sudo apt install freecad freecad-doc

Note: due to packaging problems, in certain versions of Ubuntu the freecad-doc package has collided with the installation of FreeCAD or one of its dependencies; if this is the case, remove the freecad-doc package, and only install the freecad package. If the freecad-doc package doesn't exist, then ignore it.

Once you have the stable PPA added to your sources, the freecad package will install this PPA version over the one provided by the Ubuntu Universe repository. You can see the available versions with apt-cache.

apt-cache policy freecad
freecad:
  Installed: (none)
  Candidate: 2:0.18.4+dfsg1~201911060029~ubuntu18.04.1
  Version table:
     2:0.18.4+dfsg1~201911060029~ubuntu18.04.1 500
        500 http://ppa.launchpad.net/freecad-maintainers/freecad-stable/ubuntu bionic/main amd64 Packages
     0.16.6712+dfsg1-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
ubuntu@ubuntu:~$ apt-cache policy freecad-doc

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

freecad

Ежедневный PPA через консоль

Если вы хотите установить последнюю нестабильную версию FreeCAD, пожалуйста, используйте PPA с именем freecad-daily " 'репозиторий PPA на Launchpad. Таким образом, вы можете получить доступ к передовому краю разработки FreeCAD. Этот PPA автоматически компилируется ежедневно из главной ветки официального репозитория FreeCAD. Обычно он содержит многочисленные исправления ошибок и обновления функций.

This version is compiled daily from the official master repository. Please beware that although it will contain new features and bug fixes, it may also have newer bugs, and be unstable.

Для ежедневного PPA:

sudo add-apt-repository ppa:freecad-maintainers/freecad-daily
sudo apt-get update
sudo apt-get install freecad-daily

Every day you can update to the latest daily:

sudo apt-get update
sudo apt-get install freecad-daily

Note: in some cases new code or dependencies added to FreeCAD will cause packaging errors; if this happens, a daily package may not be generated until the maintainers manually fix the problems. If you wish to continue testing the latest code, you should get the source code and compile FreeCAD directly; for instructions see compiling.

Выполните эту команду для открытия ежедневной сборки FreeCAD:

freecad-daily

Note: it is possible to install both the -stable and -daily packages in the same system. This is useful if you wish to work with a stable version, and still be able to test the latest features in development. Notice that the executable for the daily version is freecad-daily, but for the stable version it is just freecad.

Debian другие базирующиеся на нём системы

Начиная с Debian Lenny, FreeCAD доступен прямо из программных репозиториев Debian и может быть установлен через synaptic или просто через:

sudo apt-get install freecad

OpenSUSE

FreeCAD обычно устанавливается через:

For installing of stable releases, please visit for a survey:

Survey of stable repositories on openSUSE


Generally for selecting the correct openSUSE distribution needed it is necessary to click on the particular view button.

The stable package version of FreeCAD could be found under:

Stable repositories on openSUSE

The correct openSUSE distribution version must be selected in the lower part of the web page.

FreeCAD is typically installed with YAST (abbr. Yet another Setup Tool) the Linux operating system setup and configuration tool, or in any terminal (root rights required) with:

zypper install FreeCAD

This procedure only covers the installation of officially released stable FreeCAD program versions, depending on the installed links to the program package repositories of your OS.

To check out the latest development releases (unstable) you have to visit:

Unstable repositories on openSUSE

It is recommended to grab the binary packages directly. Then select the correct distribution for your installed openSUSE OS.

Gentoo

FreeCAD может быть скомпилирован/установлен просто вызовом:

emerge freecad

Fedora

FreeCAD выл включён в официальные пакеты начиная с Fedora 20. Он может быть установлен из командной строки:

sudo dnf install freecad

Для предыдущих выпусков Fedora:

sudo yum install freecad

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

"freecad".

Версия пакета официального релиза как правило сильно отстает от релизов FreeCAD. Package: freecad показывает версии, включенные в репозитории Fedora с течением времени и версии.

Более свежие версии можно получить, загрузив один из .AppImage релизов из репозитория github. Они отлично работают на Fedora.

Если вы хотите быть в курсе самых последних ежедневных сборок, FreeCAD также доступен на coprЧтобы установить сборку оттуда введите в терминале:

sudo dnf copr enable @freecad/nightly
sudo dnf install freecad

Это оставляет copr хранилище активным, так что

sudo dnf upgrade

или эквивалентная команда, обновится до последней сборки FreeCAD вместе с обновлениями из любых других активных репозиториев. Если вы хотите что-то более стабильное, вы можете отключить @freecad/nightly снова после первоначальной установки. copr репозиторий сохраняет только сборки за последние 2 недели. Это не подходит, если вы хотите выбрать более старую конкретную версию.

Инструкции также доступны на соберите FreeCAD самостоятельно, включая скрипт, специально предназначенный для Fedora. С небольшим изменением, для извлечения конкретного коммита из git, любая версия начиная с FreeCAD 0.15 может быть построена на любом дистрибутиве начиная с Fedora 21.

Arch

Установка FreeCAD в Arch Linux и его производных (например, Manjaro):

pacman -S freecad

'Примечание' : с января 2019 года FreeCAD доступен только через AUR

pacman -S freecad

Другие

Если Вы обнаружите, что Ваша система использует FreeCAD, но не описана на этой странице, пожалуйста сообщите нам на форум!

В сети доступны многие альтернативные, неофициальные пакеты FreeCAD, например для систем вроде slackware или fedora. Поиск в сети быстро даст Вам какие-нибудь результаты.

Ручная установка на системах, основанных на .deb

Если по каким-то причинам Вы не можете использовать вышеуказанные методы, Вы всегда можете загрузить один из пакетов .deb, доступных на странице Загрузки page.
Linux.png Ubuntu 32/64bit AppImage-logo.png AppImage 64bit


Загрузив файл .deb соответственно версии Вашей системы, если у Вас используется установочный пакет Gdebi (обычно это так), Вам нужно перейти в место загрузки файла и сделать двойной щелчок на нём. Установочные зависимости будут учтены пакетным менеджером системы автоматически. Или Вы можете установить его из терминала, перейдя к месту загрузки файла и набрав:

sudo dpkg -i Name_of_your_FreeCAD_package.deb

изменив Name_of_your_FreeCAD_package.deb на имя загруженного файла.

После установки FreeCAD икона запуска будет добавлена в секцию "Графика" ("Graphic") стартового меню.

Установка на других системах Linux/Unix

Многие распространенные дистрибутивы Linux теперь включают в себя скомпилированный FreeCAD как часть стандартных пакетов. Он часто устаревший, но хорошая стартовая точка. Проверьте стандартные менеджеры пакетов для вашей системы. С помощью одного из следующих (частичных) списков команд можно установить официальную версию FreeCAD для вашего дистрибутива из терминала. Для этого вероятно потребуются права администратора.

apt-get install freecad
dnf install freecad
emerge freecad
slackpkg install freecad
yum install freecad
zypper install freecad

Имя пакета чувствительно к регистру, поэтому попробуйте `FreeCAD`, а также` freecad`. Если это не работает для вас, либо из-за того, что у вашего менеджера пакетов нет предварительно скомпилированной версии FreeCAD, либо из-за того, что доступная версия устарела для ваших нужд, вы можете попробовать загрузить один из .AppImage релизов из репозитория github. Они работают на большинстве 64-битных дистрибутивов Linux без какой-либо специальной установки. Просто убедитесь, что загруженный файл помечен как исполняемый, а затем запустите его.

К сожалению, на сегодня для других систем Linux/Unix собранных пакетов нет, так что вы должны собрать FreeCAD самостоятельно.


Установка версии для Windows на Linux

Смотрите страницу Установка на Windows.

Установка в Mac OS

FreeCAD можно установить в Mac OS X одним шагом, используя программу Установщик.

Stable.pngMac.png MacOS 10.11 El Capitan 64-bit (sha256)


and the nightly build can be downloaded from

Nightly.pngNightly 19_pre (sha256)

However, it is highly recommended to use a package manager such as HomeBrew to keep your software updated. Instructions to install HomeBrew can be seen here. When HomeBrew installed you can simply install FreeCAD through your bash terminal with

brew cask install freecad

and to upgrade the software to the latest version available on HomBrew Cask you may run

brew cask upgrade freecad

If there are any issues with the HomeBrew Cask formula you may report here.

На этой странице описано использование и функции установщика FreeCAD. Есть также инструкция по удалению. После установки вы можете начать работать!

Простая установка

Установщик FreeCAD предоставляется в виде пакета приложения (.app), помещенного в файл образа.

The FreeCAD installer is provided as a app package (.app) enclosed in a disk image file.

Вы можете загрузить последнюю версию установщика со страницы Download. После загрузки файла просто смонтируйте образ диска, затем перетащите его в папку «Приложение» или в папку по вашему выбору.

Mac installer 1.png

Вот и все. Просто нажмите на приложение, чтобы запустить FreeCAD. Если у вас появляется сообщение «FreeCAD не может быть запущен, так как его разработчик неизвестен». Откройте папку (Приложение) и щелкните правой кнопкой мыши на приложении, затем нажмите «Открыть» и «Подтвердить», чтобы открыть приложение.

Удаление

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

  • В /Приложения:
    • FreeCAD

Больше ничего не требуется.

Обзор FreeCAD

Введение

FreeCAD - это приложение САПР для параметрического моделирования. Его в первую очередь создавали для машиностроительного проектирования, однако оно также поддерживает и иные варианты использования в случаях, когда нужно моделировать 3D объекты с заданной точностью и контролем над историей моделирования.

FreeCAD все еще находится в ранней стадии разработки, так что, хотя он уже предлагает большой (и растущий) список возможностей, многое, в сравнении с коммерческими решениями, по-прежнему отсутствует, и Вы вряд ли сочтёте его достаточно разработанным для использования в производстве. Тем не менее, у нас есть быстрорастущее сообщество увлеченных пользователей, и вы можете найти множество примеров качественных проектов, разработанных с использованием FreeCAD.

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

Установка

Для начала скачайте и установите FreeCAD. Смотрите информацию о текущей версии и последних обновлениях на странице загрузки, и инструкцию по установке на соответствующей странице. Имеются готовые пакеты установки на Windows (.msi), Ubuntu и Debian (.deb), openSUSE (.rpm) и Mac OSX. FreeCAD доступен в менеджерах пакетов множества других дистрибутивов Linux. Есть и исполняемый файл формата AppImage, который пригоден для запуска на большинстве современных 64-битных систем Linux. Поскольку у FreeCAD открытые исходные коды, Вы так же можете взять исходные коды и скомпилировать его самостоятельно.

Изучение интерфейса

FreeCAD interface base divisions.svg

Стандартный интерфейс FreeCAD 0.19.


Смотрите полное описание в разделе Интерфейс.

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

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

При первом старте Вам будет показан центр запуска FreeCAD. Вот так он выглядит в версии 0.18:

Start center 0.18 screenshot.jpg

Для FreeCAD 0.17 гляньте этот скриншот Центра запуска.


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

Навигация в 3D пространстве

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

Выбор Сдвиг Масштаб Вращать
Исходный метод
Вращать
Альтернативный метод
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png Rotate cursor.png
Mouse LMB.svg Mouse MMB hold.svg Mouse MMB rotate.svg Mouse MMB+LMB hold.svg Mouse MMB+RMB hold.svg
Нажмите левую кнопку мыши над объектом, который вы хотите выбрать.

Нажатием Ctrl можно выбрать несколько объектов.

Удерживая среднюю кнопку мыши, двигайте указатель. Используем колёсико мыши для приближения и отдаления.

Кликая средней кнопкой вид центрируется по положению курсора.

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

Положение курсора во время нажатия средней кнопки мыши определяет центр вращения. Вращение работает как кручение шара вокруг своего центра. Если кнопки отпущены до остановки кнопки мыши, вид продолжает крутиться (если так настроено).

Двойной клик средней кнопкой мыши устанавливает новый центр вращения.

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

При этом методе средняя кнопка мыши может быть отпущена после того как правая кнопка осталась нажатой.

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

Ctrl+Mouse RMB.svg Ctrl+Shift+Mouse RMB.svg Shift+Mouse RMB.svg
Режим сдвига: удерживая кнопку Ctrl, один раз нажимаем правую кнопку мыши, затем двигаем указатель. introduced in version 0.17 Режим приближения: удерживая кнопки Ctrl и Shift, нажмите правую кнопку, и двигайте указатель. introduced in version 0.17 Режим вращения: удерживая кнопку Shift, нажмите правую кнопку, затем двигайте указатель. introduced in version 0.17


Вы так же можете выбрать несколько стандартных видов(вид сверху, спереди и т.д.) из меню Вид, на панели инструментов Вид, а также с помощью горячих клавиш (1, 2, и т.д.), а правым кликом на пустом месте трёхмерного вида Вы получите доступ к некоторым частым операциям, таким как выбор отдельного вида или нахождение объекта в Дереве проекта.

Первые шаги в FreeCAD

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

Верстак, с которого Вы начнёте использование FreeCAD, зависит от типа работы, которую Вам надо выполнить: если Вам нужно работать над механической моделью, или вообще над любым небольшим объектом, Вам возможно подойдёт верстак PartDesign. Если Вы работаете на плоскости, то переключитесь на верстак Draft, или верстак Sketcher, который позволяет работу с ограничениями. Если Вам требуется разработка здания по BIM, переключитесь на Arch Workbench. Для работы над плавательными средствами имеется специальный верстак Ship. А если Вы привыкли к OpenSCAD, попробуйте верстак OpenSCAD.

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

Работа с верстаками PartDesign и Sketcher

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

Верстак PartDesign широко использует другой верстак, Sketcher. Он позволяет рисовать плоские эскизы, которые определяются установкой ограничений (Constraints) к двумерной форме. Например, Вы можете нарисовать прямоугольник и установить размер стороны применением ограничений к одной из сторон. Размеры этой стороны теперь могут быть изменены лишь при изменении ограничений.

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

  1. Создать новый эскиз
  2. Нарисовать замкнутую фигуру (необходимо убедиться, что все точки соединены)
  3. Закрыть эскиз
  4. Растянуть эскиз в твердое тело с помощью pad tool
  5. Выбрать одну грань твердого тела
  6. Создать второй эскиз (на этот раз он будет нарисован на выбранной грани)
  7. Нарисовать замкнутую фигуру
  8. Закрыть эскиз
  9. Создать карман из второго эскиза на первом объекте

Что создаст объект вроде этого:

Partdesign example.jpg

В любой момент Вы можете выделить оригинальный эскиз и изменить его или или изменить параметр выдавливания операции pad или pocket, что изменит итоговый проект.

Работа с верстаками Draft и Arch

Верстаки Draft и Arch действуют немного по-разному, хотя они следуют общим правилам для FreeCAD. Если коротко, Sketcher и PartDesign созданы в первую очередь для проектирования единых деталей, а Draft и Arch для работы с несколькими простыми объектами.

Верстак Draft предоставляет двумерные инструменты вроде тех, что можно найти в традиционных двумерных САПР вроде AutoCAD. Тем не менее двумерное черчение находится вне задач FreeCAD, и не ожидайте найти здесь полное множество инструментов, которые предлагают эти специализированные инструменты. Большинство инструментов верстака Draft работают не только на плоскости, но и в объёме, и получают пользу от специальных вспомогательных систем вроде выбора плоскости и привязки к объектам.

Верстак Arch добавляет FreeCAD инструмент BIM, позволяя создавать архитектурные модели через параметрические объекты. Верстак Arch зависит от других модулей, таких как Draft и Sketcher. Все инструменты Draft так же имеются в верстаке Arch, и большинство инструментов Arch используют вспомогательные системы Draft.

Типичный рабочий процесс с верстаками Arch и Draft может быть таким:

  1. Нарисовать набор лилий с помощью инструментаDraft Line
  2. Выбрать каждую линию и использовать инструмент Wall, чтобы создать стену на каждом из них
  3. Соединить стены, выбрав их и нажав на инструмент Arch Add
  4. Создать объект floor (пол), и поместить Ваши стены на него из древа проекта
  5. Создать объект building, и переместить ваш пол и в него из древа проекта
  6. Создать окно, нажав на инструмент Window, выбрать предустановки в его панели, затем нажать на поверхность стены
  7. Добавить размеры, сначала установив рабочую плоскость если необходимо, затем испольжуя инструмент Draft Dimension

В результате получится следующее:

Arch workflow example.jpg

Дальнейшее на странице Учебники (то же на английском).

Дополнения, макросы и сторонние верстаки

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

Принцип дополнений основан на разработке дополнений верстаков. Любой пользователь может разработать функцию, которая, по его или её мнению, отсутствует для нужд его/её, или даже сообщества. На форуме пользователь может запросить оценку, помощь форума. Он может поделиться, или нет, объектом его разработки, в соответствии с установленным им копирайтом. Это его выбор. Для разработки пользователю доступны функции для скриптов.

Есть два типа расширений:

  1. Макросы: небольшие отрезки кода Python, дающие дополнительные инструменты или функциональность. макросы обычно начинаются как способ упростить или автоматизировать задачи рисования или редактирования отдельных объектов. Если многие из этих макросов собраны в каталоге, весь каталог может распространяться как новый верстак.
  2. Сторонние верстаки: собрание инструментов, запрограммированных на Python или C++, которые существенно расширяют FreeCAD. Если верстак успешно разработан и хорошо документирован, он может быть включён одним из верстаков FreeCAD. На странице External workbenches можно найти принципы и список существующих библиотек.

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

И в заключение, один из самых мощных свойств FreeCAD это скриптовое окружение. Из встроенной консоли python (или из любого другого внешнего скрипта python) можно получить доступ почти ко всем частям FreeCAD, создание и изменение геометрии, изменение отображения объектов на экране, а также доступ и изменение интерфейса. Скрипты могут быть использованы в макросах, с помощью которых легко создавать свои команды.

Что нового?


Contents

Overview

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

Навигация

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

Существует два способа изменить стиль навигации:

  • В Настройках, Правка → Настройки → Отображение → Трёхмерный вид → Трёхмерная навигация.
  • Правым кликом на пустом месте области пространственного вида и выбором Стили навигации контекстного меню.

Навигация CAD

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

Выбор Сдвиг Масштаб Вращать
Исходный метод
Вращать
Альтернативный метод
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png Rotate cursor.png
Mouse LMB.svg Mouse MMB hold.svg Mouse MMB rotate.svg Mouse MMB+LMB hold.svg Mouse MMB+RMB hold.svg
Нажмите левую кнопку мыши над объектом, который вы хотите выбрать.

Нажатием Ctrl можно выбрать несколько объектов.

Удерживая среднюю кнопку мыши, двигаем указатель. Используем колёсико мыши для приближения и отдаления.

Кликом средней кнопкой вид центрируется по положению курсора.

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

Положение курсора во время нажатия средней кнопки мыши определяет центр вращения. Вращение работает как кручение шара вокруг своего центра. Если кнопки отпущены до остановки кнопки мыши, если так настроено, вид продолжает крутиться.

Двойной клик средней кнопкой мыши устанавливает новый центр вращения.

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

При этом методе средняя кнопка мыши может быть отпущена после того как правая кнопка осталась нажатой.

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

Ctrl+Mouse RMB.svg Ctrl+Shift+Mouse RMB.svg Shift+Mouse RMB.svg
Режим сдвига: удерживая кнопку Ctrl, один раз нажимаем правую кнопку мыши, затем двигаем указатель. introduced in version 0.17 Режим приближения: удерживая кнопки Ctrl и Shift, нажмите правую кнопку, и двигайте указатель. introduced in version 0.17 Режим вращения: удерживая кнопку Shift, нажмите правую кнопку, затем двигайте указатель. introduced in version 0.17


Навигация OpenInventor

При навигации в стиле OpenInventor. Для выделения объектов надо нажать кнопку CTRL.

Этот метод базируется на на Autodesk Inventor.

Выбор Сдвиг Масштаб Вращать
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Ctrl+Mouse LMB.svg Mouse MMB hold.svg Mouse MMB rotate.svg Mouse MMB+LMB hold.svg Mouse LMB hold.svg
Удерживая Ctrl, нажимаем левую кнопку мыши над объектом, который хотим выделить. Удерживая среднюю кнопку мыши, двигаем указатель. Используем колёсико мыши для приближения и отдаления.

Иначе, удерживая среднюю кнопку мыши, нажимаем и удерживаем её левую кнопку, затем двигаем указатель.

Удерживая левую кнопку мыши, двигаем указатель.


Навигация Blender

Стиль навигации Blender ориентируется на Blender. Ранее не было возможности сдвига только мышью, и требовалось нажимать кнопку SHIFT для сдвига вида. Это было изменено в 2016 году при добавке возможностей, теперь для сдвига можно нажать левую и правую кнопку мыши.

Выбор Сдвиг Масштаб Вращать
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Mouse LMB.svg Shift+Mouse MMB hold.svg Mouse LMB+RMB hold.svg Mouse MMB rotate.svg Mouse MMB hold.svg
Нажмите левую кнопку мыши над выделяемым объектом. Удерживайте Shift и среднюю кнопку мыши и двигайте объект.

Либо удерживайте левую и правую кнопки и перемещайтесь.

Используйте колёсико мыши для приближения и отдаления. Нажмите и тяните средней кнопкой мыши.


Навигация Touchpad

При включении навигации тачпадом, сдвиг, масштабирование и вращение вида требует вместе с тачпадом использования модифицирующих клавиш.

Выбор Сдвиг Масштаб Вращение
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Touchpad LB.svg Shift+Touchpad.svg PageUp, PageDown Alt+Touchpad.svg
Нажмите левую кнопку над объектом, который хотите выбрать. Удерживайте Shift и двигайте объект. Используйте PageUp и PageDown для приближения или отдаления. Удерживайте Alt и двигайте указатель.
Shift+Ctrl+Touchpad.svg Shift+Touchpad LB hold.svg
Иначе, удерживайте вместе Shift и Ctrl, нажмите левую кнопку мыши, и двигайте указатель. Иначе, удерживайте клавиши Shift стрелку влево, затем двигайте указатель.


Навигация Gesture

Этот стиль навигации был предложен в версии 0.16, и скроен для использования с точскрином и пером, однако пригоден и для использования с мышью.

Выбор Сдвиг Масштаб Вращение Tilt view
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png Rotate cursor.png
Mouse LMB.svg Mouse RMB hold.svg Mouse MMB rotate.svg Mouse LMB hold.svg Mouse LMB+RMB hold.svg
Нажмите левую кнопку мыши над объектом, который хотите выделить. Удерживайте правую кнопку мыши и тяните курсор для сдвига вида. Используйте колёсико мыши для масштабирования. Удерживайте левую кнопку мыши и тяните указатель.

В режиме Sketcher и некоторых других это действие заблокировано. Удерживайте Alt при нажатии кнопки мыши для перехода в режим вращения.

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

Удерживайте левую и правую кнопку мыши и тяните указатель в сторону.
Touch Tap.svg Touch Two-Finger-Drag.svg Touch Tap-Hold-Drag.svg Touch Pinch.svg Touch One-Finger-Drag.svg Touch Rotate.svg
Щелкните для выбора. Тяните двумя пальцами.

Иначе, удерживайте щёлкните и удержите, потом тяните. Это симулирует сдвиг правой кнопкой мыши.

Сдвиньте пальцы для масштабирования (т.е. потяните два пальца к/от друг друга). Потяните одним пальцем для вращения.

Удерживайте вдобавок Alt в режиме Sketcher.

Вращайте воображаемую линию между двумя точками касания.

В версии v0.18 этот метод по умолчанию отключён. Для разрешения Правка → Параметры → Отображение, и снимите метку "Disable touchscreen tilt gesture".


Навигация MayaGesture

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

Выбор Сдвиг Масштаб Вращать
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Mouse LMB.svg Alt+Mouse MMB hold.svg Alt+Mouse RMB hold.svg Mouse MMB rotate.svg Alt+Mouse LMB hold.svg
Нажмите левую кнопку мыши над выделяемым объектом. Удерживая Alt и среднюю кнопку мыши, двигайте указатель. Удерживая Alt и правую кнопку мыши, двигайте указатель.

Иначе, используйте для приближения и отдаления колёсико мыши.

Удерживая Alt и левую кнопку мыши, двигайте указатель.


Навигация Revit

Этот стиль был предложен в версии 0.18.

Выбор Сдвиг Масштаб Вращать
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Mouse LMB.svg Mouse MMB hold.svg Mouse LMB+RMB hold.svg Mouse MMB rotate.svg Shift+Mouse MMB hold.svg Mouse MMB+RMB hold.svg


Нажать левую кнопку мыши над выделяемым объектом. Удерживайте среднюю кнопку мыши и двигайте указатель.

Иначе, удерживая левую и правую кнопку мыши, двигайте указатель.

Используйте для приближения и отдаления колёсико мыши. Удерживая Shift и среднюю кнопку мыши, двигайте указатель.

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


OpenCascade

Этот стиль был предложен в версии 0.18.

Выбор Сдвиг Масштаб Вращать
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png
Mouse LMB.svg Ctrl+Mouse MMB hold.svg Mouse MMB hold.svg Mouse MMB rotate.svg Ctrl+Mouse LMB hold.svg Ctrl+Mouse RMB hold.svg


Нажать левую кнопку мыши над выделяемым объектом. Удерживайте среднюю кнопку мыши и двигайте указатель. Используйте колёсико мыши для приближения и отдаления.

Иначе, удерживая Ctrl и левую кнопку мыши, двигайте указатель.

Удерживая Ctrl и правую кнопку мыши, двигайте указатель.


Выбор объектов

Простой Выбор

Объекты могут быть выбраны щелчком левой клавиши мыши, нажав на объект в окне трёхмерного просмотра или выбрав его в древе проекта.

Предварительный выбор

Также существует механизм Предвыбор, который подсвечивает объект и отображает информацию о них до выбора, уже при наведении указателя мыши на них. Если вам не нравится это поведение или у вас медленная машина, вы можете отключить предварительный выбор (preselection) в настройках.

Управление Объектами

FreeCAD предлагает манипуляторы которые могут быть использованы для изменения объектов или их внешнего вида.

Поддержка оборудования

FreeCAD так же поддерживает несколько 3d мышей.

Проблемы Mac OS X

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

Работа в FreeCAD

Структура документа FreeCAD

Screenshot treeview.jpg

Документ FreeCAD содержит все объекты проекта. Он может содержать группы, и предметы, сделанные с любого инструментария(workbench). Поэтому вы можете переключаться между инструментариями, и до сих пор работать на том же документе. Получившийся документ будет сохранён на диске при сохранении работы. В FreeCAD, вы также можете открывать несколько документов одновременно и открыть несколько видов одного и того же документа.

В документе объекты могут быть помещены в группы и им можно присвоить уникальные имена. Управлять группами, объектами и именами объектов осуществляется главным образом с помощью древовидного списка. примечание: Также это можно сделать, как и всё в FreeCAD, с помощью интерпретатора Python. В древовидном списке вы можете создавать Std Group.svg группы, перемещать объекты в группы, удалять объекты или группы, кликнув правой клавишей на объект в древовидном списке, переименуйте объекты. Также можно переименовать объект выделив его в древовидном списке и нажав F2, также возможны другие комбинации в зависимости от текущего инструментария.

Объекты входящие в FreeCAD документ могут быть различных типов. Каждый инструментарий может создать свои собственные типы объектов, для примера Workbench Mesh.svg Верстак полигонального моделирования создаёт объекты состоящие из полигонов, Workbench Part.svg Верстак Деталей создает детали, Workbench Draft.svg Чертежный Верстак также создаёт детали, и т.д.

Если есть по крайней мере один документ открытый в FreeCAD, всегда есть один и только один активный документ. Этот документ отображается в текущем окне 3D просмотра, это документ над которым вы сейчас работаете.

Приложения и интерфейс пользователя

Как почти все в FreeCAD, графический пользовательский интерфейс(GUI) отделен от основной части приложения(App). Также и с документами. Документы также состоят из двух частей: документ Приложение, содержащий ваши объекты, и документ как Вид, который содержит представление на экране наших объектов.

Думайте об этом как о двух местах, где определены ваши объекты. Их конструктивные параметры (это куб? конус? его размер?) хранятся в документе Приложении, а их графическое представление (отображать его в черных линиях? с синими гранями?) хранятся в части документ Вид. Зачем это сделано? Потому что FreeCAD может быть использован без графического интерфейса, например в других программах, и мы должны быть в состоянии управлять нашими объектами, даже если ничего не будет отображаться на экране.

Еще в части документа Вид содержатся объёмные виды. Один документ может иметь несколько открытых видов, так что вы можете просматривать ваш документ одновременно с нескольких точек зрения. Может быть вы хотели бы одновременно смотреть на ваш объект спереди и сверху? Тогда в вашем документе будет две части Вид документа. Создать новые виды или закрыть старые виды можно с помощью меню Вид или кликнув правой кнопкой мыши по закладке вида.

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

Документы легко могут быть созданы и изменены с помощью интерпретатора Python. Например:

FreeCAD.ActiveDocument

Вернет текущий (активный) документ

FreeCAD.ActiveDocument.Blob

Даст доступ к объекту с именем "Blob" внутри вашего документа

FreeCADGui.ActiveDocument

Вернет вид-документ связаный с текущим документом

FreeCADGui.ActiveDocument.Blob

Получить доступ к графическому представлению (виду) объекта с именем Blob

FreeCADGui.ActiveDocument.ActiveView

Вернет текущий активный вид.

Настройка пользовательских предпочтений

Введение

Настройки FreeCAD расположены в меню Правка → Настройки.

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

Без загруженных модулей у вас будет доступ к двум разделам конфигурации, отвечающие за основные настройки приложения и за настройки дисплея. Когда вы находитесь в определенном верстаке, настройки этого верстака отображаются в виде нового раздела, а форматы файлов, поддерживаемые верстаком, отображаются в виде новой вкладки в разделе Импорт-Экспорт.

Нажатие на кнопку Reset в левом нижнем углу экрана настроек установит «все» настройки FreeCAD в их значения по умолчанию.

Основные настройки

Этот раздел настроек имеет 6 вкладок: Основные, Документ, Редактор кода, Просмотр отчёта, Макрос, Единицы измерения.

Основные

На вкладке «Основная» вы можете указать следующее:

Имя Описание
Изменить язык Выберите язык пользовательского интерфейса FreeCAD
Размер списка последних файлов Укажите, сколько файлов должно быть указано в списке последних файлов.
Включить фон из повторяющегося узора Если этот флажок установлен, фон главного окна FreeCAD по умолчанию будет состоять из плиток этого изображения: Background.png

Этот параметр действует только в том случае, если выделено в Таблица стилей/ Нет таблицы стилей.

Изображение можно изменить, добавив папки Gui/Images в папку

%APPDATA%/FreeCAD (в Windows),

$HOME/.FreeCAD (в Linux) или

$HOME/Library/Preferences/FreeCAD (в MacOS).

Поместите туда файл с именем background.png и снимите флажок / установите этот флажок чтобы увидеть измененный файл.

Стиль интерфейса Выбор таблицы стилей. Таблицы стилей определяют, как выглядит пользовательский интерфейс FreeCAD.
Размер значков на панелях инструментов Выбор размера для значков панели инструментов
При запуске автоматически загружать верстак Выбор того, какой верстак будет использоваться сразу после запуска FeeCAD
Включение экрана-заставки при запуске Если этот флажок установлен, при запуске отображается заставка FreeCAD.

Изображение заставки можно изменить, добавив папки Gui/Images в папку %APPDATA%/FreeCAD (где %APPDATA% - пользовательская папка приложения FreeCAD вашей операционной системы). Поместите туда файл с именем splash_image.png и перезапустите FreeCAD, чтобы увидеть измененный экран-заставку.

Включить перенос слов Слова будут перенесены, когда они превысят доступное горизонтальное пространство в консоли Python. Эта консоль отображается с помощью меню Вид → Панели → Консоль Python.

Preference General Tab 01 ru.png

Документ

На вкладке «Документ» вы можете указать следующее:

Name Описание
Создавать новый документ при запуске Если отмечено, FreeCAD создаст новый документ при запуске
Уровень сжатия сохраняемого документа Спецификация уровня сжатия для файлов FCStd. Файлы FCStd являются сжатыми файлами ZIP. Поэтому вы можете переименовать их суффикс .FCStd в .zip и открыть их с помощью программы ZIP-архива.
Отмены/Повторы Если этот флажок установлен, все изменения в документах сохраняются, чтобы их можно было отменить/повторить.
Максимум шагов отмен/повторов Укажите, сколько шагов Отмена/Повтор нужно записать
Allow aborting recomputation Allow to aborting the document recomputation by pressing Esc. This may slightly increase the recomputation time.
Запуск автоматического восстановления при запуске Если файл восстановления доступен, FreeCAD автоматически запустит восстановление файла при запуске. Таким образом, файлы могут быть восстановлены в случае сбоя.
Автосохранение каждые Укажите, как часто записывается файл восстановления.
Сохранить миниатюру в файл проекта при сохранении документа Если этот флажок установлен, при сохранении документа также будет сохранена миниатюра. Например, миниатюра будет отображаться в списке последних файлов в Верстаке Start. It is possible to select a Size between 128×128 and 512×512 pixels for the thumbnail. Common sizes are the powers of two: 128, 256, 512.
Добавить логотип программы в генерируемую миниатюру Если установлен этот флажок, логотип программы FreeCAD FreeCAD-logo.svg будет добавлен к миниатюре. Этот параметр действует только в том случае, если используется Сохранить миниатюру в файл проекта при сохранении документа.
Максимальное количество файлов резервных копий, при пересохранении документа Если этот флажок установлен, файлы резервных копий будут сохраняться при сохранении документа. Вы можете указать количество сохраняемых файлов резервных копий. Они содержат ранее сохраненную версию документа. Первый файл резервной копии будет иметь суффикс файла .FCStd1, второй .FCStd2 и т.д.
Use date and FCBak extension If checked, backup files will get the extension .FCbak and their file names get a date suffix according to the specified date format. For a description of the date format see this site.

With the default settings the backup file will get for example this name TD-Cube.20200315-215654.FCBak (original filename is TD-Cube.FCStd).

Разрешить идентичные метки объектов в одном документе Если флажок установлен, объекты могут иметь одинаковую метку/имя. Например, разные части или элементы могут иметь одинаковое имя в одном и том же документе.
Disable partial loading of external linked objects Enable partial loading of external linked document. When enabled, only the referenced objects and their dependencies will be loaded when a linked document is auto opened together with the main document. A partially loaded document cannot be edited. Double click the document icon in the tree view to reload it in full. A more detailed explanation of the feature can be found on the Assembly3 documentation page
Имя автора Все документы, которые будут созданы, получат указанное имя автора. Оставьте поле автора пустым для анонимного автора. Если опция Устанавливать при сохранении отмечена, поле Last updated by будет установлено для указанного автора при сохранении файла. Это поле можно просмотреть с помощью меню Файл → Информация о проекте.
Компания Все документы, которые будут созданы, получат указанное название компании
Лицензия по умолчанию Выбор лицензии по умолчанию для новых документов. Для предопределенной лицензии URL-адрес лицензии будет автоматически установлен соответствующим образом. Выберите «Другое» для собственной или специальной лицензии.
URL адрес лицензии Указание URL-адреса, описывающего лицензию, выбранного в Лицензия по умолчанию

Preference General Tab 02 ru.png

Редактор кода

Настройки предпочтений редактора влияют на поведение редактора макросов. Этот редактор можно открыть с помощью меню Макрос → Макросы... → Редактировать/Создать.

Настройки цвета и шрифта также влияют на консоль Python. Эта консоль отображается с помощью меню Вид→Панели→Консоль Python.

На вкладке «Редактор» вы можете указать следующее:

Name Описание
Подсветка синтаксиса Выбор типа кода. Настройки цвета и шрифта будут применены к выбранному типу. Результат можно увидеть в поле «Предпросмотр».
Шрифт Выбор типа шрифта, который должен использоваться для выбранного типа кода
Размер Выбор размера шрифта, который должен использоваться для выбранного типа кода
Цвет Спецификация цвета, который должен использоваться для выбранного типа кода
Показывать номера строк Если флажок установлен, строки кода будут пронумерованы
Шаг табуляции Определение шага табулятора (количество пробелов). Если, например, установлено значение «6», при нажатии Tab будет выполнен переход к символу 7, 13, 19 и т.д., в зависимости от текущей позиции курсора. Этот параметр используется только в том случае, если выбран Символы табуляции.
Размер отступа Укажите, сколько пробелов будет вставлено при нажатии Tab. Этот параметр используется только в том случае, если выбран Заменять на пробелы.
Символы табуляции Если выбрано, нажатие Tab вставит табулятор с растром, определяемым Шаг табуляции
Заменять на пробелы Если выбрано, нажатие Tab вставит количество пробелов, определяемых Размер отступа

Preference General Tab 03 ru.png

Просмотр отчета

Настройки просмотра отчёта влияют на поведение Report view.

На вкладке «Просмотр отчёта» вы можете указать следующее:

Name Описание
Выводить информационные сообщения (log) Если установлен этот флажок, также будут отображаться информационные сообщения. Они будут выведены на панель Отчет цветом, установленным в Журнал (logs). Эта панель активируется с помощью меню Вид → Панели → Отчет.
Выводить предупреждения (warnings) Если флажок установлен, предупреждения будут отображаться. Они будут выведены на панель Отчет цветом, установленным в Предупреждения (warnings).
Выводить сообщения об ошибках (errors) Если флажок установлен, то будут отображаться сообщения об ошибках. Они будут выведены на панель Отчет цветом, установленным в Ошибки (errors)
Обычные сообщения Задание цвета шрифта для обычных сообщений на панели Отчет.
Журнал (log) Задание цвета шрифта для сообщений журнала на панели Отчет.
Предупреждения (warnings) Задание цвета шрифта для предупреждающих сообщений на панели Отчет.
Ошибки (errors) Задание цвета шрифта для сообщений об ошибках на панели Отчет.
Перенаправить внутренний вывод Python в отчёт Если этот флажок установлен, внутренний вывод Python будет перенаправлен с консоли Python на панель Отчет. Консоль Python отображается с помощью меню Вид → Панели → Консоль Python
Перенаправить внутренние ошибки Python в отчёт Если этот флажок установлен, сообщения об ошибках Python будут перенаправляться из консоли Python на панель Отчет.

Preference General Tab 04 ru.png

Макрос

Эти настройки управляют некоторыми аспектами запуска макросов.

На вкладке «Макрос» вы можете указать следующее:

Name Описание
Запуск макросов в локальном окружении Если флажок установлен, переменные, определенные макросами, создаются как локальные переменные, в противном случае они создаются как глобальные переменные Python
Куда записывать макросы Указание пути к макросам
Запись команд графического интерфейса Если флажок установлен, записанные макросы также будет содержать команды интерфейса пользователя
Записывать как комментарий Если этот флажок установлен, записанные макросы также будет содержать команды интерфейса пользователя, но в виде комментариев. Это полезно, если вы не хотите выполнять видимые действия при запуске макроса, а видеть, что можно сделать визуально.
Показать команды скрипта в консоли Python Если этот флажок установлен, команды, выполняемые макросами, отображаются в консоли Python. Эта консоль отображается с помощью меню Вид → Панели → Консоль Python.

Preference General Tab 05 ru.png

Единицы измерения

Эта вкладка конфигурирует показ единиц измерения.

На вкладке «Единицы измерения» вы можете указать следующее:

Name Описание
Пользовательская система Выбор системы единиц, которая должна использоваться для всех частей FreeCAD
Количество десятичных знаков Количество десятичных знаков, которые должны быть указаны для чисел и размеров в FreeCAD
Минимальный часть дюйма Минимальная часть дюйма, которая должна отображаться. Этот параметр доступен только в том случае, если используется система измерения 'Строительные US (Футы-дюймы/кв. футы/куб. футы)' .

Preference General Tab 06 ru.png

Отображение (настройки дисплея)

Этот раздел настроек имеет две общие вкладки, Трёхмерный вид и Цвета, и дальнейшие вкладки зависят от используемых верстаков.

Трехмерный вид

Эта вкладка всегда доступна, и управляет некоторыми характеристиками трёхмерного вида.

На вкладке «Трехмерный вид» вы можете указать следующее:

Имя Описание
Показать систему координат в углу Если флажок установлен, основная система координат всегда будет отображаться в правом нижнем углу в открытых файлах
Показать счетчик кадров в секунду Если этот флажок установлен, время, необходимое для последней операции, и полученная частота кадров [1] всегда будут отображаться в нижнем левом углу в открытых файлах.
Remember active workbench by tab introduced in version 0.19 If checked, the application will remember what is the active workbench for each tab independently. This way, the active workbench will be automatically restored when changing tab in the multiple-document interface (MDI) view.
Использовать объект вершинного буфера (Vertex Buffer) OpenGL Если флажок установлен, будут использоваться объекты буфера вершин (VBO). VBO - это функция OpenGL, которая предоставляет методы для загрузки данных вершин (положение, вектор нормали, цвет и т.д.) на видеокарту. VBO обеспечивает существенный выигрыш в производительности, потому что данные находятся в графической памяти, а не в системной памяти, и поэтому они могут отображаться непосредственно графическим процессором. Для получения дополнительной информации см. эту веб-страницу.
Render Cache introduced in version 0.19 "Render Cache" or "Render Acceleration" is explained in more detail in Link#render-caching. There are 3 options:
  • Auto (default), let Coin3D decide where to cache.
  • Distributed, manually turn on cache for all view provider root nodes.
  • Centralized, manually turn off cache in all nodes of all view providers, and only cache at the scene graph root node. This offers the fastest rendering speed, but slower response to any scene changes.
Сглаживание Выбор используемого типа Multisample сглаживания
Transparent objects introduced in version 0.19 Render type of transparent objects. The types are:
  • One pass (default), rendering is done in one pass. For non-solid objects like faces or meshes this can lead to artifacts. This image shows such an artifact (black triangle) and that the type Backface pass avoids this.
  • Backface pass, has only an effect for non-solid objects. They are then rendered in two passes: Back-facing polygons are rendered in the first pass and the front-facing in the second pass.
Размер метки Выбор размера вершины (точки) в верстаке Sketcher. The clickable area of points can be additionally enlarged by increasing Pick radius (on Colors tab).
Расстояние между глаз для стерео режима Спецификация расстояния между глазами, используемого для стереопроекции. Указанное значение является коэффициентом, который будет умножен на размер ограничивающего прямоугольника трехмерного объекта, который отображается в данный момент.
цвет подсветки Если флажок установлен, подсветка включена с заданным цветом. Backlight is used for rendering back sides of faces (usually, you don't see them in solids, unless you slice one with a clipping plane, or if the faces aren't oriented correctly). It is only active for objects whose Lighting property (on View tab) is set to "One side". If disabled, back sides of faces of objects in "One side" lighting mode will be black.

The related Intensity setting specifies the intensity of the backlight.

Тип камеры Выбор типа проекции камеры.


Preference Display Tab 01.png

Navigation

This tab is always available, and controls the behavior of the navigation tools.


In the Navigation tab you can specify the following:

Name Description
Navigation cube If checked, the navigation cube will always be shown. Related Steps by turn defines how many steps (notches) will be applied when using the Navigation cube rotation arrows. Related Corner defines where the Navigation cube is displayed on the screen when creating/opening a document
3D Navigation Selection of a navigation settings set. To see what each set defines, select a set and press the button Mouse....
Orbit style Selection of the rotation orbit style. When viewing a part in the x-y plane an being in the rotation mode of the 3D navigation, the difference is: If Trackball is selected, moving the mouse horizontally will rotate the part around the y-axis, if Turntable is selected the part will be rotated around the z-axis.
New Document Camera Orientation Selection of the camera orientation for new documents
New Document Scale Affects the initial "zoom level" of camera for new documents. The value you set is the diameter of a sphere that fits in 3D view. Default is 100 mm, convenient for objects like boxes for Arduino. It also sets initial size of origin features (base planes in a new PartDesign Body).
Enable animation If checked, rotations can be animated. If for example the 3D Navigation set CAD is used and the mouse is moved while the scroll wheel and the right mouse button is pressed, parts are rotated. If one keeps the mouse moving while releasing e.g. the right mouse button, the rotation will continue as animation. To end the animation left-click with the mouse.
Zoom at cursor If checked, zoom operations will be performed at the position of the mouse pointer. Otherwise zoom operations will be performed at the center of the current view. The Zoom step defines how much will be zoomed. A zoom step of '1' means a factor of 7.5 for every zoom step.
Invert zoom If checked, the direction of zoom operations will be inverted.
Disable touchscreen tilt gesture If checked, the tilting gesture will be disabled for pinch-zooming (two-finger zooming). This only affects the 3D Navigation set Gesture.
Rotate at cursor If checked, rotations in 3D will use the current cursor position as center for the rotation. Otherwise always the center of the screen will be used.

Preference Navigation Tab.png

Цвета

Эта вкладка всегда доступна.

На вкладке «Цвета» вы можете указать следующее:

Параметр Описание
Включить подсвечивание при наведении курсора Если этот флажок установлен, предварительный выбор включен и будет выделен указанным цветом. Предварительный выбор означает, что, например, ребра в деталях будут выделены при наведении курсора на них, чтобы указать, что они могут быть выбраны.
Включить подсвечивание выделенного Если флажок установлен, подсветка выделения включена и для нее будет использоваться указанный цвет
Укажите радиус (пикс.) Устанавливает размер области для выбора элементов в трехмерном представлении. Большее значение облегчает выбор материала, но делает невозможным выбор некоторых мелких функций.
Один цвет Если выбрано, фон для деталей будет иметь выбранный цвет
Цветовой градиент Если выбрано, фон для деталей будет иметь выбранный вертикальный цветовой градиент. Первый цвет будет цветом верха фона, второй будет цветом низа.
Средний цвет Доступно только если выбрано Цветовой градиент. Если этот флажок установлен, цветовой градиент получит выбранный цвет как средний цвет.
Объект редактируется Выбор цвета фона для объектов в виде дерева, которые в данный момент редактируются
Активный контейнер Выбор цвета фона для активных контейнеров в виде дерева. Например, если в древовидном представлении есть несколько частей и одна часть переключается как активное тело, она получит выбранный цвет фона в древовидном представлении.

Preference Display Tab 02 ru.png

Цвета деталей

Эта вкладка отображается только в том случае, если вы находитесь на верстаке Part или PartDesign или если вы уже были в этих верстаках.

На вкладке «Цвета детали» вы можете указать следующее:

Параметр Описание
Цвет формы по умолчанию Цвет для новых фигур. Если установлен параметр Случайный цвет формы, вместо него используется случайный цвет.
Цвет линии по умолчанию Цвет линии для новых фигур
Ширина линии по умолчанию Толщина линии для новых фигур
Цвет вершины по умолчанию Цвет для новой вершины
Размер вершины по умолчанию Размер для новой вершины
Цвет охватывающей рамки Цвет охватывающей рамки в 3D виде
Two-side rendering If checked, the bottom side of the surface will be rendered the same way than the top side. If not checked, it depends on the option Backlight color; either the backlight color will be used or black.
Цвет текста по умолчанию Выбор цвета текста по умолчанию для аннотаций документов. В настоящее время нет диалогового окна для добавления аннотаций к документам. Аннотации могут быть добавлены только с помощью консоли Python с помощью этой команды:

obj=App.ActiveDocument.addObject("App::Annotation", "Label")

Эта консоль отображается через меню Вид → Панели → Консоль Python.

Preference Display Tab 03 ru.png

Mesh view

This tab is only shown if you are in the Mesh Workbench or if you have been in this workbench before.

In the Mesh view tab you can specify the following:

Name Description
Default mesh color Selection of the default color for new meshes
Default line color Selection of the default line color for new meshes
Mesh transparency Specification of the default mesh transparency for new meshes
Line transparency Specification of the default line transparency for new meshes
Two-side rendering If checked, the bottom side of the surface will be rendered the same way than the top side. If not checked, it depends on the option Enable backlight color (see section 3D view). Either the backlight color will be used or black.
Show bounding-box for highlighted or selected meshes If checked, a yellow bounding box will be displayed for highlighted or selected meshes.
Define normal per vertex If checked, Phong shading is used, otherwise flat shading. Shading defines the appearance of surfaces.

With flat shading the surface normals are not defined per vertex that leads to a unreal appearance for curved surfaces while using Phong shading leads to a smoother appearance.

Crease angle The crease angle is a threshold angle between two faces. It can only be set if the option Define normal per vertex is used.
If face angle ≥ crease angle, facet shading is used
If face angle < crease angle, smooth shading is used

Mesh View Preferences.png

Настройки импорта-экспорта

The Import-Export settings affect how files are imported and exported to and from FreeCAD. They are described in the page Import Export Preference.

Настройки верстаков

This section is incomplete and requires mentioning the preference pages of each core workbench


Настройки для более распространенных верстаков приведены ниже. У некоторых верстаков нет настроек. Другие дополнительные верстаки могут быть не перечислены. Эти ссылки так же перечислены в Category:Preferences

Внешние верстаки

This section is incomplete and requires mentioning the preference pages of each External workbench


Настройка интерфейса

Введение

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

Std DlgCustomize tab Toolbars.png

Диалоговое окно настройки


Использование

  1. The commands available in the Customize dialog box depend on the workbenches that have been loaded in the current FreeCAD session. So you should first load all workbenches whose commands you want to have access to.
  2. There are several ways to invoke the Std DlgCustomize.svg Std DlgCustomize command:
    • Select the Tools → Std DlgCustomize.svg Customize... option from the menu.
    • Right-click a toolbar area and choose Std DlgCustomize.svg Customize... from the context menu.
  3. The Customize dialog box opens. For more information see Options.
  4. The Help button does not work at this time.
  5. Press the Close button to close the dialog box.

Опции

In the Customize dialog box the following tabs are available:

Команды

Std DlgCustomize tab Commands.png

The Commands tab


On this tab you can browse the available commands.

Browse commands

  1. Select a command category in the Category panel on the left. Some categories match menu entries.
  2. The tools available in the selected category are shown in the panel on the right.
  3. Hover a command: its tooltip appears.
  4. Select a command: its status bar text is displayed below the two panels.

top

Keyboard

Std DlgCustomize tab Keyboard.png

The Keyboard tab


On this tab custom keyboard shortcuts can be defined. Shortcuts for macro commands can be defined on the Macros tab.

Add a custom shortcut

  1. Select a command category from the Category dropdown list.
  2. Select a command from the Commands panel.
  3. The Current shortcut box displays the current short cut, if available.
  4. Enter a new shortcut in the Press new shortcut input box. Shortcuts can be up to 4 inputs long. Each input is either a single character, a combination of one or more special keys or a combination of one or more special keys and a character. Use Backspace to correct mistakes.
  5. If the shortcut is already in use, a dialog box will ask you if you want to override it, and the command the shortcut is assigned to will appear in the Currently assigned to panel.
  6. Press the Assign button to assign the new shortcut.
  7. Press the Clear button to remove the entered shortcut. This will also remove the content of the Current shortcut box. Note that default shortcuts are not permanently removed. They will be restored upon restarting FreeCAD.

Remove a custom shortcut

  1. Select a command category from the Category dropdown list.
  2. Select a command from the Commands panel.
  3. Press the Reset button.

Remove all custom shortcuts

  1. Press the Reset All button.

Notes (Keyboard)

  • Shortcuts only work if their commands appear in the standard menu or in the menu of a workbench that has been loaded in the current FreeCAD session, or if their commands appear on a visible toolbar.
  • In V0.19 there is an issue with some Draft commands. Their default shortcuts do not work and/or custom shortcuts cannot be assigned to them.

top

Workbenches

Std DlgCustomize tab Workbenches.png

The Workbenches tab


On this tab the Workbench selector list can be changed. The Enabled workbenches list shows the workbenches as they will appear in the Workbench selector.

Disable a workbench

  1. Select a workbench in the Enabled workbenches list.
  2. Press the Button left.svg button.
  3. The workbench will be moved to the Disabled workbenches list

Re-enable a workbench

  1. Select a workbench in the Disabled workbenches list.
  2. Press the Button right.svg button.
  3. The workbench will be moved to the Enabled workbenches list

Re-enable all workbenches

  1. Press the Button add all.svg button.

Change a workbench position

  1. Select a workbench in the Enabled workbenches list.
  2. Press the Button up.svg button or the Button down.svg button.
  3. Optionally repeat this until the workbench is in the correct position.

Sort workbenches alphabetically

  1. Press the Button sort.svg button.

top

Toolbars

Std DlgCustomize tab Toolbars.png

The Toolbars tab


On this tab custom toolbars can be created and modified.

Select the workbench

  1. In the dropdown list on the right select the workbench whose custom toolbars you want to modify. The Global option is there for custom toolbars that should be available in all workbenches.

Create a toolbar

  1. Press the New... button.
  2. Enter a name in the dialog box that opens.
  3. Press the OK button.
  4. The new toolbar will appear in the panel on the right.

Rename a toolbar

  1. Select a toolbar in the panel on the right.
  2. Press the Rename... button.
  3. Enter a new name in the dialog box that opens.
  4. Press the OK button.

Delete a toolbar

  1. Select a toolbar in the panel on the right.
  2. Press the Delete button.

Disable a toolbar

  1. Uncheck the checkbox in front of the toolbar name in the panel on the right.
  2. A disabled toolbar will be invisible in the FreeCAD interface.

Add a command

  1. Select the correct toolbar in the panel on the right. If no toolbar is selected, the command will be added to the first toolbar in the list.
  2. Select a category from the dropdown list on the left. Macro commands that have been set up on the Macros tab appear in the 'Macros' category.
  3. Select a command from the panel on the left.
  4. Or select '<Separator>' to add a separator (a line between two toolbar buttons).
  5. Press Button right.svg button.

Remove a command

  1. If required, expand the toolbar in the panel on the right.
  2. Select a command.
  3. Press Button left.svg button.

Change a command position

  1. If required, expand the toolbar in the panel on the right.
  2. Select a command.
  3. Press the Button up.svg button or the Button down.svg button.
  4. Optionally repeat this until the command is in the correct position.

Notes (Toolbars)

  • Toolbars belonging to the current workbench are updated immediately, but after disabling/re-enabling a toolbar a workbench change is required (switch to a different workbench and then switch back).
  • To update global toolbars a workbench change (if commands have been added or removed) or a restart (if the order of a toolbar has changed or a toolbar was renamed) is required.
  • In V0.19 there is an issue with some Draft commands. After adding them to a custom toolbar and exiting the FreeCAD application the user.cfg file must be manually edited for these commands. Search for the name of the custom toolbar and in that section change the content of the FCText items that start with gui_ to DraftTools.

top

Macros

Std DlgCustomize tab Macros.png

The Macros tab


On this tab user macro commands can be set up. Once set up, they can be added to custom toolbars. FreeCAD uses a dedicated folder for user macros and only macros in that folder can be set up. Use the Std DlgMacroExecute.svg Std DlgMacroExecute command to find this folder on your system.

If you download a macro with the Std AddonMgr.svg Addon Manager then make sure that you also download its icon image file. Most macros have an image link on the information page that appears in the Addon Manager. You can for example put this image file in the user macros folder.

Add a macro command

  1. In the Macro dropdown list select a macro.
  2. Enter a Menu text. This will be the name used to identify the macro command and will also appear in the toolbar if there is no icon.
  3. Optionally enter a Tool tip. This text will appear near the location of the mouse when you hover the toolbar icon.
  4. Optionally enter a Status text. This text will appear in the status bar when you hover the toolbar icon.
  5. Optionally enter the wiki page for the macro, if available, in the What's this input box. Enter the page name, not the full URL.
  6. Optionally enter a shortcut in the Accelerator input box. See Keyboard for more information.
  7. To add an icon:
    1. Press the Pixmap ... button.
    2. The Choose Icon dialog box opens.
    3. If required press the Icon folders... button to add an icon folder.
    4. Select an icon from the panel. The Choose Icon dialog box closes automatically.
  8. Press the Add button.
  9. The macro command appears in the panel on the left.
  10. The macro command can now be selected on the Toolbars tab.

Remove a macro command

  1. Select the macro command in the panel on the left.
  2. Press the Remove button.

Change a macro command

  1. Double-click the macro command in the panel on the left.
  2. Make the required changes. Note that you cannot remove the icon, you can only replace it.
  3. Press the Replace button.

top

Spaceball Motion

This is tab is blank if no Spaceball is detected. See: 3Dconnexion input devices.

top

Spaceball Buttons

This is tab is blank if no Spaceball is detected. See: 3Dconnexion input devices.

top

Addons

Addons offer yet another way to customize the use interface. Below are some addons created by users in the FreeCAD community. They can be downloaded through the Std AddonMgr.svg Addon Manager (note: they are listed on the Workbenches tab).

CubeMenu

Glass

IconThemes

Launcher

PieMenu

RemBench

ShortCut

top

Свойства объекта


Introduction

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

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

Пользовательские параметрические объекты в FreeCAD могут обладать свойствами следующих типов:

 Boolean
Float
FloatList
FloatConstraint
Angle
Distance
Integer
IntegerConstraint
Percent
Enumeration
IntegerList
String
StringList
Link
LinkList
Matrix
Vector
VectorList
Placement
PlacementLink
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle

Properties play a very important role in FreeCAD. As objects in FreeCAD are "parametric", this means that their behavior is defined by their properties, and how these properties are used as input for their class methods.

All property types

Custom scripted objects can use any of the property types defined in the base system:

Bool
Float
FloatList
FloatConstraint
Angle
Distance
ExpressionEngine
Integer
IntegerConstraint
Percent
Enumeration
IntegerList
String
StringList
Length
Link
LinkList
LinkSubList
Matrix
Vector
VectorList
VectorDistance
Placement
PlacementLink
PythonObject
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle

Internally, the property name is prefixed with App::Property:

App::PropertyBool
App::PropertyFloat
App::PropertyFloatList
...

Remember that these are property types. A single object may have many properties of the same type, but with different names.

For example:

obj.addProperty("App::PropertyFloat", "Length")
obj.addProperty("App::PropertyFloat", "Width")
obj.addProperty("App::PropertyFloat", "Height")

This indicates an object with three properties of type "Float", named "Length", "Width", and "Height", respectively.

Scripting

See also: FreeCAD scripting basics

A scripted object is created first, and then properties are assigned.

obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")

obj.addProperty("App::PropertyFloat", "Velocity", "Parameter", "Body speed")
obj.addProperty("App::PropertyBool", "VelocityEnabled", "Parameter", "Enable body speed")

In general, Data properties are assigned by using the object's addProperty() method. On the other hand, View properties are normally provided automatically by the parent object from which the scripted object is derived.

For example:

  • Deriving from App::FeaturePython provides only 4 View properties: "Display Mode", "On Top When Selected", "Show In Tree", and "Visibility".
  • Deriving from Part::Feature provides 17 View properties: the previous four, plus "Angular Deflection", "Bounding Box", "Deviation", "Draw Style", "Lighting", "Line Color", "Line Width", "Point Color", "Point Size", "Selectable", "Selection Style", "Shape Color", and "Transparency".

Nevertheless, View properties can also be assigned using the view provider object's addProperty() method.

obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")

Source code

In the source code, properties are located in various src/App/Property* files.

They are imported and initialized in src/App/Application.cpp.

#include "Property.h"
#include "PropertyContainer.h"
#include "PropertyUnits.h"
#include "PropertyFile.h"
#include "PropertyLinks.h"
#include "PropertyPythonObject.h"
#include "PropertyExpressionEngine.h"


Работа с инструментариями

FreeCAD, подобно многим современным приложениям для проектирования, таким как Revit или CATIA, базируется на концепции верстаков. Верстаки можно рассматривать как набор инструментов, специально сгруппированных под определенные задачи. В традиционных мебельных мастерских, вы имели бы рабочий стол для человека работающего с деревом, другой для работающего с металлическими частями, и, возможно, третий для того, который монтирует все это вместе.

Тоже самое относится и к FreeCAD. Инструменты сгруппированы в верстаки в соответствии с задачами, к которым они относятся.

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

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

Встроенные верстаки

Следующие верстаки доступны в каждой установке FreeCAD:

  • Freecad16.svg Std Base. This is not really a workbench, but this category serves to collect all "standard" commands and tools of the system which can be used in all workbenches.
  • Workbench Arch.svg Верстак Arch для работы с архитектурными элементами.
  • Workbench Draft.svg Верстак Draft содержит инструменты для двумерного черчения и преобразования их в объёмные тела.
  • Workbench FEM.svg Модуль FEM обеспечивает процесс анализа Методом Конечных Элементов (МКЭ).
  • Workbench PartDesign.svg Верстак Part Design Для создания деталей из эскизов
  • Workbench Path.svg Верстак Path используется для генерации G-кодов управления станками и 3D-принтерами. Находится на стадии разработки.
  • Workbench Plot.svg Верстак Plot даёт возможность редактировать и сохранять выходные графики, производимые другими модулями и инструментами.
  • Workbench Points.svg Верстак Points создан для работы с облаками точек (полученных от 3D-сканеров и т.п.).
  • Workbench Raytracing.svg Верстак Raytracing используется для для рендеринга с помощью программ трассировки лучей.
  • Workbench Reverse Engineering.svg Верстак Reverse Engineering должен дать Вам специальные инструменты для превращения многогранников/тел/сетей в параметрические объекты FreeCAD (в стадии разработки).
  • Workbench Robot.svg Верстак Robot предназначен для изучения движений роботов.
  • Workbench Ship.svg Верстак Ship предназначен для работы с водоплавающими судами, которые создаются по заданной геометрии.
  • Workbench Sketcher.svg Верстак Sketcher для работы с эскизами с геометрическими ограничениями.
  • Workbench Spreadsheet.svg Верстак Spreadsheet предназначен для создания и манипуляции данными в электронных таблицах.
  • Workbench Start.svg Центр запуска позволяет быстро перейти в один из наиболее распространённых верстаков.
  • Workbench Surface.svg The Верстак Surface Предоставляет инструменты для создания и редактирования поверхностей. Подобен построителю граней из рёбер.
  • Workbench TechDraw.svg Верстак TechDraw представляет собой более продвинутый и богатый возможностями наследник верстака Drawing
  • Workbench Test.svg Test framework создан для отладки FreeCAD.
  • Workbench Web.svg Модуль Web предоставляет окно браузера на месте трёхмерного вида внутри FreeCAD.

Не рекомендуемые

The following workbenches are still included in the base installation for compatibility purposes, but they should no longer be used.

Внешние верстаки

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

Страница внешние верстаки перечисляет все известные сообществу. Большинство из них легко устанавливается из FreeCAD, используя Addon Manager через меню Инструменты → AddonManager.svg Addon manager.

Новые верстаки всегда в разработке, следите за обновлениями!


Инструментарий Сетка (Mesh)

Mesh workbench icon

Введение

Workbench Mesh.svg Верстак Mesh оперирует с треугольными сетками. Сетки (Meshes) - это особый тип 3D объектов, составленный из треугольных граней, соединенных по ребрам и вершинам.

Многие из 3D приложений, такие, как sketchup, blender, maya или 3d studio max используют сетки (meshes) в качестве основного типа 3D объекта. Сетки это очень простые объекты, содержащие только вершины (точки), ребра и (треугольные) грани, их очень легко создать, модифицировать, разбивать, растягивать, и можно легко передаваться из одного приложения в другое без потерь в деталях. Кроме того, поскольку сетки определяются очень простыми данными, 3D приложения обычно могут управляться с очень большими их количеством без использования чрезмерных ресурсов. По этим причинам сетки как 3D объекты часто выбирают для приложений, работающих с кино, анимацией и созданием изображений.

Однако Для инженерных применений, сетки обладают очень большим ограничением: они только создают поверхность, и не содержат информацию о массе, так что они не ведут себя как твердые тела. Это означает что все твердотельные операции, такие как сложение, вычитание, на сетках выполнять всегда труднее. Верстак Mesh полезен для импорта трёхмерных данных в формате сеток, для их анализа, обнаружения ошибок, и в итоге конвертирует их в твёрдые тела для использования в Workbench Part.svg верстаке Part.

Mesh example.jpg

Инструменты

Модуль полигонального моделирования сейчас обладает очень простым интерфейсом, все его функции сгруппированы в меню Сетки.

General tools

Анализ

Анализ кривизны, граней и проверка может ли сетка безопасно преобразована в твердое тело

Regular solid

Mesh RegularSolid.svg Правильное геометрическое тело... Создать сеточные примитивы, такие как кубы, сферы, конусы или цилиндры:

  • Mesh Cube.svg Mesh Cube Создать полигональный куб
  • Mesh Cylinder.svg Mesh Cylinder Создать полигональный цилиндр
  • Mesh Cone.svg Mesh Cone Создать полигональный конус
  • Mesh Sphere.svg Mesh Sphere Создать полигональную сферу
  • Mesh Ellipsoid.svg Mesh Ellipsoid Создать полигональный эллипсоид
  • Mesh Torus.svg Mesh Torus Создать полигональный тор

Булевы операции

Резание

Прочее

Preferences

Дополнительные полигональные инструменты доступны в Workbench OpenSCAD.svg верстаке OpenSCAD.

Сетки так же могут быть обработаны через Python используя написание сценариев.

Ссылки


Инструмент Деталь (Part)

Part workbench icon

Введение

Возможности твердотельного моделирования FreeCAD базируются на ядре Open Cascade Technology (OCCT), системе САПР профессионального качества с возможностями продвинутого создания и манипулирования трёхмерными объектами. Workbench Part.svg Верстак Part это слой, базирующийся на библиотеках OCCT, дающие пользователям доступ к примитивам и функциям OCCT. Практически все функции двумерного и трёхмерного черчения в каждом верстаке (Workbench Draft.svg Draft, Workbench Sketcher.svg Sketcher, Workbench PartDesign.svg PartDesign и т.д.) базируются на этих функциях, предоставляемых верстаком Part. Следовательно, верстак Part считается центральным компонентом возможностей моделирования FreeCAD.

Объекты, создаваемые верстаком Part относительно просты, они предназначены для использования в булевых операциях (объединения и вырезания) для построения более сложных фигур. Эта парадигма моделирования известна как процесс конструктивной блочной геометрии (CSG, КБГ), и это традиционная методология, используемая в ранних системах САПР. С другой стороны, верстак PartDesign предлагает более современный процесс создания фигур: он использует параметрически заданные эскизы, которые выдавливаются для формирования базовых твёрдых тел, которые потом модифицируются параметрическими трансформациями (редактирования свойств) до получения конечного объекта.

Объекты Part сложнее, чем сеточные объекты, создаваемые в верстаке Mesh, поскольку они дают более сложные операции вроде когерентных булевых операций, историю модификации и параметрическое поведение.

Part Workbench relationships.svg

Верстак Part Workbench это базовый слой, предоставляющий чертёжные функции OCCT всем верстакам FreeCAD


Инструменты

Инструменты модуля деталей расположены в меню Деталь.

Примитивы

Эти инструменты создают примитивные объекты.

  • Part Box.svg Куб: Рисует прямоугольный параллелепипед с указанными размерами
  • Part Cylinder.svg Цилиндр: Рисует цилиндр с указанными размерами
  • Part Sphere.svg Сфера: Рисует сферу с указанными размерами
  • Part Cone.svg Конус: Рисует конус с указанными размерами
  • Part Torus.svg Тор: Рисует тор (кольцо) с указанными размерами
  • Part Primitives.svg Создать примитивы: Инструмент добавления любого из определённых геометрических примитивов
  • Part Shapebuilder.svg Построитель форм: Инструмент создания более сложных форм из различных параметрических геометрических примитивов

Изменение объектов

Это инструменты для изменения существующих объектов. Они позволяют вам выбирать, какой объект вы будете изменять.

  • Part Extrude.svg Выдавить: Вытягивает плоские грани объекта
  • Part Revolve.svg Вращать: Создает объект вращением одного объекта вокруг оси
  • Part Mirror.svg Зеркальное отражение: Отражает выбранные объекты на данной зеркальной плоскости
  • Part Fillet.svg Скругление: Скругляет ребра объекта
  • Part Chamfer.svg Фаска: Делает фаску на гранях объектов
  • Part RuledSurface.svg Создать линейчатую поверхность: Этот инструмент создает линейчатую поверхность между двумя линиями или краями выбранных выше.
  • Part Loft.svg Лофт: Выполняет лофтинг от одного профиля к другому
  • Part Sweep.svg Сдвиг: Развёртывает один или более профилей вдоль заданной трассы
  • Part Thickness.svg Толщина: Назначает толщину поверхностям формы.
  • Part ProjectionOnSurface.png Projection on surface: создаёт проекцию логотипа, текста или любой грани, полилинии, кромки на поверхность. С проекцией можно сделаь твёрдое тело или полилинию. introduced in version 0.19
  • Part Booleans.svg Boolean: Производит булевы операции над объектами
  • Part Fuse.svg Объединение: Сплавляет (объединяет) два объекта
  • Part Common.svg Пересечение: Извлекает общую часть (пересечение) двух объектов
  • Part Cut.svg Обрезать: Обрезает (вычитает) один объект из другого

Измерение

Std Measure Menu.png Measure: Обеспечивает линейные и угловые измерения между точками, рёбрами и гранями.

  • Part Measure Linear.svg Measure Linear позволяет делать линейные изменения.
  • Part Measure Angular.svg Measure Angular позволяет делать угловые измерения.
  • Part Measure Refresh.svg Measure Refresh обновляет измерения на экране.
  • Part Measure Clear All.svg Clear All очищает все измерения.
  • Part Measure Toggle All.svg Toggle All показывает или скрывает все измерения.
  • Part Measure Toggle 3d.svg Toggle 3D показывает или скрывает трёхмерные измерения.
  • Part Measure Toggle Delta.svg Toggle Delta показывает или скрывает дельта-измерения.

Прочие инструменты

Настройки

Геометрические концепции OCCT

В терминологии OpenCascade геометрические примитивы и (топологические) формы различны. Геометрическим примитивом может быть точка, линия, окружность, плоскость и т.д. , или даже более сложные типы, такие как кривая B-сплайна или поверхность. Формой может быть вешина, ребро, сеть , грань, твердое тело или соединение всего этого. Геометрические примитивы не созданы специально для того чтобы отображаться на 3D сцене, они используются в качестве строительной геометрии форм. Для примера, ребро можно построить из линии или же из части окружности.

В общем, геометрические примитивы это "бесформенные" строительные блоки, а топологические формы это реальные объекты, построенные на них.

Полный список всех примитивов и форм находится в документации OCC в разделах Geom_Geometry и TopoDS_Shape. (Альтернатива: sourcearchive.com) и поиск Geom_* (для геометрических примитивов) и TopoDS_* (для форм). Также вы больше сможете узнать о различиях между ними. Обратите внимание, что к сожалению документация OCC не доступна в Интернете(вы должны скачать архив) и в основном направлена на программистов, а не на конечных пользователей. Но надеемся, что вы найдете здесь достаточно информации для начала. Так же посмотрите Modeling Data User's Guide.

At a very high level, topology tells what pieces an object is made of, and the logical relationships between them. A shape is made of a certain set of faces. A face is bounded by a certain set of edges. Two faces are adjacent if they share a common edge.

Topology alone does not tell you the size, curvature, or 3D locations of any of those pieces. However, each piece of topology does knows about it's underlying geometry. A face knows what surface it lies on. An edge knows what curve it lies on. The geometry knows about curvature and location in space. - Source


Thus, Topology defines the relationship between simple geometric entities, which can be linked together to represent complex shapes. - Modeling Data User's Guide

ClassTopoDS Shape inherit graph.png

Примечание: Только 3 типа топологических объектов имеют геометрические репрезенртации – вершина, ребро и грань (Источник).

Геометрические типы на самом деле можно разделить на две основные группы: кривые и поверхности. Из кривых (линия, окружность, ...) вы непосредственно можете строить ребра, из поверхностей (плоскость, цилиндр, ...) могут быть построены грани. Например, такой геометрический примитив как линия - бесконечен, т.е. он задается только вектором направления в то время, как его форма должна быть представлено чем-то ограниченым обладающим начальной и конечной точкой. Также и box -- твердое тело -- которое может быть создано из шести ограниченых плоскостей.

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


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

Part TopoShape relationships.svg

Класс Part::TopoShape это видимый на экране геометрический объект. Практически все верстаки используют эти TopoShapes внутри себя для построения и показа кромок, граней и твёрдых тел.


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

Смотри так же: Part scripting

Основным структурой данных в модуле Part является BRep тип данных из OpenCascade. Все содержащиеся в модуле Part типы объектов и функции доступны в сценариях на Python. Это включает в себя геометрические примитивы, такие как Линия и Окружность (или Дуга), и целый ряд топологических фигур, таких как Вершины, Ребра, Полилинии, Грани, Тела и Составные объекты. Каждый из этих объектов можно создать несколькими способами, и для некоторых из них, особенно для топологических фигур, продвинутые операции, например булево сложение/вычитание/пересечение, так же доступны. Чтобы знать больше, изучите содержание модуля Part, описанное на странице Основы написания сценариев в FreeCAD .

Самый базовый объект, который можно создать, это Part Feature, имеющий простое свойство размещения DataPlacement и базовые свойства определения его цвета и внешнего вида.

Другой простой объект, используемый в плоских геометрических объектах, это Part Part2DObject, являющийся основой Sketcher SketchObject (модуль Sketcher) и большинства элементов модуля Draft.

Тестовый скрипт

Тест создания примитивов Part с помощью скрипта. introduced in version 0.19

import parttests.part_test_objects as pto
pto.create_test_file("example_file")

Этот скрипт расположен в каталоге установки программы, и может быть изучен, чтобы узнать, как строятся базовые примитивы.

$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py

Примеры

Чтобы создать элемент - линию перейдите в консоль Python и введите:

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape() 
doc.recompute()

Давайте по подробней, по шагам рассмотрим пример выше:

import Part,PartGui
doc=App.newDocument()

загружает модуль деталей и создает новый документ

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

Линия на самом деле - отрезок, следовательно задаем начальную и конечную точку.

doc.addObject("Part::Feature","Line").Shape=l.toShape()

Это добавляет объект типа Деталь[Part] в документ и назначает форму представления отрезка в свойстве 'Shape' добавленного объекта. Важно понять, здесь мы использовали геометрический примитив (the Part.lineSegment) чтобы создать TopoShape в конце (используя toShape() метод). Только Формы могут быть добавлены в документ. В FreeCAD, геометрические примитивы используются как "строительные конструкций" для Форм.

doc.recompute()

Обновили документ. Это также должно полготовить визуальное представление нового объекта-Детали.

Заметим что Линия[Line] Segment может быть создана специфическим способом, заданием её начальной и конечной точки напрямую, пример Part.LineSegment(point1,point2) или же мы можем задать линию по умолчанию и задать её свойства позже, как мы и сделали здесь.

Линия так же может быть создана с помощью:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateLine(pt1, pt2, objName):
    obj = DOC.addObject("Part::Line", objName)
    obj.X1 = pt1[0]
    obj.Y1 = pt1[2]
    obj.Z1 = pt1[2]

    obj.X2 = pt2[0]
    obj.Y2 = pt2[1]
    obj.Z2 = pt2[2]

    DOC.recompute()
    return obj

line = mycreateLine((0,0,0), (0,10,0), "LineName")


окружность может быть создана схожим образом:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

или с помощью:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateCircle(rad, objName):
    obj = DOC.addObject("Part::Circle", objName)
    obj.Radius = rad

    DOC.recompute()
    return obj

circle = mycreateCircle(5.0, "CircleName")


Опять же заметим, мы использовали окружность (геометрический примитив) чтобы создать из неё форму. Конечно мы можем получить доступ к нашей строительной геометрии потом, выполнив:

s = f.Shape
e = s.Edges[0]
c = e.Curve

Здесь мы извлекаем форму нашего объекта f, долее забираем выводим список ребер, в нашем случае будет только одна, потому что мы создали форму из одного оеружности, поэтому мы получим только одну запись в списке ребер, и мы выводим кривую. Каждое ребро это кривая, которая является геометрическим примитивом на котором оно основано.

Читайте главу Topological data scripting чтобы узнать больше.

Учебники

Инструментарий Черчениея

Разработка Drawing Workbench/ru, начиная с FreeCAD 0.16, остановлена, и в версии 0.17 был предложен новый верстак TechDraw, предназначенный для его замены. Оба верстака пока есть в v0.17, но в будущих выпусках верстак Drawing может быть удалён.


Drawing workbench icon

Introduction

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

Drawing extraction.png

Инструменты

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

  • Drawing New.png Открыть SVG: Открывает чертеж, ранее сохранённый в формате SVG
  • Drawing Annotation.png Аннотация: Добавляет аннотацию на текущий чертёжный лист
  • Drawing Clip.png Клип: Добавляет группу клипов на текущий чертёжный лист
  • Drawing Openbrowser.png Открыть в браузере: Открывает предварительный просмотр текущего чертёжного листа в браузере
  • Drawing Symbol.png Символ: Добавляет содержимое файла SVG как символ на текущий чертёжный лист
  • Drawing DraftView.png Draft View: Вставляет специальный вид выбранного объекта на текущий чертёжный лист
  • Drawing SpreadsheetView.png Spreadsheet View: Вставляет вид выбранного листа электронной таблицы на текущий чертёжный лист
  • Проекция фигуры: Создаёт проекцию выбранного объекта (источинка) в трёхмерном виде.
  • Примечание: Инструмент Draft Drawing главным образом используется с объектами Draft. Он имеет некоторые дополнительных возможностей кроме стандартных инструментов верстака Drawing, и поддерживает специфические объекты вроде размеров Draft.

Workflow

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

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

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

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

See the Drawing API example page for a description of the functions used to create drawing pages and views.

Скрипт Macro_CartoucheFC позволяет создать пользовательское информационное поле на горизонтальном листе A3.

Шаблоны

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

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

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

Учебники

Внешние ссылки

Инструментарий Трассировка лучей

Верстак Raytracing по сути устарел. Ведётся новая разработка верстака Render, который планируется как замена. Этот верстак полностью программируется на Python, поэтому его легче расширить.

Тем не менее, информация на этой странице в общем полезна для нового верстака, и оба модуля в основе работают одинаково.


Raytracing workbench icon

Введение

Workbench Raytracing.svg Верстак Raytracing предназначен для создания фотореалистичной изображения ваших моделей с помощью внешних программ рендеринга.

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

В настоящее время поддерживаются два визуализатора: povray и luxrender. Чтобы иметь возможность визуализации из FreeCAD, нужна хотя бы одна из этих программ, установленная и сконфигурированная в Вашей системе. Но даже если ни одного визуализатора не установлено, Вы можете экспортировать файл проекта для визуализации впоследствии.

Верстак Raytracing по сути устарел. Ведётся новая разработка верстака Render, который предназначен для его замены. Этот верстак полностью запрограммирован на Python, поэтому его гораздо проще расширить, чем текущий верстак, который запрограммирован на C ++. Тем не менее, информация на этой странице в целом полезна для нового верстака, так как оба модуля работают в основном одинаково.

Raytracing example.jpg

Типичная работа

  1. Создайте или откройте прокет FreeCAD, добавьте некоторые твердотельные объекты модулей (Part или PartDesign); сетки пока не поддерживаются.
  2. Создайте проект трассировки лучей (для povray или luxrender).
  3. Выделите объекты, которые Вы хотите добавить в проект трассировки лучей и добавьте их.
  4. Экспортируйте файл проекта или визуализируйте его напрямую.


Raytracing Workbench workflow.svg


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


Инструменты

Инструменты проекта

Это главные инструменты для экспорта Вашей трёхмерной работы во внешние визуализаторы.

  • Raytrace New.svg New PovRay project: Вставляет в документ новый проект PovRay
  • Raytrace Lux.svg New LuxRender project: Вставляет в документ новый проект LuxRender
  • Raytrace NewPartSegment.svg Insert part: Вставляет вид объекта Part в проект визуализации
  • Raytrace ResetCamera.svg Reset camera: Сопоставляет позицию камеры проекта трассировки лучей с текущим видом
  • Raytrace ExportProject.svg Export project: Экспортирует проект визуализации в файл сцены для отрисовки во внешнем визуализаторе
  • Raytrace Render.svg Render: Визуализирует проект трассировки лучей во внешнем визуализаторе

Утилиты

Это вспомогательные инструменты для ручного выполнения особых задач.

  • Raytrace Export.svg Export view to povray: Записывает активный трёхмерный вид с камерой и содержимым в файл povray
  • Raytrace Camera.svg Export camera to povray: Экспортирует позицию камеры активного трёхмерного вида в формате POV-Ray в файл
  • Raytrace Part.svg Export part to povray: Записывает выделенный объект Part как файл povray

Настройки

  • Preferences-raytracing.svg Preferences: Доступные настройки для инструментов Raytracing.

Учебники

Ручное создание файла povray

Описанные выше вспомогательные инструменты позволяют экспортировать текущий трёхмерный вид и его содержимое в файл Povray. Сначала вы должны загрузить или создать данные САПР и расположить ориентацию трёхмерного вида по своему желанию. Затем выберите из меню трассировки "Вспомогательные → Экспорт вида...".

FreeCAD Raytracing.jpg

У Вас уточнят положение для сохранения итогового файла *.pov. После этого Вы можете открыть его в Povray и визуализировать:

Povray.jpg

Как обычно, в визуализаторе Вы сможете сделать большие и красивые картинки:

Scharniergreifer render.jpg

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

Смотрите Примеры программного интерфейса Raytracing для информации о создании сцен через программирование.

Ссылки

POVRay

Luxrender

Future possible renderers to implement

Exporting to Kerkythea

Although direct export to the Kerkythea XML-File-Format is not supported yet, you can export your Objects as Mesh-Files (.obj) and then import them in Kerkythea.

  • if using Kerkythea for Linux, remember to install the WINE-Package (needed by Kerkythea for Linux to run)
  • you can convert your models with the help of the mesh workbench to meshes and then export these meshes as .obj-files
  • If your mesh-export resulted in errors (flip of normals, holes ...) you may try your luck with netfabb studio basic
Free for personal use, available for Windows, Linux and Mac OSX.
It has standard repair tools which will repair you model in most cases.
  • another good program for mesh analysing/repairing is Meshlab
Open Source, available for Windows, Linux and Mac OSX.
It has standard repair tools which will repair you model in most cases (fill holes, re-orient normals, etc.)
  • you can use "make compound" and then "make single copy" or you can fuse solids to group them before converting to meshes
  • remember to set in Kerkythea an import-factor of 0.001 for obj-modeler, since Kerkythea expects the obj-file to be in m (but standard units-scheme in FreeCAD is mm)
Within WIndows 7 64-bit Kerkythea does not seem to be able to save these settings.
So remember to do that each time you start Kerkythea
  • if importing multiple objects in Kerkythea you can use the "File → Merge" command in Kerkythea

Разработка

Эти страницы ссылаются на новую рабочую среду, запрограммированную на Python, предназначенную для замены текущей Raytracing Workbench.

Устарел

Эти страницы ссылаются на аналогичный верстак, запрограммированный на C++, предложенный примерно в 2012, но не завершённый.

Инструментарий Изображение

Image workbench icon

Введение

Верстак Image обрабатывает различные типы растровых изображений, и позволяет открыть их в FreeCAD.

Сейчас модуль поддерживает форматы файлов BMP, JPG, PNG, и XPM.

Инструменты

  • Image-import.svg Open: открыть изображение в новой точке зрения.
  • Image-import-to-plane.svg Import to plane: импортировать изображение на плоскость в окне трёхмерного вида.
  • Image-scale.svg Scaling: масштабировать изображение, импортированное на плоскость.

Особенности

  • Подобно Sketch, импортированное изображение может быть присоединено к одной из главных плоскостей XY, XZ или YZ, и иметь положительное или отрицательное смещение.
  • Изображение импортируется в соотношении 1 мм на пиксель.
  • Рекомендуется импортировать изображение в разумном разрешении.

Работа

Основное применение этого верстака в трассировке поверх изображения с помощью инструментов Draft или Sketcher, для генерации твёрдого тела на основе контуров изображения.

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

Смещение может быть установлено при импорте, или позднее, редактированием положения изображения.



Инструмент 2D черчение

Draft workbench icon

Введение

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

Создаваемые плоские объекты могут использоваться для общего черчения по образцу Inkscape или Autocad. Эти плоские фигуры могут так же использоваться как базовые компоненты трёхмерных объектов, созданных другими верстаками, например, Part или Arch. Возможно так же превращение объектов Draft в эскизы, это значит, что фигуры могут так же использоваться в верстаке PartDesign для создания твёрдых тел.

FreeCAD - это, прежде всего, приложение для 3D-моделирования, и поэтому его инструменты для двумерного рисования не столь совершенны, как в других чертёжных программах. Если вашей основной целью является создание сложных 2D-чертежей и файлов в формате DXF, и вам не нужно 3D-моделирование, возможно вы захотите использовать специальное программное обеспечения для технического черчения, такое как LibreCAD, QCad, TurboCad, и другие.

Draft Workbench Example

Черчение объектов

Эти инструменты предназначенные для создания объектов.

  • Draft Line.svg Линия: чертит отрезок через две точки.
  • Draft Wire.svg Полилиния: чертит ломанную, состоящую из отрезков (полилинию).
  • Draft Fillet.svg Fillet: чертит fillet (скруглённый угол) или chamfer (сглаженный линией угол) между двумя простыми линиями. introduced in version 0.19.
  • Draft Arc.svg Дуга: чертит дугу по центру, радиусу, начальному и конечному углу.
  • Draft Arc 3Points.svg Arc 3Points: чертит круглый дуговой сегмент по трём точкам, находящимся на окружности. introduced in version 0.19.
  • Draft Circle.svg Окружность: чертит окружность по центру и радиусу.
  • Draft Ellipse.svg Эллипс: чертит эллипс по двум угловым точкам.
  • Draft Rectangle.svg Прямоугольник: чертит прямоугольник по двум противоположным точкам.
  • Draft Polygon.svg Многоугольник: чертит правильный многоугольник по центру, радиусу и числу сторон.
  • Draft BSpline.svg B-сплайн: чертит B-сплайн по последовательности точек.
  • Draft CubicBezCurve.svg Cubic Bezier Curve: чертит кривую Безье третьего порядка протягиванием двух точке. introduced in version 0.19.
  • Draft BezCurve.svg Кривая Безье: чертит кривую Безье по последовательности точек.
  • Draft Point.svg Точка: вставляет точку.
  • Draft Facebinder.svg Граневяз: создаёт новый объект из выбранных граней существующих объектов.
  • Draft ShapeString.svg Текст в кривую: создаёт сложную форму, представляющую текстовую строку в заданном месте.

Аннотации

Изменение объектов

Эти инструменты изменяют существующие объекты. Они работают на выбранных объектах, но если ни одного объекта не выбрано, вам будет предложено его выбрать.

многие операционные инструменты (перемещение, поворот, массивы и т.д.) так же работают над твердотельными объектами (Part, PartDesign, Arch и т.д.).

  • Draft Move.svg Перемещение: перемещает объект(ы) из одной локации в другую.
  • Draft Rotate.svg Повернуть: поворачивает объект(ы) от начального и до конечного угла.
  • Draft Scale.svg Масштаб: изменяет размер выбранного(ых) объекта(ов) вокруг базовой точки.
  • Draft Mirror.svg Отразить: создаёт зеркальное отражение выбранных объектов.
  • Draft Offset.svg Смещение: перемещает сегменты объекта на заданное расстояние.
  • Draft Trimex.svg Trim/Extend (Trimex): обрезает или удлиняет объект.
  • Draft Stretch.svg Pастягивать: растягивает выбранные объекты available in version 0.17


  • Draft Shape2DView.png 2D вид фигуры: создаёт двумерный объект, представляющий собой плоскую проекцию другого трёхмерного объекта.

Устаревшее

Эта команда признана устаревшей, поскольку устарел верстак Drawing. Тем не менее, команда пока доступна.

Эти команды удалены из интерфейса

Draft Tray toolbar

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

Панель инструментов привязки Draft

Панель инструментов Draft Snap позволяет выбрать текущий режим привязки. Его кнопка остаётся ненажатой при активности режима.

  • Draft ToggleSnap.svg Toggle snap: включает/выключает привязку.
  • Snap Endpoint.svg Endpoint: привязка к конечным точкам линий, дуг и сегментов сплайна.
  • Snap Midpoint.svg Midpoint: привязка к средней точке линий и дуговых сегментов.
  • Snap Center.svg Center: привязка к центральным точкам дуг и окружностей.
  • Snap Angle.svg Angle: привязка к особым точкам окружностей и дуг под углом 45 ° и 90 °.
  • Snap Intersection.svg Intersection: привязка к пересечению двух отрезков линии или дуги. Наведите указатель мыши на два нужных объекта, чтобы активировать их привязки пересечения.
  • Snap Perpendicular.svg Perpendicular: на отрезках линии и дуги привязка перпендикулярно самой последней точке.
  • Snap Extension.svg Extension: привязка к воображаемой линии, которая выходит за пределы конечных точек отрезков. Наведите указатель мыши на нужный объект, чтобы активировать его расширение привязки.
  • Snap Parallel.svg Parallel: привязка к воображаемой линии, параллельной отрезку. Наведите указатель мыши на нужный объект, чтобы активировать его параллельную привязку.
  • Snap Special.svg Special: привязка к специальным точкам, определенным объектом. introduced in version 0.17
  • Snap Near.svg Near: привязка к ближайшей точке или краю на ближайшем объекте.
  • Snap Ortho.svg Ortho: привязка к воображаемым линиям, которые пересекают последнюю точку и простираются на 0°, 45° и 90°.
  • Snap Grid.svg Grid: привязка к пересечению линий сетки, если сетка видна.
  • Snap WorkingPlane.svg Working plane: всегда помещает точку привязки к текущей рабочей плоскости, даже если захвачена точка вне её.
  • Snap Dimensions.svg Dimensions: показывает временные размеры X и Y при привязке.
  • Draft ToggleGrid.svg Toggle grid: включает/выключает видимость сетки.

Сервисные инструменты

Меню Вспомогательные

Дополнительные инструменты доступны из меню Draft → Вспомогательные, или через контекстное меню по правому клику мыши, зависящее от выбранного объекта.

Устаревшее

Эти инструменты удалены из интерфейса в v0.19, поскольку в них больше нет нужды.

Настройки

  • Preferences-draft.svg Preferences: общие настройки для рабочей плоскости и инструментов черчения.
  • Preferences-import-export.svg Import-Export Preferences: настройки, доступные для импорта и экспорта в различные форматы файлов.

Форматы файлов

Эти функции предназначены для открытия, импорта или экспорта других форматов файлов. Открытие подразумевает открытие нового документа с содержимым файла, в то время как импортирование добавляет содержимое файла в текущий документ. Экспорт сохраняет выделенные объекты в файл. Если ничего не выбрано, будут экспортированы все объекты. Учитывайте, что задача модуля Draft - работа с плоскими объектами, так что процедуры импорта фокусируются на двумерных объектах, хотя форматы DXF и OCA так же поддерживают определения объектов в трёхмерном пространстве (объекты не обязательно плоские), они не импортируют объекты вроде сеток, трйхмерных поверхностей и так далее, а только линии, окружности, тексты или плоские фигуры. Ныне поддерживаемые форматы файлов: Верстак Draft позволяет FreeCAD импортировать и экспортировать следующие форматы файлов:

Установка импортёров

Дополнительные возможности

  • Работа с координатами вручную: позволяет вводить координаты вручную, вместо указания их на экране.
  • Геометрические ограничения: ограничивает указатель в горизонтальном или вертикальном перемещении относительно предыдущей точки.
  • Привязка: позволяет разместить новые точки на специальных частях существующих объектов или на сетке.
  • Copy Mode: Все инструменты редактирования могут либо модифицировать выделенный объект или создать его модифицированную копию. Нажатие и удержание Alt во время модификации объекта, то есть перемещения или вращения, создаёт копию при отпускании клавиши.
  • Construction Mode: позволяет создавать отдельную от остальной геометрию, просто включая или выключая этот режим.
  • Рабочая плоскость: позволяет задать плоскость в трёхмерном пространстве, где будут проводиться операции с плоскими фигурами

Модульные тесты

Смотри так же: Test Workbench.

Для запуска модульных тестов рабочей среды выполните следующие действия с терминала операционной системы.

freecad -t TestDraft

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

Инструменты модуля Draft могут использоваться в макросах и в консоли Python, используя программный интерфейс Draft.

Рабочая среда включает модуль для создания образцов всех объектов в новом документе. introduced in version 0.19

Используйте это, чтобы проверить, что все объекты произведены правильно.

import drafttests.draft_test_objects as dto
doc = dto.create_test_file()

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

$INSTALLDIR/Mod/Draft/drafttests/draft_test_objects.py

Где $INSTALLDIR это верхний уровень каталога, где установлена программа, например, в Linux это может быть /usr/share/freecad.

Draft test objects.png

Тестовые объекты верстака Draft.


Учебники

Сценарии и макросы

Макросы

Введение

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

While Python scripts normally have the .py extension, FreeCAD macros should have the .FCMacro extension. A collection of macros written by experienced users is found in the macros recipes page.

See the Power users hub to learn more about the Python programming language, and about writing macros. In particular, you should start with these pages:

Как это работает

Включите вывод в консоль через меню Правка → Настройки → Основные → Макрос → Показывать команды скриптов в консоли Python. Вы увидите, что в FreeCAD, каждое действие что вы совершаете, например, при нажатии кнопки, выводится как команда Python. Эти команды могут быть записаны в макрос. Основным инструментом для создания макросов является панель инструментов макросы: Macros toolbar.jpg. На это у вас есть 4 кнопки: запись(record), остановка записи(stop), редактирования и воспроизведения текущего макроса(edit and play the current macro).

Enable the console output in the menu Edit → Preferences → General → Macro → Show scripts commands in python console. You will see that in FreeCAD, every action you do, such as pressing a button, outputs a Python command. Those commands are what can be recorded in a macro. The main tool for making macros is the macros toolbar: Macros toolbar.jpg. On it you have 4 buttons: Record, stop recording, edit and play the current macro.

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

Macros.png

Диалог Macro, перечисляющий макросы, доступные в системе


Здесь Вы можете управлять своими макросами, удалять, редактировать, дублировать, устанавливать новые с нуля. Если Вы редактируете макрос, он будет открыт в окне редактора, где Вы можете сделать изменения в его код. Новые макросы могут быть установлены используя кнопку Addons..., которая связана с Менеджером дополнений.

Пример

Нажмите кнопку записи(record), дайте имя, скажем, "cylinder 10x10", а затем, в верстаке Part, создайте цилиндр с радиусом = 10 и высотой = 10. Затем нажмите "Остановить запись(stop)" кнопку. В диалоге редактирования макросов, вы можете увидеть Python код, который был записан, и, если вы хотите, произведите изменения в нем. Чтобы выполнить макрос, просто нажмите кнопку execute на панели инструментов, пока ваш макрос в редакторе. Ваш макрос всегда сохраняется на диске, поэтому любые изменения которые вы делаете, или каких-либо новые созданные макросы, всегда будут доступны при следующем запуске FreeCAD.

Press the record button, give a name, let's say "cylinder 10x10", then, in the Part Workbench, create a cylinder with radius = 10 and height = 10. Then, press the "stop recording" button. In the edit macros dialog, you can see the python code that has been recorded, and, if you want, make alterations to it. To execute your macro, simply press the execute button on the toolbar while your macro is in the editor. You macro is always saved to disk, so any change you make, or any new macro you create, will always be available next time you start FreeCAD.

Настройка

Конечно, это не практично загружать макрос в редактор, затем чтобы использовать его. FreeCAD предоставляет гораздо лучшие способы использования макросов, такие как на них назначение клавиш, или добавлении записи в меню. Как только ваш макрос будет создан, все это можно сделать через Инструменты → Настройка

Of course it is not practical to load a macro in the editor in order to use it. FreeCAD provides much better ways to use your macro, such as assigning a keyboard shortcut to it or putting an entry in the menu. Once your macro is created, all this can be done via the Tools → Customize menu.

Macros config.jpg

Customize Toolbars

Таким образом, вы можете сделать ваш макрос реальным инструментом, как и любой стандартный инструмент FreeCAD. Это, приумножает власть Python сценариев в FreeCAD, позволяет с легкостью добавлять ваши собственные инструменты для интерфейса. Читайте дальше, Написание сценариев , если вы хотите знать больше о  сценарияхPython.

See Customize Toolbars for a more detailed description.

Создание макросов без записи

Как установить макрос Вы также можете непосредственно копировать/вставлять Python код в макрос, без записи GUI действий. Просто создайте новый макрос, редактируйте его и вставте код. Затем можно сохранить макрос так же, как вы сохраняете документ FreeCAD. При следующем запуске FreeCAD, макрос появится в пункте меню "Installed Macros".

You can also directly copy/paste python code into a macro, without recording GUI action. Simply create a new macro, edit it, and paste your code. You can then save your macro the same way as you save a FreeCAD document. Next time you start FreeCAD, the macro will appear under the "Installed Macros" item of the Macro menu.

See How to install macros for a more detailed description.

Хранилище макросов

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

Visit the Macros recipes page to pick some useful macros to add to your FreeCAD installation.

You can manually install extensions, however, it is much simpler to just use the Addon Manager.


Введение в Python


Introduction

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

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

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

The interpreter

Usually when writing computer programs, you open a text editor or your special programming environment (which is basically a text editor with some additional tools), write your program, then compile and execute. Often one or more errors were made during entry, so your program won't work. You may even get an error message telling you what went wrong. Then you go back to your text editor, correct the mistakes, run again, repeating until your program works as intended.

In Python that whole process can be done transparently inside the Python interpreter. The interpreter is a Python window with a command prompt, where you can simply type Python code. If you have installed Python on your computer (download it from the Python website if you are on Windows or Mac, install it from your package repository if you are on GNU/Linux), you will have a Python interpreter in your start menu. But, as already mentioned, FreeCAD also has a built-in Python interpreter: the Python console.

FreeCAD Python console.png

The FreeCAD Python console


If you don't see it, click on View → Panels → Python console. The Python console can be resized and also undocked.

The interpreter shows the Python version, then a >>> symbol which is the command prompt. Writing code in the interpreter is simple: one line is one instruction. When you press Enter, your line of code will be executed (after being instantly and invisibly compiled). For example, try writing this:

print("hello")

print() is a Python command that, obviously, prints something on the screen. When you press Enter, the operation is executed, and the message "hello" is printed. If you make an error, for example let's write:

print(hello)

Python will immediately tell you so. In this case Python doesn't know what hello is. The " " characters specify that the content is a string, programming jargon for a piece of text. Without these the print() command doesn't recognize hello. By pressing the up arrow you can go back to the last line of code and correct it.

The Python interpreter also has a built-in help system. Let's say we don't understand what went wrong with print(hello) and we want specific information about the command:

help("print")

You'll get a long and complete description of everything the print() command can do.

Now that you understand the Python interpreter, we can continue with the more serious stuff.

top

Variables

Very often in programming you need to store a value under a name. That's where variables come in. For example, type this:

a = "hello"
print(a)

You probably understand what happened here, we saved the string "hello" under the name a. Now that a is known we can use it anywhere, for example in the print() command. We can use any name we want, we just need to follow some simple rules, such as not using spaces or punctuation and not using Python keywords. For example, we can write:

hello = "my own version of hello"
print(hello)

Now hello is not an undefined any more. Variables can be modified at any time, that's why they are called variables, their content can vary. For example:

myVariable = "hello"
print(myVariable)
myVariable = "good bye"
print(myVariable)

We changed the value of myVariable. We can also copy variables:

var1 = "hello"
var2 = var1
print(var2)

It is advisable to give meaningful names to your variables. After a while you won't remember what your variable named a represents. But if you named it, for example, myWelcomeMessage you'll easily remember its purpose. Plus your code is a step closer to being self-documenting.

Case is very important, myVariable is not the same as myvariable. If you were to enter print(myvariable) it would come back with an error as not defined.

top

Numbers

Of course Python programs can deal with all kinds of data, not just text strings. One thing is important, Python must know what kind of data it is dealing with. We saw in our print hello example, that the print() command recognized our "hello" string. By using " " characters, we specified that what follows is a text string.

We can always check the data type of a variable with the type() command:

myVar = "hello"
type(myVar)

It will tell us the content of myVar is a 'str', which is short for string. We also have other basic data types such as integer and float numbers:

firstNumber = 10
secondNumber = 20
print(firstNumber + secondNumber)
type(firstNumber)

Python knows that 10 and 20 are integer numbers, so they are stored as 'int', and Python can do with them everything it can do with integers. Look at the results of this:

firstNumber = "10"
secondNumber = "20"
print(firstNumber + secondNumber)

Here we forced Python to consider that our two variables are not numbers but pieces of text. Python can add two pieces of text together, although in that case, of course, it won't perform any arithmetic. But we were talking about integer numbers. There are also float numbers. The difference is float numbers can have a decimal part and integer numbers do not:

var1 = 13
var2 = 15.65
print("var1 is of type ", type(var1))
print("var2 is of type ", type(var2))

Integers and floats can be mixed together without problems:

total = var1 + var2
print(total)
print(type(total))

Because var2 is a float Python automatically decides that the result must also be a float. But there are cases where Python does not knows what type to use. For example:

varA = "hello 123"
varB = 456
print(varA + varB)

This results in an error, varA is a string and varB is an integer, and Python doesn't know what to do. However, we can force Python to convert between types:

varA = "hello"
varB = 123
print(varA + str(varB))

Now that both variables are strings the operation works. Note that we "stringified" varB at the time of printing, but we didn't change varB itself. If we wanted to turn varB permanently into a string, we would need to do this:

varB = str(varB)

We can also use int() and float() to convert to integer and float if we want:

varA = "123"
print(int(varA))
print(float(varA))

You must have noticed that we have used the print() command in several ways. We printed variables, sums, several things separated by commas, and even the result of another Python command. Maybe you also saw that these two commands:

type(varA)
print(type(varA))

have the same result. This is because we are in the interpreter, and everything is automatically printed. When we write more complex programs that run outside the interpreter, they won't print automatically, so we'll need to use the print() command. With that in mind let's stop using it here. From now on we will simply write:

myVar = "hello friends"
myVar

top

Lists

Another useful data type is a list. A list is a collection of other data. To define a list we use [ ]:

myList = [1, 2, 3]
type(myList)
myOtherList = ["Bart", "Frank", "Bob"]
myMixedList = ["hello", 345, 34.567]

As you can see a list can contain any type of data. You can do many things with a list. For example, count its items:

len(myOtherList)

Or retrieve one item:

myName = myOtherList[0]
myFriendsName = myOtherList[1]

While the len() command returns the total number of items in a list, the first item in a list is always at position 0, so in our myOtherList "Bob" will be at position 2. We can do much more with lists such as sorting items and removing or adding items.

Interestingly a text string is very similar to a list of characters in Python. Try doing this:

myvar = "hello"
len(myvar)
myvar[2]

Usually what you can do with lists can also be done with strings. In fact both lists and strings are sequences.

Apart from strings, integers, floats and lists, there are more built-in data types, such as dictionaries, and you can even create your own data types with classes.

top

Indentation

One important use of lists is the ability to "browse" through them and do something with each item. For example look at this:

alldaltons = ["Joe", "William", "Jack", "Averell"]
for dalton in alldaltons:
    print(dalton + " Dalton")

We iterated (programming jargon) through our list with the for in command and did something with each of the items. Note the special syntax: the for command terminates with : indicating the following will be a block of one of more commands. In the interpreter, immediately after you enter the command line ending with :, the command prompt will change to ... which means Python knows that there is more to come.

How will Python know how many of the next lines will need to be executed inside the for in operation? For that, Python relies on indentation. The next lines must begin with a blank space, or several blank spaces, or a tab, or several tabs. And as long as the indentation stays the same the lines will be considered part of the for in block. If you begin one line with 2 spaces and the next one with 4, there will be an error. When you have finished, just write another line without indentation, or press Enter to come back from the for in block

Indentation also aids in program readability. If you use large indentations (for example use tabs instead of spaces) when you write a big program, you'll have a clear view of what is executed inside what. We'll see that other commands use indented blocks of code as well.

The for in command can be used for many things that must be done more than once. It can, for example, be combined with the range() command:

serie = range(1, 11)
total = 0
print("sum")
for number in serie:
    print(number)
    total = total + number
print("----")
print(total)

If you have been running the code examples in an interpreter by copy-pasting, you will find the previous block of text will throw an error. Instead, copy to the end of the indented block, i.e. the end of the line total = total + number and then paste in the interpreter. In the interpreter press Enter until the three dot prompt disappears and the code runs. Then copy the final two lines followed by another Enter. The final answer should appear.

If you type into the interpreter help(range) you will see:

range(...)
    range(stop) -> list of integers
    range(start, stop[, step]) -> list of integers

Here the square brackets denote an optional parameter. However all are expected to be integers. Below we will force the step parameter to be an integer using int():

number = 1000
for i in range(0, 180 * number, int(0.5 * number)):
    print(float(i) / number)

Another range() example:

alldaltons = ["Joe", "William", "Jack", "Averell"]
for n in range(4):
    print(alldaltons[n], " is Dalton number ", n)

The range() command also has that strange particularity that it begins with 0 (if you don't specify the starting number) and that its last number will be one less than the ending number you specify. That is, of course, so it works well with other Python commands. For example:

alldaltons = ["Joe", "William", "Jack", "Averell"]
total = len(alldaltons)
for n in range(total):
    print(alldaltons[n])

Another interesting use of indented blocks is with the if command. This command executes a code block only if a certain condition is met, for example:

alldaltons = ["Joe", "William", "Jack", "Averell"]
if "Joe" in alldaltons:
    print("We found that Dalton!!!")

Of course this will always print the sentence, but try replacing the second line with:

if "Lucky" in alldaltons:

Then nothing is printed. We can also specify an else statement:

alldaltons = ["Joe", "William", "Jack", "Averell"]
if "Lucky" in alldaltons:
    print("We found that Dalton!!!")
else:
    print("Such Dalton doesn't exist!")

top

Functions

There are very few standard Python commands and we already know several of them. But you can create your own commands. In fact, most of the additional modules that you can plug into your Python installation do just that, they add commands that you can use. A custom command in Python is called a function and is made like this:

def printsqm(myValue):
    print(str(myValue) + " square meters")

printsqm(45)

The def() command defines a new function, you give it a name, and inside the parenthesis you define the arguments that the function will use. Arguments are data that will be passed to the function. For example, look at the len() command. If you just write len(), Python will tell you it needs an argument. Which is obvious: you want to know the length of something. If you write len(myList) then myList is the argument that you pass to the len() function. And the len() function is defined in such a way that it knows what to do with this argument. We have done the same thing with our printsqm function.

The myValue name can be anything, and it will only be used inside the function. It is just a name you give to the argument so you can do something with it. By defining arguments you also to tell the function how many to expect. For example, if you do this:

printsqm(45, 34)

there will be an error. Our function was programmed to receive just one argument, but it received two, 45 and 34. Let's try another example:

def sum(val1, val2):
    total = val1 + val2
    return total

myTotal = sum(45, 34)

Here we made a function that receives two arguments, sums them, and returns that value. Returning something is very useful, because we can do something with the result, such as store it in the myTotal variable.

top

Modules

Now that you have a good idea of how Python works, you will need to know one more thing: How to work with files and modules.

Until now, we have written Python instructions line by line in the interpreter. This method is obviously not suitable for larger programs. Normally the code for Python programs is stored in files with the .py extension. Which are just plain text files and any text editor (Linux gedit, emacs, vi or even Windows Notepad) can be used to create and edit them.

There are several of ways to execute a Python program. In Windows, simply right-click your file, open it with Python, and execute it. But you can also execute it from the Python interpreter itself. For this, the interpreter must know where your program is. In FreeCAD the easiest way is to place your program in a folder that FreeCAD's Python interpreter knows by default, such as FreeCAD's user Mod folder:

  • On Linux it is usually /home/<username>/.FreeCAD/Mod/.
  • On Windows it is %APPDATA%\FreeCAD\Mod\, which is usually C:\Users\<username>\Appdata\Roaming\FreeCAD\Mod\.
  • On Mac OSX it is usually /Users/<username>/Library/Preferences/FreeCAD/Mod/.

Let's add a subfolder there called scripts and then write a file like this:

def sum(a,b):
    return a + b

print("myTest.py succesfully loaded")

Save the file as myTest.py in the scripts folder, and in the interpreter window write:

import myTest

without the .py extension. This will execute the contents of the file, line by line, just as if we had written it in the interpreter. The sum function will be created, and the message will be printed. Files containing functions, like ours, are called modules.

When we write a sum() function in the interpreter, we execute it like this:

sum(14, 45)

But when we import a module containing a sum() function the syntax is a bit different:

myTest.sum(14, 45)

That is, the module is imported as a "container", and all its functions are inside that container. This is very useful, because we can import a lot of modules, and keep everything well organized. Basically when you see something.somethingElse, with a dot in between, then this means somethingElse is inside something.

We can also import our sum() function directly into the main interpreter space:

from myTest import *
sum(12, 54)

Almost all modules do that: they define functions, new data types and classes that you can use in the interpreter or in your own Python modules, because nothing prevents you from importing other modules inside your module!

How do we know what modules we have, what functions are inside and how to use them (that is, what kind of arguments they need)? We have already seen that Python has a help() function. Doing:

help("modules")

will give us a list of all available modules. We can import any of them and browse their content with the dir() command:

import math
dir(math)

We'll see all the functions contained in the math module, as well as strange stuff named __doc__, __file__, __name__. Every function in a well made module has a __doc__ that explains how to use it. For example, we see that there is a sin() function inside the math module. Want to know how to use it?

print(math.sin.__doc__)

It may not be evident, but on either side of doc are two underscore characters.

And finally one last tip: When working on new or existing code, it is better to not use the FreeCAD macro file extension, .FCMacro, but instead use the standard .py extension. This is because Python doesn't recognize the .FCMacro extension. If you use .py your code can be easily loaded with import, as we have already seen, and also reloaded with importlib.reload():

import importlib
importlib.reload(myTest)

There is however an alternative:

exec(open("C:/PathToMyMacro/myMacro.FCMacro").read())

top

Starting with FreeCAD

Hopefully you now have a good idea of how Python works, and you can start exploring what FreeCAD has to offer. FreeCAD's Python functions are all well organized in different modules. Some of them are already loaded (imported) when you start FreeCAD. Just try:

dir()

top

Notes

  • FreeCAD was originally designed to work with Python 2. Since Python 2 reached the end of its life in 2020, future development of FreeCAD will be done exclusively with Python 3, and backwards compatibility will not be supported.
  • Much more information about Python can be found in the official Python tutorial and the official Python reference.

top


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

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

FreeCAD is built from scratch to be totally controlled by Python scripts. Almost all parts of FreeCAD, such as the interface, the scene contents, and even the representation of this content in the 3D views, are accessible from the built-in Python interpreter or from your own scripts. As a result, FreeCAD is probably one of the most deeply customizable engineering applications available today.

Если вы не знакомы с Python, мы рекомендуем Вам искать учебники по интернету, и бегло взглянуть на его структуру. Python это очень простой язык для обучения, особенно потому, он может быть сразу запущен внутри интерпритатора, где и простая команда и готовая программа может быть выполнена "на лету", без необходимости компилировать что-либо. FreeCAD имеет встроенный в Python интерпритатор. Если вы не видите окно с надписью «Консоль Python», как показано ниже, вы можете активировать его через Вид → Панели → Консоль Python, чтобы вызвать интерпретатор.

Интерпретатор

В интерпретаторе , вы можете получить доступ к установленным в вашей системе модулям Python, а также встроенным модулям FreeCAD, и всем дополнительным модулям FreeCAD что вы установите позже. Скриншот ниже показывает, Python интерпретатор:

From the interpreter, you can access all your system-installed Python modules, as well as the built-in FreeCAD modules, and all additional FreeCAD modules you installed later. The screenshot below shows the Python interpreter:

The FreeCAD Python interpreter

В интепритаторе, вы можете выполнять код Python и просматривать доступные классы и функции. FreeCAD предоставляет очень удобный браузер классов для освоения нового мира FreeCAD: Когда вы вводите имя известного класса после точки сразу же появляется (то есть вы хотите добавить что-то из этого класса), окно браузера, где вы можете перемещаться между имеющимися подклассами и методами. При выборе если существует, связанный текст справка, то он отображается:

The FreeCAD class browser

Таким образом, сначало наберите App. илиGui. посмотрите, что происходит. Другой, более общий Python метод изучения содержимого модулей и классов является использование команды dir(). Например, ввод print dir() выведет список всех модулей, загруженных в FreeCAD. print dir(App) покажет вам все, что содержит App модуль и.т.д.

Еще одна полезная особенность интерпритатора возможность вернуться назад по истории команд и извлечь строки кода, которые вы уже набрали ранее. Для перемещения по истории команд, просто используйте CTRL+UP или CTRL+DOWN.

Щелкнув правой кнопкой мыши в окне интерпритатора, у вас также есть несколько других опций, таких как копирование всей истории (полезно для эксперимента что-то сделать, а затем получить полный сценарий этого), или вставить имя файла с полным путем.

top

Python Help

В меню Help, вы найдете раздел "Automatic python modules documentation", при открытии которого откроется окно браузера, содержащего полную, создаваемую в реальном времени, документацию всех модулей Python, доступных в интерпретаторе FreeCAD, встроенных модулях Python и FreeCAD, установленных в систему модулей и дополнительные модулей FreeCAD. Доступна ли документация зависит от того, сколько усилий разработчик каждого модуля приложил к документированию своего кода, но, как правило Python модули имеют репутацию хорошо задокументированных. Ваше окно FreeCAD должно оставаться открытым для того чтобы система документации работала. В разделе «Помощь Python» находится ссылка на этот вики-раздел «User Hub».

In the FreeCAD Help menu, you'll find an entry labeled Automatic python modules documentation, which will open a browser window containing a complete, realtime-generated documentation of all Python modules available to the FreeCAD interpreter, including Python and FreeCAD built-in modules, system-installed modules, and FreeCAD additional modules. The documentation available there depends on how much effort each module developer put into documenting his code, but Python modules have a reputation for being fairly well documented. Your FreeCAD window must stay open for this documentation system to work. The entry Python scripting documentation will give you a quick link to the Power users hub wiki section.

top

Встроеные модули

С FreeCAD предназначена для запуска без графического интерфейса пользователя, почти все функциональные возможности разделены на две группы: Базовая функциональности, названные App, и Gui функциональность, названный Gui. Таким образом, наши два основных встроенных в FreeCAD модуля называются App и Gui. Эти два модуля можно также подключить из сценариев, вне интерпретатора, с соответствующими названиями FreeCAD и FreeCADGui.

Since FreeCAD is designed so that it can also be run without a Graphical User Interface (GUI), almost all its functionality is separated into two groups: Core functionality, named App, and GUI functionality, named Gui. These two modules can also be accessed from scripts outside of the interpreter, by the names FreeCAD and FreeCADGui respectively.

  • В App модуле, вы найдете все, связанное с самим приложением, такие методы как открытия или закрытия файлов, а также документов, как настройка активного документа или объявление его содержания.
  • В Gui модуле, вы найдете инструменты для доступа и управления элементами графического интерфейса, такими как инструментарии и и их панели инструментов, и, что более интересно, графическое представление всего содержимого FreeCAD.

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

top

Объекты модулей App и Gui

Как мы уже говорили, в FreeCAD, всё разделенные между основным и представлением. Это включает в себя и 3D-объекты. Вы можете получить доступ определяющим свойствам объектов (одна из особенностей FreeCAD) с помощью модуля App, и измененить то, как они представлены на экране с помощью модуля Gui. Например, куб имеет свойства, которые определяют его, такие как ширина, длина, высота, они хранятся в App объекта, а представление свойств, таких как цвета граней, режим отрисовки, хранятся в соответствующем Gui объекте.

As already mentioned, in FreeCAD everything is separated into core and representation. This includes the 3D objects. You can access defining properties of objects (called features in FreeCAD) via the App module, and change the way they are represented on screen via the Gui module. For example, a cube has properties that define it (like width, length, height) that are stored in an App object, and representation properties (like faces color, drawing mode) that are stored in a corresponding Gui object.

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

Для каждого App объекта в вашем документе, существует соответствующий объект Gui. Сам документ, собственно, также App и Gui объект. Это, конечно, действует только при запуске FreeCAD с полным интерфейсом. В режиме командной строки ,без графического интерфейса , доступны только App объекты. Обратите внимание, что часть Gui объектов создается снова каждый раз когдат App объект отмечен как "to be recomputed"[вольно:был пересчитан] (например, когда один из его параметров изменился), поэтому изменения, которые вы могли сделать непосредственно на Gui объекте, могут быть потеряны.

чтобы получить доступ к App части, введите:

myObject = App.ActiveDocument.getObject("ObjectName")

где "ObjectName это имя вашего объекта. Вы также можете ввести:

myObject = App.ActiveDocument.ObjectName

чтобы получить доступ к Gui части некоторого объекта, введите:

myViewObject = Gui.ActiveDocument.getObject("ObjectName")

где "ObjectName это имя вашего объекта. Вы также можете ввести:

myViewObject = App.ActiveDocument.ObjectName.ViewObject

If we have no GUI (for example we are in command line mode), the last line will return None. Если у нас нет графического интерфейса (например, мы находимся в режиме командной строки), последняя строка вернет None.

top

Объекты документа

В FreeCAD всё над чем вы работаете находится внутри документов. Документ содержит вашу геометрию и может быть сохранен в файл. Одновременно может быть открыто несколько документов. Документ, также как и геометрия, содержащиеся внутри него, имеет App и Gui части . App часть содержит вашу фактически определенную геометрию, в то время как Gui часть содержит различные отображения(views) вашего документа. Вы можете открывать несколько окон, каждое из которых отображение вашей работы с различным масштабом или точкой зрения. Эти виды являются входят в Gui часть вашего документа.

In FreeCAD all your work resides inside documents. A document contains your geometry and can be saved to a file. Several documents can be opened at the same time. The document, like the geometry contained inside, has App and Gui objects. The App object contains your actual geometry definitions, while the Gui object contains the different views of your document. You can open several windows, each one viewing your work with a different zoom factor or from a different direction. These views are all part of your document's Gui object.

Чтобы получить доступ к App части текущего открытого (активного) документа, введите:

myDocument = App.ActiveDocument

Чтобы создать новый документ, введите:

myDocument = App.newDocument("Document Name")

Чтобы получить доступ к Gui части текущего открытого (активного) документа, введите:

myGuiDocument = Gui.ActiveDocument

чтобы получить доступ к текущему виду, введите:

myView = Gui.ActiveDocument.ActiveView

top

Использование дополнительных модулей

Модули FreeCAD и FreeCADGui отвечают за создание и управление объектами в документе FreeCAD. Они не занимаются созданием или изменением геометрии. Это потому, что эта геометрия может быть нескольких типов, и поэтому она управляется дополнительными модулями, каждый из которых отвечает за управление определенным типом геометрии. Например, Модуль Part использует ядро OpenCascade и поэтому может создавать и манипулировать геометрией типа B-rep, что и является предназначением OpenCascade. Модуль Mesh может создавать и модифицировать объекты типа сетка. Таким образом, FreeCAD может обрабатывать самые разные типы объектов, которые могут сосуществовать в одном документе, и новые типы могут быть легко добавлены в будущем.

The FreeCAD and FreeCADGui modules are only responsible for creating and managing objects in the FreeCAD document. They don't actually do anything more such as creating or modifying geometry. This is because that geometry can be of several types, and therefore requires additional modules, each responsible for managing a certain geometry type. For example, the Part Module, using the OpenCascade kernel, is able to create and manipulate BRep type geometry. Whereas the Mesh Module is able to build and modify mesh objects. In this manner FreeCAD is able to handle a wide variety of object types, that can all coexist in the same document, and new types can easily be added in the future.

top

Создание объектов

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

Each module has its own way of dealing with geometry, but one thing they usually all can do is create objects in the document. But the FreeCAD document is also aware of the available object types provided by the modules:

FreeCAD.ActiveDocument.supportedTypes()

перечислит вам все возможные объекты, которые вы можете создать. Например, давайте создадим сетку (обработанную модулем Mesh) и деталь (обработанную модулем Part):

myMesh = FreeCAD.ActiveDocument.addObject("Mesh::Feature", "myMeshName")
myPart = FreeCAD.ActiveDocument.addObject("Part::Feature", "myPartName")

Первый аргумент - это тип объекта, второй - имя объекта. Наши два объекта выглядят почти одинаково: они еще не содержат никакой геометрии, и большинство их свойств одинаковы, когда вы проверяете их с помощью dir (myMesh) и dir (myPart). За исключением одного, myMesh имеет свойство «Mesh», а «Part» - свойство «Shape». Здесь хранятся данные Mesh и Part. Например, давайте создадим куб Part и сохраним его в нашем объекте myPart:

import Part
cube = Part.makeBox(2, 2, 2)
myPart.Shape = cube

Вы можете попытаться сохранить куб в свойстве Mesh объекта myMesh, он вернет сообщение об ошибке неправильного типа. Это происходит из-за того, что эти свойства предназначены для хранения только определенного типа. В свойстве Mesh myMesh вы можете сохранять только то, что создано с помощью модуля Mesh. Обратите внимание, что большинство модулей также имеют ярлык для добавления своей геометрии в документ:

import Part
cube = Part.makeBox(2, 2, 2)
Part.show(cube)

top

Изменение объектов

Модификация объекта выполняется так же:

Modifying an object is done in the same way:

import Part
cube = Part.makeBox(2, 2, 2)
myPart.Shape = cube

Теперь давайте изменим форму на большую:

biggercube = Part.makeBox(5, 5, 5)
myPart.Shape = biggercube

top

Запрос объектов

Вы всегда можете посмотреть на тип объекта следующим образом:

You can always look at the type of an object like this:

myObj = FreeCAD.ActiveDocument.getObject("myObjectName")
print(myObj.TypeId)

или узнать, является ли объект производным от одного из базовых объектов (элемент детали, элемент сетки и т.д.):

print(myObj.isDerivedFrom("Part::Feature"))

Теперь вы действительно можете начать играть с FreeCAD! Чтобы узнать, что вы можете сделать с помощью Part Module, прочитайте страницу Part scripting или страницу Mesh Scripting для работы с Модуль Mesh. Обратите внимание, что хотя модули Part и Mesh являются наиболее полными и широко используемыми, другие модули, такие как Draft Module, также имеют API для написания скриптов, которые могут быть вам полезны. Полный список всех модулей и доступных инструментов см. в разделе Category:API.

top


Введение

Прежде всего вы должны импортировать Mesh модуль:

import Mesh

После этого вы получаете доступ к Mesh модулю и классам Mesh которые сообщаются с с функциями FreeCAD C++ Mesh-Kernel.

Создание и Загрузка

Чтобы создать простейший полигональный (сеточный) объект, просто используйте стандартный конструктор:

mesh = Mesh.Mesh()

Вы также можете создать объект из файла

mesh = Mesh.Mesh('D:/temp/Something.stl')

Какие файловые форматы вы можете использовать для создания полигиональных объектов написано здесь.

Или создайте его из множества треугольников, задав их вершины:

planarMesh = [
# triangle 1
[-0.5000, -0.5000, 0.0000], [0.5000, 0.5000, 0.0000], [-0.5000, 0.5000, 0.0000],
#triangle 2
[-0.5000, -0.5000, 0.0000], [0.5000, -0.5000, 0.0000], [0.5000, 0.5000, 0.0000],
]
planarMeshObject = Mesh.Mesh(planarMesh)
Mesh.show(planarMeshObject)

Mesh-Ядро заботится о создании топологического правильной структуры данных сортируя совпадающие точки и края вместе.

Позже вы увидете как можно протестировать и изучить полигиональные(сеточные) данные.

top

Моделирование

Для создания обычной геометрии вы можете использовать Python сценарий BuildRegularGeoms.py.

To create regular geometries you can use the Python script BuildRegularGeoms.py.

import BuildRegularGeoms

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

t = BuildRegularGeoms.Toroid(8.0, 2.0, 50) # list with several thousands triangles
m = Mesh.Mesh(t)

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

m1, m2              # are the input mesh objects
m3 = Mesh.Mesh(m1)  # create a copy of m1
m3.unite(m2)        # union of m1 and m2, the result is stored in m3
m4 = Mesh.Mesh(m1)
m4.intersect(m2)    # intersection of m1 and m2
m5 = Mesh.Mesh(m1)
m5.difference(m2)   # the difference of m1 and m2
m6 = Mesh.Mesh(m2)
m6.difference(m1)   # the difference of m2 and m1, usually the result is different to m5

Наконец, полный пример, который вычисляет пересечение сферы и цилиндра, пересекающего сферу.

import Mesh, BuildRegularGeoms
sphere = Mesh.Mesh(BuildRegularGeoms.Sphere(5.0, 50))
cylinder = Mesh.Mesh(BuildRegularGeoms.Cylinder(2.0, 10.0, True, 1.0, 50))
diff = sphere
diff = diff.difference(cylinder)
d = FreeCAD.newDocument()
d.addObject("Mesh::Feature", "Diff_Sphere_Cylinder").Mesh = diff
d.recompute()

top

Экспортирование

Вы также можете записать полигональную модель как модуль Python:

m.write("D:/Develop/Projekte/FreeCAD/FreeCAD_0.7/Mod/Mesh/SavedMesh.py")
import SavedMesh
m2 = Mesh.Mesh(SavedMesh.faces)

top

Всякая всячина

Трудно, широко использовать источники полигональной модели связанные с сценарием, все это тестирование написания сценариев для полигонального модуля В этих тестах модуля буквально все методы вызываются и все свойства/атрибуты вымышлены. Так что если вы достаточно смелы, взгляните на Unit Test module.

An extensive (though hard to use) source of Mesh related scripting are the unit test scripts of the Mesh-Module. In this unit tests literally all methods are called and all properties/attributes are tweaked. So if you are bold enough, take a look at the Unit Test module.

See also Mesh API

top


Base ExampleCommandModel.png Руководство

Тема
Programming
уровень
Intermediate
Время для завершения
автор
FreeCAD версия
Пример файла (ов)



На этой странице описаны несколько методов создания и изменения Part shape из python. Перед прочтением этой страницы, если вы новичок в python, полезно прочитать о скриптинге на python и Как работает скриптинг на Python во FreeCAD.

Введение

Здесь мы объясним вам, как управлять модулем Part непосредственно из интерпретатора Python FreeCAD или из любого внешнего сценария. Основы создания сценариев топологических данных описаны в объяснение концепции модуля Part. Обязательно просмотрите раздел Scripting и страницы Основы скриптинга FreeCAD, если вам нужна дополнительная информация о том, как работает python-скриптинг во FreeCAD .

Диаграмма Классов

Это обзор наиболее важных классов модуля Part через Unified Modeling Language (UML):

Классы Python, содержащиеся в модуле Part

Геометрия

Геометрические объекты являются строительными блоками для всех топологических объектов:

  • GEOM Базовый класс геометрических объектов
  • LINE Прямая линия в 3D, задается начальной и конечной точкой
  • CIRCLE Окружность или дуга задается центром, начальной и конечной точкой
  • ...... И вскоре еще немного

Топология

Доступны нижеследующие топологические типы данных:

  • COMPOUND Группа из топологических объектов любого типа.
  • COMPSOLID Составное твердое тело, как набор твердых тел соединенными гранями. Он расширяет понятие Ломаной кривой(WIRE) и оболочки(SHELL) для твердых тел.
  • SOLID Часть пространства ограниченная оболочкой. Она трехмерная.
  • SHELL Набор граней соединенных между собой через ребра. Оболочки могут быть открытыми или закрытыми.
  • FACE В 2D это часть плоскости; в 3D это часть поверхности. Это геометрия ограничена (обрезана) по контурам. Она двухмерная.
  • WIRE Набор ребер соединенных через вершины. Он может быть как открытым, так и закрытым в зависимости от того связаны ли крайние ребра или нет.
  • EDGE Топологический элемент соответствующий ограниченной кривой. Ребро как правило ограничивается вершинами. Оно одномерное.
  • VERTEX Топологический элемент соответствующий точке. Обладает нулевой размерность.
  • SHAPE общий термин охватывающий все выше сказанное.

Примеры: Создание простейшей топологии =

Wire


Теперь мы создадим топологию из геометрических примитивов. Для изучения мы используем деталь(part), как показано на картинке состоящую из четырех вершин, двух окружностей и двух линий.

Создание Геометрии

Cначала мы должны создать отдельную деталь из данной ломаной. И мы должны убедиться что вершины геометрических частей расположены на тех же позициях. В противном случае позже мы не смогли бы соединить геометрические части в топологию!

Итак, сначала мы создаем точки:

from FreeCAD import Base
V1 = Base.Vector(0,10,0)
V2 = Base.Vector(30,10,0)
V3 = Base.Vector(30,-10,0)
V4 = Base.Vector(0,-10,0)

Дуга

Circle


Для создания дугу окружности нам нужно создать вспомогательную точку и провести дугу через три точки:

VC1 = Base.Vector(-10,0,0)
C1 = Part.Arc(V1,VC1,V4)
# and the second one
VC2 = Base.Vector(40,0,0)
C2 = Part.Arc(V2,VC2,V3)

Линия

Line


Линия может быть очень просто создана из точек:

L1 = Part.LineSegment(V1,V2)
# and the second one
L2 = Part.LineSegment(V3,V4)

«Примечание: в FreeCAD 0.16 использовалась команда Part.Line, для FreeCAD 0.17 необходимо использовать Part.LineSegment»

Соединяем все вместе

Последний шаг - собираем все основные геометрические элементы вместе и получаем форму:

S1 = Part.Shape([C1,L1,C2,L2])

Создание призмы

Теперь вытягиваем ломанную по направлению и фактически получаем 3D форму:

W = Part.Wire(S1.Edges)
P = W.extrude(Base.Vector(0,0,10))

Показать все

Part.show(P)

Создание основных фигур

Вы легко можете создать базовый топологический объект с помощью методов "make...()" содержащихся в модуле Part:

b = Part.makeBox(100,100,100)
Part.show(b)

Доступные make...() методы:

  • makeBox(l,w,h,[p,d]) : создает прямоугольник, с началом в точке p и вытянутый в направлении d с размерами (l,w,h) По умолчанию p установлен как Vector(0,0,0) и d установлен как Vector(0,0,1)
  • makeCircle(radius,[p,d,angle1,angle2]) -- Создает окружность с заданным радиусом. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0 и angle2=360
  • makeCone(radius1,radius2,height,[p,d,angle]) -- Создает конус с заданным радиусами и высотой. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1) и angle=360
  • makeCylinder(radius,height,[p,d,angle]) -- Создает цилиндр с заданным радиусом и высотой. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1) и angle=360
  • makeLine((x1,y1,z1),(x2,y2,z2)) -- Создает линию проходящую через две точки
  • makePlane(length,width,[p,d]) -- Создает плоскость с заданной длинной и шириной. По умолчанию p=Vector(0,0,0) и d=Vector(0,0,1)
  • makePolygon(list) -- Создает многоугольник из списка точек
  • makeSphere(radius,[p,d,angle1,angle2,angle3]) -- Создает сферу с заданным радиусом. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0, angle2=90 и angle3=360
  • makeTorus(radius1,radius2,[p,d,angle1,angle2,angle3]) -- Создает тор по заданными радиусам.По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0, angle2=360 и angle3=360

На странице Part API приведен полный список доступных методов модуля Part.

Импорт необходимых модулей

Сначала нам нужно импортировать модуль Part, чтобы мы могли использовать его содержимое в python. Также импортируем модуль Base из модуля FreeCAD:

import Part
from FreeCAD import Base

Создание вектора

Векторы являются одними из самых важных частей информации при построении фигур. Они обычно содержат три числа (но не всегда): декартовы координаты x, y и z. Для создания вектора введите:

myVector = Base.Vector(3,2,0)

Мы только что создали вектор с координатами x = 3, y = 2, z = 0. В модуле Part векторы используются повсеместно. Формы детали также используют другой тип представления точек, называемый Vertex, который является просто контейнером для вектора. Вы можете получить доступ к вектору вершины следующим образом:

myVertex = myShape.Vertexes[0]
print myVertex.Point
> Vector (3, 2, 0)

Как создать Ребро?

Ребра не что иное как линия с двумя вершинами:

edge = Part.makeLine((0,0,0), (10,0,0))
edge.Vertexes
> [<Vertex object at 01877430>, <Vertex object at 014888E0>]

Примечание: Вы можете создать ребро передав два вектора.

vec1 = Base.Vector(0,0,0)
vec2 = Base.Vector(10,0,0)
line = Part.LineSegment(vec1,vec2)
edge = line.toShape()

Вы можете узнать длину и центр ребра, вот так:

edge.Length
> 10.0
edge.CenterOfMass
> Vector (5, 0, 0)

Вывод фигуры на экран

До сих пор мы создали объект ребро, но не увидели его на экране. Это связано с тем, что 3D-сцена FreeCAD отображает только то, что указано для отображения. Для этого мы используем этот простой метод:

Part.show(edge)

Функция show создает объект "shape" в нашем FreeCAD документе. Используйте это всякий раз, когда пришло время показать свое творение на экране.

Как создать ломанную кривую?

Ломаная представляет собой многогранную линию и может быть создан из списка ребер или даже из списка ломаных:

edge1 = Part.makeLine((0,0,0), (10,0,0))
edge2 = Part.makeLine((10,0,0), (10,10,0))
wire1 = Part.Wire([edge1,edge2]) 
edge3 = Part.makeLine((10,10,0), (0,10,0))
edge4 = Part.makeLine((0,10,0), (0,0,0))
wire2 = Part.Wire([edge3,edge4])
wire3 = Part.Wire([wire1,wire2])
wire3.Edges
> [<Edge object at 016695F8>, <Edge object at 0197AED8>, <Edge object at 01828B20>, <Edge object at 0190A788>]
Part.show(wire3)

Part.show(wire3) пакажет 4 ребра, из которых состоит наша ломаная линяи. Другая полезная информация может быть легко найдена:

wire3.Length
> 40.0
wire3.CenterOfMass
> Vector (5, 5, 0)
wire3.isClosed()
> True
wire2.isClosed()
> False

Как создать Грань?

Только грани, созданные из замкнутых ломаных, будут действительными. В этом примере wire3 является замкнутой ломаной, но wire2 не является замкнутым (см. выше)

face = Part.Face(wire3)
face.Area
> 99.999999999999972
face.CenterOfMass
> Vector (5, 5, 0)
face.Length
> 40.0
face.isValid()
> True
sface = Part.Face(wire2)
face.isValid()
> False

Только грани обладают поверхностью, а не ломанные и ребра.

Как создать окружность?

Круг можно создать просто введя:

circle = Part.makeCircle(10)
circle.Curve
> Circle (Radius : 10, Position : (0, 0, 0), Direction : (0, 0, 1))

Если вы хотите создать её с определенным положением и в определенном направлении

ccircle = Part.makeCircle(10, Base.Vector(10,0,0), Base.Vector(1,0,0))
ccircle.Curve
> Circle (Radius : 10, Position : (10, 0, 0), Direction : (1, 0, 0))

ccircle будет создана на расстоянии 10 от начала координат x и будет направлена вдоль оси x. Примечание: makeCircle принимает только тип Base.Vector() в качестве позиции и нормали. Вы также можете создать часть окружности, задав начальный и конечный угол:

from math import pi
arc1 = Part.makeCircle(10, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 180)
arc2 = Part.makeCircle(10, Base.Vector(0,0,0), Base.Vector(0,0,1), 180, 360)

Обе arc1 и arc2 вместе составляют окружность. Углы задаются в градусах, если вы хотите задать радианами, просто преобразуйте используя формулу: degrees = radians * 180/PI или используя math модуль python-а (прежде, конечно, выполнив import math): degrees = math.degrees(radians)

degrees = math.degrees(radians)

Как создать Дугу по точкам?

К сожалению нет функции makeArc, но у нас есть функция Part.Arc для создания дуги через три точки. Она создает объект дуги, соединяющий начальную точку с конечной точкой через среднюю точку. Функция .toShape() объекта дуги должна вызываться для получения объекта ребра, так же, как при использовании Part.LineSegment вместо Part.makeLine.

arc = Part.Arc(Base.Vector(0,0,0),Base.Vector(0,5,0),Base.Vector(5,5,0))
arc
> <Arc object>
arc_edge = arc.toShape()

Arc принимает только Base.Vector() для точек. arc_edge - это то, что нам нужно, и мы можем отобразить его с помощью Part.show(arc_edge). Вы также можете получить дугу, используя часть круга:

from math import pi
circle = Part.Circle(Base.Vector(0,0,0),Base.Vector(0,0,1),10)
arc = Part.Arc(circle,0,pi)

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

Как создать многоугольник или линию по точкам?

Линия по нескольким точкам, не что иное как создание ломаной с множеством ребер. функция makePolygon берет список точек и создает ломанную по этим точкам:

lshape_wire = Part.makePolygon([Base.Vector(0,5,0),Base.Vector(0,0,0),Base.Vector(5,0,0)])

Создание кривой Безье

Кривые Безье используются для моделирования гладких кривых с использованием ряда полюсов (точек) и необязательных весов. Функция ниже делает Part.BezierCurve из ряда точек FreeCAD.Vector. (Примечание: при «получении» и «установке» одного полюса или веса индексы начинаются с 1, а не с 0.)

def makeBCurveEdge(Points):
   geomCurve = Part.BezierCurve()
   geomCurve.setPoles(Points)
   edge = Part.Edge(geomCurve)
   return(edge)

Как создать плоскость?

Плоскость это ровная поверхность, в смысле 2D грань. Метод создания её это makePlane(length,width,[start_pnt,dir_normal]). По умолчанию start_pnt=Vector(0,0,0) и dir_normal=Vector(0,0,1). Используя dir_normal = Vector(0,0,1) создаёт плоскость, обращённую к положительному направлению оси z, в то время как dir_normal=Vector(1,0,0) создаёт плоскость обращённую к положительному направлению оси х:

plane = Part.makePlane(2,2)
plane
><Face object at 028AF990>
plane = Part.makePlane(2, 2, Base.Vector(3,0,0), Base.Vector(0,1,0))
plane.BoundBox
> BoundBox (3, 0, 0, 5, 0, 2)

BoundBox является параллелепипед вмещающих плоскость с диагональю, начиная с (3,0,0) и концом в (5,0,2). Здесь толщина BoundBoxпо оси y равна нулю, поскольку его форма полностью плоская.

Примечание: makePlane доступны только Base.Vector() для задания start_pnt и dir_normal а не кортежи

Как создать эллипс?

Создать эллипс можно несколькими путями:

Part.Ellipse()

Создает эллипс с большой полуосью 2 и малой полуосью 1 с центром в (0,0,0)

Part.Ellipse(Ellipse)

Создает копию данного эллипса.

Part.Ellipse(S1,S2,Center)

Создаст эллипс с центров точке Center, где плоскость эллипса определяет Center, S1 и S2, это большая ось ззаданная Center и S1, это больший радиус расстояние между Center и S1, и меньший радиус это расстояние между S2 и юольшей осью.

Part.Ellipse(Center,MajorRadius,MinorRadius)

Создает эллипс с большим и меньшим радиусом MajorRadius и MinorRadius, расположенными в плоскости заданной точкой Center и нормалью (0,0,1)

eli = Part.Ellipse(Base.Vector(10,0,0),Base.Vector(0,5,0),Base.Vector(0,0,0))
Part.show(eli.toShape())

В приведенном выше коде мы ввели S1, S2 и center. Аналогично Дуге, Эллипс также создает объект, а не ребро, так что мы должны превратить его в ребро используя toShape() для отображения

Примечание: Дуга допускает только Base.Vector() для задания точек, а не кортеж.

eli = Part.Ellipse(Base.Vector(0,0,0),10,5)
Part.show(eli.toShape())

для вышеуказанного конструктора Ellipse мы передали center, MajorRadius и MinorRadius.

Как создать Тор?

Используя makeTorus(radius1,radius2,[pnt,dir,angle1,angle2,angle]). По умолчанию pnt=Vector(0,0,0), dir=Vector(0,0,1), angle1=0,angle2=360 и angle=360

Рассмотрим тор как маленький круг, вытянутый вдоль большого круга. Radius1 это радиус большого круга, radius2 это радиус малого круга, pnt это центр тора и dir это направление нормали. angle1 и angle2 углы в радианах для малого круга, последний параметр angle для создания секцию (части) тора:

torus = Part.makeTorus(10, 2)

В коде выше, был создан тор с диаметром 20 (радиус 10) и толщиной 4 (малая окружность радиусом 2)

tor=Part.makeTorus(10, 5, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 180)

В приведенном выше коде, создан кусочек тора.

tor=Part.makeTorus(10, 5, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 360, 180)

В приведенном выше коде, создан полу-тор, изменен только последний параметр. Т.е. angle а остальные углы установлены по умолчанию. Подстановка угла 180 создаст тор от 0 до 180, т.е. половину тора.

Как создать блок или параллелепипед?

Используя makeBox(length,width,height,[pnt,dir]), создаем блок расположенный в pnt с размерами (length,width,height). По умолчанию pnt=Vector(0,0,0) и dir=Vector(0,0,1).

box = Part.makeBox(10,10,10)
len(box.Vertexes)
> 8

Как создать Сферу?

Используя makeSphere(radius,[pnt, dir, angle1,angle2,angle3]). По умолчанию pnt=Vector(0,0,0), dir=Vector(0,0,1), angle1=-90, angle2=90 и angle3=360. angle1 и angle2 это вертикальный минимум и максимум сферы (срезает часть сферы снизу или сверху), angle3 is the sphere diameter (определяет замкнутое ли это тело вращения или его секция).

sphere = Part.makeSphere(10)
hemisphere =