Power users hub/ru



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

Одной из самых приятных особенностей FreeCAD, это то что вы можете написать сценарий и расширить его по максимуму, без какой либо компиляции исходного кода. Вся сценарная часть пишется на языке python, очень мощном, но простом языке программирования. С помощью простых python сценариев, вы получаете полный доступ к любой части Freecad. Например, вы можете:
 * Создавать и изменять геометрию: Существует специальный объект нужный вам но не входящий в стандартную комплектацию FreeCAD? Вы легко можете создать новый вид объекта, либо с нуля, либо адаптировав существующий тип.
 * Создавать собственные инструменты и команды: На сегодняшний день, FreeCAD уже обладает широкими функциональными возможностями, но пока не хватает многих инструментов и команд для удобства конечного пользователя. Но теперь создавать ваши собственные наборы инструментов стало уже легко.
 * Изменять интерфейс: Пользовательский интерфейс FreeCAD на данном этапе простоват. Но у Вас есть все, что нужно для расширения его под ваши нужды. Вы можете, к примеру, создать панель инструментов и пометить туда ваши инструменты, создавать специальные панели для взаимодействия с вашими инструментами и.т.д.
 * Изменять представление на сцене: В FreeCAD есть разделение процессов построения и вычисления геометрии и отрисовки этой геометрии на вашем экране. У Вас есть полный доступ к способу отображения содержимого на экране, поэтому вы можете изменить представление, взаимодействовать с ним, или добавить различные виды взаимодействия объекта с пользователем и экранные виджеты, как например информационные, перетаскиватели (draggers), якоря (привязки) или временные объекты (для быстрого предпросмотра операции).

Если Вы хотите добавить содержимое на эти страницы, запросите аккаунт на wiki с правом редактирования на форуме, и читайте WikiPages насчёт общих рекомендаций, которым Вы должны следовать. Относительно прочих путей внести вклад в проект смотрите страницу Помочь FreeCAD.

Настройка FreeCAD

 * Настройка Интерфейса: Начиная с начала: Панели инструментов и ярлыки
 * Работа с макросами: Легкая запись часто повторяющихся задач или python кода
 * Рецепты макросов
 * Кастомизация панелей инструментов
 * Установка дополнительных верстаков

Основы

 * Введение в python - См. также другие учебники Python в нижней части этой страницы
 * Учебник скриптов FreeCAD - Общий взгляд на написание скриптов на python в FreeCAD
 * Основы написания сценариев для FreeCAD: Что сказать, основы ...
 * Gui Команды : Добавление пользовательских команд в GUI
 * Использование смешанных Единиц измерения в FreeCAD

Модули
Функциональность FreeCAD разделена между модулями, работающими со своими типами данных и приложениями. У FreeCADа есть встроенные модули и модули расширения (plug-ins). Когда модули расширений установлены, они становятся доступны вам как встроенные модули. Описываемые ниже модули модули по умолчанию, включённые в любую установку FreeCAD.


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

Работа с полигиональными сетками

 * Написание сценариев для Mesh: Как взаимодействовать с модулем Mesh

Работа с Parts

 * Модуль Деталей: Как инструменты и структуры OpenCasCade используются в FreeCAD
 * Сценарии для обработки топологических данных: Как взаимодействовать с модулем Part
 * PythonOCC: Как раскрыть всю мощь OpenCasCade
 * Mesh to Part: Преобразование между типами объектов

Получение доступа к отрисовщику сцен - Coin

 * The Coin/Inventor scenegraph: Как работает представление сцен в FreeCAD
 * Pivy: Как получить доступ и изменить графическое представление сцены

Управление Qt интерфейсом

 * PySide: Как получить доступ к интерфейсу и изменить его содержание
 * Использование FreeCAD GUI в различных Qt приложениях с помощью PyQt

Работа с параметрическими объектами

 * Сценарные объекты: Как создать на 100% управляемые сценариями на python объекты в FreeCAD
 * Scripted objects with attachment:Как сделать скриптовые объекты присоединяемыми к другим объектам в FreeCAD
 * Модуль Проецирования: Автоматизация процессов перегона 3D в 2D


 * Scripted objects: how to make 100% Python-scripted objects.
 * Scripted objects with attachment: how to make scripted objects attachable to other objects.
 * Scripted objects saving attributes: how to save and restore attributes of the proxy class with and.
 * Scripted objects migration: how to migrate old scripted objects to a new class.

Примеры
 * Фрагменты кода: Коллекция фрагментов FreeCAD python кода, в качестве ингредиентов ваших сценариев...
 * Функция отрисовки линии: Как собрать простой инструмент для отрисовки линий
 * Создание диалога: Как сконструировать диалог в Qt designer, и использовать его в FreeCAD
 * Встраивание FreeCAD: Как импортировать FreeCAD в виде python модуля в другие приложения
 * Модуль черчениядобавляет основные функции 2d рисования в freecad. Он полностью написан на python, так что может быть хорошим примером если вы хотите писать ваши собственные модули.
 * Векторная библиотека FreeCAD: Пара полезных функций для работы с векторами в FreeCAD. Эта библиотека также включена в Чертежный Модуль.

Функции API
Полное описание API можно найти в http://www.freecadweb.org/api/. Он содержит программный интерфейс как на C++, так и на Python, и пока не совсем хорошо форматирован, что может мешать при просмотре кода Python. Более простая для просмотра версия доступна здесь. Заметим что он может быть неполным, так как обновляется вручную. Для получения более точной информации, просматривайте модули напрямую из консоли Python FreeCADа.

Related: Exposing C++ to Python

Продвинутые модификации

 * Запуск и настройка: Запуск и параметры командной строки
 * Установка в Windows: Использование установщика windows
 * Компиляция FreeCAD в Windows и компиляция FreeCAD в Linux
 * Маркирование: Простые изменения, которые вы можете сделать с исходными кодами для изменения некоторых аспектов FreeCAD
 * Дополнительные модули Python : Расширение интерпретатора python в FreeCAD этими мощными модулями!

Учебники по Python
Здесь представлены хорошие общие учебники, без специфики FreeCAD, они могут вас заинтересовать, если для вас python, это что-то свовершенно новое.

Python
 * Официальный учебник python - весьма полный учебник для знакомства с Python
 * Учебник по python для не программистов - отличная wikiкнига
 * Python для новичков - один большой учебник, полностью охватывающий основы

PyQt - Как создавать и управлять FreeCADовским Qt UI интерфейсом с помощью python
 * PySide tutorial : Платформонезависимый учебник, показывающий использование PySide с примерами
 * PySide/PyQt tutorial : Легкий в чтении учебник по PySide и PyQt, с примерами
 * Документация PySide : от проекта Qt (от тех, кто его написал)
 * Использование QtCreator в PySide : так же от проекта Qt
 * Справка по PySide : бесконечные детали о minutiae PySide и Qt, надежный источник для справки
 * Примеры кода PySide : база данных кода PySide с возможностью поиска

Дальнейшие два ссылаются на специффичные для PyQt (не PySide), но могут предложить некоторую полезную информацию:
 * Basic PyQt tutorial : Простое и короткое, ориентированное на linux руководство, объясняющее работу с PyQt и Qt Designer
 * Programming Qt applications in python : Более глубокое руководство, описывающее все процессы работы с qt и python.

Pivy - Как взаимодействовать с в 3D сценой FreeCADа
 * Учебник по основам Pivy : Очень простой учебник с официального сайта Pivy
 * Представление Pivy в studiersturbe: Документ, на самом деле не учебник, но прекрасно иллюстрирует как работает Pivy

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