Yi3D is a simple and easy-to-use 3D modeling application, available on Windows and Linux.
Overview
Yi3D is a simple and easy-to-use 3D modeling application, available on Windows and Linux.
README
Yi3D
Yi3D is a simple and easy-to-use open-source 3D modeling application, available on Windows and Linux.
- Sketch-based parametric modeling — create extrusion, revolution, sweep, and loft features from 2D sketches.
- Primitive-based Boolean modeling — combine built-in shapes such as box, cylinder, and sphere with union, difference, and intersection operations.
Features
- Primitives: Box, Cylinder, Sphere, Cone, Torus, Tube
- Sketching: Line, Circle, Arc, Ellipse, Ellipse Arc, Spline, Point, Centerline, Text
- Part Modeling: Extrusion, Revolution, Loft, Sweep, Helix
- Boolean Operations: Union, Difference, Intersection
- Solid Modifications: Fillet, Chamfer, Draft, Shell
- Patterns: Linear Pattern, Circular Pattern
- Transformations: Move, Rotate, Scale, Mirror
- Datum Planes: Coincident, Parallel, Perpendicular, Angular, Tangent, Three-Point
- Python Scripting: Full Python API for programmatic model creation and modification
- AI-Assisted Modeling: Natural-language-to-3D via integrated Claude Code skill
- File Formats: Binary
.wy3dband text.wy3dtmodel files; DXF import/export for sketches
Architecture
Yi3D
├── src/wy3d/ Core modeling library (DLL) — OCCT-based parametric engine
├── src/wy3dApp/ Desktop application (EXE) — Qt 5 + OSG graphical interface
├── src/wy3dPY/ Python bindings (wy3d.pyd) — built with pybind11
├── inc/ Public C++ headers
├── scripts/ Python modeling script examples
├── samples/ Sample model files (.wy3db / .wy3dt)
├── 3rdParty/ Third-party dependencies and prebuilt bundles
├── doc/ Design documentation
└── skills/ Claude Code AI-assisted modeling skill
Dependencies
| Dependency | Purpose |
|---|---|
| OpenCASCADE (OCCT) | 3D geometry kernel |
| Qt 5 | GUI framework |
| OpenSceneGraph (OSG) | 3D rendering engine |
| WYAF | Application framework (free for non-commercial use) |
| Python 3.10 | Scripting runtime |
| ezdxf | DXF reading/writing for sketch import/export |
| pybind11 | C++/Python bindings |
| Google Test | Unit testing framework |
| muParser | Math expression parser |
| FreeType | Font rendering |
Building from Source
Windows
- Compiler: MSVC 2019+, C++17
- Clone the repo:
git clone https://github.com/wangyao1052/Yi3D.git - Download
Yi3D-LibBundles-1.0.2.zipfrom the releases page and extract intoYi3D/3rdParty/bundles/ - Open the project folder in Visual Studio and build
For detailed step-by-step instructions, see Compiling with Visual Studio (中文).
Linux
- Download the WYAF framework from WYAF and extract it to
3rdParty/bundles/wyaf/. - Install the remaining system packages (OCCT, Qt5, OSG, Python3, FreeType) via your package manager.
- Build with CMake.
Python Scripting
Create a box with a fillet using the wy3d module:
import wy3d
db = wy3d.Database()
box = wy3d.Box()
box.setSize(100, 100, 100)
db.add(box)
fillet = wy3d.Fillet()
fillet.setBaseElement(box)
fillet.setRadius(10)
fillet.addEdge(...) # select the edges to fillet
db.add(fillet)
db.saveAs("box_with_fillet.wy3db")
See the scripts/ directory for more examples.
AI-Assisted Modeling
Yi3D integrates a Claude Code skill for natural-language-to-3D workflows:
- Describe the desired model in natural language
- AI generates a Python modeling script
- The script is sent to Yi3D for execution via TCP/IPC
- Review the result and iterate
See skills/YI3D/SKILL.md for details.
License
This project is open-sourced under the Apache License, Version 2.0.
See LICENSE for the full license text and NOTICE.md for third-party attributions.
Copyright (C) 2024-2026 Wang Yao
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Author
Wang Yao —
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add wangyao1052/yi3d