通用特性
基本应用
- FreeCAD 是跨平台的。 它在 Windows Linux 和 Mac OSX 等平台上运行表现一致。
- FreeCAD 是图形化应用程序。 FreeCAD 基于著名的 GUI 框架 Qt 完全图形化,使用 Open Inventor 来获得快速的 3D 渲染和显示。
- FreeCAD 也可以作为命令行程序使用,以更小的内存占用运行。 命令行下的 FreeCAD 没有图形化界面但保留了所有的几何工具。例如,它可以作为服务来为其它的应用运行。
- FreeCAD 可以当作 Python module 来使用,其它使用 Python 的应用程序可以在终端模式下使用 FreeCAD 的全部集合工具。
- 需要时以插件/模块框架载入功能/数据类型。 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 文档的图标可以在大多数文档管理器中显示文档的缩略图。
应用程序特定功能
FreeCAD 的功能分别在各个模块中,每个模块处理不同的数据类型和应用:
Meshes
- 网格模块 Mesh Module 处理 3D 网格。该模块主要导入修复和转换第三方生成的网格几何对象进入 FreeCAD,和导出为网格格式,但是 FreeCAD 本身具有比网格更高级的几何类型。
- 基本几何形体生成 (长方体,球提,圆柱体等), offset (trivial or after Jung/Shin/Choi) or 布尔操作 (求和,求差,求交集)
- 导入格式:ASCII文本 或二进制 STL (Stereo lithography 格式) (*.stl, *.ast),OBJ 格式 (*.obj),有限支持 NASTRAN (*.nas), Open Inventor 网格 (*.iv),和 FreeCAD 自带的网格格式 (*.bms)
- 导出 格式: ASCII文本 或二进制 STL (Stereo lithography 格式) (*.stl, *.ast),OBJ 格式 (*.obj),有限支持 NASTRAN (*.nas, *.brl),VRML 网格 (*.wrl), FreeCAD 自带的网格格式 (*.bms),划分网格为 Python 模块 (*.py)
- 测试和修复网格工具: 可靠的测试,非流形测试,自相交测试,孔填充和统一方向。solid test, non-two-manifolds test, self-intersection test, hole filling and uniform orientation.
2D Drafting
- 创建图形 简单平面几何图形 在任何3d图形的平面上绘制线,矩形,圆弧,圆等。
- 标注 文字和尺寸
- 图形 修改操作 如 3D 空间任何平面的平移,旋转,缩放,镜像,偏移,形状转换。
- 导入 和 导出 以下格式: Autodesk 的 Drawing Exchange Format (*.dxf), Open Cad Format (*.oca, *.gcad) 以及 SVG (*.svg)。
CAD
- 零件模块 Part Module 处理所有 CAD 建模和 CAD 数据结构。其他 CAD 功能正在积极开发中(参见 发展路线图Development_roadmap 中的零件设计 PartDesign_project 和组装 Assembly_project )。零件设计 Part Module 基于 Open CASCADE Open CASCADE 的几何核心。
- 参数化基本形状 如长方形,球形,圆柱形,圆锥,环形。
- 拓扑元件 顶点,边,线 和 平面 (通过脚本语言)。
- 直线和旋转建模 拉伸,截面 sections 和 圆角。
- 布尔操作 如 求和,求差 和 求交集。
- 更多拓扑脚本和 python API Python scripting API。
- 导入 和 导出 格式: STEP 零件和组装 (*.stp,*.step),IGES 模块 (*.igs, *.iges) 和 BRep (*.brp),自带的 Open CASCADE CAD 格式。
光线追踪模块Raytracing
- 光线追踪模块Raytracing Module 允许 FreeCAD 几何形体导出到外部渲染以得到新一代高质量图形。现在支持的渲染引擎只有 POV-Ray。目前该模块允许创建一个渲染表。几何形体加入到渲染表后导出到一个 POV-Ray 的文件。
图像模块 Drawing
- 图像模块 Drawing Module 允许把您的 3D 几何形体导出到一个 2D SVG 文件。您可以把您的几何形体的工程视图插入到 svg 模板中然后导出为 SVG 文件。
CAM 模块 CAM
- CAM 模块 Cam Module 致力于铣等机械加工。这个模块刚刚开始开发,致力于 Incremental Sheet Forming 增量板料成形。虽然也有一些刀具路径规划算法,但是对于最用用户还是暂时不可用的。