csg.js - Constructive Solid Geometry (CSG) Library

  •        143

Constructive Solid Geometry (CSG) is a modelling technique that uses Boolean operations like union and intersection to combine 3D solids. This library implements CSG operations on meshes elegantly and concisely using BSP trees, and is meant to serve as an easily understandable implementation of the algorithm.The API documentation can be found here.

https://github.com/jscad/csg.js

Tags
Implementation
License
Platform

   




Related Projects

OpenJSCAD - Set of modular, browser and command line tools for creating parametric 2D & 3D designs with Javascript

  •    Javascript

OpenJsCad.org is a more up-to-date OpenJsCAD frontend where you can edit .jscad files either locally or online via JS editor (built-in). A few functions are available to make the transition from OpenSCAD to OpenJSCAD easier (scad-api built-in), as well CLI (command-line interface) for server-side computations with NodeJS.

csg.js - Constructive solid geometry on meshes using BSP trees in JavaScript

  •    Javascript

Constructive Solid Geometry (CSG) is a modeling technique that uses Boolean operations like union and intersection to combine 3D solids. This library implements CSG operations on meshes elegantly and concisely using BSP trees, and is meant to serve as an easily understandable implementation of the algorithm. All edge cases involving overlapping coplanar polygons in both solids are correctly handled. Detailed documentation can be automatically generated using Docco.

BRL-CAD - Solid Modeling System

  •    Java

BRL-CAD is a powerful cross-platform constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing for rendering amp; geometric analyses, network distributed framebuffer support, image & signal-processing tools.

Boundary Representation Library

  •    C

Implementation of a topological data structure for representing the boundary (surface) of a 3D solid. A core layer on top of which e.g. CSG operations or 3D model topology fixers can be build. Includes a CSG sample application.

ImplicitCAD - A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D; gcode generation

  •    Haskell

ImplicitCAD is a programmatic CAD program, implemented in haskell. Unlike traditional CAD programs, programmatic CAD programs use text descriptions of objects, as in programming. Concepts like variables, control structures and abstraction are used, just as in programming. Generally, objects in programmatic CAD are built with Constructive Solid Geometry or CSG. Unions, intersections and differences of simpler shapes slowly build the object. ImplicitCAD supports all this and much more.


ImplicitCAD

  •    Haskell

A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D; gcode generation...

enforce module

  •    C

EM stands for enforcement module. It is a security module which create bastion host machine. the process involved reading an XML policy file and translate it into Linux/Unix system call set. the translation process is created by CSG(command set generator

cmjTracer

  •    Java

cmjTracer is a small Java based ray tracer with antialiasing and Constructive Solid Geometry (CSG). It will be capable of importing various 3D and image file formats for rendering. It will also be able to render keyframed animations.

camvox

  •    C++

camvox is a CSG, voxel and tool path library for generating multi-axis tool paths for milling machines.

eXtendible Java Rendering Toolkit

  •    Java

XJRT is an open source Java renderer with a ray tracing backend. The renderer currently supports CSG and a variety of shapes and model formats. Objects can be created in Java or through XML, Java is used as the shading language for the renderer.

RayLab

  •    C

RayLab is a simple, portable ray tracer for producing 3D images. It uses a custom text-based scene description language, and supports several mathematical shapes, as well as CSG operations (constructive solid geometry).

Yet Another Pov-Ray Modeller

  •    C++

Y.A.P.R.M. is a free-as-in-freedom modeller to graphicaly design 3d scenes and generate POV-Ray-files for them. Appart from the basic POV-Ray objects which can be used in CSG operations it supports spline based objects. Furthermore a vast amount of 3d-files can be imported and used with Y.A.P.R.M.

Netgen Mesh Generator

  •    C++

NETGEN is an automatic 3d tetrahedral mesh generator. It accepts input from constructive solid geometry (CSG) or boundary representation (BRep) from STL file format. The connection to a geometry kernel allows the handling of IGES and STEP files. NETGEN contains modules for mesh optimization and hierarchical mesh refinement. Netgen is open source based on the LGPL license. It is available for Unix/Linux and Windows.

ImplicitCAD - A math-inspired CAD program in haskell

  •    Haskell

The traditional example of programmatic CAD is OpenSCAD. Generally, objects in programmatic CAD are built with Constructive Solid Geometry or CSG. Unions, intersections and differences of simpler shapes slowly build the object. ImplicitCAD supports all this and much more! For example, it provides rounded unions so that one can have smooth interfaces between objects.

Varkon

  •    C

Varkon is a very powerful parametric 2D/3D CAD, modeling and application development tool for engineering, design, architecture, etc. It does 2D drafting, 2D and 3D modeling, sculptured surface modeling, and even animations. See our website for details.

JProGraM

  •    Java

JProGraM (PRObabilistic GRAphical Models in Java) is a statistical machine learning library. It supports statistical modeling and data analysis along three main directions: (1) probabilistic graphical models (Bayesian networks, Markov random fields, dependency networks, hybrid random fields); (2) parametric, semiparametric, and nonparametric density estimation (Gaussian models, nonparanormal estimators, Parzen windows, Nadaraya-Watson estimator); (3) generative models for random networks (

NaroCAD

  •    C++

NaroCAD is a fully fledged and extensible 3D parametric modeling CAD application. It is based on OpenCascade.

regression-js - Curve Fitting in JavaScript.

  •    Javascript

regression-js is a JavaScript module containing a collection of linear least-squares fitting methods for simple data analysis. This module works on node and in the browser. It is available as the 'regression' package on npm. It is also available on a CDN.

SDE Toolbox

  •    

A MATLAB package to simulate sample paths of the solution of a Itocirc; or Stratonovich stochastic differential equation (SDE), compute statistics and estimate the parameters from data. A note of caution: SDE Toolbox is no more developed but it's still downloadable. Its inferential capabilities can be considered surpassed (at best). Actually the parameter estimation methods were already far from the state-of-art when the project began in 2007 (!). The considered implemented parametric and

OpenVSP - A parametric aircraft geometry tool

  •    C++

OpenVSP is a parametric aircraft geometry tool. OpenVSP allows the user to create a 3D model of an aircraft defined by common engineering parameters. This model can be processed into formats suitable for engineering analysis. The predecessors to OpenVSP have been developed by JR Gloudemans and others for NASA since the early 1990's. In January 2012, OpenVSP was released as an open source project under the NOSA 1.3 license. The first open source version was 2.0.0.