Центр опытных пользователей
Это место для тех кто хочет глубже понять FreeCAD. Здесь вы можете узнать о настройке FreeCAD под ваши нужды.
Эти страницы находятся в ранней стадии развития. Если вы не смогли найти интересующую вас информацию, или вы нашли где-то полезную информацию, не связанную с нами, пожалуйста оставьте комментарий на странице обсуждений, или...., а почему бы и нет?! Добавьте сюда содержание самостоятельно!
Одной из самых приятных особенностей FreeCAD, это то что вы можете написать сценарий и расширить его по максимуму, без какой либо компиляции исходного кода. Вся Весь сценарий пишется на языке python, очень мощном , но простом языке программирования. С помощью простых python сценариев, вы получаете полный доступ к какой либо части Freecad. Например, вы можете:
- Создавать и изменять геометрию: Существует специальный объект нужный вам но не входящий в стандартную комплектацию FreeCAD? Вы легко можете создать новый вид объекта, либо с нуля, либо адаптировав существующий тип.
- Создавать собственные инструменты и команды: На сегодняшний день, FreeCAD уже обладает широкими функциональными возможностями, правда пока не хватает множества удобных инструментов и команд для конечного пользователя. Но теперь стало проще создавать ваши собственные наборы инструментов.
- Изменять интерфейс: Пользовательский интерфейс FreeCAD на данном этапе , очень прост. Но все что в не есть вы можете расширить под ваши нужды. Вы можете, к примеру, создать панель инструментов и пометить туда ваши инструменты, создавать специальные панели для взаимодействия с вашими инструментами(пример меню привязки, или меню выбора плоскости), и.т.д.
- Изменять представление на сцене: В FreeCAD обладает раздельными процессами построения и вычисления геометрии и отрисовки этой геометрии на вашем экране. Вы обладаете полным доступом к содержимому отображающемуся на экране, поэтому вы можете изменить представление, взаимодействовать с ним, или добавить различные виды взаимодействия объекта с пользователем и экранные виджеты, как например информационные, перетаскиватели(draggers), якоря(привязки) или временные объекты(так реализуется быстрый предпросмотр операции)
Customizing FreeCAD
- Interface Customization: Starting with the beginning: Toolbars and shortcuts
- Working with Macros: Easily record often repeated tasks or Python code
Scripting in FreeCAD
General
- Introduction to python - See also other Python tutorials at the bottom of this page
- FreeCAD scripting tutorial - A general look at python scripting in FreeCAD
- FreeCAD Scripting Basics: Well, the basics...
- Gui Command : Adding custom commands to the GUI
- Using mixed Units in FreeCAD
Working with Meshes
- Mesh Scripting: How to interact with the Mesh Module
Working with Parts
- The Part Module: How 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
Accessing the Coin scenegraph
- The Coin/Inventor scenegraph: How the FreeCAD scene representation works
- Pivy: How to access and modify the scenegraph
Controlling the Qt interface
- PyQt: How to access the interface, and modify its contents
- Using the FreeCAD GUI in another Qt application with PyQt
Working with parametric objects
- Scripted objects: How to make 100% Python-scripted objects in FreeCAD
- Drawing Module: Automating the 3D-to-2D process
Examples
- 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.
API Functions
The complete API description can be found 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.
Advanced modification
- Start up and Configuration: Startup and command line options
- Install on Windows: Using the windows installer
- Compiling FreeCAD on Windows and 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!
Python tutorials
These are good generic tutorials, not specific to FreeCAD, that might interest you if you are totally new to python.
Python
- Official python tutorial - A very complete tutorial for discovering python
- Non-programmer tutorial for python - an excellent wikibook
- Python for newbies - one big tutorial covering all the basics
PyQt - How to create and manage FreeCAD's Qt UI interface from python
- Basic PyQt tutorial : A simple and short linux-based tutorial that will explain how to work with PyQt and Qt Designer
- First programs in PyQt4 : A platform-agnostic tutorial showing the interns of python + qt
- programming Qt applications in python : A more in-depth tutorial covering all the process of working with qt and python.
Pivy - How to interact with FreeCAD's 3D scenes
- Basic Pivy tutorial : A very simple tutorial form the official Pivy site
- Introducing Pivy into studierstube : A document that is not really a tutorial, but that illustrates well how Pivy works
Community projects
On the 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.