FreeCAD

 
 

Trình mô hình CAD 3D tham số nguồn mở

Tạo, chỉnh sửa & tự động hoá các thiết kế 3D với API Python cho Kỹ thuật Cơ khí, Kiến trúc & Thiết kế Sản phẩm.

FreeCAD là gì?

FreeCAD là một phần mềm mô hình CAD 3D tham số mạnh mẽ, mã nguồn mở, được thiết kế để tạo ra các đối tượng thực tế có kích thước bất kỳ. Nó hỗ trợ mô hình tham số, cho phép người dùng dễ dàng chỉnh sửa thiết kế bằng cách điều chỉnh các tham số trong lịch sử mô hình. Được xây dựng trên kiến trúc vững chắc sử dụng OpenCASCADE, Coin3D, Qt và Python, FreeCAD phục vụ cho kỹ thuật cơ khí, kiến trúc, thiết kế sản phẩm và nhiều lĩnh vực khác. API Python linh hoạt của nó cho phép các nhà phát triển và người dùng nâng cao tự động hoá các tác vụ, mở rộng chức năng và tích hợp với các công cụ bên ngoài. Dù bạn là người đam mê, sinh viên, kỹ sư hay giáo viên, FreeCAD cung cấp một nền tảng thiết kế 3D chuyên nghiệp mà không tốn chi phí bản quyền.

Sức mạnh cốt lõi của FreeCAD nằm ở khả năng kết nối việc vẽ phác thảo 2D và mô hình 3D, cho phép người dùng vẽ các hồ sơ 2D bị ràng buộc hình học và đùn chúng thành các tính năng 3D. Nó bao gồm các bàn làm việc chuyên biệt cho Thiết kế Bộ phận, Lắp ráp, Bản vẽ, Kiến trúc và nhiều hơn nữa. Ứng dụng chạy nguyên bản trên Windows, macOS và Linux, đảm bảo khả năng tiếp cận rộng rãi. Với sự hỗ trợ tích cực của cộng đồng, tài liệu toàn diện và kiến trúc plugin mô-đun, FreeCAD là lựa chọn lý tưởng cho cả người mới bắt đầu và các chuyên gia CAD có kinh nghiệm, những người đang tìm kiếm một giải pháp thay thế minh bạch, có thể tùy chỉnh và miễn phí so với các công cụ độc quyền. Việc tích hợp với các quy trình mô phỏng và sản xuất khiến nó phù hợp cho toàn bộ vòng đời phát triển sản phẩm.

Previous Next

Bắt đầu với FreeCAD

FreeCAD có sẵn dưới dạng các trình cài đặt đã biên dịch sẵn cho Windows, macOS và Linux trên trang bản phát hành mới nhất. Trên Linux, nó thường có sẵn thông qua trình quản lý gói hoặc trung tâm phần mềm của bản phân phối của bạn. Đối với các nhà phát triển và người dùng nâng cao, việc biên dịch từ mã nguồn được hỗ trợ bằng CMake. Sổ tay Nhà phát triển chính thức cung cấp hướng dẫn chi tiết về việc biên dịch. Sau khi cài đặt, khởi chạy FreeCAD và khám phá các bàn làm việc thông qua thanh công cụ. Bảng điều khiển Python và hệ thống macro cho phép tự động hoá và tùy chỉnh. Để tìm tài nguyên học tập, hãy truy cập Bắt đầu trên wiki FreeCAD.

Cài đặt FreeCAD qua Trình quản lý gói (Linux) hoặc Tải xuống

# Ubuntu/Debian
sudo apt install freecad

# macOS (Homebrew)
brew install --cask freecad

# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest

Mô hình 3D tham số với API Python

Engine mô hình tham số của FreeCAD cho phép người dùng định nghĩa các đối tượng với các tham số có thể chỉnh sửa, cho phép lặp lại thiết kế chỉ bằng cách điều chỉnh giá trị. API Python mở rộng toàn bộ ngăn xếp mô hình, cho phép các nhà phát triển tạo ra các hình học phức tạp một cách lập trình. Sử dụng các bàn làm việc Part và PartDesign, bạn có thể tạo các hình khối cơ bản, thực hiện các phép toán Boolean, thêm các vòng bo/góc cắt, và tạo các tính năng như pad, pocket và revolutions — tất cả đều qua Python. Khả năng này rất quan trọng cho thiết kế sinh học, tối ưu hoá hình thái, và tích hợp CAD với các quy trình mô phỏng hoặc sản xuất. API hỗ trợ cả cách tiếp cận hướng đối tượng và hàm, làm cho nó phù hợp cho scripting, macro và các plugin đầy đủ tính năng. Với quyền truy cập vào kernel OpenCASCADE nền tảng, FreeCAD cung cấp các phép toán hình học cấp chuyên nghiệp trong khi vẫn duy trì tính dễ sử dụng cho người mới bắt đầu.

Tạo khối lập phương tham số và sửa đổi kích thước của nó qua Python

import FreeCAD as App
import Part

# Create document and object
doc = App.newDocument()
cube = doc.addObject("Part::Box", "Cube")
cube.Length = 10
cube.Width = 20
cube.Height = 30
App.ActiveDocument.recompute()

# Modify dimensions later
cube.Length = 15
App.ActiveDocument.recompute()

Bàn làm việc vẽ phác thảo & bản vẽ 2D

FreeCAD bao gồm một môi trường vẽ phác thảo 2D mạnh mẽ được tích hợp với quy trình mô hình 3D. Bàn làm việc Sketcher cho phép người dùng vẽ các hồ sơ 2D có ràng buộc hình học bằng các đường thẳng, cung, vòng tròn và spline. Các ràng buộc như ngang, dọc, song song, vuông góc và ràng buộc kích thước đảm bảo kiểm soát chính xác hình học của bản phác thảo. Khi hoàn thành, các bản phác thảo này trở thành nền tảng cho các tính năng 3D như extrusions, revolutions và lofts. Ngoài ra, bàn làm việc Draft cung cấp các công cụ để tạo bản vẽ vector 2D không có ràng buộc, lý tưởng cho các bản thiết kế kiến trúc hoặc minh họa kỹ thuật. Bàn làm việc Drawing cho phép tạo ra các chiếu trực giao, mặt cắt và bản vẽ có chú thích từ mô hình 3D, hỗ trợ tài liệu kỹ thuật tuân thủ ISO với các tính năng kích thước, dung sai và bảng nguyên liệu.

Tạo một bản phác thảo, thêm các ràng buộc và đùn để tạo thành một tính năng 3D

import FreeCAD as App
import Sketcher
import PartDesign

doc = App.newDocument()
Part = doc.addObject("PartDesign::Body")
Sketch = doc.addObject("Sketcher::SketchObject", "Sketch")
Sketch.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),0))

# Add geometry
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,0,0),App.Vector(10,0,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,0,0),App.Vector(10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,10,0),App.Vector(-10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,10,0),App.Vector(-10,0,0)),False)

# Add constraints
Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1))
Sketch.addConstraint(Sketcher.Constraint('Horizontal',0))
Sketch.addConstraint(Sketcher.Constraint('Vertical',1))

# Extrude
Pad = doc.addObject("PartDesign::Pad", "Pad")
Pad.Profile = Sketch
Pad.Length = 5
doc.recompute()

Thiết kế lắp ráp & giải quyết ràng buộc

FreeCAD hỗ trợ mô hình lắp ráp phức tạp thông qua các bàn làm việc Assembly4 và Assembly3, cho phép người dùng kết hợp nhiều bộ phận thành các cơ cấu chức năng. Các lắp ráp được xây dựng bằng cách sử dụng các ràng buộc như trùng nhau, song song, vuông góc, tiếp tuyến và khoảng cách để xác định vị trí tương đối và chuyển động giữa các thành phần. Trình giải tự động cập nhật lắp ráp khi bất kỳ bộ phận hoặc ràng buộc nào được sửa đổi, đảm bảo tính toàn vẹn của thiết kế. Khả năng này rất quan trọng cho các nhiệm vụ kỹ thuật cơ khí như truyền động bánh răng, liên kết và thiết kế vỏ bọc. Các lắp ráp có thể được xuất dưới dạng tệp STEP để hợp tác với các hệ thống CAD khác, và mô phỏng chuyển động có thể thực hiện thông qua tích hợp với các công cụ bên ngoài như Yade hoặc các script Python tùy chỉnh. Tính chất tham số của FreeCAD đảm bảo rằng các thay đổi đối với từng bộ phận sẽ tự động lan truyền tới lắp ráp, giảm việc cập nhật thủ công và giảm thiểu lỗi.

Tạo một bộ lắp ráp đơn giản với hai bộ phận và áp dụng ràng buộc đồng vị

import FreeCAD as App
import Assembly4

doc = App.newDocument("Assembly")
# Add parts
Part1 = doc.addObject("Part::Box", "Block1")
Part1.Length, Part1.Width, Part1.Height = 10, 10, 10
Part2 = doc.addObject("Part::Cylinder", "Cylinder1")
Part2.Radius, Part2.Height = 3, 15

# Create assembly
asm = doc.addObject("App::Part", "Assembly")
asm.Type = "Assembly"
asm.addObject(Part1)
asm.addObject(Part2)

# Apply constraint (simplified)
# In practice, use Assembly4's Constraint class for full functionality
App.ActiveDocument.recompute()

Công cụ mô hình BIM & Kiến trúc

FreeCAD bao gồm các công cụ chuyên dụng cho Mô hình Thông tin Xây dựng (BIM) và thiết kế kiến trúc thông qua bàn làm việc Arch. Người dùng có thể tạo tường, sàn, mái, cửa sổ, cửa ra vào và các yếu tố cấu trúc bằng các đối tượng tham số trực quan. Các đối tượng này tự động cập nhật khi các tham số của chúng thay đổi, hỗ trợ thiết kế lặp lại và tuân thủ các quy chuẩn xây dựng. Bàn làm việc hỗ trợ nhập/xuất IFC (Industry Foundation Classes), cho phép tương tác với phần mềm BIM tiêu chuẩn ngành như Revit và Archicad. Các tính năng như quy hoạch mặt bằng, thiết lập phân tích năng lượng và tính toán vật liệu khiến FreeCAD phù hợp cho thiết kế và tài liệu kiến trúc giai đoạn đầu. Ngoài ra, các bàn làm việc Draft và Sketcher tích hợp liền mạch để tạo các bản mặt bằng và mặt đứng chính xác, trong khi bàn làm việc Drawing tạo ra các tài liệu xây dựng với chú thích, kích thước và lịch trình.

Tạo một bức tường và thêm một cửa sổ bằng API Python

import FreeCAD as App
import Arch

doc = App.newDocument("Building")
# Create wall
Wall = Arch.makeWall(length=5000, width=200, height=3000)
Wall.Base = Arch.makeSketch([0,0,0], [5000,0,0], [5000,200,0], [0,200,0])

# Create window
Window = Arch.makeWindow(1200, 1500)
Window.Base = Arch.makeSketch([1000,100,0], [2200,100,0], [2200,1600,0], [1000,1600,0])
Window.Host = Wall

App.ActiveDocument.recompute()
 Tiếng Việt