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格式


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


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


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


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


 * [[Image:Feature9.jpg | left]] 机器人模拟模块，可让您在图形环境中研究机器人的运动.


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


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


 * [[Image:Feature-arch.jpg | left]] 建筑模块，可实现类似兼容IFC的建筑信息模型（BIM）工作流.


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


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

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


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


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


 * 可以当做python模块导入其他应用.  freecad可以导入任何其他可以运行python脚本的应用程序. 与命令行模式一样，这时FreeCad的界面不可用，但所有几何工具都可以访问.


 * 工作台概念. 在FreeCad界面中，工具按工作台分组. 这允许您只显示用于完成特定任务的工具，保持工作区整洁和且相应迅速，并允许应用程序快速加载.


 * 用于延迟加载功能/数据类型的插件/模块框架. FreeCad被分为核心应用程序和只有在需要时才加载的模块. 几乎所有工具和几何图形类型都存储在模块中. 模块的作用类似于插件；除了延迟加载之外，还可以将单个模块添加到FreeCad的现有安装中或从中删除.


 * 以参数化形式关联文档对象. FreeCad文档中的所有对象都可以通过参数定义. 这些参数可以随时修改和重新计算. 由于保持了对象关系，因此对一个对象的修改将自动传播到任何依赖它的对象.


 * 参数化创建基础元素. 可以通过指定其几何约束来创建基本对象，如长方体、球体、圆柱体等.


 * 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.