Profile cover photo
Profile photo
Page for the CoffeeSCad project: Browser based 3D solid CAD editor, Openscad style, with a Coffeescript based syntax.
Page for the CoffeeSCad project: Browser based 3D solid CAD editor, Openscad style, with a Coffeescript based syntax.

CoffeeSCad's interests
CoffeeSCad's posts

Another, simpler question about extrusion regarding it's API:
Would you prefer: one method per extrusion type or extrusion type as a param (please vote below by +1' ing the one you like, and please comment if you have suggestions).

Regarding extrusions in CoffeeSCad, I have a few questions on how things should ideally be:
Some background first:
- as you might know there is a "scene/part graph" in place right now to build hierarchies of objects:  in the future each "Part" is going to have both geometry and material(s)
Whatever its shape and texture, a "Faucet" part for example, is still a faucet: its position , rotation would still be the same whether we changes its geometry or not
- currently extrusions take a 2d shape/part and create a 3d shape out of it, essentially acting as factories : so how would this fit in with the aforementioned "parts/containers" ??
- as stated in the previous post, I want to be able to display both the outline of the original 2d shape and the path of the extrusion:
where do you think these should reside (in an OOP context): keep in mind, these are purely "visual" helpers

If the issue is not clear, or if more explanations are required, please let me know !
Thanks in advance!

Post has attachment
look , there , up in the sky ! extrusions ! in all shapes and sizes, they are coming right for us !
on a more serious note, I am currently tackling the extrusions systems for the future version of Coffeescad : as you can see, there are splines and curves aplenty!
from right to left: 
- linear extrusion of a closed spline shape
- rotate extrusion (lathe) of the same shape (160° angle)
- path extrusion of the same shape, along a spline based path

also a draft version of displaying the base shape and extrusion path in red with the points/subdivisions in blue.

Howdy folks !

I have been a bit too silent in the past month , and I apologize for that, but silent does not mean idle :) :
I am currently busy with some rather radical changes to CoffeeSCad's kernel and overall structure, and that is taking a bit long : on the menu (some of these have already been mentioned):

- CoffeeSCad is going modular: ie instead of one monolithic application, it will be split up into multiple reusable modules: this means that if you are a developer you could mix and match components and create additional functionality easily , or even create a custom version of CoffeeSCad that fits your needs.

On the features side:
- support for importing geometry from a LOT of formats (stl, amf, obj etc)
- support for including both code and geometry from different locations (local, remote via http/https)
- moving to THREE.js library for not just visual representation
- support for splines & bezier curves via the above mentionned lib
- support for different types of extrusion (long overdue)
- a cleaned up, coherent kernel, that works in the browser , in node.js and on desktop
- LOTS of optimizations and bugfixes
- a lot coherent module system (modules are the files containing the code): this not only concerns how things are done internally, but also error reporting, "include" statements etc
- ground work for slicing integration
- ground work for material definitions
- ground work for visual to code and code to visual

And I am surely forgetting a few things !

Given the amount of changes and improvements, this might take a bit to trickle up to the online version, but I am doing my best to keep the wait short !

Cheers !

Post has attachment
Waay later than I planned, but ...
Both standard and bleeding edge versions finally updated!
- old bleeding edge version is now the standard 
- online bleeding edge version
has a lot of improvements and plenty of new goodies (outlines, ui improvements, etc etc)

Seriously too many updates and fixes to list here, please take a look at the changelog in the official repository if you want more info :)

Post has attachment
Here is the overall, "ideal" workflow planned for CoffeeSCad.
(background slicing is not 100% sure, but would be great).

So in short
idea -> iterate over a design, starting with a quick draft -> explain/document (build instructions) -> publish and/or print

Targeted at
- small to medium projects, with fast iterations over designs, with progressive improvements
- 3d printing (hence the short iterations)

Meant to be
- accessible (once visual editing is in)
- powerful within reason (code code code)
- parametric : (see parameters support etc)
- pleasant to use and look at (UI, visuals)
- use everywhere (web, desktop)

Post has attachment
Saturday update !  
This time, more of a "teaser" because I do not consider it ready for prime time  but the   converter of openscad to CoffeeSCad projects is underway (a lot of it works, but loops (for ...) are making my head hurt)

Some infos :
- Openscad Modules become Classes
- module parameters become class parameters , with defaults handling
- variables are kept as is
- support for most of basic geometry & operations is in
- generated code is quite clean, but not perfect
-  no support for imports/use for now
- lots of bugs

This is thanks to /largely based on the amazing job done by +Gary Hodgson  on his openscadToOpenjScad translator.
(major change in my case, the code is not interpreted  (variables, etc are not resolved, just output "as is"))
Big Kudos to you Gary !

Ps: the code for this is not in the coffeescad git yet, so don't go looking for it :)
3 Photos - View album

Post has attachment
+Jonathan Sorensen  you beat me to it, but yeah, the volume calculation feature is in too :) 
Nothing too fancy though : it is a mesh based calculation, so not 100% accurate , but close enough (I check on all the basic geometries (cube, sphere, etc) the values are ok :)
4 Photos - View album

Post has attachment
Calling the outline shader system done!
Nice and discrete, but still doing its job :)
- big question is : should I make it configurable : outline opacity and color etc ? (frankly for once I favor "no", too much settings in an app end up making them invisible to most users)
Also , you can see a picture of the overhauled and improved parameters editor with :
- slider support
- categories/blocks support
- etc

Edit: if there are any shader (glsl) /three.js experts,  I am giving up on fxaa antialising for now , as it turns all text too blury, and also , edge detect could be perhaps a tiny bit better , so please if you know your way around these, give me a shout.

2 Photos - View album

Post has attachment
Last update for tonight , something tasty for the eyes this time:
- the display of dimensions of selected objects got a (much needed) overhaul, also experimenting with various "purely eyecandy" improvements such as the vignette post process etc
- the outline/edge/creaseEdge rendering mode is almost ready to go ! Should make objects "pop" more and make things generally more readable more more complex projects
3 Photos - View album
Wait while more posts are being loaded