<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Archives (Google+)]]></title><description><![CDATA[Archived discussions from Google+ forums ]]></description><link>https://openjscad.nodebb.com/category/6</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Mar 2026 12:56:18 GMT</lastBuildDate><atom:link href="https://openjscad.nodebb.com/category/6.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Apr 2019 04:46:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Mar 20, 2019]]></title><description><![CDATA[<p dir="auto">Valine Zeigler<br />
Greetings Everyone!<br />
What video or website do you suggest for a total JSCAD beginner.<br />
Specifically, 5 middle schoolers were challenged to create ancient Egyptian artifacts using jscad.<br />
How do you suggest we begin?<br />
Thank you for any references.<br />
Valine<br />
one comment<br />
1<br />
no plus ones<br />
no shares<br />
Shared publicly</p>
<pre><code>Valine Zeigler
Gilbert,  Thank you so much.  You were so helpful that I found Tinkercad.  After watching your video I realized that jscad may be the next step for those who want to dive deeper after learning the basics.  Have a great day!
</code></pre>
]]></description><link>https://openjscad.nodebb.com/topic/84/mar-20-2019</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/84/mar-20-2019</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Mon, 08 Apr 2019 04:46:13 GMT</pubDate></item><item><title><![CDATA[Mar 11, 2019]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
New JSCAD User Group Forums</p>
<p dir="auto">We have tried and tested several solutions, and decided that an easy to use neutral forum would be best. So, the new forums are located here:</p>
<p dir="auto"><a href="https://openjscad.nodebb.com/">https://openjscad.nodebb.com/</a></p>
<p dir="auto">Please say 'Hello' via any of the new forums.</p>
<p dir="auto">If you find any issues or shortcomings then please let us know.</p>
<p dir="auto">By the way, NodeBB has graciously hosted the new forums for free. And that's a huge plus for the JSCAD project and the JSCAD users.<br />
one comment<br />
1<br />
6 plus ones<br />
6<br />
one share<br />
1<br />
Shared publicly•View activity</p>
<pre><code>Jeff Gay
Thanks +Dmitriy M
Those changes are on the way.
</code></pre>
]]></description><link>https://openjscad.nodebb.com/topic/83/mar-11-2019</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/83/mar-11-2019</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Mon, 08 Apr 2019 04:45:28 GMT</pubDate></item><item><title><![CDATA[Feb 4, 2019]]></title><description><![CDATA[<p dir="auto">Bar Smith<br />
Hello everyone!</p>
<p dir="auto">I am working on a flow type interface to JSCAD. I really think that the combination of JSCAD and the fact that JSCAD files can be version controlled and shared on GitHub is the future of CAD, but I also think that many people who are interested in CAD don't want to learn to program or to use GitHub.</p>
<p dir="auto">I am working on an open source UI which handles the JSCAD input as a flow type system, and which access GitHub through their API so your projects are automatically saved there.</p>
<p dir="auto">I love JSCAD so far, and the flow interface is working out really well. Clicking on any "atom" in the system gives you a preview of what it will look like which makes it very easy to click through someone else's design and understand how it goes together.</p>
<p dir="auto">I'm a little stuck on what the file format it saves in should be. The design is made up of "Atoms" which are the built in JSCAD functions (circle(), translate()...etc) and "Molecules" which serve the role of functions and can contain any number of atoms in an arrangement with the user able to add as many inputs as they like.</p>
<p dir="auto">Right now I am exporting to a JSON file which works fine, but I don't think it's the right solution. I would really like to export to a .jscad file which could be run on <a href="http://jscad.org" rel="nofollow ugc">jscad.org</a> so that I'm not making a new file type.</p>
<p dir="auto">Does anyone have thoughts on how to store the type of information that I need to store in a .jscad. Should I put it in the comments? I'm thinking that "Molecules" are functions so each function could have an object within it containing information about the atoms it contains.</p>
<p dir="auto">Any and all guidance is welcome! So excited to see where this project leads<br />
Photo<br />
one comment<br />
1<br />
6 plus ones<br />
6<br />
one share<br />
1<br />
Shared publicly•View activity</p>
<pre><code>Bar Smith
I am not sure I fully understand my own needs yet 😂, but I think I want to store information in the same file as the jscad functions, but I don't know that I really need to store information within the jscad objects themselves.

+shauki can you tell me more about how you use MongoDB? Is your project public so I can take a look at how you've done it?
</code></pre>
]]></description><link>https://openjscad.nodebb.com/topic/82/feb-4-2019</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/82/feb-4-2019</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Mon, 08 Apr 2019 04:44:09 GMT</pubDate></item><item><title><![CDATA[Jan 9, 2019]]></title><description><![CDATA[<p dir="auto">Bar Smith<br />
I have been going through the V2 code to try to get myself up to speed on how it works and NPM/JS in general. I'm still grappling with =&gt; syntax, but for the most part things are making sense.</p>
<p dir="auto">I've been trying to answer my own questions but two things have me stumped.</p>
<ol>
<li>
<p dir="auto">How does the event system work? Specifically I have been trying to trace how checking and unchecking the "grid" checkbox makes the grid show up and disappear. Where is the event listener for the mouse click? I can see that viewerControls.js and viewer.js are both involved, but there is more to it that I am missing.</p>
</li>
<li>
<p dir="auto">If I wanted to make a sphere show up in the example (demo.html) how would I do that. We have the JSCAD instance jscadInst1 and creating a second one creates a second JSCAD instance (awesome!), but I am unclear on how to interact with that instance. Is there a place I can look to better understand what I can do with that object? Index.js seems to assemble all of the parts, but if I wanted to make that instance compile a shape how would I do that?</p>
</li>
</ol>
<p dir="auto">Thanks for bearing with the questions that probably have obvious answers I'm not seeing.<br />
2 comments<br />
2<br />
2 plus ones<br />
2<br />
no shares<br />
Shared publicly•View activity</p>
<pre><code>Bar Smith
Oh no that's great! 

The structure of declaring what you want seems like an excellent way to organize things. It gives you a lot of molecularity which is fantastic and one of the big reasons I want to jump into alpha V2.

I looks to me like  sources.dom.select('.example').events('click') is the event listener right? Where is the click event generated? How and when do actions run? 
</code></pre>
<p dir="auto">Bar Smith<br />
Ok, thank you! I will read up on Most.js and Rxjs. I am loving js so far, but there are still a lot of things that are getting past me. It took me a couple hours to figure out that arrow function are actually functions <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--smile" title=":D" alt="😄" /></p>
<p dir="auto">I have been working on the flow drawing side and GitHub integration parts of my project which has been a good way to get a better handle on how js works.</p>
]]></description><link>https://openjscad.nodebb.com/topic/81/jan-9-2019</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/81/jan-9-2019</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:15:34 GMT</pubDate></item><item><title><![CDATA[Dec 22, 2018]]></title><description><![CDATA[<p dir="auto">Bar Smith<br />
Hello!</p>
<p dir="auto">What an awesome project!</p>
<p dir="auto">I am looking at building a website which will use JSCAD to display models and I noticed that pull requests are no longer accepted to the master branch because development is going on for an updated version.</p>
<p dir="auto">Should I still use the master branch for my development or should I work off of the new version?</p>
<p dir="auto">My use case is pretty generic, I am just going to pass JSCAD text and have it render on the screen so updating later should be easy, but maybe I could contribute if I was working off the development version.</p>
<p dir="auto">Thanks!<br />
10 comments<br />
10<br />
2 plus ones<br />
2<br />
no shares<br />
Shared publicly•View activity<br />
Bar Smith<br />
+1<br />
Thanks everyone! That example looks like a good place to start. I am sure I will have more questions, but I will try to constrain them to things about JSCAD and figure out the NPM parts from YouTube</p>
<p dir="auto">Bar Smith<br />
+2<br />
For the record what I am working on is an open source flow implimentation of JSCAD very similar to <a href="http://floodeditor.com" rel="nofollow ugc">floodeditor.com</a> - Flood or <a href="http://www.mattermachine.com/" rel="nofollow ugc">http://www.mattermachine.com/</a> except open<br />
Flood<br />
Flood<br />
<a href="http://floodeditor.com" rel="nofollow ugc">floodeditor.com</a></p>
<p dir="auto">Bar Smith<br />
I am really excited about it. The framework you have created with jscad is making my work so much easier :D. I am part of a community that does a lot of collaborative design for big stuff like furniture and hopefully soon architecture. We haven't found a good way to share designs in a parametric way. .svg and .dxf files are nice until you want to do something simple like tweak the design for a slightly different thickness of plywood. The ability for jscad designs to be version controlled through GitHub will be huge too.</p>
<p dir="auto">Again, forgive me for my ignorance. I found the min.js file in web/src/ui (thank you for directing me there), but when I run npm run bootstrap it doesn't seem like my changes to that file are being pulled into web/dist/min.js which seems like the fully linked version. Any advice on what I am doing wrong?</p>
<p dir="auto">What I am trying to do overall is to add another function next to init() which will let me load a new design by passing in the jscad code to be rendered. This function will need to end up at a scope such that it can be called from another .js file in my page. Is there a better way to do this?</p>
<p dir="auto">Bar Smith<br />
I've been doing some reading through the V2 code (is this the correct branch to look at <a href="http://github.com" rel="nofollow ugc">github.com</a> - csg.js ?) and it looks VERY exciting. The improved performance when translating objects and the addition of connectors would both be huge for my application. I think I will switch to working with the V2 code even if it is still alpha.</p>
<p dir="auto">Starting next week I will be working on this full time, is there a way I can be of use to the project? I am happy to do somewhat boring or tedious tasks that need to be done. I also understand if my general greenness with js and newness to the project makes it more effort to get me up to speed than it is worth. Your call, no ego on my part.</p>
<p dir="auto">Maybe documentation and examples could be a good place for me to start since I am figuring it all out for the first time myself? If they aren't any good you can just ignore them and I'll learn something in the process.<br />
csg.js<br />
csg.js<br />
<a href="http://github.com" rel="nofollow ugc">github.com</a></p>
<p dir="auto">Jeff Gay<br />
+Bar Smith Thanks! We can use all the help you can provide.</p>
<p dir="auto">It sounds like you have been looking at code. I’ll start adding you to reviews, which will plug you into V2 at a faster pace. I’m looking forward to some great dialogue. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">What’s your GitHub ID?</p>
<p dir="auto">And like always, please contribute changes! We will review as soon as possible.</p>
<p dir="auto">Bar Smith<br />
Great. I will start working on some V2 documentation right away and hopefully learn something in the process if nothing else. I will make a pull request when I have something together.</p>
<p dir="auto">I am BarbourSmith on github</p>
]]></description><link>https://openjscad.nodebb.com/topic/80/dec-22-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/80/dec-22-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:14:40 GMT</pubDate></item><item><title><![CDATA[Oct 26, 2018]]></title><description><![CDATA[<p dir="auto">Ignacio Caceres<br />
Hi guys, Do you have experience  adding openJSCAD to angular?<br />
2 comments<br />
2<br />
no plus ones<br />
no shares<br />
Shared publicly</p>
<pre><code>Jeff Gay
Hello
That’s a pretty wide open question. There shouldn’t be any conflicts between the libraries.
How do you see Angular and JSCAD interoperating?
</code></pre>
<p dir="auto">Ignacio Caceres<br />
Hi guys thanks for your response, I resolve using three.js</p>
]]></description><link>https://openjscad.nodebb.com/topic/79/oct-26-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/79/oct-26-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:12:31 GMT</pubDate></item><item><title><![CDATA[Sep 21, 2018]]></title><description><![CDATA[<p dir="auto">Ami Fischman<br />
Opinion: the new docs that are broken up one HTML page to a concept (accessible from <a href="http://openjscad.org" rel="nofollow ugc">openjscad.org</a>'s left bar's "User guide / documentation" link are less pleasant to use than the old single-page doc (<a href="https://en.wikibooks.org/wiki/OpenJSCAD_User_Guide" rel="nofollow ugc">https://en.wikibooks.org/wiki/OpenJSCAD_User_Guide</a>) since browser-native find-in-page works much more seamlessly than using the search box in the new docs. I hope this decision can be revisited or that a single-page option is kept.<br />
3 comments<br />
3<br />
no plus ones<br />
no shares<br />
Shared publicly</p>
<pre><code>Jeff Gay
FYI. Clicking on the smaller topics brings up only that topic, but clicking on the higher topics will bring up a page with all lower topics. 
</code></pre>
<p dir="auto">Ami Fischman<br />
+Jeff Gay thanks, that's much more useful <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">Jeff Gay<br />
Moderator<br />
Great. And feel free to update the documentation. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
]]></description><link>https://openjscad.nodebb.com/topic/78/sep-21-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/78/sep-21-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:11:22 GMT</pubDate></item><item><title><![CDATA[Sep 16, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Release v1.9.0 of OpenJSCAD !</p>
<p dir="auto"><a href="https://github.com/jscad/OpenJSCAD.org" rel="nofollow ugc">https://github.com/jscad/OpenJSCAD.org</a><br />
<a href="https://openjscad.org/" rel="nofollow ugc">https://openjscad.org/</a></p>
<p dir="auto">For those who did not notice, there’s a new release of <a href="http://OpenJSCAD.org" rel="nofollow ugc">OpenJSCAD.org</a>, which is going to be the LAST release of V1.</p>
<p dir="auto">We released this version because there was one BIG improvement made by lautr3k, which reworked the support for text strings. BIG THANKS AGAIN!</p>
<p dir="auto">Major rework for text, including:</p>
<ul>
<li>new functions; vectorChar() and vectorText()</li>
<li>new options for height</li>
<li>new options for spacing</li>
<li>new options for multi-line text alignment</li>
<li>new option for font</li>
</ul>
<p dir="auto">The user guide been updated, and you can learn how to use these functions quickly.</p>
<p dir="auto">In addition, there were some small enhancements / fixes:</p>
<ul>
<li>enabled the export of 3D objects to DXF 3D Faces (z3dev)</li>
<li>fixed the import of SVG files form Inkscape (pentacular)</li>
</ul>
<p dir="auto">Keep those contributions and ideas coming!</p>
]]></description><link>https://openjscad.nodebb.com/topic/77/sep-16-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/77/sep-16-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:10:14 GMT</pubDate></item><item><title><![CDATA[Sep 8, 2018]]></title><description><![CDATA[<p dir="auto">Zach Buckner<br />
Has anyone figured out a workflow or process to print dimensioned drawings?</p>
<p dir="auto">I have built several models in OpenJSCAD and am really happy with the process. Because I build using traditional carpentry and welding (vs 3d printing) it would be great if there was an export/import pipeline to get dimensioned drawings that I could print.  Ideally, I'd have a path to generate a PDF with dimensioned front, top, and side views -- even if it involved a 3rd party commercial tool.   Has anyone figured out a pathway for something like this?</p>
<p dir="auto">Thanks for building and support a great software product!<br />
3 comments<br />
3<br />
2 plus ones<br />
2<br />
no shares<br />
Shared publicly•View activity</p>
<pre><code>Zach Buckner
Thank you, +Gilbert Duval .  Are you saying that you create many of your designs using 2D primitives (that you later extrude, etc) and then export the 2D shapes to SVG using a custom script you've written?  
</code></pre>
<p dir="auto">Zach Buckner<br />
Thanks, +Mark Moissette .  Yes!  Having the ability to produce dimensioned drawings like that is exactly what I'm after.  Do you think any aspect of that cannymachines solution could be "repurposed" to work with openjscad?</p>
<p dir="auto">Zach Buckner<br />
+1<br />
+Mark Moissette That sounds like a powerful addition to the feature set.</p>
<p dir="auto">From my standpoint, dimensions feel like they are on a different conceptual plane than the underlying 2D or 3D primitives, especially given that users may want to start and stop dimension lines on two different objects (i.e., to show the distance from one side of a drilled hole to the edge of the cube it's drilled in).</p>
<p dir="auto">What about a syntax like:</p>
<p dir="auto">dimension([x1,y1,z1],  [x2,y2,z2], 'outside')</p>
<p dir="auto">, where users could put those x/y/z "calipers" anywhere and a layout algorithm took care of generating the right 2D primitives?</p>
]]></description><link>https://openjscad.nodebb.com/topic/76/sep-8-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/76/sep-8-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:09:33 GMT</pubDate></item><item><title><![CDATA[Sep 16, 2018]]></title><description><![CDATA[<p dir="auto">Zach Buckner<br />
Is it possible to initiate SVG or DXF exports directly from the main OpenJSCAD editor/viewer (or the browser’s JavaScript console) or would I need to create a custom application to import the serializer npm module?<br />
2 comments<br />
2<br />
no plus ones<br />
no shares<br />
Shared publicly</p>
<pre><code>Jeff Gay
Hi +Zach Buckner
It seems to me that the command line interface might be a better choice. You can create the design via the website / desktop, and then convert to SVG / DXF via the CLI. Is this part of your workflow process?
</code></pre>
<p dir="auto">Zach Buckner<br />
Thank you, +Jeff Gay.  I tried using the CLI to export to SVG and received an error (see stacktrace below) and figured that meant the CLI was misconfigured or broken.  I just tried again, though, and successfully got a DXF export, which is encouraging!</p>
<p dir="auto">SVG export exception in case helpful:</p>
<pre><code>TypeError: cag._toCSGWall is not a function
    at /usr/local/lib/node_modules/@jscad/cli/node_modules/@jscad/csg/src/core/CAG.js:44:26
    at Array.map (native)
    at Object.union (/usr/local/lib/node_modules/@jscad/cli/node_modules/@jscad/csg/src/core/CAG.js:43:18)
    at mergeSolids2 (/usr/local/lib/node_modules/@jscad/cli/node_modules/@jscad/core/utils/mergeSolids.js:71:21)
    at prepareOutput (/usr/local/lib/node_modules/@jscad/cli/node_modules/@jscad/core/io/prepareOutput.js:20:14)
    at /usr/local/lib/node_modules/@jscad/cli/generateOutputData.js:116:28
    at process._tickCallback (internal/process/next_tick.js:103:7)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
</code></pre>
]]></description><link>https://openjscad.nodebb.com/topic/75/sep-16-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/75/sep-16-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:08:12 GMT</pubDate></item><item><title><![CDATA[Aug 11, 2018]]></title><description><![CDATA[<p dir="auto">Jared Deckard<br />
I noticed function currying mentioned in the V2 brain storming doc. I am not using the CSG prototype methods since they are deprecated and I am starting to feel the awkwardness of nested operations. It would be nice if operations could take an option set without an object so that operations can be reused and manipulated as lists.</p>
<pre><code>move = translate([1, 2, 3])
move(shape1)
move(shape2)

shape = do(
    translate([1, 2, 3]),
    rotate([0, 0, 45]),
    scale([3, 2, 1]),
    shape
)
</code></pre>
<p dir="auto">I'm not sure if this is quite what you had in mind for currying, but I think it gets very close to the conciseness of OpenSCAD. I though I would gather some feedback and see if there is any existing progress before I start hacking on a prototype.<br />
4 comments<br />
4<br />
2 plus ones<br />
2<br />
no shares<br />
Shared publicly•View activity</p>
<pre><code>Jared Deckard
+1
Thanks for your insight. If you need any help fleshing the V2 roadmap out into issues or have some prerequisite issues that would be suitable for a "help wanted" tag, I am happy to help.

Without a clear direction for working towards this feature in V2, I will probably implement this as a wrapper around V1 using lodash's curry and a custom pipeline function.
</code></pre>
<p dir="auto">Jared Deckard<br />
+1<br />
I have a prototype working:</p>
<p dir="auto">Plugin: <a href="https://github.com/deckar01/csg-curry/blob/master/index.js" rel="nofollow ugc">https://github.com/deckar01/csg-curry/blob/master/index.js</a></p>
<p dir="auto">JSCAD integration: <a href="https://github.com/jscad/OpenJSCAD.org/compare/master...deckar01:csg-curry" rel="nofollow ugc">https://github.com/jscad/OpenJSCAD.org/compare/master...deckar01:csg-curry</a></p>
<p dir="auto">Lessons learned:</p>
<ul>
<li>The spread (...) argument breaks lodash's curry implementation</li>
<li>Allowing a variable number of arguments via the "arguments" keyword breaks lodash's curry implementation</li>
<li>Some operations only accept one object</li>
<li>Some operations require an array instead of spread args</li>
<li>All the operations that accept spread args accept an array</li>
</ul>
<p dir="auto">Hacks:</p>
<ul>
<li>A custom curry function that ignores Function.length and waits to "close" the curry until it is called with no arguments</li>
<li>Injecting curried copies of all csg functions with a "$" prefix</li>
<li>Injecting a "$pipeline" function that normalizes multiple objects as a list, then applies curried functions like a stack</li>
</ul>
<p dir="auto">Logo example:</p>
<pre><code>function main () {
  return $pipeline(
    $scale(10),
    $translate([0, 0, 1.5]),
    $union,
    difference(
      cube({size: 3, center: true}),
      sphere({r: 2, center: true})
    ),
    intersection(
      sphere({r: 1.3, center: true}),
      cube({size: 2.1, center: true})
    )
  )
}
</code></pre>
<p dir="auto">Proposal:</p>
<ul>
<li>Replace use of the "arguments" keyword with a required "options" dictionary argument</li>
<li>Replace spread arguments with a required object/array argument</li>
<li>Allow all operations to accept an array of objects</li>
<li>Curry the API with lodash/curry</li>
<li>Expose a "pipeline" function via the API</li>
</ul>
<p dir="auto">Jared Deckard<br />
After iterating on the pipeline function a little bit, I no longer think currying is necessary to make a useful pipeline. Currying is elegant and familiar, but orthogonal to the goal of stacking operations without nesting.</p>
<pre><code>const pipeline = (...ops) =&gt; ops.reverse().reduce(
  (args, x) =&gt; x &amp;&amp; x.call ? [x(...args)] : [x, ...args], []
)

function main () {
  return pipeline(
    scale, 10,
    translate, [0, 0, 1.5],
    union,
    difference(
      cube({size: 3, center: true}),
      sphere({r: 2, center: true})
    ),
    intersection(
      sphere({r: 1.3, center: true}),
      cube({size: 2.1, center: true})
    )
  )
}
</code></pre>
<p dir="auto">Would you be interested in a PR that adds this functionality to the API in the master branch? No API change or new dependencies, just a 3 line pipeline utility. I am personally fine with copying this between my script since it is so compact, but I think it could really help clean up the complicated nesting most users will inevitably run into. I was constantly having to break operation chains off into variables at awkward points that were hard to name.</p>
<p dir="auto">Jeff Gay<br />
Jared, can you post the last comment to the issue, #114? We don’t want to loose your thoughts. And we can discuss the possibility of adding this to V2.</p>
]]></description><link>https://openjscad.nodebb.com/topic/74/aug-11-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/74/aug-11-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:06:51 GMT</pubDate></item><item><title><![CDATA[Sep 5, 2018]]></title><description><![CDATA[<p dir="auto">Ami Fischman<br />
Is there a plan for backwards-compatibility when V2 lands?<br />
In particular I wonder about users depending on the super-convenient ability to link to <a href="http://openjscad.org/#http://url.to/path/file.jscad" rel="nofollow ugc">http://openjscad.org/#http://url.to/path/file.jscad</a><br />
I assume V2 will break many existing features of the existing API, which will break existing .jscad files as above.<br />
Maybe make leave that endpoint as-is (running the last pre-V2 version) and host v2 at something like <a href="http://openjscad.org/2#http://url.to/path/new.jscad" rel="nofollow ugc">http://openjscad.org/2#http://url.to/path/new.jscad</a> ?<br />
4 comments<br />
4<br />
no plus ones<br />
no shares<br />
Shared publicly</p>
<pre><code>Jeff Gay
We are intending to host V2 and beyond at the new URL; jscad.xyz (already hosting a very old version)

100% backwards compatibility may be difficult at first, but the V2 framework will be far more open.
OpenJSCAD.org
jscad.xyz
</code></pre>
<p dir="auto">Ami Fischman<br />
+Jeff Gay sounds like <a href="http://openjscad.org/#http" rel="nofollow ugc">openjscad.org/#http</a>... will be able to continue serving v1 then, so that's nice for those of us with libraries of existing designs.<br />
In case it's not already part of the plan: I suggest jscad.xyz's version of this incorporate the major version into the URL so that v3 doesn't present a similar dilemma <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">Jeff Gay<br />
A very good suggestion. Thanks, +Ami Fischman</p>
<p dir="auto">Please note that this is the first major version change, so we would appreciate any concerns or ideas.</p>
<p dir="auto">30w<br />
Ami Fischman<br />
+Mark Moissette yes, though I was thinking of jscad.xyz/#2/http...</p>
]]></description><link>https://openjscad.nodebb.com/topic/73/sep-5-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/73/sep-5-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:05:01 GMT</pubDate></item><item><title><![CDATA[Aug 5, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Makers Faire Tokyo was a blast! The number of tables, ideas, companies, and crazies doubled from my last visit. Outstanding!</p>
<p dir="auto">We had probably 100 people per day stop and talk about OpenJSCAD. We showed websites (now and pre-alpha versions), desktop application, gears website, and BlocksCad.</p>
<p dir="auto">And look who was right behind us.... not much more to say...</p>
]]></description><link>https://openjscad.nodebb.com/topic/72/aug-5-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/72/aug-5-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:03:35 GMT</pubDate></item><item><title><![CDATA[Jul 14, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
We are preparing some shirts for Makers Faire. I think these will help to stand out. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /><br />
Photo<br />
2 comments<br />
2<br />
2 plus ones<br />
2<br />
no shares<br />
Shared publicly•View activity</p>
<pre><code>Jeff Gay's profile photo
Here’s the results... I would say... Nice!
Photo
</code></pre>
<p dir="auto">Jeff Gay<br />
Eric, Thanks again for the nice design! <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44d.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--+1" title=":+1:" alt="👍" /><img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3fb.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--skin-tone-2" title=":skin-tone-2:" alt="🏻" /></p>
]]></description><link>https://openjscad.nodebb.com/topic/71/jul-14-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/71/jul-14-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:02:51 GMT</pubDate></item><item><title><![CDATA[Jul 24, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Folks,</p>
<p dir="auto">Nothing is for free, including Makers Faire Tokyo (See below). So, I’ve decided to ask for some sponsors. However, I’d like to share the fun as well. So, if anyone contributes $25 or more then I’ll send one of the t-shirts for free.</p>
<p dir="auto">By the way, contributions are to JSCAD, via OpenCollective.</p>
<p dir="auto"><a href="https://opencollective.com/openjscad#backer" rel="nofollow ugc">https://opencollective.com/openjscad#backer</a></p>
<p dir="auto">Makers Faire Tokyo 2018</p>
<ul>
<li>12 T-shirts (7514 yen) and transfer sheets (2164 yen)</li>
<li>3D prints (2300 yen) and 30 bolts (2124 yen)</li>
<li>2 Posters (2400 yen)</li>
</ul>
]]></description><link>https://openjscad.nodebb.com/topic/70/jul-24-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/70/jul-24-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:01:40 GMT</pubDate></item><item><title><![CDATA[May 29, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Release v1.8.4 of OpenJSCAD !</p>
<p dir="auto"><a href="https://github.com/jscad/OpenJSCAD.org" rel="nofollow ugc">https://github.com/jscad/OpenJSCAD.org</a><br />
<a href="https://openjscad.org/" rel="nofollow ugc">https://openjscad.org/</a></p>
<p dir="auto">This was a small update with changes for:</p>
<ul>
<li>examples, reformatted scripts</li>
<li>website, improvements in the HTLM (from 20lives and hassadee)</li>
</ul>
<p dir="auto">Keep those contributions and ideas coming!<br />
<a href="http://OpenJSCAD.org" rel="nofollow ugc">OpenJSCAD.org</a><br />
Editor. Render Code, F5 or SHIFT + Return. Save To Cache, CTRL + S. Load From Cache, CTRL + L. Clear Cache, CTRL + SHIFT + . Download Code, CTRL + SHIFT + S. Reset View, CRTL + Return. 3D View. Rotate XZ, Left Mouse. Pan, Middle Mouse or SHIFT + Left Mouse. Rotate XY, Right Mouse ...<br />
<a href="http://openjscad.org" rel="nofollow ugc">openjscad.org</a><br />
one comment<br />
1<br />
4 plus ones<br />
4<br />
no shares<br />
Shared publicly•View activity</p>
<pre><code>Jeff Gay
Thanks. Lots of people contributing now, and further improvements are coming.
</code></pre>
]]></description><link>https://openjscad.nodebb.com/topic/69/may-29-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/69/may-29-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:00:51 GMT</pubDate></item><item><title><![CDATA[Jul 1, 2018]]></title><description><![CDATA[<p dir="auto">Mark Kaercher<br />
Yesterday, I was successful in going from a GeoGebra graph to a 3D print via OpenJSCAD. You can check it out here: <a href="https://twitter.com/shskaercher/status/1013171540752560128" rel="nofollow ugc">https://twitter.com/shskaercher/status/1013171540752560128</a></p>
<p dir="auto">Today, I can import the OpenSCAD file into OpenJSCAD, but when I try to download the stl file, the OpenJSCAD page freezes and won't download. Any advice? Thanks.<br />
Mark Kaercher on Twitter<br />
Mark Kaercher on Twitter<br />
<a href="http://twitter.com" rel="nofollow ugc">twitter.com</a><br />
2 comments<br />
2<br />
3 plus ones<br />
3<br />
one share<br />
1<br />
Shared publicly•View activity</p>
<pre><code>Jeff Gay
Hi Mark
The design doesn’t look complex so I would expect STL export to work properly.
Can you supply some information about your browser? Version, etc?
</code></pre>
<p dir="auto">Mark Kaercher<br />
Using latest version of Chrome.  I think the issue was on GeoGebra's end. The Beta GeoGebra site might have been producing a bad file download. I tried again later in the day and it all worked fine. I'll be in contact if I run into any issues again. Thanks so much!</p>
]]></description><link>https://openjscad.nodebb.com/topic/68/jul-1-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/68/jul-1-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 06:00:02 GMT</pubDate></item><item><title><![CDATA[Apr 5, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Wow!</p>
<p dir="auto">Eight hundred (800) members of this community.<br />
The next year will be really exciting.<br />
Thanks everyone for the contribution and energy.</p>
]]></description><link>https://openjscad.nodebb.com/topic/67/apr-5-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/67/apr-5-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 05:58:43 GMT</pubDate></item><item><title><![CDATA[Jun 1, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Makers Faire Tokyo 2018<br />
August 4-5</p>
<p dir="auto">Several of us will be setting up a table, and showing JSCAD to anyone interested. Let me know if interested. There are free passes for JSCAD presenters.</p>
<p dir="auto">Hope to meet and talk with lots of people again!</p>
]]></description><link>https://openjscad.nodebb.com/topic/66/jun-1-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/66/jun-1-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 05:58:08 GMT</pubDate></item><item><title><![CDATA[Jan 28, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Folks,</p>
<p dir="auto">We aren’t having any luck with the User Guides being on Wikibooks. It seems that reviews and approvals never happen in a timely fashion.</p>
<p dir="auto">In order to give everyone a hand at creating great guides for others, we are playing with a self-hosted WIKI. Anyone with an account at GitHub will be able to make changes. (We can extend to Google+ if requested) This should allow the user guide to move faster, at the same rate as the technology.</p>
<p dir="auto">See <a href="http://www.openjscad.org/dokiwiki/" rel="nofollow ugc">www.openjscad.org/dokiwiki/</a></p>
]]></description><link>https://openjscad.nodebb.com/topic/65/jan-28-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/65/jan-28-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 05:57:24 GMT</pubDate></item><item><title><![CDATA[Apr 9, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
User Guide</p>
<p dir="auto">I’m happy to announce that the User Guide is now available on the website. Just click on any of the links via the website. <a href="https://openjscad.org/dokuwiki/doku.php" rel="nofollow ugc">https://openjscad.org/dokuwiki/doku.php</a></p>
<p dir="auto">The documentation (like the code) is open to all. Anyone with an account on GitHub can enhance and correct the contents.</p>
<p dir="auto">For those new to WIKI functions, I suggestion reviewing the awesome guide for Dokuwiki, and start contributing. <a href="https://www.dokuwiki.org/manual" rel="nofollow ugc">https://www.dokuwiki.org/manual</a></p>
<p dir="auto">The documentation is improving but YOU can make JSCAD into a place for everyone. (Our main goal!)</p>
<p dir="auto">P.S. If you are thinking ‘WOW! I wish that was available in &lt;your native language&gt;!’ then contact me. We can support any number of languages. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
]]></description><link>https://openjscad.nodebb.com/topic/64/apr-9-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/64/apr-9-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 05:56:41 GMT</pubDate></item><item><title><![CDATA[Jan 16, 2018]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
BlocksCAD (based on JSCAD) is being featured at <a href="http://thingiverse.com" rel="nofollow ugc">http://thingiverse.com</a> as a challenge.</p>
<p dir="auto"><a href="https://www.thingiverse.com/challenges/BlocksCADSnowflake/" rel="nofollow ugc">https://www.thingiverse.com/challenges/BlocksCADSnowflake/</a></p>
]]></description><link>https://openjscad.nodebb.com/topic/63/jan-16-2018</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/63/jan-16-2018</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 04:50:53 GMT</pubDate></item><item><title><![CDATA[Nov 11, 2017]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Just a quick update on development...</p>
<p dir="auto">A momentous amount of work has been performed to AUTOMATE AUTOMATE AUTOMATE. And there's more to come as the whole pipeline, from library to website, will be AUTOMATED.</p>
<p dir="auto">On top of that, we have received some great assistance to enhance and fix the web UI. Sadly, those changes are a little delayed in showing up because...</p>
<p dir="auto"><a href="http://OpenJSCAD.org" rel="nofollow ugc">OpenJSCAD.org</a> is changing service providers. We hope the whole user experience will improve.</p>
<p dir="auto">Underneath, there have been some great work on the SVG library, improving imports, and adding direct object instantiation. In fact, the whole IO library is being transformed to provide objects directly from SVG, STL, etc. More on this later but early adopters are welcome to try out the libraries via NodeJS.</p>
<p dir="auto">And of course bug fixes...</p>
<p dir="auto">And DXF import is coming as well.</p>
]]></description><link>https://openjscad.nodebb.com/topic/62/nov-11-2017</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/62/nov-11-2017</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 04:50:09 GMT</pubDate></item><item><title><![CDATA[Nov 18, 2017]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
New Website Enabled</p>
<p dir="auto">Just a note that <a href="http://www.openjscad.org" rel="nofollow ugc">www.openjscad.org</a> has been moved to the new hosting service.</p>
<p dir="auto">Hopefully, there will be no issues with access, but please let us know.</p>
]]></description><link>https://openjscad.nodebb.com/topic/61/nov-18-2017</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/61/nov-18-2017</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 04:49:22 GMT</pubDate></item><item><title><![CDATA[Nov 4, 2017]]></title><description><![CDATA[<p dir="auto">Jeff Gay<br />
Calling out...</p>
<p dir="auto">If you have a few moments then we would really appreciate a few more hands. There are tons of issues to research / fix / improve, and so much MORE to do with <a href="http://OpenJSCAD.org" rel="nofollow ugc">OpenJSCAD.org</a></p>
<p dir="auto">If you have the energy then we are looking for a few more hands for development. It can cover 3D math, API changes, test cases, and documentation. The scope of contribution is up to you.</p>
<p dir="auto">Interested? Ping me on Google Hangouts.</p>
]]></description><link>https://openjscad.nodebb.com/topic/60/nov-4-2017</link><guid isPermaLink="true">https://openjscad.nodebb.com/topic/60/nov-4-2017</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 07 Apr 2019 04:48:46 GMT</pubDate></item></channel></rss>