discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

csgrs: a new CSG library in Rust using BSP trees

TS
Tim Schmidt
Wed, Feb 5, 2025 3:58 PM

Hi all,

OpenSCAD has been my go-to CAD application for years and years, and I
cannot thank the developers enough.  You all have my eternal
appreciation.

Recently, I've been working in Rust, and desired similar functionality
within my applications, so I started csgrs, a little OpenSCAD-inspired
BREP CAD kernel built around the https://www.dimforge.com/ libraries
and making use of https://github.com/jbuckmccready/cavalier_contours
for robust 2D boolean and offsetting operations.  It's available from
the following links:

https://github.com/timschmidt/csgrs
https://crates.io/crates/csgrs/

I hope y'all find it useful, and I would really appreciate any bug
reports, testing, code review, or critiques you could send my way.

Thanks again for all your wonderful work!

--
Timothy Schmidt
(517) 292-4030
timschmidt@gmail.com
https://wiki.replimat.org

Hi all, OpenSCAD has been my go-to CAD application for years and years, and I cannot thank the developers enough. You all have my eternal appreciation. Recently, I've been working in Rust, and desired similar functionality within my applications, so I started csgrs, a little OpenSCAD-inspired BREP CAD kernel built around the https://www.dimforge.com/ libraries and making use of https://github.com/jbuckmccready/cavalier_contours for robust 2D boolean and offsetting operations. It's available from the following links: https://github.com/timschmidt/csgrs https://crates.io/crates/csgrs/ I hope y'all find it useful, and I would really appreciate any bug reports, testing, code review, or critiques you could send my way. Thanks again for all your wonderful work! -- Timothy Schmidt (517) 292-4030 timschmidt@gmail.com https://wiki.replimat.org
JD
John David
Wed, Feb 5, 2025 4:25 PM

This looks wicked cool.  I would have to think if this could be used for
adaptive clearing in machining, and other fun uses...

EBo --

On Wed, Feb 5, 2025 at 10:59 AM Tim Schmidt via Discuss <
discuss@lists.openscad.org> wrote:

Hi all,

OpenSCAD has been my go-to CAD application for years and years, and I
cannot thank the developers enough.  You all have my eternal
appreciation.

Recently, I've been working in Rust, and desired similar functionality
within my applications, so I started csgrs, a little OpenSCAD-inspired
BREP CAD kernel built around the https://www.dimforge.com/ libraries
and making use of https://github.com/jbuckmccready/cavalier_contours
for robust 2D boolean and offsetting operations.  It's available from
the following links:

https://github.com/timschmidt/csgrs
https://crates.io/crates/csgrs/

I hope y'all find it useful, and I would really appreciate any bug
reports, testing, code review, or critiques you could send my way.

Thanks again for all your wonderful work!

--
Timothy Schmidt
(517) 292-4030
timschmidt@gmail.com
https://wiki.replimat.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

This looks wicked cool. I would have to think if this could be used for adaptive clearing in machining, and other fun uses... EBo -- On Wed, Feb 5, 2025 at 10:59 AM Tim Schmidt via Discuss < discuss@lists.openscad.org> wrote: > Hi all, > > OpenSCAD has been my go-to CAD application for years and years, and I > cannot thank the developers enough. You all have my eternal > appreciation. > > Recently, I've been working in Rust, and desired similar functionality > within my applications, so I started csgrs, a little OpenSCAD-inspired > BREP CAD kernel built around the https://www.dimforge.com/ libraries > and making use of https://github.com/jbuckmccready/cavalier_contours > for robust 2D boolean and offsetting operations. It's available from > the following links: > > https://github.com/timschmidt/csgrs > https://crates.io/crates/csgrs/ > > I hope y'all find it useful, and I would really appreciate any bug > reports, testing, code review, or critiques you could send my way. > > Thanks again for all your wonderful work! > > -- > Timothy Schmidt > (517) 292-4030 > timschmidt@gmail.com > https://wiki.replimat.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
TS
Tim Schmidt
Wed, Feb 5, 2025 4:37 PM

Thank you.  Additive and subtractive machining are tasks I want csgrs
to be great for.  That was the motivation behind pulling cavalier
contours in, for offsetting toolpaths.  And allowing easy access to
all the collision-related functions in Parry.  I have begun building a
toolpather around csgrs here: https://github.com/timschmidt/ironpath
but it is little more than a skeleton at the moment, as I work at
making the slice() function more robust.  I just got proper handling
of co-planar polygons during CSG operations in today, which will help
immensely in that effort.

Please let me know if you use it for anything, or if there are
functions you'd like to see present which aren't yet!

On Wed, Feb 5, 2025 at 11:25 AM John David ebo.2112@gmail.com wrote:

This looks wicked cool.  I would have to think if this could be used for adaptive clearing in machining, and other fun uses...

EBo --

On Wed, Feb 5, 2025 at 10:59 AM Tim Schmidt via Discuss discuss@lists.openscad.org wrote:

Hi all,

OpenSCAD has been my go-to CAD application for years and years, and I
cannot thank the developers enough.  You all have my eternal
appreciation.

Recently, I've been working in Rust, and desired similar functionality
within my applications, so I started csgrs, a little OpenSCAD-inspired
BREP CAD kernel built around the https://www.dimforge.com/ libraries
and making use of https://github.com/jbuckmccready/cavalier_contours
for robust 2D boolean and offsetting operations.  It's available from
the following links:

https://github.com/timschmidt/csgrs
https://crates.io/crates/csgrs/

I hope y'all find it useful, and I would really appreciate any bug
reports, testing, code review, or critiques you could send my way.

Thanks again for all your wonderful work!

--
Timothy Schmidt
(517) 292-4030
timschmidt@gmail.com
https://wiki.replimat.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
Timothy Schmidt
(517) 292-4030
timschmidt@gmail.com
https://wiki.replimat.org

Thank you. Additive and subtractive machining are tasks I want csgrs to be great for. That was the motivation behind pulling cavalier contours in, for offsetting toolpaths. And allowing easy access to all the collision-related functions in Parry. I have begun building a toolpather around csgrs here: https://github.com/timschmidt/ironpath but it is little more than a skeleton at the moment, as I work at making the slice() function more robust. I just got proper handling of co-planar polygons during CSG operations in today, which will help immensely in that effort. Please let me know if you use it for anything, or if there are functions you'd like to see present which aren't yet! On Wed, Feb 5, 2025 at 11:25 AM John David <ebo.2112@gmail.com> wrote: > > This looks wicked cool. I would have to think if this could be used for adaptive clearing in machining, and other fun uses... > > EBo -- > > On Wed, Feb 5, 2025 at 10:59 AM Tim Schmidt via Discuss <discuss@lists.openscad.org> wrote: >> >> Hi all, >> >> OpenSCAD has been my go-to CAD application for years and years, and I >> cannot thank the developers enough. You all have my eternal >> appreciation. >> >> Recently, I've been working in Rust, and desired similar functionality >> within my applications, so I started csgrs, a little OpenSCAD-inspired >> BREP CAD kernel built around the https://www.dimforge.com/ libraries >> and making use of https://github.com/jbuckmccready/cavalier_contours >> for robust 2D boolean and offsetting operations. It's available from >> the following links: >> >> https://github.com/timschmidt/csgrs >> https://crates.io/crates/csgrs/ >> >> I hope y'all find it useful, and I would really appreciate any bug >> reports, testing, code review, or critiques you could send my way. >> >> Thanks again for all your wonderful work! >> >> -- >> Timothy Schmidt >> (517) 292-4030 >> timschmidt@gmail.com >> https://wiki.replimat.org >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org -- Timothy Schmidt (517) 292-4030 timschmidt@gmail.com https://wiki.replimat.org