As a very first starting point I've implemented a new function "text" in package @jscad/modeling.text which directly creates Path2 arrays.
It is currently part of my own fork of OpenJSCAD only, as I expect multiple changes before it might get accepted and become ready for an official PR. Additionally, my tests are still almost empty (as I have to learn AVA first) and only test for an execution w/o throwing any exceptions...
@z3dev thanks. I think it makes most sense to use the tool to model objects that require parametric flexibility. I'd love to see basic configurable things modelled that people can adapt to their needs and export to STL for 3D printing using JSCAD or STEP when using OCCT. It's definitely not meant to be used as a Sculpting tool or a "hand drawing replacement" CAD.
I'm trying to keep general purpose nature to the tool as much as possible. Normalising various libraries to a common system. For example it helps sometimes to just have Verb NURBS curve or a surface as a backbone to place JSCAD meshes onto. Normalisation is still a bit of a challenge and my main goal, you still see way too many Draw components for different kinds of geometries. Just yesterday I coded a draw anything component that will replace all those (still need to release that) 😉
If you browse the examples you'll see that it's also possible to tie in some time based rules into the algorithms. In the future I'm hoping that it will become easier to code some robotic behaviours as I'm using BabylonJS to draw all the shapes and after CAD operations are applied BabylonJS can take over to do things like create GPU instances of meshes, animations, collision detection or apply realistic PBR materials and shadows.
I am also in the process of tying OCCT WASM kernel into the tool, which has a lot of potential to allow for bigger CAD models to be created. There I'm still experimenting with performance and what is possible, current OCCT API is a bit limited, but I'm working on extension 😉 My poor laptop really needs an update to push those limits.
@platypii@danmarshall I think both of will be able use your preferred engine, and get specific benefits depending on a task at hand. Actually I am planning to split the necessary code so that it becomes rather easy to use any of the 3 engines I found to be interesting (regl, threejs, babylon)
it is the current engine and is compact
CON: lack proper WEBGL2 support and there are NO plans for supporting it in the future
example for extremely compact page that has jscad script and render and all under 99kb is great example why regl is still very useful 🙂 by @platypiihttps://paradr.one/
threejs and babylon
larger but can be cut down for basic rendering (I managed to get 400k version of threejs that works with jscad)
support wegl2 instancing can bring performance regl just will not ever be able with webgl1
are working actively on great next thing: WebGPU
WebGPU might be the future for jscad if we can come up with ways to utilize compute shaders for performance
having also these big engines as an option is good for when we want build fancy stuff and ake advantage of huge knowhow of their communities
you can track progress of my new prototype that is supposed to provide the mentioned integrations of all 3 engines I found interesting. https://github.com/jscad/OpenJSCAD.org/discussions/944 ... I will post a topic as soon I have any rendering integrated .. it is still in testing of some ui concepts phase
I am using a rental server of general settings, nothing special, I think.
I did no configuration of the web server.
I did not changed anything on setting when installing the web site.
Thanks to all of you related,
I have uploaded the page. https://www.fablab-shinagawa.org/archive/index.html
when you click "パラメトリック" - which means "parametric"- tab,
you would see the list of our parametric designs, and again when you click a design,
you would link to the page includes openjscad model.
Researching cnc workings better, seems like the conversion process is more involved and that DXF is a suitable format for generating CNC g-code from. DXF export from jscad is very reliable so far. thanks all for the replies
@jess-yan threejs has this ready-made somewhere(taking mouse point and returning meshes under it),
I will most definitely post it on the forum here when I have this feature.
This MAY require a shift away from how jscad works now, but hopefuly can be done with current jscad setup.
The idea I have for now is to run a AST transform to inject line number information into the script and then run the modified script. This is something I am able to do, but I have other stuff in the pipeline before this 🙂