Skip to content

tomasf/Cadova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cadova

Cadova is a Swift library for creating 3D models through code, with a focus on 3D printing. It offers a programmable alternative to traditional CAD tools, combining precise geometry with the expressiveness and elegance of Swift.

Cadova models are written entirely in Swift, making them easy to version, reuse, and extend. The result is a flexible and maintainable approach to modeling, especially for those already comfortable with code.

Cadova runs on macOS, Windows, and Linux. To get started, read the Getting Started guide.

More documentation is available in the Wiki. Read What is Cadova? for an introduction. For code examples, see Examples.

Swift Platforms

Related Projects

  • Cadova Viewer - A native macOS 3MF viewer application
  • Helical - A Cadova library providing customizable threads, screws, bolts, nuts and related parts.

Cadova uses Manifold-Swift, ThreeMF, freetype-spm and FindFont.

Versioning and Stability

Cadova is currently in pre-release, with a version number below 1.0. The API is still evolving, but stability is maintained within each minor version — so upToNextMinor(from:) is recommended for your dependency. You're very welcome to start using Cadova today, and feedback is appreciated!

Contributions

Contributions are welcome! If you have ideas, suggestions, or improvements, feel free to open an issue or submit a pull request. You’re also welcome to browse the open GitHub issues and pick one to work on — especially those marked as good first issues or help wanted.

License

This project is licensed under the MIT license. See the LICENSE file for details.

Manifest template

// swift-tools-version: 6.1
import PackageDescription

let package = Package(
    name: "<#name#>",
    platforms: [.macOS(.v14)],
    dependencies: [
        .package(url: "https://github.com/tomasf/Cadova.git", .upToNextMinor(from: "0.1.0")),
    ],
    targets: [
        .executableTarget(
            name: "<#name#>",
            dependencies: ["Cadova"],
            swiftSettings: [.interoperabilityMode(.Cxx)]
        ),
    ]
)

About

Swift DSL for parametric 3D modeling

Topics

Resources

License

Stars

Watchers

Forks