How do I decompose 2 intersecting surfaces then recompose as 1? - Grasshopper2024-03-28T19:14:01Zhttps://www.grasshopper3d.com/forum/topics/how-do-i-decompose-2-intersecting-surfaces-then-recompose-as-1?commentId=2985220%3AComment%3A1593362&feed=yes&xn_auth=noAnother more "canonical" appr…tag:www.grasshopper3d.com,2016-09-05:2985220:Comment:15943212016-09-05T15:19:51.826Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>Another more "canonical" approach is to divide a given surface (or BrepFace) with a variety of ways (and/or discard some pieces by taking care to have <strong>ONE island</strong> [for obvious reasons]) and them Morph some sort of "solid" thing into them and then use the sum of things as drilling profiles etc etc.</p>
<p>For the division/discard part see these 2 screenshots (mode: <strong>recursive random division</strong>, discard gradually pieces randomly: <strong>off/on</strong>, island…</p>
<p>Another more "canonical" approach is to divide a given surface (or BrepFace) with a variety of ways (and/or discard some pieces by taking care to have <strong>ONE island</strong> [for obvious reasons]) and them Morph some sort of "solid" thing into them and then use the sum of things as drilling profiles etc etc.</p>
<p>For the division/discard part see these 2 screenshots (mode: <strong>recursive random division</strong>, discard gradually pieces randomly: <strong>off/on</strong>, island detection: <strong>off/off</strong>).</p>
<p><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769193841?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193841?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769194248?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769194248?profile=RESIZE_1024x1024" width="721"/></a></p>
<p></p>
<p></p> Peter,
Thanks for providing…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15933022016-09-04T17:59:22.313Zneobobkrausehttps://www.grasshopper3d.com/profile/BobKrause
<p>Peter,</p>
<p></p>
<p>Thanks for providing your Alien code. It's good to have as a reference. I've been drawn so far to various attractor constructs to create the organic feeling I'm looking for. It was my initial sense that morphing was going to be too direct, too explicit. But you've introduced an additional level of indirection my morphing control points. And interesting idea.</p>
<p></p>
<p>- Bob</p>
<p></p>
<p>Peter,</p>
<p></p>
<p>Thanks for providing your Alien code. It's good to have as a reference. I've been drawn so far to various attractor constructs to create the organic feeling I'm looking for. It was my initial sense that morphing was going to be too direct, too explicit. But you've introduced an additional level of indirection my morphing control points. And interesting idea.</p>
<p></p>
<p>- Bob</p>
<p></p> See these as welltag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15933762016-09-04T17:49:20.223Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>See these as well</p>
<p>See these as well</p> BTW: Jokes apart the real rea…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15935732016-09-04T17:21:40.780Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>BTW: Jokes apart the real reason that I've posted the Alien cuppa thingy has as follows:</p>
<p>1. You said that you are after organic shapes. This means stuff with some kind of "randomness". But ... well ... then you put (or drill) rather "canonical" patterns that formulate the inner/outer skin (or both).</p>
<p>2. The above approach hits 3 walls: (a) very slow response (Rhino is a surface modeller) (b) booleans/fillets potential issues (Rhino is a surface modeller) (c) a potential…</p>
<p>BTW: Jokes apart the real reason that I've posted the Alien cuppa thingy has as follows:</p>
<p>1. You said that you are after organic shapes. This means stuff with some kind of "randomness". But ... well ... then you put (or drill) rather "canonical" patterns that formulate the inner/outer skin (or both).</p>
<p>2. The above approach hits 3 walls: (a) very slow response (Rhino is a surface modeller) (b) booleans/fillets potential issues (Rhino is a surface modeller) (c) a potential aesthetic antithesis between the liberty of the "whole" VS the "strict" rules of the "details".</p>
<p>3. Since you opt to work with Rhino It could be worth considering <strong>playing his own game</strong>: deforming surfaces that is ... by working against control points or via the Morph methods. Then join them and get the decorative thingy as "solid".</p>
<p>Images below are from a C# that actually gets the control points of Surfaces in Lists and "deforms" them according a gazillion of options (a) via any "<strong>on-the-fly</strong>" defined pattern (Take or skip this control point: <strong>shift branches/items</strong> that is) (b) using any number of attractors in any push/pull mode (c) using chaotic vector values (d) using ... well too many ways to list them here.</p>
<p><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769191083?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769191083?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769191552?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769191552?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769192356?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769192356?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769192788?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769192788?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769193189?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193189?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769193599?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193599?profile=RESIZE_1024x1024" width="721"/></a><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769193908?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193908?profile=RESIZE_1024x1024" width="721"/></a>Imagine what the Alien cuppa def does (modifies "diagonally" control points) ... multiplied by 1000.</p> The texture shown in my last…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15933622016-09-04T16:05:15.313Zneobobkrausehttps://www.grasshopper3d.com/profile/BobKrause
<p>The texture shown in my last post is the interior of two interlaced surfaces. However I more commonly want to create a texture based on the exterior of the two input surfaces. So I've enclosed updated GH code consisting of two groups -- MilledInterior and MilledExterior -- that generate both versions.</p>
<p></p>
<p>- Bob…</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769193613?profile=original" target="_self"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193613?profile=RESIZE_1024x1024" width="721"></img></a></p>
<p></p>
<p></p>
<p>The texture shown in my last post is the interior of two interlaced surfaces. However I more commonly want to create a texture based on the exterior of the two input surfaces. So I've enclosed updated GH code consisting of two groups -- MilledInterior and MilledExterior -- that generate both versions.</p>
<p></p>
<p>- Bob</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769193613?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193613?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769193924?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193924?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p> BTW: Given the opportunity an…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15935222016-09-04T08:05:46.134Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>BTW: Given the opportunity and <strong>rather a "bit" off-topic</strong> ... well ... in fact I'm involved in the decorative objects market sector but only related with stuff for planets outside earth (lot's of tax free cash).</p>
<p>See the notorious Alien spine cuppa def that does alien cuppas (what else?). Notice the holes carefully placed purely for ergonomic reasons - weird Alien hands. Also available solely via C#.…</p>
<p></p>
<p>BTW: Given the opportunity and <strong>rather a "bit" off-topic</strong> ... well ... in fact I'm involved in the decorative objects market sector but only related with stuff for planets outside earth (lot's of tax free cash).</p>
<p>See the notorious Alien spine cuppa def that does alien cuppas (what else?). Notice the holes carefully placed purely for ergonomic reasons - weird Alien hands. Also available solely via C#.</p>
<p><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769191235?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769191235?profile=RESIZE_1024x1024" width="721"/></a>And a happy client that just took delivery of the thing:</p>
<p><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769191350?profile=original"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769191350?profile=original" width="400"/></a></p>
<p></p> Well ...
That's indeed a far…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15935162016-09-04T06:58:50.274Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>Well ...</p>
<p>That's indeed a far more pragmatic approach... and if this is a decorative object <strong>STOP RIGHT NOW</strong> > who cares about radii/fillets and all? (not the consumer anyway - don't get lost in the translation [was a nice movie that one]). If on the other hand that was a stadium envelope in Planet Utopia ... well ... a few "changes" in the approach are recommended.</p>
<p>The solution works because doing boolean is one thing whilst making a "stitched" smooth…</p>
<p>Well ...</p>
<p>That's indeed a far more pragmatic approach... and if this is a decorative object <strong>STOP RIGHT NOW</strong> > who cares about radii/fillets and all? (not the consumer anyway - don't get lost in the translation [was a nice movie that one]). If on the other hand that was a stadium envelope in Planet Utopia ... well ... a few "changes" in the approach are recommended.</p>
<p>The solution works because doing boolean is one thing whilst making a "stitched" smooth (fillets) closed thing (<strong>working in a surface modeller</strong>, that is) is a totally different animal. That said when working with solids is highly recommended to try to think the MCAD way (always remove stuff using tmp solids instead of creating stuff).</p>
<p>Anyway if you still want <strong>fillets</strong> > find a friend who knows a thing or two about CATIA/NX/Microstation > select all the edges to fillet > job done > get the money and run.</p>
<p>Moral: always load your gun with the right size of bullets (and always have a loaded gun ready).</p> Milling. That did it. Thank y…tag:www.grasshopper3d.com,2016-09-04:2985220:Comment:15934162016-09-04T05:30:08.912Zneobobkrausehttps://www.grasshopper3d.com/profile/BobKrause
<p>Milling. That did it. Thank you Peter for the suggestion.</p>
<p></p>
<p>I'm enclosing a GH algorithm that takes surfaces an inputs. The first 2 are spatially interlaced. The third is an optional interior surface used to carve out the center volume of the output closed brep with the target exterior texture.</p>
<p></p>
<p>The math for achieving this "milled" result is very straightforward. I'm really quite surprised that Rhino fails so miserably when we try to construct a closed brep using…</p>
<p>Milling. That did it. Thank you Peter for the suggestion.</p>
<p></p>
<p>I'm enclosing a GH algorithm that takes surfaces an inputs. The first 2 are spatially interlaced. The third is an optional interior surface used to carve out the center volume of the output closed brep with the target exterior texture.</p>
<p></p>
<p>The math for achieving this "milled" result is very straightforward. I'm really quite surprised that Rhino fails so miserably when we try to construct a closed brep using boundary surfaces but works like a dream when milling out a simple bounding box.</p>
<p></p>
<p>- Bob</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769192763?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769192763?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p>
<p></p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769192976?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769192976?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p> Well ... it's another Leonida…tag:www.grasshopper3d.com,2016-09-03:2985220:Comment:15930392016-09-03T17:50:05.841Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>Well ... it's another Leonidas VS Xerxes case (either way you can't win) therefor ... it's worth ...er ...</p>
<p>1. <strong>Lies/Fake promises</strong> first (all pros do that Sir): a complete instance definition thingy is ready (i.e. an existed thingy <strong>minus</strong> sensitive code). This gets Geometry Base type of (rather complex) stuff and makes the modules (a bit useless mind since you are after "organic" shapes [life sucks]):…</p>
<p></p>
<p>Well ... it's another Leonidas VS Xerxes case (either way you can't win) therefor ... it's worth ...er ...</p>
<p>1. <strong>Lies/Fake promises</strong> first (all pros do that Sir): a complete instance definition thingy is ready (i.e. an existed thingy <strong>minus</strong> sensitive code). This gets Geometry Base type of (rather complex) stuff and makes the modules (a bit useless mind since you are after "organic" shapes [life sucks]):</p>
<p><a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2769193405?profile=original"><img width="721" class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769193405?profile=RESIZE_1024x1024" width="721"/></a>2. <strong>More lies/fake promises</strong>: well ... what about using a milling tool (the "negative" of a given module) that removes stuff from a blob instead of creating mini blobs? The advantage is that this can be made even outside GH/R (in an emergency) and then spawn a family of "tools" (say via Morphing Methods [8 available: Maelstrom is the freakiest - see SDK]). And if little details here and there spoil the party ... do the Bilbao thing. And who's gonna notice the little details? And if he does so what? (that was intentional Sir: roughness is our style).</p>
<p>more soon.</p>
<p></p> Do you have symmetrical stuf…tag:www.grasshopper3d.com,2016-09-03:2985220:Comment:15930252016-09-03T15:16:36.019Zneobobkrausehttps://www.grasshopper3d.com/profile/BobKrause
<p></p>
<blockquote><p><span>Do you have symmetrical stuff in mind?</span></p>
</blockquote>
<p>I understand what you're suggesting. There may well be some surfaces that have symmetric elements. But the overall esthetic we're going for is organic. The toolset that this algorithm is a member of are each designed with Photoshop filters in mind. The goal is to always generate output suitable as input to other tools in the set. A tool that distributes "cells" of prototypical shapes across a surface…</p>
<p></p>
<blockquote><p><span>Do you have symmetrical stuff in mind?</span></p>
</blockquote>
<p>I understand what you're suggesting. There may well be some surfaces that have symmetric elements. But the overall esthetic we're going for is organic. The toolset that this algorithm is a member of are each designed with Photoshop filters in mind. The goal is to always generate output suitable as input to other tools in the set. A tool that distributes "cells" of prototypical shapes across a surface or volume is interesting. But we also have requirements for this tool I'm currently working on to generate textures synthesized from interference patterns.</p>
<p></p>
<p>The point you're making about unnecessary fidelity is very valid. The fabrication processes only offer so much resolution. Distance from the eye further reduces the need for exactness. Funny, I had the experience you describe when I visited Bilbao a few summers back.</p>
<p></p>
<p>Thanks again Peter for continuing to give this challenge thought. </p>
<p></p>
<p>- Bob</p>