Power users hub: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 11: Line 11:
*'''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.
*'''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.


== Customizing FreeCAD ==
Currently we have here an already good section about scripting, and, for the most adventurous users, pages explaining how to compile FreeCAD yourself, if you want to.

* [[Interface Customization]]: Starting with the beginnig: Toolbars and shortcuts
* [[Marcos|Working with Macros]]: Easily record often repeated tasks or python code


== Scripting in FreeCAD ==
== Scripting in FreeCAD ==


'''General'''
* [[Scripting]] : Everything about scripting in FreeCAD
* [[FreeCAD Scripting Basics]] : Well, the basics...
* [[Scripting|Learning python scripting]]: Everything about python scripting in FreeCAD
* [[Mesh Scripting]] : How to interact with the [[Mesh Module]]
* [[FreeCAD Scripting Basics]]: Well, the basics...
* [[Builtin modules]]: The base tools available to you
* [[Topological data scripting]] : How to interact with the [[Part Module]]
* [[Mesh Scripting]]: How to interact with the [[Mesh Module]]
* [[Gui Command]] : Adding custom commands to the GUI
* [[Gui Command]] : Adding custom commands to the GUI


'''Using OpenCasCade'''
== Examples ==
* [[Part Module|The Part Module]]: How OpenCasCade tools and structure is used in FreeCAD
* [[Topological data scripting]]: How to interact with the Part Module
* [[pythonOCC]]: How to unleash the whole OpenCasCade power


'''Accessing the Coin scenegraph'''
* [[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

'''Examples'''
* [[Line drawing function]]
* [[Line drawing function]]
* [[Dialog creation]]
* [[Dialog creation]]


== Misc ==
== Advanced modification ==
* [[Start up and Configuration]]: Startup and command line options

* [[Install on Windows]]: Using the windows installer
* [[Start up and Configuration]] : Startup and command line options
* [[Install on Windows]] : Using the windows installer
* [[CompileOnWindows|Compiling FreeCAD on Windows]] and [[CompileOnUnix|Compiling FreeCAD on Unix]]
* [[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


[[Category:User Documentation]]
[[Category:User Documentation]]

Revision as of 03:05, 13 April 2009

150
150

This is the place to come if you want to have a deeper insight into FreeCAD. Here you can learn about customizing FreeCAD for your needs.

These pages are in early stage of development. If you can't find the information you are looking for, or have found useful information somewhere we have not linked to, then please leave a comment on the talk page, or, why not? Add some more content here yourself!

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 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:

  • 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 eiter from 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.

Customizing FreeCAD

Scripting in FreeCAD

General

Using OpenCasCade

Accessing the Coin scenegraph

Controlling the Qt interface

  • PyQt: How to access the interface, and modify its contents

Examples

Advanced modification