<snapdata remixID="14187818"><project name="basic_exercises_for_3dmodeling" app="Snap! 10.4.6, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAz5JREFUeF7t16Fr1WEYBeBvmMVgmVgstygIdkGDINrGbDfbxGjxvxg2m7AoYlEEBYPdZJCVFUGDQazCFS5OmPH7hSOcZ/37ve97zgPbdjabzWb4kUAogR0AQ8kbu00AQBCiCQAYjd9wABmIJgBgNH7DAWQgmgCA0fgNB5CBaAIARuM3HEAGogkAGI3fcAAZiCYAYDR+wwFkIJoAgNH4DQeQgWgCAEbjNxxABqIJABiN33AAGYgmAGA0fsMBZCCaAIDR+A0HkIFoAgBG4zccQAaiCQAYjd9wABmIJgBgNH7DAWQgmgCA0fgNB5CBaAIARuM3HEAGogkAGI3fcAAZiCYAYDR+wwFkIJoAgNH4DQeQgWgCAEbjNxxABqIJABiN33AAGYgmAGA0fsMBZCCaAIDR+A0HkIFoAgBG4zccQAaiCQAYjd9wABmIJgBgNH7DAWQgmgCA0fgNB5CBaAIARuM3HEAGogkAuDD+jy+ejmt79xd+pfc5gL3d/xeXA7ighv27t7avn796u+Ar3U8BXND/we2L29cP33xZ8JXupwAu6B/ABeH9eQrgZIZHR0fj9YOb29d3nrwfq9Vq8kvdzwCc7H//6u64ceHM9vXL41/j3edvk1/qfgbgZP8nv35Pnvs7cC5IAOdyGwBOBvfPMwAncjw8PBzfnz36+9/vwd7lcf7e47Ferye+1v0EwIn+r+yeHZ++/jz18vqlc+PD8Y+Jr3U/AbC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F4AwO7+49cDGK+gewEAu/uPXw9gvILuBQDs7j9+PYDxCroXALC7//j1AMYr6F7gN9UwC7dYdaICAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="basic_exercises_for_3dmodeling"><notes></notes><palette><category name="3D Beetle" color="92,181,255,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="reset" type="command" category="3D Beetle"><header></header><code></code><translations>ca:reinicia&#xD;</translations><inputs></inputs><script><custom-block s="stop extruding"></custom-block><custom-block s="go home"></custom-block><custom-block s="clear scene"></custom-block><custom-block s="set shape offset to %l"><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block><custom-block s="set %s scale to %n"><l>shape</l><l>1</l></custom-block><custom-block s="set %s scale to %n"><l>movement</l><l>1</l></custom-block><block s="doIf"><block s="reportListContainsItem"><block s="reportApplyExtension"><l>var_names(scope)</l><list><l>global</l></list></block><l>bb_stack</l></block><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><l>bb_stack</l><block s="reportNewList"><list></list></block></list></block></script><list></list></block></script></block-definition><block-definition s="clear scene" type="command" category="3D Beetle" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>bb_clear()</l><list></list></block></script></block-definition><block-definition s="go home" type="command" category="3D Beetle"><header></header><code></code><translations>ca:torna a casa&#xD;</translations><inputs></inputs><script><custom-block s="go to %l"><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></custom-block><block s="doApplyExtension"><l>bb_setrot(x, y, z)</l><list><l>0</l><l>0</l><l>0</l></list></block></script></block-definition><block-definition s="move %&apos;n&apos; steps" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:mou-te _ passos&#xD;</translations><inputs><input type="%n">1</input></inputs><script><custom-block s="change relative %s by %n"><l>z</l><block var="n"/></custom-block></script></block-definition><block-definition s="go to %&apos;position&apos;" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:vés a _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="position"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>position</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></block></script><list></list></block><block s="doApplyExtension"><l>bb_goto(x, y, z)</l><block var="position"/></block></script></block-definition><block-definition s="set %&apos;which&apos; position to %&apos;what&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:fixa la coordenada _ a _&#xD;</translations><inputs><input type="%s" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">3</input></inputs><script><block s="doDeclareVariables"><list><l>mask</l></list></block><block s="doSetVar"><l>mask</l><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><l></l><block var="which"/></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block></block><custom-block s="go to %l"><block s="reportVariadicSum"><list><block s="reportDifference"><custom-block s="%s position"><l></l></custom-block><block s="reportVariadicProduct"><list><block var="mask"/><custom-block s="%s position"><l></l></custom-block></list></block></block><block s="reportVariadicProduct"><list><block var="mask"/><block s="reportNewList"><list><block var="what"/><block var="what"/><block var="what"/></list></block></list></block></list></block></custom-block></script></block-definition><block-definition s="change absolute %&apos;which&apos; by %&apos;n&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:augmenta la coordenada _ en _&#xD;</translations><inputs><input type="%s" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">2</input></inputs><script><custom-block s="go to %l"><block s="reportVariadicSum"><list><custom-block s="%s position"><l></l></custom-block><block s="reportVariadicProduct"><list><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><l></l><block var="which"/></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block><block s="reportNewList"><list><block var="n"/><block var="n"/><block var="n"/></list></block></list></block></list></block></custom-block></script></block-definition><block-definition s="change relative %&apos;which&apos; by %&apos;n&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:mou-te en la _ pròpia _ passos&#xD;</translations><inputs><input type="%s" readonly="true">y<options>x&#xD;y&#xD;z</options></input><input type="%n">2</input></inputs><script><block s="doApplyExtension"><l>bb_move(axis, steps)</l><list><block var="which"/><block var="n"/></list></block></script></block-definition><block-definition s="%&apos;which&apos; position" type="reporter" category="3D Beetle"><header></header><code></code><translations>ca:posició _&#xD;</translations><inputs><input type="%s" readonly="true">x<options>x&#xD;y&#xD;z</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l></l></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>bb_position()</l><list></list></block></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportListIndex"><block var="which"/><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block><block s="reportApplyExtension"><l>bb_position()</l><list></list></block></block></block></script></block></script></block-definition><block-definition s="rotate %&apos;which&apos; by %&apos;what&apos;" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:gira sobre _ propi en _ graus&#xD;</translations><inputs><input type="%s" readonly="true">z<options>x&#xD;y&#xD;z</options></input><input type="%n">15</input></inputs><script><block s="doDeclareVariables"><list><l>empty</l></list></block><block s="doSetVar"><l>empty</l><l></l></block><block s="doApplyExtension"><l>bb_rotate(x, y, z)</l><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><l></l><block var="which"/></list></block><block var="what"/><block var="empty"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block></block></script></block-definition><block-definition s="set %&apos;which&apos; rotation to %&apos;what&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:fixa l&apos;angle _ propi a _&#xD;</translations><inputs><input type="%s" readonly="true">z<options>x&#xD;y&#xD;z</options></input><input type="%n">45</input></inputs><script><block s="doDeclareVariables"><list><l>empty</l></list></block><block s="doSetVar"><l>empty</l><l></l></block><block s="doApplyExtension"><l>bb_setrot(x, y, z)</l><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><l></l><block var="which"/></list></block><block var="what"/><block var="empty"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block></block></script></block-definition><block-definition s="point to %&apos;point&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:apunta cap a _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="point"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>point</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></block></script><list></list></block><block s="doApplyExtension"><l>bb_pointto(x, y, z)</l><block var="point"/></block></script></block-definition><block-definition s="%&apos;which&apos; rotation" type="reporter" category="3D Beetle"><header></header><code></code><translations>ca:angle _&#xD;</translations><inputs><input type="%s" readonly="true">z<options>x&#xD;y&#xD;z</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l></l></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>bb_rotation()</l><list></list></block></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportListIndex"><block var="which"/><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l></list></block></block><block s="reportApplyExtension"><l>bb_rotation()</l><list></list></block></block></block></script></block></script></block-definition><block-definition s="start extruding %&apos;base&apos;" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:comença a extrudir amb _ de base&#xD;</translations><inputs><input type="%s" readonly="true">$_circle<options>circle=$_circle&#xD;triangle=$_triangle&#xD;square=$_square&#xD;semicircle=$_semicircle&#xD;line=$_line&#xD;point=$_point&#xD;sprite positions=$_sprite positions</options></input></inputs><script><block s="doApplyExtension"><l>bb_stopextruding()</l><list></list></block><block s="doApplyExtension"><l>bb_setextrusionbase(base)</l><list><block s="reportApplyExtension"><l>txt_transform(name, txt)</l><list><l>unselect</l><block var="base"/></list></block></list></block><block s="doApplyExtension"><l>bb_startextruding()</l><list></list></block></script></block-definition><block-definition s="stop extruding" type="command" category="3D Beetle"><header></header><code></code><translations>ca:deixa d&apos;extrudir&#xD;</translations><inputs></inputs><script><block s="doApplyExtension"><l>bb_stopextruding()</l><list></list></block></script></block-definition><block-definition s="log sprite positions in %&apos;script&apos;" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:enregistra les posicions de la tortuga _&#xD;</translations><inputs><input type="%cs" initial="1"></input></inputs><script><block s="doApplyExtension"><l>bb_logspritepositions(bool, currentPos)</l><list><block s="reportBoolean"><l><bool>true</bool></l></block><block s="getPosition"></block></list></block><block s="doRun"><block var="script"/><list></list></block><block s="doApplyExtension"><l>bb_logspritepositions(bool, currentPos)</l><list><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></script></block-definition><block-definition s="shape points" type="reporter" category="3D Beetle" space="true"><header></header><code></code><translations>ca:punts de la base&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bb_extrusionbasepoints()</l><list></list></block></block></script></block-definition><block-definition s="set shape offset to %&apos;offset&apos;" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:fixa el desplaçament de la base a _&#xD;</translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doApplyExtension"><l>bb_setoffset(offset)</l><list><block var="offset"/></list></block></script></block-definition><block-definition s="set %&apos;which&apos; scale to %&apos;n&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:fixa l&apos;escala de _ a _&#xD;</translations><inputs><input type="%s" readonly="true" initial="1">$_shape<options>shape=$_shape&#xD;movement=$_movement</options></input><input type="%n">1</input></inputs><script><block s="doApplyExtension"><l>bb_setscale(scale, which)</l><list><block var="n"/><block s="reportApplyExtension"><l>txt_transform(name, txt)</l><list><l>unselect</l><block var="which"/></list></block></list></block></script></block-definition><block-definition s="change %&apos;which&apos; scale by %&apos;n&apos;" type="command" category="3D Beetle"><header></header><code></code><translations>ca:augmenta l&apos;escala de _ en _&#xD;</translations><inputs><input type="%s" readonly="true" initial="1">$_shape<options>shape=$_shape&#xD;movement=$_movement</options></input><input type="%n">0.5</input></inputs><script><custom-block s="set %s scale to %n"><block var="which"/><block s="reportVariadicSum"><list><custom-block s="%s scale"><block var="which"/></custom-block><block var="n"/></list></block></custom-block></script></block-definition><block-definition s="%&apos;which&apos; scale" type="reporter" category="3D Beetle"><header></header><code></code><translations>ca:escala de _&#xD;</translations><inputs><input type="%s" readonly="true" initial="1">$_shape<options>shape=$_shape&#xD;movement=$_movement</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bb_scale(which)</l><list><block s="reportApplyExtension"><l>txt_transform(name, txt)</l><list><l>unselect</l><block var="which"/></list></block></list></block></block></script></block-definition><block-definition s="push position" type="command" category="3D Beetle" space="true"><header></header><code></code><translations>ca:enregistra posició actual&#xD;</translations><inputs></inputs><script><block s="doAddToList"><block s="reportNewList"><list><custom-block s="%s position"><l></l></custom-block><custom-block s="%s rotation"><l></l></custom-block></list></block><custom-block s="stack"></custom-block></block></script></block-definition><block-definition s="pop position" type="command" category="3D Beetle"><header></header><code></code><translations>ca:torna a la posició enregistrada&#xD;</translations><inputs></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><custom-block s="stack"></custom-block></block></block><script><block s="doDeclareVariables"><list><l>record</l></list></block><block s="doSetVar"><l>record</l><block s="reportListItem"><l><option>last</option></l><custom-block s="stack"></custom-block></block></block><block s="doApplyExtension"><l>bb_goto(x, y, z)</l><block s="reportListItem"><l>1</l><block var="record"/></block></block><block s="doApplyExtension"><l>bb_setrot(x, y, z)</l><block s="reportListItem"><l>2</l><block var="record"/></block></block><block s="doDeleteFromList"><l><option>last</option></l><custom-block s="stack"></custom-block></block></script><list></list></block></script></block></script></block-definition><block-definition s="stack" type="reporter" category="3D Beetle" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportApplyExtension"><l>var_names(scope)</l><list><l>global</l></list></block><l>bb_stack</l></block></block><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>bb_stack</l></list></block><block s="doApplyExtension"><l>var_hide(name)</l><list><l>bb_stack</l></list></block><block s="doApplyExtension"><l>var_set(name, val)</l><list><l>bb_stack</l><block s="reportNewList"><list></list></block></list></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><l>bb_stack</l></list></block></block></script></block-definition><block-definition s="init module" type="command" category="3D Beetle" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>__module__beetle__</l><l>libraries/beetle/init.js</l></block></script><scripts><script x="59.50413223140495" y="111.4280991735537"><block s="doSetVar"><l>__module__beetle__</l><l>libraries/beetle/init.js</l></block></script></scripts></block-definition><block-definition s="beetle view" type="reporter" category="3D Beetle" space="true"><header></header><code></code><translations>ca:vista de l&apos;escarbat&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bb_beetleView()</l><list></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;pl:$flash sortuj _ za pomocą _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;pl:$flash skojarz _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;pl:_ dla każdego _ z _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations>ca:notació textual de _&#xD;pl:tekstowa _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;pl:zdanie _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations>pl:$flash spakuj _&#xD;</translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations>ca:multi-mapeja _ sobre _&#xD;pl:mapuj wielokrotnie _ na _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;pl:zdanie $arrowRight lista _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition><block-definition s="extruder" type="command" category="3D Beetle"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="rotate %s by %n"><l>y</l><l>180</l></custom-block><custom-block s="rotate %s by %n"><l>x</l><l>20</l></custom-block><custom-block s="go to %l"><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></custom-block><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><block s="doRepeat"><l>18</l><script><custom-block s="move %n steps"><block var="step"/></custom-block><custom-block s="rotate %s by %n"><l>y</l><l>-0.9</l></custom-block><custom-block s="rotate %s by %n"><l>x</l><l>10</l></custom-block></script></block><custom-block s="stop extruding"></custom-block></script></block-definition><block-definition s="shell" type="command" category="3D Beetle"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setPenColorDimension"><l><option>hue</option></l><l>200</l></block><block s="setPenColorDimension"><l><option>brightness</option></l><l>70</l></block><block s="doRepeat"><l>20</l><script><block s="doWarp"><script><custom-block s="move %n steps"><l>-3.5</l></custom-block><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><custom-block s="set %s scale to %n"><l><option>shape</option></l><l>2</l></custom-block><block s="doRepeat"><l>8</l><script><custom-block s="move %n steps"><l>7</l></custom-block><custom-block s="rotate %s by %n"><l>x</l><l>45</l></custom-block></script></block><custom-block s="stop extruding"></custom-block><block s="changePenColorDimension"><l><option>hue</option></l><l>-1</l></block><custom-block s="rotate %s by %n"><l>z</l><l>4.5</l></custom-block><custom-block s="set %s position to %n"><l>z</l><l>0</l></custom-block><custom-block s="change absolute %s by %n"><l>x</l><l>0.9</l></custom-block></script></block></script></block></script></block-definition><block-definition s="leg" type="command" category="3D Beetle"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="go home"></custom-block><block s="setPenColorDimension"><l><option>saturation</option></l><l>50</l></block><custom-block s="set %s rotation to %n"><l>y</l><l>14</l></custom-block><custom-block s="set %s position to %n"><l>z</l><l>-1.5</l></custom-block><block s="doRepeat"><l>8</l><script><block s="doWarp"><script><custom-block s="set %s position to %n"><l>y</l><l>-1.5</l></custom-block><custom-block s="set %s position to %n"><l>x</l><l>4</l></custom-block><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><block s="doRepeat"><l>8</l><script><custom-block s="move %n steps"><l>3</l></custom-block><custom-block s="rotate %s by %n"><l>y</l><l>45</l></custom-block></script></block><custom-block s="stop extruding"></custom-block></script></block><block s="changePenColorDimension"><l><option>hue</option></l><l>-2</l></block><custom-block s="rotate %s by %n"><l>y</l><l>-2</l></custom-block><custom-block s="change absolute %s by %n"><l>x</l><l>-0.6</l></custom-block></script></block></script></block-definition></blocks><primitives></primitives><stage name="Escenario" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="true" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="943"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="944"></list></costumes><sounds><list struct="atomic" id="945"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Objeto" idx="1" x="0" y="0" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="145,69.6799999999976,25.999999999999986,1" pen="tip" id="950"><costumes><list struct="atomic" id="951"></list></costumes><sounds><list struct="atomic" id="952"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="54.333333333333485"><custom-block s="reset"></custom-block><custom-block s="go home"></custom-block><custom-block s="change %s scale by %n"><l><option>shape</option></l><l>0.2</l><comment w="90" collapsed="false">for circle shape this scale correspond to 1mm of radio</comment></custom-block><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><custom-block s="move %n steps"><l>5</l><comment w="90" collapsed="false">The units are adimensionals, for convention, we can consider each step correspond to 1mm</comment></custom-block><custom-block s="stop extruding"></custom-block></script><comment x="362.3076171874999" y="74.00000000000023" w="90" collapsed="false">For our printer (Kingrom KLP3) the nozzle diameter is of 0.4mm. So for circulo shape the minimun scale that has sense on fabrication in this machine is 0.2, below that  </comment><script x="27" y="244.50000000000006"><custom-block s="reset"></custom-block><custom-block s="go home"></custom-block><custom-block s="log sprite positions in %cs"><script><block s="clear"></block><block s="down"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doRepeat"><l>4</l><script><block s="forward"><l>1</l></block><block s="turn"><l>90</l></block></script></block></script><comment w="90" collapsed="false">You can draw a 2D figure and then extrude</comment></custom-block><custom-block s="rotate %s by %n"><l>x</l><l>90</l></custom-block><custom-block s="start extruding %s"><l><option>sprite positions</option></l></custom-block><custom-block s="move %n steps"><l>1</l></custom-block></script><script x="312.9999999999999" y="300.6666666666661"><block s="clear"><comment w="90" collapsed="false">You can review your 2D drawin with pencil tool</comment></block><block s="down"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doRepeat"><l>4</l><script><block s="forward"><l>10</l></block><block s="turn"><l>90</l></block></script></block></script><script x="877.5705078125004" y="805.0000000000008"><block var="square"/></script><comment x="124.99999999999989" y="10" w="90" collapsed="false">Initialy you have to import the 3D Beetle geometry library</comment><script x="326.9999999999999" y="449.66666666666697"><block s="clear"><comment w="90" collapsed="false">Another drawing aproach, this one is point by point, declaring variables and using data manipulation. For a deeper understanding you can review the list section in the Snap! Manual</comment></block><block s="down"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSetVar"><l>x</l><l>100</l></block><block s="doSetVar"><l>square</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><block var="x"/><l>0</l></list></block><block s="reportNewList"><list><block var="x"/><block var="x"/></list></block><block s="reportNewList"><list><l>0</l><block var="x"/></list></block><block s="reportNewList"><list><l>0</l><l>0</l></list></block></list></block></block><block s="doFor"><l>i</l><l>1</l><l>5</l><script><block s="doGlide"><l>.1</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block s="reportNewList"><list><l>1</l></list></block></list></block><block var="square"/></block></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block s="reportNewList"><list><l>2</l></list></block></list></block><block var="square"/></block></block></block></block></script></block></script><script x="58" y="714.6666666666675"><custom-block s="reset"><comment w="90" collapsed="false">Pyramid of 10mm of base</comment></custom-block><custom-block s="go home"></custom-block><block s="setColor"><color>0,142,171,1</color></block><custom-block s="rotate %s by %n"><l>x</l><l>90</l></custom-block><custom-block s="start extruding %s"><l><option>square</option></l></custom-block><custom-block s="set %s scale to %n"><l><option>shape</option></l><l>10</l></custom-block><block s="doRepeat"><l>20</l><script><block s="changePenColorDimension"><l><option>hue</option></l><l>2</l></block><custom-block s="move %n steps"><l>0</l><comment w="90" collapsed="false">It&apos;s important to keep this 0 steps move block </comment></custom-block><custom-block s="move %n steps"><l>0.2</l></custom-block><custom-block s="change %s scale by %n"><l><option>shape</option></l><l>-0.5</l></custom-block></script></block></script><script x="63.9111328125" y="965.1666666666677"><custom-block s="reset"><comment w="90" collapsed="false">Snail shell</comment></custom-block><custom-block s="go home"></custom-block><block s="setColor"><color>0,63,169,1</color></block><block s="doRepeat"><l>24</l><script><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><block s="doRepeat"><l>24</l><script><custom-block s="move %n steps"><l>0.5</l></custom-block><custom-block s="rotate %s by %n"><l>y</l><l>15</l></custom-block></script></block><block s="changePenColorDimension"><l><option>hue</option></l><l>1</l></block><custom-block s="stop extruding"></custom-block><custom-block s="change %s scale by %n"><l><option>shape</option></l><l>0.1</l></custom-block><custom-block s="change %s scale by %n"><l><option>movement</option></l><l>0.1</l></custom-block><custom-block s="rotate %s by %n"><l>z</l><l>15</l></custom-block></script></block></script><script x="57.9111328125" y="1287.6666666666658"><custom-block s="reset"><comment w="90" collapsed="false">Shell 2</comment></custom-block><custom-block s="go home"></custom-block><block s="setColor"><color>35,203,0,1</color></block><block s="doSetVar"><l>step</l><l>0</l></block><custom-block s="set %s scale to %n"><l><option>shape</option></l><l>0.2</l></custom-block><custom-block s="set %s rotation to %n"><l>x</l><l>-90</l></custom-block><block s="doRepeat"><l>50</l><script><block s="changePenColorDimension"><l><option>hue</option></l><l>1</l></block><block s="doChangeVar"><l>step</l><l>0.01</l></block><custom-block s="extruder"></custom-block><custom-block s="change %s scale by %n"><l><option>shape</option></l><l>0.02</l></custom-block></script></block></script><script x="62.9111328125" y="1549.8333333333333"><custom-block s="reset"></custom-block><custom-block s="go home"></custom-block><custom-block s="shell"></custom-block><custom-block s="leg"></custom-block></script><script x="64.9111328125" y="1639.1666666666667"><custom-block s="reset"><comment w="90" collapsed="false">Base de construcción de recipientes</comment></custom-block><custom-block s="go home"></custom-block><block s="doSetVar"><l>radio</l><l>0.1</l></block><custom-block s="start extruding %s"><l><option>circle</option></l></custom-block><custom-block s="set %s scale to %n"><l><option>shape</option></l><l>2</l></custom-block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>60</l><script><custom-block s="rotate %s by %n"><l>y</l><l>60</l></custom-block><custom-block s="move %n steps"><block var="radio"/></custom-block><block s="doChangeVar"><l>radio</l><l>0.2</l></block></script></block><block s="doRepeat"><l>60</l><script><custom-block s="rotate %s by %n"><l>y</l><l>60</l></custom-block><custom-block s="move %n steps"><block var="radio"/></custom-block><custom-block s="change absolute %s by %n"><l>y</l><l>0.1</l></custom-block><block s="changePenColorDimension"><l><option>hue</option></l><l>0.1</l></block></script></block><block s="doRepeat"><l>60</l><script><custom-block s="rotate %s by %n"><l>y</l><l>60</l></custom-block><custom-block s="move %n steps"><block var="radio"/></custom-block><custom-block s="change absolute %s by %n"><l>y</l><l>0.1</l></custom-block><block s="changePenColorDimension"><l><option>hue</option></l><l>0.1</l></block><block s="doChangeVar"><l>radio</l><l>0.05</l></block></script></block><block s="doRepeat"><l>6</l><script><custom-block s="rotate %s by %n"><l>y</l><l>60</l></custom-block><custom-block s="move %n steps"><block var="radio"/></custom-block></script></block></script></scripts></sprite><watcher var="x" style="normal" x="11.970074812967596" y="11.970074812967574" color="243,118,29" hidden="true"/><watcher var="square" style="normal" x="11.970074812967596" y="37.10723431421445" color="243,118,29" hidden="true"/><watcher var="step" style="normal" x="12.598425196850371" y="12.598425196850393" color="243,118,29" hidden="true"/><watcher var="bb_stack" style="normal" x="12.598425196850371" y="39.05512062992125" color="243,118,29" hidden="true"/><watcher var="radio" style="normal" x="12.598425196850371" y="156.22047748031497" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="__module__beetle__" hidden="true"><l>libraries/beetle/init.js</l></variable><variable name="x"><l>100</l></variable><variable name="square"><list id="1261"><item><list struct="atomic" id="1262">0,0</list></item><item><list struct="atomic" id="1263">100,0</list></item><item><list struct="atomic" id="1264">100,100</list></item><item><list struct="atomic" id="1265">0,100</list></item><item><list struct="atomic" id="1266">0,0</list></item></list></variable><variable name="bb_stack"><list struct="atomic" id="1267"></list></variable><variable name="step"><l>0.5000000000000002</l></variable><variable name="radio"><l>15.100000000000033</l></variable></variables></scene></scenes></project><media name="basic_exercises_for_3dmodeling" app="Snap! 10.4.6, https://snap.berkeley.edu" version="2"></media></snapdata>