{"id":2142,"date":"2026-08-19T13:02:20","date_gmt":"2026-08-19T13:02:20","guid":{"rendered":"https:\/\/inventorics.com\/?post_type=portfolio&#038;p=2142"},"modified":"2026-08-19T13:05:53","modified_gmt":"2026-08-19T13:05:53","slug":"bike-frames-on-design-surface-manual","status":"publish","type":"portfolio","link":"https:\/\/inventorics.com\/?portfolio=bike-frames-on-design-surface-manual","title":{"rendered":"Bike frames on design surface &#8211; manual"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Manual for the use of a Rhino file with an associated Grasshopper definition to create an aggregation of bicycle frames that follow a custom design surface. This file is a variation of the definition for bike-frame pattern 4 with an additional section for overall design control.<br><a href=\"https:\/\/inventorics.com\/?portfolio=bike-frames-on-design-surface-files\" data-type=\"link\" data-id=\"https:\/\/inventorics.com\/?portfolio=bike-frame-pattern\">Download the files here.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A version of this definition was used in this study: <a href=\"https:\/\/inventorics.com\/?p=1058\">Formable Bike-Frame Structure<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"671\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-scaled.jpg\" alt=\"\" class=\"wp-image-2144\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-scaled.jpg 2560w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-300x79.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-1024x268.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-768x201.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-1536x402.jpg 1536w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/title-image-1-2048x537.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\"><em><sup>Overview Grasshopper definition<\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The definition is structured into 6 sections:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wasp aggregation <\/li>\n\n\n\n<li>Inventory sorting<\/li>\n\n\n\n<li>Part placement<\/li>\n\n\n\n<li>Kangaroo simulation<\/li>\n\n\n\n<li>Postproduction, evaluation, and labeling <\/li>\n\n\n\n<li>Overall design control<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Basically what happens in the script is bicycle frames are first aggregated inside a bounding volume following a periodic pattern (sections 1-3) and then projected onto a design geometry (section 6).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This manual only explains section 6, for sections 1-5 please refer to the manual for <a href=\"https:\/\/inventorics.com\/?portfolio=bike-frame-pattern-4-manual\">bike-frame pattern 4<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1937\" height=\"800\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo.jpg\" alt=\"\" class=\"wp-image-2153\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo.jpg 1937w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo-300x124.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo-1024x423.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo-768x317.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/rhino-geo-1536x634.jpg 1536w\" sizes=\"auto, (max-width: 1937px) 100vw, 1937px\" \/><figcaption class=\"wp-element-caption\"><em><sup>Geometries in Rhino workspace that are referenced in the definition<\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1062\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-scaled.jpg\" alt=\"\" class=\"wp-image-2151\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-scaled.jpg 2560w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-300x124.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-1024x425.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-768x319.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-1536x637.jpg 1536w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/section6-1-2048x850.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\"><em><sup>Section 6 in detail<\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In section a at the left inside the white box &#8220;Design geometry&#8221;, a Brep (poly-surface) can be set from the Rhino workspace. When  opening the definition, a Brep from the Rhino layer &#8220;waves&#8221; is set. Using the center point of each bicycle frame as reference, part instances are mapped onto the design geometry. With the highlighted component in the pink box you can switch between two modes of projection: vertical projection along the world z-vector, or closest point on surface. The highlighted components above, inside the light-pink box display the translation from the initial flat wasp aggregation (image below, left) to the projection on the design geometry (image below, right) as lines and points.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"681\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-scaled.jpg\" alt=\"\" class=\"wp-image-2155\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-scaled.jpg 2560w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-300x80.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-1024x272.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-768x204.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-1536x409.jpg 1536w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6a_rhino-2048x545.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\"><em><sup>Translation from Wasp aggregation (left) onto design geometry (right).<\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In section b, additional force constraints are added to the Kangaroo simulation (section 4) to control how the bike frame structure is forced to stay at the reference geometry. With both components disabled, the structure can freely deform in the alignment simulation, deviate from the design surface and find its own form variation with optimal connection alignment (image below, left). With both components enabled, the structure is pulled to the design geometry whilst the Kangaroo simulation is running (image below, right). This additional design enforcement however, further deforms the pattern and results in greater misalignment at the connections. Using the attached sliders, you can manipulate the strength of these constraints.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1114\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-scaled.jpg\" alt=\"\" class=\"wp-image-2157\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-scaled.jpg 2560w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-300x131.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-1024x446.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-768x334.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-1536x668.jpg 1536w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/6b_rhino-2048x891.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">At the component inside the white box &#8220;Design geometry&#8221; at the beginning of section a, you can replace the reference geometry for mapping the bike frame structure. Inside the Rhino file in the layer &#8220;guide-src&#8221; there are a few templates for testing. To change geometry, make sure the Kangaroo simulation is disabled (boolean toggle set to false), then right-klick on the the component for design geometry &#8211; select &#8220;set Brep&#8221; and pick a geometry from the Rhino canvas. Before starting the Kangaroo simulation, klick the reset button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2164\" src=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-scaled.jpg\" alt=\"\" class=\"wp-image-2158\" srcset=\"https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-scaled.jpg 2560w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-300x254.jpg 300w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-1024x866.jpg 1024w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-768x649.jpg 768w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-1536x1298.jpg 1536w, https:\/\/inventorics.com\/wp-content\/uploads\/2026\/08\/design-forms-2048x1731.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When you play with different forms, make sure the projection of parts from the initial wasp aggregation hit the design surface. You may need to change the Wasp bounding volume to adapt to a specific design.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manual for the use of a Rhino file with an associated Grasshopper definition to create an aggregation of bicycle frames that follow a custom design surface. This file is a variation of the definition for bike-frame pattern 4 with an additional section for overall design control.Download the files here. A version of this definition was [&hellip;]<\/p>\n","protected":false},"featured_media":2146,"comment_status":"closed","ping_status":"closed","template":"","portfolio_cat":[57,51],"portfolio_skill":[],"class_list":["post-2142","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","portfolio_cat-bike-frames","portfolio_cat-manuals"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/portfolio\/2142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/types\/portfolio"}],"replies":[{"embeddable":true,"href":"https:\/\/inventorics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2142"}],"version-history":[{"count":4,"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/portfolio\/2142\/revisions"}],"predecessor-version":[{"id":2175,"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/portfolio\/2142\/revisions\/2175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inventorics.com\/index.php?rest_route=\/wp\/v2\/media\/2146"}],"wp:attachment":[{"href":"https:\/\/inventorics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2142"}],"wp:term":[{"taxonomy":"portfolio_cat","embeddable":true,"href":"https:\/\/inventorics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fportfolio_cat&post=2142"},{"taxonomy":"portfolio_skill","embeddable":true,"href":"https:\/\/inventorics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fportfolio_skill&post=2142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}