Package detail

@jscad/csg

jscad18.8kMITdeprecated0.7.0

See @jscad/modeling

Constructive Solid Geometry (CSG) Library

csg, parametric, modeling, openjscad

readme

csg.js

Constructive Solid Geometry (CSG) Library

GitHub version Build Status

Solid modelling library (2d & 3d)

Overview

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.

Table of Contents

Installation

npm install @jscad/csg

Usage

  • as Node module :
const csg = require('@jscad/csg')

API

The API documentation can be found here.

Also see the OpenJsCad User Guide.

For questions about the API, please contact the User Group

Contribute

This library is part of the JSCAD Organization, and is maintained by a group of volunteers. We welcome and encourage anyone to pitch in but please take a moment to read the following guidelines.

  • If you want to submit a bug report please make sure to follow the Reporting Issues guide. Bug reports are accepted as Issues via GitHub.

  • If you want to submit a change or a patch, please see the Contributing guidelines. New contributions are accepted as Pull Requests via GithHub.

  • We only accept bug reports and pull requests on GitHub.

  • If you have a question about how to use CSG.js, then please start a conversation at the OpenJSCAD.org User Group. You might find the answer in the OpenJSCAD.org User Guide.

  • If you have a change or new feature in mind, please start a conversation with the Core Developers and start contributing changes.

Small Note: If editing this README, please conform to the standard-readme specification.

Copyrights

Some copyrights apply. Copyright (c) 2012 Joost Nieuwenhuijse (joost@newhouse.nl), under the MIT license. Copyright (c) 2011 Evan Wallace (http://madebyevan.com/)

License

The MIT License (MIT) (unless specified otherwise)

changelog

0.7.0 (2018-09-01)

Features

  • path: Add getTurn() method to determine the general turn direction of a path. (#116) (4cd83fa)

0.6.0 (2018-06-21)

Bug Fixes

Features

  • 2d polygons: add support for polygons (2D) with holes(#101) (22f8f80)
  • vector_text/char: big overhaul & additions to the vector_text/ char system (#107) (eadcd58)

0.5.4 (2018-03-16)

Bug Fixes

  • center: Correcting center() functionality (#97) (52e792d)

0.5.3 (2018-02-13)

0.5.2 (2018-01-29)

Bug Fixes

  • rotate: fixing angle-axis style rotation (#90) (6c28c1c)

0.5.1 (2018-01-29)

Bug Fixes

  • CAG: added back missing CAG.fromCompactBinary (#91) (57e8f5d)

0.5.0 (2018-01-19)

0.4.1 (2018-01-19)

0.4.0 (2018-01-05)

Bug Fixes

  • docstring: fixed a few bad docstrings which prevented docs from being generated (#76) (441fd18)

0.3.8 (2018-01-04)

Bug Fixes

  • shared object: support shared objects without color (#74) (f90ad50)

0.3.7 (2017-11-13)

0.3.6 (2017-11-03)

0.3.5 (2017-11-03)

Bug Fixes

  • fixTJunctions: fixes issues with fixTJunctions (#63) (78c5102)

0.3.4 (2017-11-01)

Bug Fixes

  • ConnectorsList: add back missing ConnectorsList (#62) (cfc1c7e)

0.3.3 (2017-11-01)

0.3.2 (2017-10-28)

Bug Fixes

  • path2D: added missing innerToCAG method to path2D proto & added tests & docs (#52) (4a5e37e)

0.3.1 (2017-06-11)

0.3.0 (2017-05-30)

Features

  • CAG.toPoints: CAG Enhancement for toPoints() (d023243)

0.2.4 (2017-05-20)

Bug Fixes

  • CAG: reverted back CAG to default to canonicalized = false (68a0558)

0.2.3 (2017-05-19)

0.2.2 (2017-05-19)

0.2.1 (2017-04-27)

0.2.0 (2017-04-27)

Bug Fixes

  • asserts: fixed issue with asserts in latest ava (1210f66)

0.1.4 (2017-01-27)

Bug Fixes

  • README: more attempts at fixing README on npm ... (a5ae096)

0.1.3 (2017-01-27)

0.1.2 (2017-01-27)

Bug Fixes

  • typo: fixed typo in package name (4f2aec6)

0.1.1 (2017-01-27)

Bug Fixes

  • babelrc: added missing babelrc (94f9684)
  • package: removed part of package relevant to 'builds' (7bf4815)

0.1.0 (2017-01-16)

Bug Fixes

  • bools fail if cylinder resolution not integer. Solution: parse all resolution as int (af6453c)
  • package: fixed package name (cbba148)

Features

  • csg.js: updated csg.js based on recent changes in OpenjSCAD.org (db1d133)