Feature list/cn

本文是变动的, 并未完成的, list of features FreeCAD implements. If you want to look into the future see the 开发地图 for a quick overview the 截图 are a nice place to go.

基本应用



 * FreeCAD 是跨平台的. 它在 Windows Linux 和 Mac OSX 等平台上运行表现一致.


 * FreeCAD 是图形化应用程序. FreeCAD 基于著名的 GUI 框架 Qt 完全图形化，使用 Open Inventor 来获得快速的 3D 渲染和显示.


 * FreeCAD 也可以作为命令行程序使用,以更小的内存占用运行. 命令行下的 FreeCAD 没有图形化界面但保留了所有的几何工具. 例如，它可以作为服务来为其它的应用运行.


 * FreeCAD 可以当作 Python module 来使用, 其它使用 Python 的应用程序可以在终端模式下使用 FreeCAD 的全部集合工具.


 * Plugin/Module framework for late loading of features/data-types. FreeCAD 被分成了核心应用和其他模块. 其他模块仅仅当使用时才加载. 几乎所有的工具和几何类型都封装在模块中. 模块如同插件可以从已安装的 FreeCAD 安装或卸载.


 * 内建脚本框架 scripting : FreeCAD 内建 Python 脚本解释器以及几乎覆盖 FreeCAD 所有应用，接口，几何，显示 3D 视图的 API. 解释器可以单独运行复杂的脚本. 实际上，整个模块都可以使用 Python 编程.
 * MSI 安装器 可以方便 Windows 系统安装 FreeCAD. Ubuntu 系统上的包也在维护中.

文档结构



 * 撤销／恢复机制: 通过撤销栈，所有操作都可以撤销和恢复，还可以一次撤销多步.


 * 操作管理: 撤销恢复栈不仅仅存储单个操作，而是存储整个文档的操作，并允许工具定义什么操作必须能撤销和恢复.


 * 参数化关联文档对象: FreeCAD 文档中的所有对象都可以使用参数定义. 参数可以随时变动和计算. 对象间的关系也被存储，因此修改对象相应的对象间的关系也随之修改.


 * (ZIP压缩的)文件保存格式: FreeCAD 文档以 .fcstd 为扩展名，可以包含多种信息类型，如几何形状信息，脚本以及缩略图图标.

用户接口

 * 完全个性化／脚本化的图形界面. 基于 Qt 的 FreeCAD 的界面完全可以使用 Python 解释器调用. 不但 FreeCAD 自己提供的 workbench 函数可以用 Python 调用，Qt 的界面部分也可以调用，例如创建，添加，修改，删除小工具和工具栏.


 * 工作台概念: FreeCAD 的界面，工具都基于工作台 workbenches. 一个工作台可被视为一套用于完成某一特定任务的工具，保持整洁且反应灵敏，快速的应用加载.


 * 内建 Python 终端 语法高亮，自动补全，类浏览：Python 命令可以直接在 FreeCAD 中发出，并立即返回结果，允许脚本编写者快速测试功能，浏览其内容的模块，方便了解 FreeCAD 内部.


 * 用户和终端交互: 所有用户的 FreeCAD 的操作都执行了 python 代码. 这些代码都可以在终端中打印出来和记录为宏.


 * 完全的记录和编辑宏: 当用户操作时发出 python 命令，这些命令都可以记录，编辑和保存.


 * 缩略图 (当前仅 Linux 系统版本有): FreeCAD 文档的图标可以在大多数文档管理器中显示文档的缩略图.

Application specific features
The functionality of FreeCAD is separated in modules, each one dealing with special data types and applications:

[[Image:Workbench_Mesh.png]] Meshes



 * The Mesh Module deals with 3D meshes. It is intented primarily for import, healing and conversion of third-party generated mesh geometry into FreeCAD, and export of FreeCAD geometry into mesh formats. But FreeCAD itself also features much more advanced geometry types than meshes.


 * Primitive creation (box, sphere, cylinder, etc), offset (trivial or after Jung/Shin/Choi) or boolean operations (add, cut, intersect)


 * Import of the following formats: ASCII or binary STL (Stereo lithography format) (*.stl, *.ast), the OBJ format (*.obj), limited NASTRAN support (*.nas), Open Inventor meshes (*.iv), and FreeCAD native mesh kernel (*.bms)


 * Export of the following formats: ASCII or binary STL (Stereo lithography format) (*.stl, *.ast), the OBJ format (*.obj), limited NASTRAN support (*.nas, *.brl), VRML meshes (*.wrl), FreeCAD native mesh kernel (*.bms), mesh as Python module (*.py)


 * Testing and repairing tools for meshes: solid test, non-two-manifolds test, self-intersection test, hole filling and uniform orientation.


 * Extensive Python scripting API.

[[Image:Workbench_Draft.png]] 2D Drafting

 * Graphical creation of simple planar geometry like lines, wires, rectangles, arcs or circles in any plane of the 3D space


 * Annotations like texts or dimensions


 * Graphical modification operations like translation, rotation, scaling, mirroring, offset or shape conversion, in any plane of the 3D space


 * Import and Export of the following formats: Autodesk's Drawing Exchange Format (*.dxf), Open Cad Format (*.oca, *.gcad) e SVG (*.svg)

[[Image:Workbench_Part.png]] CAD



 * The Part Module deals with everything around CAD modeling and the CAD data structures. The CAD functionality is under heavy development (see the PartDesign_project and Assembly_project in the Development_roadmap). The Part Module works with high-level Open CASCADE geometry.


 * Parametric primitive shapes like box, sphere, cylinder, cone or torus.


 * Topological components like vertices, edges, wires and planes (via python scripting).


 * Modeling with straight or revolution extrusions, sections and fillets.


 * Boolean operations like union, difference and intersection.


 * Extensive Python scripting API.


 * Import and Export of the following formats: STEP parts and assemblies (*.stp,*.step), IGES models (*.igs, *.iges) and BRep (*.brp), the native format of our Open CASCADE CAD kernel.

Raytracing

 * The Raytracing Module permits the export of FreeCAD geometry to external renderers for generation of high-quality images. Currently, the only supported render engine is POV-Ray. The module currently permits the creation of a render sheet, and adding geometry to that render sheet for export to a POV-Ray file.

Drawing

 * The Drawing Module allows to export projected views of your 3D geometry to a 2D SVG document. It allows the creation of a 2D sheet with an existing svg template, and the insertion of projected views of your geometry in that sheet. Then the sheet can be saved as a SVG file.

CAM

 * The Cam Module is dedicated to mechanical machining like milling. This module is at the very beginning and at the moment mostly dedicated to Incremental Sheet Forming. Although there are some algorithms for toolpath planing they are not usable for the end-user at the moment.