A professional Quantity Takeoff module for FreeCAD that helps construction professionals calculate material quantities, costs, and generate Bill of Quantities (BOQ) directly from 3D models.
Perfect for:
- 🏗️ Construction Engineers
- 📐 Architects
- 💰 Cost Estimators
- 📊 Project Managers
- Download the latest release from Releases
- Extract to FreeCAD's Mod directory:
Windows: C:\Users\[username]\AppData\Roaming\FreeCAD\Mod\QuantityTakeoff\ Linux: ~/.local/share/FreeCAD/Mod/QuantityTakeoff/ macOS: ~/Library/Application Support/FreeCAD/Mod/QuantityTakeoff/ - Restart FreeCAD
- Select "Quantity Takeoff" workbench
# Navigate to FreeCAD Mod directory
cd ~/.local/share/FreeCAD/Mod/ # Linux
# cd ~/Library/Application Support/FreeCAD/Mod/ # macOS
# cd C:\Users\[username]\AppData\Roaming\FreeCAD\Mod\ # Windows
# Clone repository
git clone https://github.com/buildsmart888/FreeCAD-QuantityTakeoff.git QuantityTakeoff
QuantityTakeoff/
├── Init.py # เริ่มต้น module
├── InitGui.py # เริ่มต้น GUI
├── QTOWorkbench.py # หลัก Workbench ที่มี 3 ปุ่ม
├── qto_dialog.py # Compatibility layer
├── dialogs/ # โฟลเดอร์ Dialog ทั้งหมด
│ ├── __init__.py
│ ├── main_dialog.py # Dialog หลัก BOQ Management
│ └── object_info_dialog.py # Dialog แสดงข้อมูลชิ้นงาน + กรอง
├── utils/ # โฟลเดอร์ Utilities
│ ├── __init__.py
│ └── calculations.py # คลาส QTOCalculator
└── resources/
└── icons/
└── qto.svg
- ✅ ตาราง BOQ 15 คอลัมน์ สำหรับงานก่อสร้าง
- ✅ แก้ไขราคา Material/unit, Labor/unit ได้
- ✅ คำนวณแบบ Real-time: Material Total = QTY × Material/unit
- ✅ คำนวณแบบ Real-time: Labor Total = QTY × Labor/unit
- ✅ Grand Total รวมทั้งหมด
- ✅ Export CSV ได้
- ✅ หน่วยเป็นเมตร (แปลงจาก mm อัตโนมัติ)
- ✅ แสดงข้อมูลชิ้นงานทั้งหมด 12 คอลัมน์
- ✅ ระบบกรองตาม Object Type
- ✅ ระบบค้นหาตามชื่อ
- ✅ สีแยกประเภทชิ้นงาน
- ✅ Export ข้อมูลได้
- ✅ Sorting ได้ทุกคอลัมน์
- ✅ QTOCalculator class
- ✅ แปลงหน่วยจาก mm เป็น m อัตโนมัติ
- ✅ คำนวณ Volume, Area, Weight
- ✅ Format ตัวเลขแบบมืออาชีพ
- เลือก Workbench "Quantity Takeoff"
- จะมี 3 ปุ่ม:
- "เปิด BOQ Dialog" → เปิดตาราง BOQ หลัก
- "แสดงข้อมูลชิ้นงาน" → เปิด Dialog ข้อมูลชิ้นงานพร้อมกรอง
- "เลือกชิ้นงาน" → เลือกใน 3D แล้วเพิ่มเข้าตาราง
- แก้ไข BOQ Table →
dialogs/main_dialog.py - แก้ไข Object Info →
dialogs/object_info_dialog.py - แก้ไขการคำนวณ →
utils/calculations.py - เพิ่มปุ่มใหม่ →
QTOWorkbench.py
| คอลัมน์ | คำอธิบาย | แก้ไขได้ |
|---|---|---|
| Object Name | ชื่อชิ้นงาน | ❌ |
| Object Type | ประเภทชิ้นงาน | ❌ |
| Material | วัสดุ | ❌ |
| Length (m) | ความยาว เมตร | ❌ |
| Width (m) | ความกว้าง เมตร | ❌ |
| Height (m) | ความสูง เมตร | ❌ |
| Volume (m³) | ปริมาตร | ❌ |
| Area (m²) | พื้นที่ | ❌ |
| Quantity | จำนวน | ❌ |
| Unit Weight (kg) | น้ำหนัก/หน่วย | ❌ |
| Material/unit | ราคาวัสดุ/หน่วย | ✅ แก้ไขได้ |
| Labor/unit | ราคาแรงงาน/หน่วย | ✅ แก้ไขได้ |
| Material Total | รวมวัสดุ | ❌ คำนวณอัตโนมัติ |
| Labor Total | รวมแรงงาน | ❌ คำนวณอัตโนมัติ |
| Total | รวมทั้งหมด | ❌ คำนวณอัตโนมัติ |
สามารถอัปเกรดแต่ละส่วนแยกกันได้:
- อัปเกรด Dialog → แก้ไขไฟล์ใน
dialogs/ - อัปเกรด Calculator → แก้ไข
utils/calculations.py - เพิ่มปุ่ม → แก้ไข
QTOWorkbench.py - Backward Compatible → ไฟล์เก่ายังใช้ได้ผ่าน
qto_dialog.py
- ✅ Compatible กับ PySide2 และ PyQt5
- ✅ Error Handling ครบถ้วน
- ✅ Signal Management ป้องกัน infinite loop
- ✅ Unicode Support ภาษาไทยใช้ได้
- ✅ Modular Design แก้ไขง่าย ขยายง่าย
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone your fork
git clone https://github.com/YOUR-USERNAME/FreeCAD-QuantityTakeoff.git
cd FreeCAD-QuantityTakeoff
# Create development branch
git checkout -b developFound a bug? Please create an issue with:
- 🖥️ Operating System (Windows/Linux/macOS)
- 🔧 FreeCAD Version
- 🐍 Python Version
- 📝 Detailed Description
- 📸 Screenshots (if applicable)
- 📖 Documentation: Wiki
- 💬 Discussions: GitHub Discussions
- 🐛 Bug Reports: Issues
This project is licensed under the MIT License - see the LICENSE file for details.
- FreeCAD - Amazing open-source CAD software
- PySide2/PyQt5 - GUI framework
- Community contributors and testers
Made with ❤️ for the construction industry

