Feature list/zh

这是FreeCAD实现的广泛但不完整的功能列表. 如果您想展望未来，请参阅研发路线图，快速了解接下来会发生什么. 此外，截图集锦是一个不错的去处.

发布公告

 * 0.11发布 - 2011年3月
 * 0.12发布 - 2011年12月
 * 0.13发布 - 2013年1月
 * 0.14发布 - 2014年3月
 * 0.15发布 - 2015年3月
 * 0.16发布 - 2016年4月
 * 0.17发布 - 2018年4月

主要功能

 * [[Image:Feature1.jpg|left]]完整的基于开源CASCADE技术 - 基于几何内核允许复杂形状的复杂3D操作类型，本地支持边界表示（brep）等概念，非统一理性基础样条（nurbs）曲线和曲面，各种几何实体，布尔运算和，以及STEP和IGES格式


 * left一个完整的参数模型. 所有FreeCAD对象都是原生参数化的，这意味着它们的形状可以基于属性，甚至取决于其他对象. 所有更改都会根据需要重新计算，并由撤消/重做堆栈记录. 可以轻松添加新对象类型，甚至可以在Python中完全编程.


 * left一种模块化架构，允许插件扩展（模块）向核心应用程序添加功能. 扩展可以像在C++中编程的整个新应用程序一样复杂，也可以像Python脚本或录制的宏脚本一样简单. 您可以从内置的Python解释器，宏脚本或外部脚本中完全操作FreeCAD的任何部分，无论是几何体创建和转换，2D或3D表示几何（场景）甚至FreeCAD接口


 * left导入/导出为除FreeCAD原生文件格式 Fcstd之外的标准格式，例如STEP，IGES，OBJ，STL，DXF，SVG，STL, DAE, IFC或者OFF, NASTRAN, VRML. FreeCAD与给定文件格式之间的兼容程度可能会有所不同，因为它取决于实现它的模块.


 * left具有集成约束求解器的草图功能，允许您绘制具有几何约束的2D形状. 然后，使用“草图”构建的受约束2D形状可用作构建FreeCAD中其他对象的基础.


 * left 机器人模拟模块，可让您在图形环境中研究机器人的运动.


 * left技术制图模块，包含详细视图，横截面视图，尺寸标注等选项，允许您生成现有3D模型的2D视图. 然后，该模块生成可立即导出的SVG或PDF文件. 较旧的绘图模块具有不多的的Gui命令，但也存在强大的Python功能.


 * left一个渲染模块，可以导出3D对象以便使用外部渲染器进行渲染. 它目前仅支持povray和LuxRender，但预计今后将扩展到其他渲染器.


 * left 建筑模块，可实现类似兼容IFC的建筑信息模型（BIM）工作流.


 * left 刀路模块专门用于计算机辅助制造的机械加工（CAM）. 使用刀路模块，您可以输出，显示和调整用于控制目标机器的G代码.


 * left 集成电子表格和表达式解析器，可用于驱动基于公式的模型创建并在集中的位置组织模型数据.

主要功能
"""跨平台""". FreeCAD在Windows，Linux，macOS和其他平台上的运行并且功能完全相同.


 * 完整的图形用户界面(GUI)应用程序. FreeCAD有一个完整的图形用户界面，基于Qt框架，基于Open Inventor的3D查看器，提供快速渲染3D场景和非常容易操作的场景图图像.


 * 作为命令行应用程序运行. 在命令行模式下，FreeCAD在没有其界面的情况下运行所有几何体工具. 在此模式下，它具有相对较低的内存占用，并且可以用作如为其他应用程序生成内容的服务器.


 * can be imported as a Python module FreeCAD can be imported into any application that can run Python scripts. As in command line mode, the interface part of FreeCAD is unavailable, but all geometry tools are accessible.


 * workbench concept. In the FreeCAD interface, tools are grouped by workbenches. This allows you to display only the tools used to accomplish a certain task, keeping the workspace uncluttered and responsive, and allowing the application to load rapidly.


 * plugin/module framework for late loading of features/data-types. FreeCAD is divided into a core application with modules that are loaded only when needed. Almost all tools and geometry types are stored in modules. Modules behave like plugins; in addition to delayed loading, individual modules can be added to or removed from an existing installation of FreeCAD.


 * parametric associative document objects. All objects in a FreeCAD document can be defined by parameters. Those parameters can be modified and recomputed at any time. Since object relationships are maintained, the modification of one object will automatically propagate to any dependent objects.


 * parametric primitive creation. Primitive objects such as box, sphere, cylinder, etc. can be created by specifying their geometry constraints.


 * graphical modification operations. FreeCAD can perform translation, rotation, scaling, mirroring, offset (either trivial or as described in Jung/Shin/Choi) or shape conversion, in any plane of the 3D space.


 * constructive solid geometry (boolean operations). FreeCAD can do constructive solid geometry operations (union, difference, intersect).


 * graphical creation of planar geometry. Lines, wires, rectangles, b-splines, and circular or elliptic arcs can be created graphically in any plane of the 3D space.


 * modeling with straight or revolved extrusions, sections and fillets.


 * topological components like vertices, edges, wires and planes.


 * testing and repairing. FreeCAD has tools for testing meshes (solid test, non-two-manifolds test, self-intersection test) and for repairing meshes (hole filling, uniform orientation).


 * annotations. FreeCAD can insert annotations for text or dimensions.


 * Undo/Redo framework. Everything in FreeCAD is undo/redoable, with user access to the undo stack. Multiple steps can be undone at one time.


 * transaction oriented. The undo/redo stack stores document transactions, not single actions, allowing each tool to define exactly what must be undone or redone.


 * built-in scripting framework. FreeCAD features a built-in Python interpreter, with an API that covers almost any part of the application, the interface, the geometry and the representation of this geometry in the 3D viewer. The interpreter can run complex scripts as well as single commands; entire modules can be programmed completely in Python.


 * built-in Python console. The Python interpreter includes a console with syntax highlighting, autocomplete and a class browser. Python commands can be issued directly in FreeCAD and immediately return results, permitting script writers to test functionality on the fly, explore the contents of FreeCAD's modules and easily learn about FreeCAD internals.


 * mirrors user interaction. Everything the user does in the FreeCAD interface executes Python code, which can be printed on the console and recorded in macros.


 * full macro recording and editing capabilities. The Python commands issued when the user manipulates the interface can be recorded, edited if needed, and saved to be reproduced later.


 * compound (ZIP based) document save format. FreeCAD documents are saved with a .fcstd extension. The document can contain many different types of information such as geometry, scripts or thumbnail icons. The .fcstd file is itself a zip container; a saved FreeCAD file has already been compressed.


 * fully customizable/scriptable Graphical User Interface. The Qt-based interface of FreeCAD is entirely accessible via the Python interpreter. Aside from simple functions FreeCAD itself provides to workbenches, the entire Qt framework is accessible. The user may perform any operation on the GUI such as creating, adding, docking, modifying or removing widgets and toolbars.


 * thumbnailer. (currently only Linux systems) FreeCAD document icons show the contents of the file in most file manager applications such as Gnome's Nautilus.


 * modular MSI installer. FreeCAD's installer allows flexible installations on Windows systems. Packages for Ubuntu systems are also maintained.

In development

 * [[Image:Feature-assembly.jpg|left]] An Assembly module that allows one to work with multiple projects, multiple shapes, multiple documents, multiple files, multiple relationships... This module is currently in the planning state.

Extra Workbenches
Power users have created various custom external workbenches.