Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 37 additions & 65 deletions wiki/About_FreeCAD.wikitext
Original file line number Diff line number Diff line change
@@ -1,65 +1,37 @@
// ==========================================================
// 水烟碗 3D 实体模型数模工程代码 (Kaloud尺寸 + 粗砂陶工艺补偿版)
// 修正说明:优化了内部气道贯通性、螺旋线截断、标识贴合度
// ==========================================================

$fn = 100; // 提高3D曲面渲染精细度
shrinkage_compensation = 1.11; // 11% 粗砂陶高温烧结收缩补偿系数

scale([shrinkage_compensation, shrinkage_compensation, shrinkage_compensation]) {
difference() {
// 【1. 外轮廓实体构建】
union() {
// 下半部分:光面微锥形把柄 (高度59mm,底44mm,顶45mm)
cylinder(h=59, r1=22, r2=22.5);

// 把柄与碗体衔接的顺滑圆角过渡区
translate([0, 0, 54])
cylinder(h=10, r1=22.5, r2=32);

// 上半部分:碗体基础外轮廓 (高度37mm,总高101mm)
translate([0, 0, 64])
cylinder(h=37, r1=32, r2=45.5);

// 外部螺旋线条(增加外轮廓交集保护,防止螺旋线刺破烟仓内壁)
intersection() {
translate([0, 0, 64]) cylinder(h=37, r1=32, r2=45.5);
translate([0, 0, 64])
for (a = [0 : 30 : 360]) {
rotate([0, 0, a])
translate([29, 0, 0]) // 微调外移,保证凸起质感
linear_extrude(height = 36, twist = -60, scale = 1.3)
circle(r = 3.5, $fn = 6);
}
}
}

// 【2. 内部烟仓与气流通道掏空 (保证壁厚不低于 5mm)】
// 顶部烟草仓:深21mm,完美适配 Kaloud 碳盒路径
translate([0, 0, 80])
cylinder(h=22, r1=28, r2=38);

// 中央漏斗孔 (Funnel Spire):上下完全贯通主气道
// 原高度50~85mm有断层,现修正为45~82mm,与底部孔和烟仓完美交汇
translate([0, 0, 45])
cylinder(h=37, r1=5, r2=6);

// 底部连接孔:带 1.5° 拔模斜度,深度扩展到 55mm 确保与中心气道重叠贯通
translate([0, 0, -1])
cylinder(h=56, r1=12.5, r2=11);

// 【3. 品牌标识圆圈 U 凹刻加工 (深度 0.5mm)】
// 原 Y=-45 悬空无法切削,现修正为 Y=-40 并增加 14° 倾角贴合碗体斜面
translate([0, -40, 82])
rotate([104, 0, 0]) { // 90度 + 14度外壁倾斜角
// 外圈圆形边框
difference() {
cylinder(h=2, r=9, center=true);
cylinder(h=3, r=7.5, center=true);
}
// 内圈大写字母 "U"
linear_extrude(height=2, center=true)
text("U", size=9, font="Liberation Serif:style=Bold", halign="center", valign="center");
}
}
}
FreeCAD is a free and open-source [[parametric_modeling|parametric]] 3D [[CAD|computer-aided design]] (CAD) modeler, licensed under the [[LGPL|LGPLv2+]] license. It is primarily made for mechanical engineering design, but also serves a wide range of uses wherever you need to model 3D objects with precision and control over modeling history.

FreeCAD has been under development since 2002, with the project founded by Jürgen Riegel, Werner Mayer, and Yorik van Havre. The current stable version is '''1.1.x''' (released March 2026), with active development towards version 1.2. FreeCAD runs on Windows, macOS, and Linux, and is available in over 20 languages.

FreeCAD features a modern, comprehensive [[Workbenches|workbench-based]] interface built on the Qt framework. Its core geometry engine is powered by [[Open_CASCADE|Open CASCADE Technology]] (OCCT), which provides robust support for [[B-rep|Boundary Representation]] (BRep), [[NURBS|Non-uniform rational basis spline]] (NURBS) curves and surfaces, complex boolean operations, and native support for industry-standard formats like [[STEP|STEP]] and [[IGES|IGES]].

Unlike many commercial CAD packages, FreeCAD is completely free — both as in "free speech" and "free beer". Its development is driven by a global community of volunteers and supported by the FreeCAD Project Association (FPA). The source code is hosted on [https://github.com/FreeCAD/FreeCAD GitHub].

=== Key Capabilities ===

* '''Parametric Modeling:''' All objects in FreeCAD are natively parametric. Their shapes can be driven by [[Property|properties]], formulas via the [[Expressions|expressions engine]], or even depend on other objects. Changes propagate automatically through the model tree.

* '''Assembly Workbench:''' Since version 1.0 (November 2024), FreeCAD includes a built-in [[Assembly_Workbench|Assembly Workbench]] based on the Ondsel Solver, allowing 3D constraints between parts, assembly of components, and animation.

* '''Sketcher:''' The [[Sketcher_Workbench|Sketcher]] provides a state-of-the-art 2D constraint-based sketching environment that serves as the foundation for most part design workflows.

* '''Part Design:''' The [[PartDesign_Workbench|PartDesign Workbench]] enables a feature-based modeling workflow (pads, pockets, revolutions, grooves, fillets, chamfers, etc.).

* '''BIM:''' The [[BIM_Workbench|BIM Workbench]] (merged from the former Arch and BIM workbenches in version 1.0) provides full [[Building_Information_Modeling|Building Information Modeling]] capabilities with [[IFC|IFC]] compatibility.

* '''CAM:''' The [[CAM_Workbench|CAM Workbench]] (formerly Path Workbench) generates machine instructions ([[G-code|G-code]]) for [[CNC|CNC]] machining, 3D printing, and other computer-aided manufacturing operations.

* '''TechDraw:''' The [[TechDraw_Workbench|TechDraw Workbench]] creates production-ready 2D technical drawings from 3D models, with support for dimensions, section views, detail views, and more.

* '''FEM:''' The [[FEM_Workbench|FEM Workbench]] performs [[Finite_Element_Method|Finite Element Method]] (FEM) analysis using integrated solvers such as CalculiX, Elmer, and Z88.

* '''Import/Export:''' FreeCAD supports a wide range of file formats including STEP, IGES, OBJ, STL, DXF, DWG, SVG, DAE, IFC, OFF, NASTRAN, VRML, and OpenSCAD CSG, in addition to its native [[FCStd|FCStd]] format.

FreeCAD has a large and active community. Help and support can be found on the [https://forum.freecad.org FreeCAD Forum], [https://discord.com/invite/w2cTKGzccC Discord], and [https://www.reddit.com/r/FreeCAD Reddit]. The project welcomes contributions of all kinds — code, documentation, translations, and financial support through the [https://fpa.freecad.org FreeCAD Project Association].

{{Docnav
|[[Main_Page|Main Page]]
|[[Feature_list|Feature list]]
}}

{{Userdocnavi{{#translation:}}}}
[[Category:User Documentation{{#translation:}}]]
58 changes: 8 additions & 50 deletions wiki/Feature_list.wikitext
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
<languages/>
<translate>

<!--T:37-->
{{Docnav
|[[About_FreeCAD|About FreeCAD]]
|[[Installing_on_Windows|Installing on Windows]]
}}

<!--T:1-->
This is an extensive, but not complete, list of features which FreeCAD implements.

</translate>
{{TOCright}}
<translate>

== Release notes == <!--T:2-->

<!--T:3-->
== Release notes ==
* [[Release_notes_1.2|Release 1.2]] - ''Development version with weekly builds''
* '''[[Release_notes_1.1|Release 1.1]] - March 2026'''
* [[Release_notes_1.0|Release 1.0]] - November 2024
Expand All @@ -32,9 +23,7 @@ This is an extensive, but not complete, list of features which FreeCAD implement
* [[Release_notes_0.12|Release 0.12]] - December 2011
* [[Release_notes_0.11|Release 0.11]] - March 2011

== Key features == <!--T:4-->

<!--T:5-->
== Key features ==
* [[Image:Feature1.jpg|left]] A complete [https://en.wikipedia.org/wiki/Open_CASCADE Open CASCADE Technology]-based '''geometry kernel''' allowing complex 3D operations on complex shape types, with native support for concepts like [https://en.wikipedia.org/wiki/Boundary_representation Boundary Representation] (BREP), [https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline Non-uniform rational basis spline] (NURBS) curves and surfaces, a wide range of geometric entities, boolean operations and [https://en.wikipedia.org/wiki/Fillet_(mechanics) fillets], and built-in support of [https://en.wikipedia.org/wiki/ISO_10303 STEP] and [https://en.wikipedia.org/wiki/IGES IGES] formats {{clear}}
* [[Image:Feature3.jpg|left]] A full '''parametric model'''. All FreeCAD objects are natively parametric, meaning their shape can be based on [[Property|properties]] or even depend on other objects. All changes are recalculated on demand, and recorded by an undo/redo stack. New object types can be added easily, and can even be [[Scripted_objects|fully programmed in Python]].{{clear}}
* [[Image:Feature4.jpg|left]] A '''modular architecture''' that allows plugin extensions (modules and workbenches) to add functionality to the core application. An extension can be as complex as a whole new application programmed in C++ or as simple as a [[Power_users_hub|Python script]] or self-recorded [[Macros|macro]]. You have complete access to almost any part of FreeCAD from the built-in '''Python''' interpreter, macros or external scripts, be it [[Topological_data_scripting|geometry creation and transformation]], the 2D or 3D representation of that geometry ([[Scenegraph|scenegraph]]) or even the [[PySide|FreeCAD interface]].{{clear}}
Expand All @@ -45,95 +34,64 @@ This is an extensive, but not complete, list of features which FreeCAD implement
* [[Image:Feature-CAM.jpg|left]] A [[CAM_Workbench|CAM Workbench]] dedicated to mechanical machining for [https://en.wikipedia.org/wiki/Computer-aided_manufacturing Computer Aided Manufacturing] (CAM). Using the CAM Workbench you may output, display and adjust the [https://en.wikipedia.org/wiki/G-code G code] used to control the target machine.{{clear}}
* [[Image:Feature_spreadsheet.png|left]] An [[Spreadsheet_Workbench|Integrated Spreadsheet]] and an [[Expressions|expression parser]] which may be used to drive formula-based models and organize model data in a central location.{{clear}}

== General features == <!--T:6-->

<!--T:7-->
== General features ==
* '''multi-platform'''. FreeCAD runs and behaves exactly the same way on Windows, Linux, macOS and other platforms.

<!--T:8-->
* '''full GUI application'''. FreeCAD has a complete Graphical User Interface based on the [https://www.qt.io/ Qt] framework, with a 3D viewer based on [https://en.wikipedia.org/wiki/Open_Inventor Open Inventor]; allowing fast rendering of 3D scenes and a very accessible scene graph representation.

<!--T:9-->
* '''runs as a command line application'''. In command line mode, FreeCAD runs without its interface but with all its geometry tools. In this mode it has a relatively low memory footprint and can be used, for example, as a server to produce content for other applications.

<!--T:10-->
* '''can be imported as a [[Embedding FreeCAD|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.

<!--T:11-->
* '''workbench concept'''. In the FreeCAD interface, tools are grouped by [[Workbenches|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.

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

<!--T:13-->
* '''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.

<!--T:14-->
* '''parametric primitive creation'''. Primitive objects such as box, sphere, cylinder, etc. can be created by specifying their geometry constraints.

<!--T:15-->
* '''graphical modification operations'''. FreeCAD can perform translation, rotation, scaling, mirroring, offset (either trivial or as described in [https://www.researchgate.net/publication/240754626_Self-intersection_Removal_in_Triangular_Mesh_Offsetting Jung/Shin/Choi]) or shape conversion, in any plane of the 3D space.

<!--T:16-->
* '''[[Constructive solid geometry]] (boolean operations)'''. FreeCAD can do constructive solid geometry operations (union, difference, intersect).

<!--T:17-->
* '''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.

<!--T:18-->
* '''modeling with straight or revolved''' '''extrusions''', '''sections''' and '''fillets'''.

<!--T:19-->
* '''topological components''' like '''vertices''', '''edges''', '''wires''' and '''planes'''.

<!--T:20-->
* '''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).

<!--T:21-->
* '''annotations'''. FreeCAD can insert annotations for text or dimensions.

<!--T:22-->
* '''Undo/Redo framework'''. Everything in FreeCAD is undo/redoable, with user access to the undo stack. Multiple steps can be undone at one time.

<!--T:23-->
* '''transaction oriented'''. The undo/redo stack stores document transactions, not single actions, allowing each tool to define exactly what must be undone or redone.

<!--T:24-->
* '''built-in [[Scripting|scripting]] framework'''. FreeCAD features a built-in [http://www.python.org/ 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 workbenches can be programmed completely in Python.

<!--T:25-->
* '''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 workbenches and easily learn about FreeCAD internals.

<!--T:26-->
* '''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.

<!--T:27-->
* '''full [[Macros|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.

<!--T:28-->
* '''compound (ZIP based) document save format'''. FreeCAD documents are saved with a {{FileName|.[[File Format FCStd|FCStd]]}} extension. The document can contain many different types of information such as geometry, scripts or thumbnail icons. The {{FileName|.FCStd}} file is itself a zip container; a saved FreeCAD file has already been compressed.

<!--T:29-->
* '''fully customizable/scriptable Graphical User Interface'''. The [https://www.qt.io 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.

<!--T:30-->
* '''thumbnailer'''. (currently only Linux systems) FreeCAD document icons show the contents of the file in most file manager applications such as Gnome's Nautilus.

<!--T:31-->
* '''modular MSI installer'''. FreeCAD's installer allows flexible installations on Windows systems. Packages for Ubuntu systems are also maintained.

==Extra Workbenches == <!--T:38-->
* '''thumbnailer'''. FreeCAD document icons show the contents of the file in most file manager applications (Linux: Nautilus, Windows: File Explorer, macOS: Finder).

<!--T:36-->
Power users have created various custom [https://www.freecad.org/addons.php external workbenches].
* '''cross-platform packaging'''. FreeCAD is available through native installers on Windows, macOS (DMG), Linux (AppImage, Snap, Flatpak, and distribution packages), and can be compiled from source on all platforms.

==Extra Workbenches ==
Power users have created various custom [https://github.com/FreeCAD/FreeCAD-addons external workbenches].

<!--T:34-->
{{Docnav
|[[About_FreeCAD|About FreeCAD]]
|[[Installing_on_Windows|Installing on Windows]]
}}

</translate>
{{Userdocnavi{{#translation:}}}}
[[Category:User Documentation{{#translation:}}]]
[[Category:User Documentation{{#translation:}}]]
Loading