Power users hub/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "Эти страницы находятся в ранней стадии развития. Если вы не смогли найти интересующую вас инфор...")
(Updating to match new version of source page)
 
(114 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
{{TOCright}}
[[Image:Power_user_hub.png|64px]]
----


Это место, куда можно прийти, если вы опытный пользователь и хотите узнать больше о настройке и расширении FreeCAD.
[[Image:Crystal_Clear_app_terminal.png|right|150]]


FreeCAD расширяем с помощью кода [[Python/ru|Python]], который запускается непосредственно в [[Python_console/ru|консоли Python]] или загружается из модулей при запуске. Это означает, что вы можете модифицировать FreeCAD без необходимости перекомпиляции программы. Например, вы можете:
Это место для тех кто хочет глубже понять FreeCAD. Здесь вы можете узнать о настройке FreeCAD под ваши нужды.
* '''Создавать и изменять геометрию''': вы можете создать новый вид объекта, либо с нуля, либо адаптировав существующий тип.
* '''Создавать собственные инструменты и команды''': создать ваши собственные наборы инструментов, запускающих Ваш код .
* '''Изменять интерфейс''': создать панель инструментов и пометить туда ваши инструменты, создавать специальные окна, панели или интерфейсы для взаимодействия с вашими инструментами.
*'''Изменять представление в графе сцены''': В FreeCAD есть разделение процессов построения и вычисления геометрии и отрисовки этой геометрии на вашем экране. У Вас есть полный доступ к способу отображения содержимого на экране, поэтому вы можете изменить представление, взаимодействовать с ним, или добавить к ним пользовательское поведение.
Вы можете так же добавить пользовательские экранные виджеты, как например информационные, перетаскиватели (draggers), якоря (привязки) или временные объекты (для быстрого предпросмотра операции).


Если Вы хотите добавить контент на эти страницы, запросите аккаунт на wiki с правом редактирования [https://forum.freecadweb.org/viewtopic.php?f=21&t=6830 на форуме], изучите [[WikiPages/ru|WikiPages]] насчёт общих рекомендаций, которым Вы должны следовать. Относительно прочих путей внести вклад в проект смотрите страницу [[Help_FreeCAD/ru|о том как помочь FreeCAD]].
Эти страницы находятся в ранней стадии развития. Если вы не смогли найти интересующую вас информацию, или вы нашли где-то полезную информацию, не связанную с нами, пожалуйста оставьте комментарий на [[Talk:Power_users_hub|странице обсуждений]], или...., а почему бы и нет?! Добавьте сюда содержание самостоятельно!


<span id="Customizing_FreeCAD"></span>
One of the nicest features of FreeCAD is that you can script and extend it extremely far without the need to compile anything or touch the source code. All the scripting part is done in [http://en.wikipedia.org/wiki/Python_(programming_language) Python], a very powerful but simple programming language. With simple Python scripts, you have total access to about any part of FreeCAD. For example, you can:
== Настройка FreeCAD ==
* '''Create and modify geometry''': There is a kind of special object you need but that's not present in the default FreeCAD installation? You can easily create a new object type, either from scratch or by adapting an existing type.
* '''Create custom tools and commands''': At the moment, FreeCAD already has extensive functionality, but there aren't many convenient tools and commands for the final user yet. But it is already easy to create your own sets of tools.
* '''Modify the interface''': The FreeCAD user interface is still very basic at this stage. But everything is there for you to extend it to your needs. You can, for example, create toolbars to put your own tools, create special panels for interacting with your tools, etc.
*'''Modify the scene representation''': FreeCAD has separate processes for building up and computing the geometry and displaying that geometry on your screen. You have full access to the way the scene contents are displayed on screen, therefore you can modify that representation, interact with it, or add all kinds of custom behaviours and screen widgets, like information, draggers, anchors or temporary entities.


* [[Interface Customization/ru|Настройка Интерфейса]]: Начиная с начала: Панели инструментов и ярлыки
== Customizing FreeCAD ==
* [[Macros/ru|Работа с макросами]]: Легкая запись часто повторяющихся задач или python кода
* [[Macros_recipes/ru|Рецепты макросов]]
* [[Customize_Toolbars/ru|Кастомизация панелей инструментов]]
* [[Installing_more_workbenches/ru|Установка дополнительных верстаков]]


<span id="Scripting_in_FreeCAD"></span>
* [[Interface Customization]]: Starting with the beginning: Toolbars and shortcuts
== Написание сценариев FreeCAD ==
* [[Macros|Working with Macros]]: Easily record often repeated tasks or Python code


<span id="General"></span>
== Scripting in FreeCAD ==
===Основы===


<div class="mw-translate-fuzzy">
===General===
* [[Introduction_to_Python/ru|Введение в Python]]- Смотрите также другие руководства по Python в нижней части этой страницы
* [[Introduction to python]] - See also other Python tutorials at the bottom of this page
* [[Python_scripting_tutorial|Учебник скриптов FreeCAD]] - Общий взгляд на написание скриптов на python в FreeCAD
* [[Python scripting tutorial|FreeCAD scripting tutorial]] - A general look at python scripting in FreeCAD
* [[FreeCAD_Scripting_Basics/ru|Основы написания сценариев для FreeCAD]]: Что сказать, основы ...
* [[FreeCAD Scripting Basics]]: Well, the basics...
* [[Gui_Command/ru|Команды графического интерфейса]] : Добавление пользовательских команд в графический интерфейс
* [[Gui Command]] : Adding custom commands to the GUI
* Using mixed [[Units]] in FreeCAD
* Использование смешанных [[Units/ru|Единиц измерения]] в FreeCAD
* [[Profiling/ru|Профилирование]] кода Python
</div>


<span id="Modules"></span>
===Working with Meshes===
=== Модули ===
* [[Mesh Scripting]]: How to interact with the [[Mesh Module]]


Функциональность FreeCAD разделена между модулями, работающими со своими типами данных и приложениями. У FreeCADа есть встроенные модули и модули расширения (plug-ins). Когда модули расширений установлены, они становятся доступны вам как встроенные модули. Описываемые ниже модули модули по умолчанию, включённые в любую установку FreeCAD.
===Working with Parts===
* [[Part Module|The Part Module]]: How [http://en.wikipedia.org/wiki/Open_CASCADE Open CASCADE Technology] tools and structure is used in FreeCAD
* [[Topological data scripting]]: How to interact with the Part Module
* [[PythonOCC]]: How to unleash the whole Open CASCADE power
* [[Mesh to Part]]: Converting between object types


* [[Builtin modules/ru|Встроенные модули]] это принципиальные модули FreeCAD. Они содержат инструменты для манипулирования общими конфигурациями FreeCAD, документами и их содержимым.
===Accessing the Coin scenegraph===
* [[Workbench creation/ru|Создание верстаков]] покажет Вам как создать собственных верстак.
* [[Scenegraph|The Coin/Inventor scenegraph]]: How the FreeCAD scene representation works
* [[Pivy]]: How to access and modify the scenegraph


<span id="Working_with_Meshes"></span>
===Controlling the Qt interface===
====Работа с полигональными сетками====
* [[PyQt]]: How to access the interface, and modify its contents
* [[Embedding FreeCADGui|Using the FreeCAD GUI]] in another Qt application with PyQt


* [[Mesh Scripting/ru|Написание сценариев для Mesh]]: Как взаимодействовать с [[Mesh_Workbench/ru|модулем Mesh]]
===Working with parametric objects===
* [[Scripted objects]]: How to make 100% Python-scripted objects in FreeCAD
* [[Drawing Module]]: Automating the 3D-to-2D process


<span id="Working_with_Parts"></span>
===Examples===
====Работа с Parts====
* [[Code snippets]] : A collection of pieces of FreeCAD Python code, to serve as ingredients in your scripts...
* [[Line drawing function]]: How to build a simple tool to draw lines
* [[Dialog creation]]: How to construct dialogs with Qt designer, and use them in FreeCAD
* [[Embedding FreeCAD]]: How to import FreeCAD as a Python module in other applications
* The [[Draft Module]] adds basic 2d drawing functions to freecad. It is written entirely in Python, so it can be a good example if you want to write your own modules.
* [[FreeCAD vector math library]] : A couple of handy functions to manipulate FreeCAD vectors. This library is also included in the Draft module.


* [[Part_Workbench/ru|Верстак Деталь]]: Как инструменты и структуры [http://en.wikipedia.org/wiki/Open_CASCADE OpenCasCade] используются в FreeCAD
== API Functions ==
* [[Topological data scripting/ru|Сценарии для обработки топологических данных]]: Как взаимодействовать с модулем Part
* [[pythonOCC/ru|PythonOCC]]: Как раскрыть всю мощь OpenCasCade
* [[Mesh to Part/ru|Mesh to Part]]: Преобразование между типами объектов


<span id="Accessing_the_Coin_scenegraph"></span>
The complete API description can be found [[:Category:API|here]]. Note that it can be incomplete, since we still didn't find a way to include it automatically on this wiki. For more accurate information, browse the modules directly from FreeCAD.
====Получение доступа к визуализатору сцен - Coin====


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


<span id="Controlling_the_Qt_interface"></span>
* [[Start up and Configuration]]: Startup and command line options
===Управление Qt интерфейсом===
* [[Install on Windows]]: Using the windows installer
* [[CompileOnWindows|Compiling FreeCAD on Windows]] and [[CompileOnUnix|Compiling FreeCAD on Unix]]
* [[Branding]]: Simple modifications you can do to the source code to change some aspects of FreeCAD
* [[Extra python modules]] : Extend the FreeCAD python interpreter with these powerful modules!


* [[PySide/ru|PySide]]: Как получить доступ к интерфейсу и изменить его содержание
== Python tutorials ==
* [[Embedding FreeCADGui/ru|Использование FreeCAD GUI]] в различных Qt приложениях с помощью PyQt


<span id="Working_with_parametric_objects"></span>
These are good generic tutorials, not specific to FreeCAD, that might interest you if you are totally new to python.
===Работа с параметрическими объектами===

<div class="mw-translate-fuzzy">
* [[Scripted objects/ru|Сценарные объекты]]: Как создать на 100% управляемые сценариями на python объекты в FreeCAD
** [[Scripted objects with attachment/ru|Scripted objects with attachment]]:Как сделать скриптовые объекты присоединяемыми к другим объектам в FreeCAD
** [[Scripted_objects_saving_attributes/ru|Scripted objects saving attributes]]: как сохранить и восстановить атрибуты промежуточного класса с {{incode|__getstate__}} и {{incode|__setstate__}}.
** [[Scripted_objects_migration/ru|Scripted objects migration]]: как мигрировать старые скриптовые объекты на новые классы.
</div>

<span id="Examples"></span>
===Примеры===

* [[Code snippets/ru|Фрагменты кода]]: Коллекция фрагментов FreeCAD python кода, в качестве ингредиентов ваших сценариев...
* [[Line drawing function/ru|Функция отрисовки линии]]: Как собрать простой инструмент для отрисовки линий
* [[Dialog creation/ru|Создание диалога]]: Как сконструировать диалог в Qt designer, и использовать его в FreeCAD
* [[Embedding FreeCAD/ru|Встраивание FreeCAD]]: Как импортировать FreeCAD в виде python модуля в другие приложения
* [[Draft_Workbench/ru|Верстак черчения]]добавляет основные функции 2d рисования в freecad. Он полностью написан на python, так что может быть хорошим примером если вы хотите писать ваши собственные модули.
* [[FreeCAD vector math library/ru|Векторная библиотека FreeCAD]]: Пара полезных функций для работы с векторами в FreeCAD. Эта библиотека также включена в Чертежный Модуль.

<span id="API_Functions"></span>
== Функции API ==

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

Связанное: [[Exposing_C%2B%2B_to_Python/ru|Представление C++ в Python]]

<span id="Advanced_modification"></span>
== Продвинутые модификации ==

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

<span id="Python_tutorials"></span>
== Учебники по Python ==

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


'''Python'''
'''Python'''
* [http://docs.python.org/tut/tut.html Official python tutorial] - A very complete tutorial for discovering python
* [https://docs.python.org/3/tutorial/index.html Официальный учебник python] - весьма полный учебник для знакомства с Python
* [http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python Non-programmer tutorial for python] - an excellent wikibook
* [https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 Учебник по python для не программистов] - отличная wikiкнига
* [http://npt.cc.rsu.ru/user/wanderer/ODP/Python_for_Newbies.htm Python for newbies] - one big tutorial covering all the basics
* [http://npt.cc.rsu.ru/user/wanderer/ODP/Python_for_Newbies.htm Python для новичков] - один большой учебник, полностью охватывающий основы


<div class="mw-translate-fuzzy">
'''PyQt''' - How to create and manage FreeCAD's Qt UI interface from python
'''PySide''' - Как создавать и управлять FreeCAD Qt UI интерфейсом с помощью python
* [http://www.cs.usfca.edu/~afedosov/qttut/ Basic PyQt tutorial] : A simple and short linux-based tutorial that will explain how to work with PyQt and Qt Designer
* [http://zetcode.com/gui/pysidetutorial/ PySide tutorial] : Платформонезависимый учебник, показывающий использование PySide с примерами
* [http://zetcode.com/tutorials/pyqt4/firstprograms/ First programs in PyQt4] : A platform-agnostic tutorial showing the interns of python + qt
* [http://www.pythoncentral.io/series/python-pyside-pyqt-tutorial/ PySide/PyQt tutorial] : Легкий в чтении учебник по PySide и PyQt, с примерами
* [http://vizzzion.org/?id=pyqt programming Qt applications in python] : A more in-depth tutorial covering all the process of working with qt and python.
* [http://qt-project.org/wiki/PySideDocumentation Документация PySide] : от проекта Qt (от тех, кто его написал)
* [http://qt-project.org/wiki/QtCreator_and_PySide Использование QtCreator в PySide] : так же от проекта Qt
* [http://srinikom.github.io/pyside-docs/index.html Справка по PySide] : бесконечные детали о minutiae PySide и Qt, надежный источник для справки
* [http://nullege.com/codes/search?cq=PySide Примеры кода PySide] : база данных кода PySide с возможностью поиска
</div>


Дальнейшие два ссылаются на специффичные для PyQt (не PySide), но могут предложить некоторую полезную информацию:
'''Pivy''' - How to interact with FreeCAD's 3D scenes
* [http://www.cs.usfca.edu/~afedosov/qttut/ Basic PyQt tutorial] : Простое и короткое, ориентированное на linux руководство, объясняющее работу с PyQt и Qt Designer
* [http://pivy.coin3d.org/documentation/pycon Basic Pivy tutorial] : A very simple tutorial form the official Pivy site
* [http://vizzzion.org/?id=pyqt Programming Qt applications in python] : Более глубокое руководство, описывающее все процессы работы с qt и python.
* [http://www.google.com.br/url?sa=U&start=3&q=http://studierstube.icg.tu-graz.ac.at/doc/pdf/PivyStudierstubeTutorial.pdf&ei=XyC1Sc2wOeCKmQem_eHnBQ&usg=AFQjCNEYhb-0DcUc6OxFVijAe1epBb-4aA Introducing Pivy into studierstube] : A document that is not really a tutorial, but that illustrates well how Pivy works


'''Pivy''' - Как взаимодействовать с в 3D сценой FreeCADа
== Community projects ==
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.947&rep=rep1&type=pdf Pivy - Embedding a Dynamic Scripting Language into a Scene Graph Library] : Тезис, подробно объясняющий Pivy
* [http://ftp.ntua.gr/mirror/python/pycon/dc2004/papers/47/ High Level 3D Graphics Programming in Python] : Примеры Pivy из Pycon 2004
* [https://www.semanticscholar.org/paper/Integrating-Pivy-into-Studierstube-4.2-Gruber/08c9a89c8326c87f81c2d83428029fbfb6c2ae64 Introducing Pivy into studierstube] [https://www.researchgate.net/publication/228737136_Integrating_Pivy_into_Studierstube_42 (Mirror)] : Документ, который на самом деле не учебник, но прекрасно иллюстрирует как работает Pivy (требует академический аккаунт)


<span id="Community_projects"></span>
On the [[free-cad:Community Portal|Community portal]], you can find other FreeCAD-based projects run by the FreeCAD users community. If you are starting a new FreeCAD project, be sure to list it there! We also have a page with things you can do if you would like to [[Help FreeCAD]].
== Проекты сообщества ==


На [[FreeCAD Community Portal|портале Сообщества]], вы можете найти другие основанные на FreeCAD проекты запущенные сообществом пользователей FreeCAD. Если вы начинаете новый проект FreeCAD, убедитесь что его нет в списке! У нас также есть страница, с описанием вещей, которые вы могли бы сделать, если хотите [[Help FreeCAD/ru|Помочь FreeCAD]].
[[Category:Hubs]]
[[Category:Poweruser Documentation]]


* [[Scientific_literature/ru|Научная литература]]: статьи, которые по-разному ссылаются на систему FreeCAD или используют ее.



<languages/>
{{Powerdocnavi{{#translation:}}}}
[[Category:Hubs{{#translation:}}]]

Latest revision as of 09:01, 27 January 2024


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

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

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

Вы можете так же добавить пользовательские экранные виджеты, как например информационные, перетаскиватели (draggers), якоря (привязки) или временные объекты (для быстрого предпросмотра операции).

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

Настройка FreeCAD

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

Основы

Модули

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

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

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

Работа с Parts

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

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

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

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

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

  • Сценарные объекты: Как создать на 100% управляемые сценариями на python объекты в FreeCAD
    • Scripted objects with attachment:Как сделать скриптовые объекты присоединяемыми к другим объектам в FreeCAD
    • Scripted objects saving attributes: как сохранить и восстановить атрибуты промежуточного класса с __getstate__ и __setstate__.
    • Scripted objects migration: как мигрировать старые скриптовые объекты на новые классы.

Примеры

  • Фрагменты кода: Коллекция фрагментов 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а.

Связанное: Представление C++ в Python

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

Учебники по Python

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

Python

PySide - Как создавать и управлять FreeCAD Qt UI интерфейсом с помощью python

Дальнейшие два ссылаются на специффичные для PyQt (не PySide), но могут предложить некоторую полезную информацию:

  • Basic PyQt tutorial : Простое и короткое, ориентированное на linux руководство, объясняющее работу с PyQt и Qt Designer
  • Programming Qt applications in python : Более глубокое руководство, описывающее все процессы работы с qt и python.

Pivy - Как взаимодействовать с в 3D сценой FreeCADа

Проекты сообщества

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