[HN Gopher] Cascade Studio: A Full Live-Scripted CAD Kernel and ...
___________________________________________________________________
Cascade Studio: A Full Live-Scripted CAD Kernel and IDE in the
Browser
Author : ArtWomb
Score : 37 points
Date : 2021-01-21 13:44 UTC (9 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| dekhn wrote:
| I'm generally less interested in browser-hosted applications for
| 3D stuff (compared to desktop apps) but this is written with an
| interesting combination of technologies that span desktop and
| web. For example, OpenCASCADE, the same library used in FreeCAD,
| is emscripten-compiled to run in javascript. There's a number of
| support libraries that make web development look much more like
| application development (window management, etc), controller/gui
| library.
|
| It's a view of how the web could have evolved (to be a sort of
| transparent desktop-like application support) earlier, with
| greater standardization on application-style GUIs.
| skratlo wrote:
| Yeah, I'm not impressed by performance here, did you try this?
| https://donalffons.github.io/opencascade.js-examples/index.h...
|
| It takes ages to load (probably gigantic wasm file), and ages
| to re-generate that silly bottle. I could live with the initial
| loading hog, but the performance of the actual kernel has to be
| there.
| 6d65 wrote:
| I've used it, it's very good.
|
| I've started my own programmable cad after using openscad, I just
| couldn't look at aliased lines and weird colors anymore, plus
| making complex models is slow, and bevels are hard.
|
| My own cad is still far from working, probably because I had the
| brilliant idea to start my own csg kernel. In the meanwhile I've
| stumbled upon CascadeStudio.
|
| Cascade Studio is fast, looks good, available everywhere via
| browser. I was able to do a non-trivial model, add bom generation
| via console.log. It would be great if there was a standalone
| version as well, so larger projects can be built directly from
| the filesystem.
|
| Anyway, it's good stuff, whishing the project all the best.
| phkahler wrote:
| >> My own cad is still far from working, probably because I had
| the brilliant idea to start my own csg kernel.
|
| SolveSpace maintainer here. After fixing a number of things in
| the SS Nurbs kernel, I've added "do this over in Rust" to my
| bucket list. It may never happen, but if you want to talk
| algorithms or strategy drop me an email. Same ID at gmail.
|
| AFAICT there is currently no other Free Software for trimmed
| NURBS other than Cascade and SolveSpace.
| 6d65 wrote:
| Yes, my plan is to do it in Rust.
|
| I did start it in luajit first, because I thought that it
| will be a faster feedback loop. I created an OpenGL window,
| and set up nodemon to restart the luajit app on changes. It
| is quite fast, but still not as smooth as I imagined it.
| Doing it Rust from the start, with a TDD approach, might have
| been a better idea. Things got quite messy quite quickly
| because of the luajit OpenGL bindings.
|
| The goal is to do difference, addition, intersection first
| between basic 3d volumes: sphere, cuboids, cylinders. And
| then yes, some extruded splines. I was thinking about
| starting with beziers, as this is the only spline I've
| implement before.
|
| I haven't built a cad before, so I went with a data oriented
| approach, defined the data needed to represent each of the
| basic volumes, and 2d shapes, as well as the
| relationships(diff, union, intersection). Something like a
| normalized SQL database. A table (array), for positions,
| rotations, bounding boxes and so on. I'm yet to see how well
| this scales up to more complex models.
|
| It is very much in the beginning. I've started from first
| principles, not looking up existing approaches and see what I
| can come up with. That's the reason it probably won't become
| something serious, but it's still fun to explore.
|
| Thank you for offering help, might have a closer look at
| SolveSpace if I get to something serious that I cannot come
| up with a solution on my own.
| mech422 wrote:
| should probably mention, if you're looking for a local solution,
| there are at least 2 OpenCascade wrappers for python:
|
| CadQuery ( https://github.com/CadQuery/cadquery )
|
| PythonOCC ( https://github.com/tpaviot/pythonocc-core )
| skanga wrote:
| I've used CadQuery a lot and found it to be a terrific tool.
| Sadly, its still very buggy and has not been updated in almost
| a year...
| greatgib wrote:
| This project is unbelievably good!
|
| And created only with vanillaJS, that is the incredible thing!
| newlikeice wrote:
| what are the advantages of this compared to using freecads gui
| approach to modelling?
___________________________________________________________________
(page generated 2021-01-21 23:02 UTC)