Power users hub/zh-tw: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 10: Line 10:


* '''製作客製化工具以及命令''': 目前為止FreeCAD已經擁有許多功能,但還沒有足夠多方便的功能給終端使用者。不過他已經可以容易的製作出你自己的工具組。
* '''製作客製化工具以及命令''': 目前為止FreeCAD已經擁有許多功能,但還沒有足夠多方便的功能給終端使用者。不過他已經可以容易的製作出你自己的工具組。
* '''修改介面''': FreeCAD的使用者介面現階段依然十分的簡易。 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.






Revision as of 19:57, 22 November 2016

150
150

這是一個讓你更加深入了解FreeCAD的地方。在這裡你可以學習如何為你的需求客製化FreeCAD。

這個頁面還在早期開發階段。如果你找不到你所需要的資訊,或是你在其他地方找到有用的資訊,請在論壇上留言,或者何不 直接由你來幫忙增加本頁面的內容!

FreeCAD有一個最棒的特色就是你可以藉由腳本來擴充功能並且幾乎沒有限制,而且你並不需要接觸到FreeCAD本身的原始碼或是編譯任何東西。所有的腳本都是由Python這個簡單但是強大的程式語言寫成的。藉由Python你幾乎可以使用FreeCAD的各種功能。舉例來說,你可以:

  • 創造和修改模型:你有一些特殊的模型是FreeCAD的預設安裝中沒有的嗎?你可以容易地創造出一個物件型態,不論是從scratch 或是藉由adapting an existing type。
  • 製作客製化工具以及命令: 目前為止FreeCAD已經擁有許多功能,但還沒有足夠多方便的功能給終端使用者。不過他已經可以容易的製作出你自己的工具組。
  • 修改介面: FreeCAD的使用者介面現階段依然十分的簡易。 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.


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: Is there a special object you need 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.

Customizing FreeCAD

Scripting in FreeCAD

General

Modules

As the functionality of FreeCAD is separated in Modules which deal with special data types and applications. FreeCAD has built-in modules and Extension Modules (plug-ins). Once plugin modules are installed, they become availible to you as easily as the built-in modules. The modules described below are the default modules, includeed in every FreeCAD installation.

  • The Builtin modules are the principal FreeCAD modules. They contain tools for manipulating general FreeCAD configurations, documents and their contents.
  • Workbench creation shows you how to create your own workbench

Working with Meshes

Working with Parts

Accessing the Coin scenegraph

Controlling the Qt interface

Working with parametric objects

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

Python tutorials

These are good generic tutorials, not specific to FreeCAD, that might interest you if you are totally new to python.

Python

PySide - How to create and manage FreeCAD's Qt UI interface from python

The following two references are PyQt specific (not PySide) but may offer some information of use:

Pivy - How to interact with FreeCAD's 3D scenes

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.