Power users hub/zh-cn: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
[[Image:Power_user_hub.png|64px]]
----
__NOTOC__


<div class="mw-translate-fuzzy">
[[Image:Crystal_Clear_app_terminal.png|right|150]]
如果你想深入理解FreeCAD,这里就是你该来的地方。你能学到如何为你的需求定制FreeCAD。

</div>
如果你想深入理解FreeCAD,这里就是你该来的地方。你能学到如何为你的需求定制FreeCAD。

这些页面还远没有成熟。如果你没找到你要找的信息,或者你在别的地方发现了有用的信息,而我们没有链接在这里,那为什么不[[Help_FreeCAD|自己添加进来]]?同时,请在[http://forum.freecadweb.org/ 论坛]留下你的意见。


<div class="mw-translate-fuzzy">
FreeCAD最秒的好处之一,就是它给你的灵活性。你不需要作任何编译,不需要接触源代码,就可以写脚本,就可以作扩展,可触范围极广。所有的脚本都用[http://en.wikipedia.org/wiki/Python_(programming_language) Python]完成。它是一门强大而简洁的编程语言。有了简洁的Python脚本,你有权触及FreeCAD的任何部分。比如说,你可以:
FreeCAD最秒的好处之一,就是它给你的灵活性。你不需要作任何编译,不需要接触源代码,就可以写脚本,就可以作扩展,可触范围极广。所有的脚本都用[http://en.wikipedia.org/wiki/Python_(programming_language) Python]完成。它是一门强大而简洁的编程语言。有了简洁的Python脚本,你有权触及FreeCAD的任何部分。比如说,你可以:
* '''创建和修改几何体''':有没有这种情况?你需要的特殊对象,没有出现在FreeCAD的默认安装包里?你可以轻松创建一个新对象类型,既可以写脚本,也可以调配一个已有的类型。
* '''创建和修改几何体''':有没有这种情况?你需要的特殊对象,没有出现在FreeCAD的默认安装包里?你可以轻松创建一个新对象类型,既可以写脚本,也可以调配一个已有的类型。
Line 12: Line 14:
* '''修改界面''':FreeCAD的用户界面还处于十分基础的阶段。但是如果你要有所扩展,工具都给你准备好了。比如说,你可以创建一个工具条,把你的工具都放进去;你也可以创建一个特殊面板,用来与你的工具互动,诸如此类。
* '''修改界面''':FreeCAD的用户界面还处于十分基础的阶段。但是如果你要有所扩展,工具都给你准备好了。比如说,你可以创建一个工具条,把你的工具都放进去;你也可以创建一个特殊面板,用来与你的工具互动,诸如此类。
* '''修改场景表现''':建立和计算几何体,在屏幕上显示那个几何体,这件事在FreeCAD里有不同的流程来处理。场景元素显示在屏幕上的方式,你对此有完全控制权。所以,你可以修改那个表现,与它交互,或者加入各种各样的定制行为和屏幕组件。举几个例子,信息、拖拽、锚定或者暂时实体。
* '''修改场景表现''':建立和计算几何体,在屏幕上显示那个几何体,这件事在FreeCAD里有不同的流程来处理。场景元素显示在屏幕上的方式,你对此有完全控制权。所以,你可以修改那个表现,与它交互,或者加入各种各样的定制行为和屏幕组件。举几个例子,信息、拖拽、锚定或者暂时实体。
</div>

<div class="mw-translate-fuzzy">
这些页面还远没有成熟。如果你没找到你要找的信息,或者你在别的地方发现了有用的信息,而我们没有链接在这里,那为什么不[[Help_FreeCAD|自己添加进来]]?同时,请在[http://forum.freecadweb.org/ 论坛]留下你的意见。
</div>


== 定制FreeCAD ==
== 定制FreeCAD ==
Line 80: Line 87:
* [[Scripted_objects|Scripted objects]]: how to make 100% Python-scripted objects.
* [[Scripted_objects|Scripted objects]]: how to make 100% Python-scripted objects.
** [[Scripted_objects_with_attachment|Scripted objects with attachment]]: how to make scripted objects attachable to other objects.
** [[Scripted_objects_with_attachment|Scripted objects with attachment]]: how to make scripted objects attachable to other objects.
** [[Scripted_objects_saving_attributes|Scripted objects saving attributes]]: how to save and restore attributes of the proxy class with {{incode|__getstate__}} and {{incode|__setstate__}}.
** [[Scripted_objects_migration|Scripted objects migration]]: how to migrate old scripted objects to a new class.
** [[Scripted_objects_migration|Scripted objects migration]]: how to migrate old scripted objects to a new class.
* [[Drawing Module|Drawing Module]]: Automating the 3D-to-2D process


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 140: Line 147:
</div>
</div>


{{Powerdocnavi{{#translation:}}}}
{{Userdocnavi}}
[[Category:Hubs]]
[[Category:Hubs]]
[[Category:Poweruser Documentation]]

Revision as of 09:00, 13 May 2020



如果你想深入理解FreeCAD,这里就是你该来的地方。你能学到如何为你的需求定制FreeCAD。

FreeCAD最秒的好处之一,就是它给你的灵活性。你不需要作任何编译,不需要接触源代码,就可以写脚本,就可以作扩展,可触范围极广。所有的脚本都用Python完成。它是一门强大而简洁的编程语言。有了简洁的Python脚本,你有权触及FreeCAD的任何部分。比如说,你可以:

  • 创建和修改几何体:有没有这种情况?你需要的特殊对象,没有出现在FreeCAD的默认安装包里?你可以轻松创建一个新对象类型,既可以写脚本,也可以调配一个已有的类型。
  • 创建定制的工具和命令:目前,FreeCAD已经有了很广泛的功能,但是给终端用户的工具和命令还不是很多。不过,你已经可以很容易地创建自己的工具包了。
  • 修改界面:FreeCAD的用户界面还处于十分基础的阶段。但是如果你要有所扩展,工具都给你准备好了。比如说,你可以创建一个工具条,把你的工具都放进去;你也可以创建一个特殊面板,用来与你的工具互动,诸如此类。
  • 修改场景表现:建立和计算几何体,在屏幕上显示那个几何体,这件事在FreeCAD里有不同的流程来处理。场景元素显示在屏幕上的方式,你对此有完全控制权。所以,你可以修改那个表现,与它交互,或者加入各种各样的定制行为和屏幕组件。举几个例子,信息、拖拽、锚定或者暂时实体。

这些页面还远没有成熟。如果你没找到你要找的信息,或者你在别的地方发现了有用的信息,而我们没有链接在这里,那为什么不自己添加进来?同时,请在论坛留下你的意见。

定制FreeCAD

在FreeCAD里写脚本

通则

模块

在FreeCAD中,功能性的东西被划分到各个模块,处理特定的数据类型和应用。FreeCAD有内建模块和扩展模块(插件)。插件模块一旦安装,它们就和内建模块一样方便触达。下面讲的是默认模块,FreeCAD的每一个安装包都包含了。

  • 内建模块是FreeCAD的主体模块。里面的工具,可以调整FreeCAD的一般配置、文档和内容。
  • 创建工作台展示给你如何创建自己的工作台。

网格类工作

零件类工作

触达Coin的场景图

控制Qt接口

参数对象类工作

例子

  • 代码片段:搜集了一些FreeCAD的Python代码段,作为你的脚本的配料……
  • 画线函数:如何建造一个简单工具,来画线。
  • 创建对话:如何用Qt设计器来建造对话框,把它们用在FreeCAD里。
  • 嵌入式FreeCAD:在其他应用里,如何载入FreeCAD,作为一个Python模块。
  • 绘图模块为FreeCAD加入了2D绘图函数。它整个都是用Python写的,所以如果你想写自己的模块,它就是个好例子。
  • FreeCAD向量数学程序库:几个很顺手的函数,来操控FreeCAD的向量。这个函数库也包含在绘图模块里面了。

API函数

FreeCAD完整的API文档放在http://www.freecadweb.org/api/中。它既有C++也有Python的API,还没有完全格式化好。当你想找只含Python的代码,就会发现那里有点乱。更便于浏览的版本在这里。注意,它可能并不完整,因为它得用人工更新。要找更精确信息的话,直接在FreeCAD的Python控制台里浏览相应模块吧。

Related: Exposing C++ to Python

高级修改

Python教程

这些是通用教程,都很棒。它们不是特殊为FreeCAD制作的,如果你完全没接触过Python,它们可能对你有益处。

Python

PySide - 怎样通过Python创建和管理FreeCAD的Qt用户交互界面。

下面两个参考源,是PyQt特定的(不是PySide),但它们可能给了一些有用的信息:

  • 基础PyQt教程:一个基于Linux的简短教程,解释了怎样使用PyQt和Qt Designer。
  • 用Python编程Qt应用:一个更深入的教程,涵盖了用Qt和Python工作的所有方面。

Pivy - 怎样与FreeCAD的3D场景交互

社区项目

社区入口,你会找到其它基于FreeCAD的项目,它们由FreeCAD用户社区运行。如果你正开始一个新的FreeCAD项目,一定要登记上去。如果你愿意帮助FreeCAD,我们也准备了那个页面,列出了你可以做的事情。