{"id":13015,"date":"2024-03-29T05:52:23","date_gmt":"2024-03-29T04:52:23","guid":{"rendered":"http:\/\/www.keris-studio.fr\/blog\/?p=13015"},"modified":"2024-03-29T05:52:26","modified_gmt":"2024-03-29T04:52:26","slug":"beegraphy-the-online-grasshopper","status":"publish","type":"post","link":"https:\/\/www.keris-studio.fr\/blog\/?p=13015","title":{"rendered":"Beegraphy, the bridge"},"content":{"rendered":"<h1>beegraphy.com.<\/h1>\n<p><a href=\"https:\/\/beegraphy.com\/\">BeeGraphy<\/a> is an innovative cloud-based platform tailored for computational designers. It provides effortless cross-platform compatibility, removing the requirement for installations, thereby facilitating seamless usage on Windows, Mac, or Linux systems. By enabling model creation directly in the cloud and allowing easy sharing through a straightforward URL link, BeeGraphy fosters real-time collaboration and co-creation among individuals and teams. <a href=\"https:\/\/beegraphy.com\/\">Beegraphy<\/a> ensures that you can share your parametric models securely without disclosing the underlying script, empowering to present designs confidently. Additionally, <a href=\"https:\/\/beegraphy.com\/\">Beegrapgy<\/a> offers the opportunity to showcase and market models in <a href=\"https:\/\/beegraphy.com\/\">Beegraphy<\/a> online store, generating passive income.<br \/><!--more--><\/p>\n<p>For those familiar with Grasshopper, Beegraphy is very easy to master. Components are very similar and the inner logic remains the same. Beegraphy just seems to be a bit less powerful or flexible, especially with lists and has some minor issues with the 3D viewing space.<\/p>\n<p>Tools are as shown below.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13016 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1.png\" alt=\"\" width=\"1719\" height=\"431\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1.png 1719w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1-300x75.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1-1024x257.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1-768x193.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-1-1536x385.png 1536w\" sizes=\"auto, (max-width: 1719px) 100vw, 1719px\" \/><\/a><\/p>\n<h1>Bridge<\/h1>\n<p>We will test Beegraphy with a basic example that is deployed with Grasshopper here: <a href=\"https:\/\/www.keris-studio.fr\/blog\/?p=12883\">https:\/\/www.keris-studio.fr\/blog\/?p=12883<\/a>. Starting from a point, we will be able to create a simple parametric geometry.<\/p>\n<p>We start with a <strong>Control Point<\/strong>. Pretty much like in Grasshopper (and common geometry), a Control Point is referenced with 3 coordinates. We create a second one equipped with a Slider, which is called in Beegraphy <strong>Range Input<\/strong>. This value will give the length of the bridge.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13017 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2.png\" alt=\"\" width=\"1568\" height=\"630\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2.png 1568w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2-300x121.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2-1024x411.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2-768x309.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-2-1536x617.png 1536w\" sizes=\"auto, (max-width: 1568px) 100vw, 1568px\" \/><\/a><\/p>\n<p>We then create a <strong>Line<\/strong> by joining those 2 points.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13018 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3.png\" alt=\"\" width=\"1558\" height=\"691\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3.png 1558w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3-300x133.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3-1024x454.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3-768x341.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-3-1536x681.png 1536w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<p>As we want to create a Curved bridge, we seek for the middle point. For that we use <strong>Curve Middle Point<\/strong>. That way, whatever the length will be, we will always have the middle point location. We then raise this middle point with the <strong>Move<\/strong> component. We indicate <strong>Vector Z<\/strong> and a value with the <strong>Range Input<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13019 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4.png\" alt=\"\" width=\"1745\" height=\"921\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4.png 1745w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4-300x158.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4-1024x540.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4-768x405.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-4-1536x811.png 1536w\" sizes=\"auto, (max-width: 1745px) 100vw, 1745px\" \/><\/a><\/p>\n<p>The midpoint is elevated.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"305\" class=\"wp-image-13020\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-5.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-5.png 689w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-5-300x133.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/p>\n<p>We can then use an <strong>Arc 3points<\/strong> to make the arch.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13021 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6.png\" alt=\"\" width=\"3038\" height=\"928\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6.png 3038w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6-300x92.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6-1024x313.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6-768x235.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6-1536x469.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-6-2048x626.png 2048w\" sizes=\"auto, (max-width: 3038px) 100vw, 3038px\" \/><\/a><\/p>\n<p>Then we duplicate with <strong>Move<\/strong> the arc line to have the width of the bridge. This width is also given with a <strong>Range Input<\/strong> and a <strong>Vector Y<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13022 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7.png\" alt=\"\" width=\"2044\" height=\"891\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7.png 2044w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7-300x131.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7-1024x446.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7-768x335.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-7-1536x670.png 1536w\" sizes=\"auto, (max-width: 2044px) 100vw, 2044px\" \/><\/a><\/p>\n<p>With a <strong>Loft Surface<\/strong> we can create a surface between the 2 curves. Even if I put the geometry resolution at the highest, it\u2019s still very angular. I don\u2019t know why.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13023 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8.png\" alt=\"\" width=\"1730\" height=\"915\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8.png 1730w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8-300x159.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8-1024x542.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8-768x406.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-8-1536x812.png 1536w\" sizes=\"auto, (max-width: 1730px) 100vw, 1730px\" \/><\/a><\/p>\n<p>To have a volume instead of a simple surface, we can use <strong>Extrude Surface<\/strong>. <strong>Vector Z<\/strong> for the up direction and a <strong>Range Input <\/strong>to modify the thickness.<\/p>\n<h1>Getting thick<\/h1>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13024 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9.png\" alt=\"\" width=\"2015\" height=\"905\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9.png 2015w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9-300x135.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9-1024x460.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9-768x345.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-9-1536x690.png 1536w\" sizes=\"auto, (max-width: 2015px) 100vw, 2015px\" \/><\/a><\/p>\n<p>Ok, now it time to create the railings. We start from the arc, and to make things easier for now, we simply divide this arc into segments. For that we use <strong>Divide by Count<\/strong> and a <strong>Range Input <\/strong>(from 3 to 24 in this example).<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13025 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10.png\" alt=\"\" width=\"2575\" height=\"1037\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10.png 2575w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10-300x121.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10-1024x412.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10-768x309.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10-1536x619.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-10-2048x825.png 2048w\" sizes=\"auto, (max-width: 2575px) 100vw, 2575px\" \/><\/a><\/p>\n<p>Then we use a <strong>Line SDL<\/strong> to create the vertical bars. A <strong>Vector Z<\/strong> tells that the lines have to go straight up and a <strong>Range Input<\/strong> let the possibility to modify the bars\u2019 length.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13026 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11.png\" alt=\"\" width=\"2152\" height=\"806\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11.png 2152w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11-300x112.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11-1024x384.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11-768x288.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11-1536x575.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-11-2048x767.png 2048w\" sizes=\"auto, (max-width: 2152px) 100vw, 2152px\" \/><\/a><\/p>\n<p>The handrail is done with a Curve. First it\u2019s needed to get the <strong>End Points<\/strong> of each vertical bar.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13027 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-12.png\" alt=\"\" width=\"805\" height=\"468\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-12.png 805w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-12-300x174.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-12-768x446.png 768w\" sizes=\"auto, (max-width: 805px) 100vw, 805px\" \/><\/a><\/p>\n<p>Ok, at this stage we must have a break.<\/p>\n<p>We connected the two arcs to the Divide Line component in order to go faster. All SDL lines are then created from the right arc and the left arc. For those familiar to Grasshopper, it means that we\u2019ve got one list with two sub lists (branches) in the same component. Last recall that parametric design is all about lists and mastering it is quite the only issue.<\/p>\n<p>To play with the lists, we will then split the lists, one for the right handrail and one for the left one. Why that? Well, it is faster to process this way, but we could have 2 parallel processes one for the right side and one for the left one. Let\u2019s see that in the definition R is right side, L is Left side.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13028 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13.png\" alt=\"\" width=\"2964\" height=\"885\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13.png 2964w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13-300x90.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13-1024x306.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13-768x229.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13-1536x459.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-13-2048x611.png 2048w\" sizes=\"auto, (max-width: 2964px) 100vw, 2964px\" \/><\/a><\/p>\n<p>Before splitting the list, we use <strong>End Points<\/strong> to collect all end points from a segment, in our case, the vertical bars.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13029 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14.png\" alt=\"\" width=\"1074\" height=\"639\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14.png 1074w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14-300x178.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14-1024x609.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-14-768x457.png 768w\" sizes=\"auto, (max-width: 1074px) 100vw, 1074px\" \/><\/a><\/p>\n<p>We try to see the length off our list to know where to cut (split) with the <strong>List Length<\/strong> component. We can use a <strong>Panel<\/strong> to visualise the result. Grasshopper users love panels. The length is a value so we can use it as a number that we divide by 2 and hop, we know where to cut. We use <strong>Number Count<\/strong> to input a number, <strong>Division<\/strong> to calculate and <strong>Split List<\/strong> to split.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13030 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15.png\" alt=\"\" width=\"1516\" height=\"731\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15.png 1516w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15-300x145.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15-1024x494.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-15-768x370.png 768w\" sizes=\"auto, (max-width: 1516px) 100vw, 1516px\" \/><\/a><\/p>\n<p>Ok, now have our points on the Right side and on The Left side. We can join them with a <strong>Polyline<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13031 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16.png\" alt=\"\" width=\"1398\" height=\"674\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16.png 1398w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16-300x145.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16-1024x494.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-16-768x370.png 768w\" sizes=\"auto, (max-width: 1398px) 100vw, 1398px\" \/><\/a><\/p>\n<p>Ok now we\u2019ve got our two handrails. We are ready to give some thickness to it.<\/p>\n<h2>Alternative<\/h2>\n<p>Ok at this stage I had an issue with the following steps. The other solution is to use a dispatch with a Boolean.<\/p>\n<p>To dispatch I chose the Y distance which is also the width of my bridge. Points on the left side are separated from points of the Right side by their Y coordinates. To do so, we can use a <strong>Deconstruct Point<\/strong> to have the XYZ coordinates (I optionally trunked the number in order to have an integer) (<strong>Trunc<\/strong>). Then we can introduce the Boolean <strong>Larger<\/strong> and chose Larger or Equal to the width of the bridge. The bolean result is input to the <strong>Dispatch List<\/strong>. Then each list is connected to the Polyline.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13032 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17.png\" alt=\"\" width=\"1642\" height=\"785\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17.png 1642w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17-300x143.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17-1024x490.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17-768x367.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-17-1536x734.png 1536w\" sizes=\"auto, (max-width: 1642px) 100vw, 1642px\" \/><\/a><\/p>\n<p>Nota : when a component is hatched, it means that elements are not visible. (Right Click Hide).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1031\" height=\"592\" class=\"wp-image-13033\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-18.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-18.png 1031w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-18-300x172.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-18-1024x588.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-18-768x441.png 768w\" sizes=\"auto, (max-width: 1031px) 100vw, 1031px\" \/><\/p>\n<p>For the horizontal bars, the easiest way is to use the <strong>Pipe<\/strong> component with a <strong>Range Input<\/strong> to vary the <strong>Radius<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13034 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19.png\" alt=\"\" width=\"2240\" height=\"977\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19.png 2240w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19-300x131.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19-1024x447.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19-768x335.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19-1536x670.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-19-2048x893.png 2048w\" sizes=\"auto, (max-width: 2240px) 100vw, 2240px\" \/><\/a><\/p>\n<p>We try it for the hand railing.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13035 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20.png\" alt=\"\" width=\"2274\" height=\"955\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20.png 2274w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20-300x126.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20-1024x430.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20-768x323.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20-1536x645.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-20-2048x860.png 2048w\" sizes=\"auto, (max-width: 2274px) 100vw, 2274px\" \/><\/a><\/p>\n<p>The Pipe doesn\u2019t return a proper geometry with the hand railing. I believe it will be improved. We will use something else.<\/p>\n<p>We extrude the curves in Z with <strong>Extrude Curve<\/strong> we indicate a <strong>Vector Z<\/strong> and and <strong>Range Input<\/strong> to vary the value.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13036 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21.png\" alt=\"\" width=\"1679\" height=\"897\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21.png 1679w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21-300x160.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21-1024x547.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21-768x410.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-21-1536x821.png 1536w\" sizes=\"auto, (max-width: 1679px) 100vw, 1679px\" \/><\/a><\/p>\n<p>Ok, it\u2019s done.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"502\" class=\"wp-image-13037\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-22.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-22.png 986w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-22-300x153.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-22-768x391.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/p>\n<p>Then we separate the 2curves to extrude one in +Y and the other in \u2013Y. To do that, we again cut the list into two parts. The two actual surfaces, those extruded in Z are in the same list with the value of 1 and 2 but in reality, they have the position 0 and 1. For somebody familiar with Grasshopper it\u2019s obvious, there it\u2019s a bit confusing.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"554\" class=\"wp-image-13038\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-23.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-23.png 556w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-23-300x300.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-23-150x150.png 150w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/p>\n<p>We separate our two extruded curves with a <strong>List Item<\/strong> component. Two in fact. For the first one the Index is 0 (position 0) and second one, the Index is 1 (position 1). As it has been said, it\u2019s a bit confusing as unlike Grasshopper, the number of Items and the position can be confused. Unlike Grasshopper, it seems that it is not possible to have multiple Index or a -1.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13039 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24.png\" alt=\"\" width=\"1269\" height=\"775\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24.png 1269w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24-300x183.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24-1024x625.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-24-768x469.png 768w\" sizes=\"auto, (max-width: 1269px) 100vw, 1269px\" \/><\/a><\/p>\n<p>We will try something more straight forward using the <strong>Side Thickness <\/strong>component to add a width to our hand rails.<\/p>\n<p>To finish, we will extrude the surfaces with a new component which is <strong>Side Thickness<\/strong>. We give a parametric value with the <strong>Range Input<\/strong>. Problem is, it is shifted and not aligned. For that we move this geometry in \u2013Y at half of its width. Super easy, just Move the geometry, grab the thickness value divide it by -2. For that we need a <strong>Division<\/strong> component and a <strong>Number Const<\/strong> in which we input -2.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13040 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25.png\" alt=\"\" width=\"2043\" height=\"1165\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25.png 2043w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25-300x171.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25-1024x584.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25-768x438.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-25-1536x876.png 1536w\" sizes=\"auto, (max-width: 2043px) 100vw, 2043px\" \/><\/a><\/p>\n<h1>OBJ Export<\/h1>\n<p>To export, let\u2019s bring all our 3D geometries to an exporter. But we might need a texture first. We get the <strong>Apply Material<\/strong> Component, we connect our geometry to Geometry. We can choose a colour with a <strong>Color Picker<\/strong> that will be connected to Color. We can play with Metallicity and\/or Roughness with a <strong>Range Input<\/strong>, play with Opacity too if needed.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13041 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26.png\" alt=\"\" width=\"2270\" height=\"853\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26.png 2270w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26-300x113.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26-1024x385.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26-768x289.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26-1536x577.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-26-2048x770.png 2048w\" sizes=\"auto, (max-width: 2270px) 100vw, 2270px\" \/><\/a><\/p>\n<p>We export<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"183\" class=\"wp-image-13042\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-27.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-27.png 420w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-27-300x131.png 300w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"446\" class=\"wp-image-13043\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-28.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-28.png 473w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-28-300x283.png 300w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/p>\n<p>Et voil\u00e0\u2026<br \/><iframe loading=\"lazy\" id=\"model-64b0e990445210b8d1f74c02\" src=\"https:\/\/beegraphy.com\/embed\/64b0e990445210b8d1f74c02\" width=\"1210\" height=\"600\" frameborder=\"0\"><\/iframe><\/p>\n<p><a href=\"https:\/\/beegraphy.com\/embed\/64b0e990445210b8d1f74c02\">https:\/\/beegraphy.com\/embed\/64b0e990445210b8d1f74c02<\/a><\/p>\n<h1>Conclusion<\/h1>\n<p>Beegraphy, is a very promising solution for simple parametric designs. I see huge opportunities for teaching sessions and to easily discover the infinite possibilities of parametric design. As a Grasshopper power user, I can adapt fast. With a huge screen, Beegraphy is a must. This is a Beta version and I must say, I had some issues with Lists. I think it\u2019s very much perfectible. Splitting a list, dispatching with Boolean returned me inexplicable results. Or I should more deeply understand the indexation logic. I\u2019ll work on it. But all in all, I love this app, I will persist working with it.<\/p>\n<p>(<em>nota, native scale seems to be in millimetres<\/em>. )<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13044 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29.png\" alt=\"\" width=\"3013\" height=\"694\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29.png 3013w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29-300x69.png 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29-1024x236.png 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29-768x177.png 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29-1536x354.png 1536w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-13015-29-2048x472.png 2048w\" sizes=\"auto, (max-width: 3013px) 100vw, 3013px\" \/><\/a><\/p>\n\n\n<p><mark style=\"background-color:#ffee2a\" class=\"has-inline-color has-black-color\"><a href=\"https:\/\/forms.gle\/XNcPYUnNsEG23Ysz7\"><strong>PLEASE FILL UP THE SURVEY, IT TAKE A FEW SECONDS<\/strong> <strong>ONY<\/strong><\/a> : <a href=\"https:\/\/forms.gle\/6ToTVQPEMNttH2bq9\"><strong>HERE<\/strong><\/a>  <\/mark><\/p>\n","protected":false},"excerpt":{"rendered":"<p>beegraphy.com. BeeGraphy is an innovative cloud-based platform tailored for computational designers. It provides effortless cross-platform compatibility, removing the requirement for installations, thereby facilitating seamless usage on Windows, Mac, or Linux systems. By enabling model creation directly in the cloud and allowing easy sharing through a straightforward URL link, BeeGraphy fosters real-time collaboration and co-creation among &hellip; <a href=\"https:\/\/www.keris-studio.fr\/blog\/?p=13015\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Beegraphy, the bridge<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":13034,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,190,14,195,448,8],"tags":[535,529,240,175],"class_list":["post-13015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3d","category-architecture-2","category-conception","category-creation","category-grasshopper","category-methodologie","tag-beegraphy","tag-bridge","tag-design","tag-grasshopper"],"_links":{"self":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/13015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13015"}],"version-history":[{"count":9,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/13015\/revisions"}],"predecessor-version":[{"id":13645,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/13015\/revisions\/13645"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/media\/13034"}],"wp:attachment":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}