<?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[V2 Hulls]]></title><description><![CDATA[<p dir="auto"><strong>It's official!</strong></p>
<p dir="auto">V2 includes hull for 3D geometries, as well as 2D geometries. This has been long overdue, and one of the most requested features over the past few years.</p>
<p dir="auto">Big thanks to @jallwine and <a class="plugin-mentions-user plugin-mentions-a" href="/user/hg42" aria-label="Profile: hg42">@<bdi>hg42</bdi></a> for the initial V1 versions.</p>
<p dir="auto">Example of hull for 3D geometories</p>
<p dir="auto"><img src="/assets/uploads/files/1578099417909-1-resized.png" alt="0_1578099415384_1.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Example of hull_chain for 3D geometries</p>
<p dir="auto"><img src="/assets/uploads/files/1578099471797-2-resized.png" alt="0_1578099470019_2.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://openjscad.nodebb.com/topic/118/v2-hulls</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 21:28:51 GMT</lastBuildDate><atom:link href="https://openjscad.nodebb.com/topic/118.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Jan 2020 00:59:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to V2 Hulls on Wed, 27 May 2020 13:32:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/z3dev" aria-label="Profile: z3dev">@<bdi>z3dev</bdi></a> for my purposes the type of api doesn't matter much, because I use a preprocessor (currently python, may be something like livescript in the future) that can generate whatever I need. Ideally I would use the lowest level.</p>
<p dir="auto">That said, I could eventually use javascript as a frontend directly. It's a whole different situation with jscad compared to openscad as a backend.</p>
<p dir="auto">My preprocessor generates a tree internally (which seems to be very similar to the vtree).<br />
So, the transition to jscad could also be from my tree to vtree...</p>
<p dir="auto">btw. I already created a new thread for further discussions, because I thought it would not fit well under "V2 hulls"):<br />
<a href="/topic/133/v2-status-and-testing-environments">v2-status-and-testing-environments</a></p>
]]></description><link>https://openjscad.nodebb.com/post/237</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/237</guid><dc:creator><![CDATA[hg42]]></dc:creator><pubDate>Wed, 27 May 2020 13:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to V2 Hulls on Wed, 27 May 2020 00:49:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hg42" aria-label="Profile: hg42">@<bdi>hg42</bdi></a> You would be welcome to start working with V2. Somethings have changed, and the shift to a functional approach allows others to build upon the 'core' API.</p>
<p dir="auto">I've already created <a href="https://github.com/jscad-community/jscad-object-api" rel="nofollow ugc">an object layer</a> for those that miss that style. It's still 'work in progress' as well. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=552b9a4dc0c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://openjscad.nodebb.com/post/236</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/236</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Wed, 27 May 2020 00:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to V2 Hulls on Tue, 26 May 2020 12:12:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/z3dev" aria-label="Profile: z3dev">@<bdi>z3dev</bdi></a> well, 14 days seems to be quick in relation to my replay after 5 month <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/263a.png?v=552b9a4dc0c" class="not-responsive emoji emoji-android emoji--relaxed" style="height:23px;width:auto;vertical-align:middle" title=":relaxed:" alt="☺" /><br />
Thanks...</p>
<p dir="auto">Meanwhile, I read some code and other sources. I see it's a work in progress (naturally) and several things probably don't work any more or at least temporarily.</p>
<p dir="auto">The code above helps to understand, what is your current way to test code. Actually, I wasn't fully aware of the pure functional interface.</p>
]]></description><link>https://openjscad.nodebb.com/post/233</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/233</guid><dc:creator><![CDATA[hg42]]></dc:creator><pubDate>Tue, 26 May 2020 12:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to V2 Hulls on Mon, 25 May 2020 07:43:30 GMT]]></title><description><![CDATA[<p dir="auto">Wow! Sorry for the late reply..</p>
<p dir="auto">Here's the V2 code that produced those shapes using both hull() and hullChain() functions.</p>
<pre><code>const {primitives, hulls, color} = require('@jscad/modeling')
const {translate} = require('@jscad/modeling').transforms

const main = () =&gt; {
  const g1 = primitives.cuboid({size: [4,4,4]})
  const g2 = translate([15, 15, 15], primitives.cuboid({size: [10,10,10]}))
  const g3 = translate([20, 0, 0], primitives.cuboid({size: [4,4,4]}))
  const g4 = translate([35, 15, 15], primitives.ellipsoid({radius: [5,5,5], segments: 16}))
  const g5 = translate([40, 0, 0], primitives.ellipsoid({radius: [2,2,2], segments: 16}))
  const g6 = translate([55, 15, 15], primitives.ellipsoid({radius: [5,5,5], segments: 16}))

  // various hulls between different shapes
  const s1 = hulls.hull(g1, g2)
  color.color([1,0.5,0], s1)
  const s2 = hulls.hull(g3, g4)
  color.color([0,1,0.5], s2)
  const s3 = hulls.hull(g5, g6)
  color.color([0.5,0,1], s3)
  return [s1,s2,s3]

  // example of hullChain between three shapes
  // const s1 = hulls.hullChain(g1,g4,g5)
  // return s1
}

module.exports = {main}
</code></pre>
]]></description><link>https://openjscad.nodebb.com/post/232</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/232</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Mon, 25 May 2020 07:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to V2 Hulls on Tue, 12 May 2020 20:01:28 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">after being offline from JSCAD for some time now, I am slowly trying to get back to a new working environment, now using V2. I know it's not production ready, which doesn't matter for me, it's only an exploration and I also want to help with testing or ideas etc.</p>
<p dir="auto">While having several issues currently (mainly understanding how to do things in V2 and current status of the new code),  it would probably help (me), if you could post the code you used for these images (or a pointer to it).</p>
]]></description><link>https://openjscad.nodebb.com/post/226</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/226</guid><dc:creator><![CDATA[hg42]]></dc:creator><pubDate>Tue, 12 May 2020 20:01:28 GMT</pubDate></item></channel></rss>