GithubHelp home page GithubHelp logo

huskier / fornjot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hannobraun/fornjot

0.0 0.0 0.0 15.5 MB

Early-stage b-rep CAD kernel, written in the Rust programming language.

Home Page: https://www.fornjot.app/

License: Other

Rust 99.37% Nix 0.14% Just 0.15% WGSL 0.34%

fornjot's Introduction

Fornjot

Blog | Community | Contribution Guide

About

Fornjot is an early-stage b-rep CAD kernel written in the Rust programming language.

For an introduction of what the project aims to achieve, please check out the website.

Sponsors

Fornjot is supported by @MitchellHansen, @webtrax-oz, @seanjensengrey, @reivilibre, @lthiery, @ahdinosaur, @martindederer, @bollian, @sucaba, @nullstyle, @tachiniererin, @HalfVoxel, @Kethku, @jessebraham, @MattOslin, @jminer, @voxpelli, @U007D, @guillaumechauvat, @mayfieldiv, @bglw, @hansihe, @romixlab, and my other awesome sponsors. Thank you!

Please consider supporting me too, to help make Fornjot sustainable long-term.

Table of Contents

Status

Fornjot is usable for some toy examples, but currently lacks the features for something more advanced. Work to change that is underway.

Overview

This is a list of the crates that make up Fornjot, along with a short description for each, starting with the most basic ones and leading up to the high-level ones:

  • fj: All-in-one API that re-exports all of the following crates.
  • fj-math: Math primitives used by the rest of Fornjot.
  • fj-interop: Basic types that allow other crates to interoperate, without depending on each other.
  • fj-core: Core primitives and code operating on those primitives.
  • fj-export: Exports Fornjot models to external data formats.
  • fj-viewer: Displays Fornjot models.
  • fj-window: Simple windowing abstraction for use with fj-viewer.

Usage

Fornjot is a set of Rust libraries (see list above). The definitive documentation on how to use those is their reference documentation. The crates.io pages of each library (see list above) link to those.

If you want to use Fornjot to create a specific model in Rust, the best starting point are the example models in this repository:

  • To display a model, run cargo run -p cuboid (replace cuboid with name of model you want to display).
  • To export a model, run cargo run -p cuboid -- --export model.3mf (replace cuboid with name of model you want to export; optionally replace 3mf with another supported file format).
  • To see full set of CLI options, run cargo run -p cuboid -- --help (all models have the same CLI interface, so this shouldn't differ much between them).

Community

If you are interested in Fornjot, please consider joining the community. We'd love to have you!

Please check out the community page on the website for information on where to find us!

Get Involved

If you are interested in helping out, just fork one of the GitHub repositories and submit a pull request:

If you don't know what to work on, check out the good first issues. If you need some more guidance, check out the contribution guide, or just ask!

License

This project is open source, licensed under the terms of the Zero Clause BSD License (0BSD, for short). This basically means you can do anything with it, without any restrictions, but you can't hold the authors liable for problems.

See LICENSE.md for full details.

fornjot's People

Contributors

hannobraun avatar dependabot[bot] avatar hendrikmaus avatar michael-f-bryan avatar a-walrus avatar jeevcat avatar gabsi26 avatar erenoku avatar zthompson47 avatar nathan-folsom avatar danieleades avatar connor-lennox avatar devanlooches avatar kopackiw avatar therealprof avatar chrisprice avatar obiwanrohan avatar iamthecarl avatar bandsberg avatar kamirr avatar mxdamien avatar tmayoff avatar payload avatar antonok-edm avatar brungardtdb avatar martinkavik avatar philipp-m avatar jzow avatar t0mstone avatar follower avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.