Commit d80facaa authored by Jennie Yoder's avatar Jennie Yoder

added examples to the Help Menu. Examples added are a cube, a box, linear

extrude, rotate_extrude, and fishyBlocks.
parent 12c0cfd8
...@@ -32,7 +32,7 @@ var BSUtils = BSUtils || {}; ...@@ -32,7 +32,7 @@ var BSUtils = BSUtils || {};
Blockscad.version = "1.1.2"; Blockscad.version = "1.1.2";
Blockscad.offline = true; Blockscad.offline = true; // true unless using a cloud service backend for file management
// -- BEGIN OPENJSCAD STUFF -- // -- BEGIN OPENJSCAD STUFF --
...@@ -193,12 +193,12 @@ Blockscad.init = function() { ...@@ -193,12 +193,12 @@ Blockscad.init = function() {
// set up the delete-confirm button's function. // set up the delete-confirm button's function.
$('#throw-it-away').click(function() { $('#throw-it-away').click(function() {
Blockscad.clearProject(); Blockscad.clearProject();
Blockscad.clearUndo();
Blockscad.workspaceChanged(); Blockscad.workspaceChanged();
Blockscad.clearUndo();
}); });
// handle the project->new menu option // handle the project->new menu option
$('#main').on('click', '.new-project', Blockscad.newProject); $('#main').on('change', '.new-project', Blockscad.newProject);
//FileSaver.js stuff //FileSaver.js stuff
// Loading a blocks xml file // Loading a blocks xml file
...@@ -463,6 +463,11 @@ Blockscad.init = function() { ...@@ -463,6 +463,11 @@ Blockscad.init = function() {
// file should be saved in the "examples" folder. // file should be saved in the "examples" folder.
$("#examples_torus").click({msg: "torus.xml"}, Blockscad.showExample); $("#examples_torus").click({msg: "torus.xml"}, Blockscad.showExample);
$("#examples_box").click({msg: "box.xml"}, Blockscad.showExample);
$("#examples_linear_extrude").click({msg: "linear_extrude.xml"}, Blockscad.showExample);
$("#examples_rotate_extrude").click({msg: "rotate_extrude.xml"}, Blockscad.showExample);
$("#examples_cube_with_cutouts").click({msg: "cube_with_cutouts.xml"}, Blockscad.showExample);
$("#examples_anthias_fish").click({msg: "anthias_fish.xml"}, Blockscad.showExample);
// to get sub-menus to work with bootstrap 3 navbar // to get sub-menus to work with bootstrap 3 navbar
$(function(){ $(function(){
...@@ -545,13 +550,14 @@ Blockscad.clearStlBlocks = function() { ...@@ -545,13 +550,14 @@ Blockscad.clearStlBlocks = function() {
Blockscad.newProject = function() { Blockscad.newProject = function() {
// should I prompt a save here? If I have a current project, I should just save it? Or not? // should I prompt a save here? If I have a current project, I should just save it? Or not?
// if the user is logged in, I should auto-save to the backend. // if the user is logged in, I should auto-save to the backend.
console.log("in Blockscad.newProject");
if (Blockscad.undo.undoStack.length > 0) { if (Blockscad.undo.undoStack.length > 0) {
if (!Blockscad.offline && Blockscad.Auth.isLoggedIn) { if (!Blockscad.offline && Blockscad.Auth.isLoggedIn) {
console.log("autosaving"); console.log("autosaving");
Blockscad.Auth.saveBlocksToAccount(); Blockscad.Auth.saveBlocksToAccount();
Blockscad.clearProject(); Blockscad.clearProject();
Blockscad.clearUndo();
Blockscad.workspaceChanged(); Blockscad.workspaceChanged();
Blockscad.clearUndo();
} }
else { else {
// I'm going to ask if they really want to delete their current work. // I'm going to ask if they really want to delete their current work.
...@@ -559,7 +565,11 @@ Blockscad.newProject = function() { ...@@ -559,7 +565,11 @@ Blockscad.newProject = function() {
$('#delete-confirm').modal('show'); $('#delete-confirm').modal('show');
} }
} }
else Blockscad.clearProject(); else {
Blockscad.clearProject();
Blockscad.workspaceChanged();
Blockscad.clearUndo();
}
// if the user was on the code tab, switch them to the blocks tab. // if the user was on the code tab, switch them to the blocks tab.
$('#displayBlocks').click(); $('#displayBlocks').click();
...@@ -586,6 +596,10 @@ Blockscad.showExample = function(e) { ...@@ -586,6 +596,10 @@ Blockscad.showExample = function(e) {
Blockscad.clearProject(); Blockscad.clearProject();
} }
} }
else {
Blockscad.clearProject();
}
Blockscad.workspaceChanged();
// turn xml data object into a string that Blockly can use // turn xml data object into a string that Blockly can use
var xmlString; var xmlString;
//IE //IE
...@@ -602,7 +616,7 @@ Blockscad.showExample = function(e) { ...@@ -602,7 +616,7 @@ Blockscad.showExample = function(e) {
Blockly.Xml.domToWorkspace(Blockscad.workspace, xml); Blockly.Xml.domToWorkspace(Blockscad.workspace, xml);
Blockly.fireUiEvent(window, 'resize'); Blockly.fireUiEvent(window, 'resize');
// update project name // update project name
$('#project-name').val(name); $('#project-name').val(name + ' example');
}); });
} }
......
<xml xmlns="http://www.w3.org/1999/xhtml"><version num="1.1.0"></version><block type="procedures_defnoreturn" id="20330" collapsed="true" x="-661" y="-860"><field name="NAME">make fluke</field><statement name="STACK"><block type="intersection" id="20331"><comment pinned="false" h="80" w="160">fluke</comment><statement name="A"><block type="scale" id="20332"><value name="XVAL"><block type="math_number" id="20333"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20334"><field name="NUM">0.3</field></block></value><value name="ZVAL"><block type="math_number" id="20335"><field name="NUM">2</field></block></value><statement name="A"><block type="difference" id="20336"><mutation minus="1"></mutation><statement name="A"><block type="translate" id="20337"><value name="XVAL"><block type="math_number" id="20338"><field name="NUM">-3</field></block></value><value name="YVAL"><block type="math_number" id="20339"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20340"><field name="NUM">0</field></block></value><statement name="A"><block type="sphere" id="20341"><value name="RAD"><block type="math_number" id="20342"><field name="NUM">5</field></block></value></block></statement></block></statement><statement name="MINUS0"><block type="simplerotate" id="20343"><value name="XVAL"><block type="math_angle" id="20344"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20345"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20346"><field name="NUM">315</field></block></value><statement name="A"><block type="scale" id="20347"><value name="XVAL"><block type="math_number" id="20348"><field name="NUM">0.5</field></block></value><value name="YVAL"><block type="math_number" id="20349"><field name="NUM">0.8</field></block></value><value name="ZVAL"><block type="math_number" id="20350"><field name="NUM">0.6</field></block></value><statement name="A"><block type="intersection" id="20351"><statement name="A"><block type="sphere" id="20352"><value name="RAD"><block type="math_number" id="20353"><field name="NUM">10</field></block></value></block></statement><statement name="WITH0"><block type="translate" id="20354"><value name="XVAL"><block type="math_number" id="20355"><field name="NUM">5</field></block></value><value name="YVAL"><block type="math_number" id="20356"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20357"><field name="NUM">0</field></block></value><statement name="A"><block type="sphere" id="20358"><value name="RAD"><block type="math_number" id="20359"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement><statement name="MINUS1"><block type="simplerotate" id="20360"><value name="XVAL"><block type="math_angle" id="20361"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20362"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20363"><field name="NUM">45</field></block></value><statement name="A"><block type="scale" id="20364"><value name="XVAL"><block type="math_number" id="20365"><field name="NUM">0.5</field></block></value><value name="YVAL"><block type="math_number" id="20366"><field name="NUM">0.8</field></block></value><value name="ZVAL"><block type="math_number" id="20367"><field name="NUM">0.6</field></block></value><statement name="A"><block type="intersection" id="20368"><statement name="A"><block type="sphere" id="20369"><value name="RAD"><block type="math_number" id="20370"><field name="NUM">10</field></block></value></block></statement><statement name="WITH0"><block type="translate" id="20371"><value name="XVAL"><block type="math_number" id="20372"><field name="NUM">5</field></block></value><value name="YVAL"><block type="math_number" id="20373"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20374"><field name="NUM">0</field></block></value><statement name="A"><block type="sphere" id="20375"><value name="RAD"><block type="math_number" id="20376"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement><statement name="WITH0"><block type="simplerotate" id="20377"><value name="XVAL"><block type="math_angle" id="20378"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20379"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20380"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20381"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20382"><field name="NUM">9.5</field></block></value><value name="RAD2"><block type="math_number" id="20383"><field name="NUM">9.5</field></block></value><value name="HEIGHT"><block type="math_number" id="20384"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block><block type="translate" id="20385" collapsed="true" x="-374" y="-861"><comment pinned="false" h="80" w="160">right side fin</comment><value name="XVAL"><block type="math_number" id="20386"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20387"><field name="NUM">8.5</field></block></value><value name="ZVAL"><block type="math_number" id="20388"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20389"><value name="XVAL"><block type="math_angle" id="20390"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20391"><field name="NUM">180</field></block></value><value name="ZVAL"><block type="math_angle" id="20392"><field name="NUM">290</field></block></value><statement name="A"><block type="scale" id="20393"><value name="XVAL"><block type="math_number" id="20394"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20395"><field name="NUM">0.5</field></block></value><value name="ZVAL"><block type="math_number" id="20396"><field name="NUM">0.5</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20397"><mutation name="make side fin"></mutation></block></statement></block></statement></block></statement></block><block type="hull" id="20398" collapsed="true" x="-76" y="-856"><mutation with="1"></mutation><comment pinned="false" h="80" w="160">body with pointy ends</comment><statement name="A"><block type="translate" id="20399"><value name="XVAL"><block type="math_number" id="20400"><field name="NUM">-22</field></block></value><value name="YVAL"><block type="math_number" id="20401"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20402"><field name="NUM">0</field></block></value><statement name="A"><block type="difference" id="20403" collapsed="true"><comment pinned="false" h="80" w="160">tip of nose</comment><statement name="A"><block type="translate" id="20404"><value name="XVAL"><block type="math_number" id="20405"><field name="NUM">5.15</field></block></value><value name="YVAL"><block type="math_number" id="20406"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20407"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20408"><value name="XVAL"><block type="math_number" id="20409"><field name="NUM">0.3</field></block></value><value name="YVAL"><block type="math_number" id="20410"><field name="NUM">0.112</field></block></value><value name="ZVAL"><block type="math_number" id="20411"><field name="NUM">0.148</field></block></value><statement name="A"><block type="sphere" id="20412"><value name="RAD"><block type="math_number" id="20413"><field name="NUM">20</field></block></value></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20414"><value name="XVAL"><block type="math_number" id="20415"><field name="NUM">8</field></block></value><value name="YVAL"><block type="math_number" id="20416"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20417"><field name="NUM">0</field></block></value><statement name="A"><block type="cube" id="20418"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20419"><field name="NUM">16</field></block></value><value name="YVAL"><block type="math_number" id="20420"><field name="NUM">10</field></block></value><value name="ZVAL"><block type="math_number" id="20421"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="WITH0"><block type="scale" id="20422" collapsed="true"><comment pinned="false" h="56" w="83">body</comment><value name="XVAL"><block type="math_number" id="20423"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20424"><field name="NUM">0.75</field></block></value><value name="ZVAL"><block type="math_number" id="20425"><field name="NUM">1</field></block></value><statement name="A"><block type="sphere" id="20426"><value name="RAD"><block type="math_number" id="20427"><field name="NUM">10</field></block></value></block></statement></block></statement><statement name="WITH1"><block type="translate" id="20428" collapsed="true"><comment pinned="false" h="80" w="160">connect fluke to body</comment><value name="XVAL"><block type="math_number" id="20429"><field name="NUM">26.5</field></block></value><value name="YVAL"><block type="math_number" id="20430"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20431"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20432"><value name="XVAL"><block type="math_number" id="20433"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20434"><field name="NUM">0.74</field></block></value><value name="ZVAL"><block type="math_number" id="20435"><field name="NUM">1</field></block></value><statement name="A"><block type="simplerotate" id="20436"><value name="XVAL"><block type="math_angle" id="20437"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20438"><field name="NUM">90</field></block></value><value name="ZVAL"><block type="math_angle" id="20439"><field name="NUM">0</field></block></value><statement name="A"><block type="$fn" id="20440"><value name="SIDES"><block type="math_number" id="20441"><field name="NUM">16</field></block></value><statement name="A"><block type="cylinder" id="20442"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20443"><field name="NUM">2</field></block></value><value name="RAD2"><block type="math_number" id="20444"><field name="NUM">2</field></block></value><value name="HEIGHT"><block type="math_number" id="20445"><field name="NUM">0.1</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="procedures_defnoreturn" id="20446" collapsed="true" x="-662" y="-810"><field name="NAME">eyeball</field><statement name="STACK"><block type="union" id="20447"><statement name="A"><block type="torus" id="20448"><value name="RAD1"><block type="math_number" id="20449"><field name="NUM">4</field></block></value><value name="RAD2"><block type="math_number" id="20450"><field name="NUM">2</field></block></value><value name="SIDES"><block type="math_number" id="20451"><field name="NUM">22</field></block></value><value name="FACES"><block type="math_number" id="20452"><field name="NUM">22</field></block></value></block></statement><statement name="PLUS0"><block type="translate" id="20453"><value name="XVAL"><block type="math_number" id="20454"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20455"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20456"><field name="NUM">-1.5</field></block></value><statement name="A"><block type="sphere" id="20457"><value name="RAD"><block type="math_number" id="20458"><field name="NUM">4</field></block></value></block></statement></block></statement></block></statement></block><block type="translate" id="20459" collapsed="true" x="-379" y="-824"><comment pinned="false" h="80" w="160">left side fin</comment><value name="XVAL"><block type="math_number" id="20460"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20461"><field name="NUM">-8.5</field></block></value><value name="ZVAL"><block type="math_number" id="20462"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20463"><value name="XVAL"><block type="math_angle" id="20464"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20465"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20466"><field name="NUM">250</field></block></value><statement name="A"><block type="scale" id="20467"><value name="XVAL"><block type="math_number" id="20468"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20469"><field name="NUM">0.5</field></block></value><value name="ZVAL"><block type="math_number" id="20470"><field name="NUM">0.5</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20471"><mutation name="make side fin"></mutation></block></statement></block></statement></block></statement></block><block type="difference" id="20472" collapsed="true" x="-78" y="-812"><comment pinned="false" h="57" w="112">fluke body smoother</comment><statement name="A"><block type="translate" id="20473"><value name="XVAL"><block type="math_number" id="20474"><field name="NUM">8.6</field></block></value><value name="YVAL"><block type="math_number" id="20475"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20476"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20477"><comment pinned="false" h="80" w="160">fluke body smoother</comment><value name="XVAL"><block type="math_number" id="20478"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20479"><field name="NUM">0.56</field></block></value><value name="ZVAL"><block type="math_number" id="20480"><field name="NUM">1.85</field></block></value><statement name="A"><block type="simplerotate" id="20481"><comment pinned="false" h="80" w="160">fluke body smoother unsized</comment><value name="XVAL"><block type="math_angle" id="20482"><field name="NUM">180</field></block></value><value name="YVAL"><block type="math_angle" id="20483"><field name="NUM">90</field></block></value><value name="ZVAL"><block type="math_angle" id="20484"><field name="NUM">0</field></block></value><statement name="A"><block type="rotateextrude" id="20485"><value name="FACES"><block type="math_number" id="20486"><field name="NUM">35</field></block></value><statement name="A"><block type="simplerotate" id="20487"><value name="XVAL"><block type="math_angle" id="20488"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20489"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20490"><field name="NUM">270</field></block></value><statement name="A"><block type="difference" id="20491"><mutation minus="1"></mutation><statement name="A"><block type="square" id="20492"><field name="CENTERDROPDOWN">false</field><value name="XVAL"><block type="math_number" id="20493"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="20494"><field name="NUM">4.5</field></block></value></block></statement><statement name="MINUS0"><block type="translate" id="20495"><value name="XVAL"><block type="math_number" id="20496"><field name="NUM">-3</field></block></value><value name="YVAL"><block type="math_number" id="20497"><field name="NUM">6</field></block></value><value name="ZVAL"><block type="math_number" id="20498"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20499"><value name="XVAL"><block type="math_angle" id="20500"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20501"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20502"><field name="NUM">337</field></block></value><statement name="A"><block type="square" id="20503"><field name="CENTERDROPDOWN">false</field><value name="XVAL"><block type="math_number" id="20504"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="20505"><field name="NUM">5</field></block></value></block></statement></block></statement></block></statement><statement name="MINUS1"><block type="translate" id="20506"><value name="XVAL"><block type="math_number" id="20507"><field name="NUM">7.2</field></block></value><value name="YVAL"><block type="math_number" id="20508"><field name="NUM">4.94</field></block></value><value name="ZVAL"><block type="math_number" id="20509"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20510"><value name="XVAL"><block type="math_number" id="20511"><field name="NUM">0.1</field></block></value><value name="YVAL"><block type="math_number" id="20512"><field name="NUM">0.1</field></block></value><value name="ZVAL"><block type="math_number" id="20513"><field name="NUM">1</field></block></value><statement name="A"><block type="circle" id="20514"><value name="RAD"><block type="math_number" id="20515"><field name="NUM">30</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20516"><value name="XVAL"><block type="math_number" id="20517"><field name="NUM">37</field></block></value><value name="YVAL"><block type="math_number" id="20518"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20519"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20520"><value name="XVAL"><block type="math_number" id="20521"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20522"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_number" id="20523"><field name="NUM">1.2</field></block></value><statement name="A"><block type="simplerotate" id="20524"><value name="XVAL"><block type="math_angle" id="20525"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20526"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20527"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20528"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20529"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20530"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20531"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block><block type="union" id="20532" collapsed="true" x="-377" y="-788"><comment pinned="false" h="80" w="160">top fin</comment><statement name="A"><block type="difference" id="20533"><comment pinned="false" h="80" w="160">top fin</comment><statement name="A"><block type="intersection" id="20534"><comment pinned="false" h="80" w="160">top fin</comment><statement name="A"><block type="translate" id="20535"><value name="XVAL"><block type="math_number" id="20536"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20537"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20538"><field name="NUM">4</field></block></value><statement name="A"><block type="simplerotate" id="20539"><value name="XVAL"><block type="math_angle" id="20540"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20541"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20542"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20543"><value name="XVAL"><block type="math_number" id="20544"><field name="NUM">2.1</field></block></value><value name="YVAL"><block type="math_number" id="20545"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_number" id="20546"><field name="NUM">1</field></block></value><statement name="A"><block type="cylinder" id="20547"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20548"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20549"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20550"><field name="NUM">1</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="WITH0"><block type="union" id="20551"><statement name="A"><block type="translate" id="20552"><value name="XVAL"><block type="math_number" id="20553"><field name="NUM">-2</field></block></value><value name="YVAL"><block type="math_number" id="20554"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20555"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20556"><value name="XVAL"><block type="math_angle" id="20557"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20558"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20559"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20560"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20561"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20562"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20563"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement><statement name="PLUS0"><block type="translate" id="20564"><value name="XVAL"><block type="math_number" id="20565"><field name="NUM">15</field></block></value><value name="YVAL"><block type="math_number" id="20566"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20567"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20568"><value name="XVAL"><block type="math_angle" id="20569"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20570"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20571"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20572"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20573"><field name="NUM">20</field></block></value><value name="RAD2"><block type="math_number" id="20574"><field name="NUM">20</field></block></value><value name="HEIGHT"><block type="math_number" id="20575"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20576"><value name="XVAL"><block type="math_number" id="20577"><field name="NUM">21</field></block></value><value name="YVAL"><block type="math_number" id="20578"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20579"><field name="NUM">2</field></block></value><statement name="A"><block type="simplerotate" id="20580"><value name="XVAL"><block type="math_angle" id="20581"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20582"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20583"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20584"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20585"><field name="NUM">5</field></block></value><value name="RAD2"><block type="math_number" id="20586"><field name="NUM">5</field></block></value><value name="HEIGHT"><block type="math_number" id="20587"><field name="NUM">2</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="PLUS0"><block type="difference" id="20588"><comment pinned="false" h="80" w="160">top fin</comment><statement name="A"><block type="translate" id="20589"><value name="XVAL"><block type="math_number" id="20590"><field name="NUM">-2</field></block></value><value name="YVAL"><block type="math_number" id="20591"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20592"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20593"><value name="XVAL"><block type="math_angle" id="20594"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20595"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20596"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20597"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20598"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20599"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20600"><field name="NUM">1</field></block></value></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20601"><value name="XVAL"><block type="math_number" id="20602"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20603"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20604"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20605"><value name="XVAL"><block type="math_angle" id="20606"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20607"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20608"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20609"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20610"><field name="NUM">12</field></block></value><value name="RAD2"><block type="math_number" id="20611"><field name="NUM">12</field></block></value><value name="HEIGHT"><block type="math_number" id="20612"><field name="NUM">2</field></block></value></block></statement></block></statement></block></statement></block></statement></block><block type="procedures_defnoreturn" id="20613" collapsed="true" x="-665" y="-757"><field name="NAME">make front fin</field><statement name="STACK"><block type="translate" id="20614"><value name="XVAL"><block type="math_number" id="20615"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20616"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20617"><field name="NUM">1</field></block></value><statement name="A"><block type="scale" id="20618"><value name="XVAL"><block type="math_number" id="20619"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20620"><field name="NUM">1.9</field></block></value><value name="ZVAL"><block type="math_number" id="20621"><field name="NUM">1</field></block></value><statement name="A"><block type="difference" id="20622"><statement name="A"><block type="procedures_callnoreturn" id="20623"><mutation name="make fluke"></mutation></block></statement><statement name="MINUS0"><block type="translate" id="20624"><value name="XVAL"><block type="math_number" id="20625"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20626"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20627"><field name="NUM">5</field></block></value><statement name="A"><block type="cube" id="20628"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20629"><field name="NUM">30</field></block></value><value name="YVAL"><block type="math_number" id="20630"><field name="NUM">10</field></block></value><value name="ZVAL"><block type="math_number" id="20631"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="difference" id="20632" collapsed="true" x="-83" y="-769"><comment pinned="false" h="80" w="160">fluke and front fins</comment><statement name="A"><block type="union" id="20633"><mutation plus="1"></mutation><statement name="A"><block type="translate" id="20634"><value name="XVAL"><block type="math_number" id="20635"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="20636"><field name="NUM">-1</field></block></value><value name="ZVAL"><block type="math_number" id="20637"><field name="NUM">-7.5</field></block></value><statement name="A"><block type="simplerotate" id="20638"><value name="XVAL"><block type="math_angle" id="20639"><field name="NUM">330</field></block></value><value name="YVAL"><block type="math_angle" id="20640"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20641"><field name="NUM">0</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20642"><mutation name="front fin with rib"></mutation></block></statement></block></statement></block></statement><statement name="PLUS0"><block type="translate" id="20643"><value name="XVAL"><block type="math_number" id="20644"><field name="NUM">44.4</field></block></value><value name="YVAL"><block type="math_number" id="20645"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20646"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20647"><value name="XVAL"><block type="math_number" id="20648"><field name="NUM">1.9</field></block></value><value name="YVAL"><block type="math_number" id="20649"><field name="NUM">1.6</field></block></value><value name="ZVAL"><block type="math_number" id="20650"><field name="NUM">1.6</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20651"><mutation name="make fluke"></mutation></block></statement></block></statement></block></statement><statement name="PLUS1"><block type="translate" id="20652"><value name="XVAL"><block type="math_number" id="20653"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="20654"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_number" id="20655"><field name="NUM">-7.5</field></block></value><statement name="A"><block type="simplerotate" id="20656"><value name="XVAL"><block type="math_angle" id="20657"><field name="NUM">30</field></block></value><value name="YVAL"><block type="math_angle" id="20658"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20659"><field name="NUM">0</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20660"><mutation name="front fin with rib"></mutation></block></statement></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="color" id="20994"><value name="COLOR"><block type="colour_picker" id="20995"><field name="COLOUR">#000000</field></block></value><statement name="A"><block type="translate" id="20661"><value name="XVAL"><block type="math_number" id="20662"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20663"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20664"><field name="NUM">-17</field></block></value><statement name="A"><block type="cube" id="20665"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20666"><field name="NUM">99</field></block></value><value name="YVAL"><block type="math_number" id="20667"><field name="NUM">66</field></block></value><value name="ZVAL"><block type="math_number" id="20668"><field name="NUM">5</field></block></value></block></statement></block></statement></block></statement></block><block type="controls_for" id="20878" collapsed="true" x="-380" y="-741"><field name="VAR">j</field><comment pinned="false" h="80" w="160">caudal ribs</comment><value name="FROM"><block type="math_number" id="20879"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="20880"><field name="NUM">14</field></block></value><value name="BY"><block type="math_number" id="20881"><field name="NUM">1</field></block></value><statement name="DO"><block type="scale" id="20882"><value name="XVAL"><block type="math_number" id="20883"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20884"><field name="NUM">2</field></block></value><value name="ZVAL"><block type="math_number" id="20885"><field name="NUM">1</field></block></value><statement name="A"><block type="intersection" id="20886"><statement name="A"><block type="translate" id="20887"><value name="XVAL"><block type="math_arithmetic" id="20888"><field name="OP">ADD</field><value name="A"><block type="math_arithmetic" id="20889"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20890"><field name="VAR">j</field></block></value><value name="B"><block type="math_number" id="20891"><field name="NUM">1.4</field></block></value></block></value><value name="B"><block type="math_number" id="20892"><field name="NUM">11.8</field></block></value></block></value><value name="YVAL"><block type="math_number" id="20893"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_arithmetic" id="20894"><field name="OP">MINUS</field><value name="A"><block type="math_number" id="20895"><field name="NUM">0</field></block></value><value name="B"><block type="math_arithmetic" id="20896"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20897"><field name="VAR">j</field></block></value><value name="B"><block type="math_number" id="20898"><field name="NUM">1</field></block></value></block></value></block></value><statement name="A"><block type="simplerotate" id="20899"><value name="XVAL"><block type="math_angle" id="20900"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20901"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20902"><field name="NUM">0</field></block></value><statement name="A"><block type="torus" id="20903"><value name="RAD1"><block type="math_number" id="20904"><field name="NUM">25</field></block></value><value name="RAD2"><block type="math_number" id="20905"><field name="NUM">0.5</field></block></value><value name="SIDES"><block type="math_number" id="20906"><field name="NUM">60</field></block></value><value name="FACES"><block type="math_number" id="20907"><field name="NUM">4</field></block></value></block></statement></block></statement></block></statement><statement name="WITH0"><block type="intersection" id="20908" collapsed="true"><comment pinned="false" h="80" w="160">top fin</comment><statement name="A"><block type="translate" id="20909"><value name="XVAL"><block type="math_number" id="20910"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20911"><field name="NUM">0.5</field></block></value><value name="ZVAL"><block type="math_number" id="20912"><field name="NUM">4</field></block></value><statement name="A"><block type="simplerotate" id="20913"><value name="XVAL"><block type="math_angle" id="20914"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20915"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20916"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20917"><value name="XVAL"><block type="math_number" id="20918"><field name="NUM">2.1</field></block></value><value name="YVAL"><block type="math_number" id="20919"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_number" id="20920"><field name="NUM">1</field></block></value><statement name="A"><block type="cylinder" id="20921"><field name="CENTERDROPDOWN">false</field><value name="RAD1"><block type="math_number" id="20922"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20923"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20924"><field name="NUM">1</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="WITH0"><block type="union" id="20925"><statement name="A"><block type="translate" id="20926"><value name="XVAL"><block type="math_number" id="20927"><field name="NUM">-2</field></block></value><value name="YVAL"><block type="math_number" id="20928"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20929"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20930"><value name="XVAL"><block type="math_angle" id="20931"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20932"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20933"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20934"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20935"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20936"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20937"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement><statement name="PLUS0"><block type="translate" id="20938"><value name="XVAL"><block type="math_number" id="20939"><field name="NUM">15</field></block></value><value name="YVAL"><block type="math_number" id="20940"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20941"><field name="NUM">6</field></block></value><statement name="A"><block type="simplerotate" id="20942"><value name="XVAL"><block type="math_angle" id="20943"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20944"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20945"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20946"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20947"><field name="NUM">20</field></block></value><value name="RAD2"><block type="math_number" id="20948"><field name="NUM">20</field></block></value><value name="HEIGHT"><block type="math_number" id="20949"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="procedures_defnoreturn" id="20669" collapsed="true" x="-668" y="-713"><field name="NAME">front fin with rib</field><statement name="STACK"><block type="union" id="20670"><statement name="A"><block type="procedures_callnoreturn" id="20671"><mutation name="make front fin"></mutation></block></statement><statement name="PLUS0"><block type="translate" id="20672"><comment pinned="false" h="80" w="160">rib</comment><value name="XVAL"><block type="math_number" id="20673"><field name="NUM">-7.5</field></block></value><value name="YVAL"><block type="math_number" id="20674"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20675"><field name="NUM">1</field></block></value><statement name="A"><block type="difference" id="20676"><mutation minus="1"></mutation><statement name="A"><block type="simplerotate" id="20677"><value name="XVAL"><block type="math_angle" id="20678"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20679"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20680"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20681"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20682"><field name="NUM">8</field></block></value><value name="RAD2"><block type="math_number" id="20683"><field name="NUM">8</field></block></value><value name="HEIGHT"><block type="math_number" id="20684"><field name="NUM">2</field></block></value></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20685"><value name="XVAL"><block type="math_number" id="20686"><field name="NUM">3</field></block></value><value name="YVAL"><block type="math_number" id="20687"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20688"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20689"><value name="XVAL"><block type="math_angle" id="20690"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20691"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20692"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20693"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20694"><field name="NUM">9.5</field></block></value><value name="RAD2"><block type="math_number" id="20695"><field name="NUM">9.5</field></block></value><value name="HEIGHT"><block type="math_number" id="20696"><field name="NUM">2</field></block></value></block></statement></block></statement></block></statement><statement name="MINUS1"><block type="translate" id="20697"><value name="XVAL"><block type="math_number" id="20698"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20699"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20700"><field name="NUM">5</field></block></value><statement name="A"><block type="cube" id="20701"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20702"><field name="NUM">20</field></block></value><value name="YVAL"><block type="math_number" id="20703"><field name="NUM">20</field></block></value><value name="ZVAL"><block type="math_number" id="20704"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="difference" id="20705" collapsed="true" x="-79" y="-727"><comment pinned="false" h="80" w="160">bad fluke ribs</comment><statement name="A"><block type="controls_for" id="20706"><field name="VAR">i</field><comment pinned="false" h="80" w="160">bad fluke ribs</comment><value name="FROM"><block type="math_number" id="20707"><field name="NUM">-3</field></block></value><value name="TO"><block type="math_number" id="20708"><field name="NUM">3</field></block></value><value name="BY"><block type="math_number" id="20709"><field name="NUM">1</field></block></value><statement name="DO"><block type="translate" id="20710"><value name="XVAL"><block type="math_arithmetic" id="20711"><field name="OP">ADD</field><value name="A"><block type="math_single" id="20712" inline="true"><field name="OP">ABS</field><value name="NUM"><block type="math_arithmetic" id="20713"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20714"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20715"><field name="NUM">1.5</field></block></value></block></value></block></value><value name="B"><block type="math_number" id="20716"><field name="NUM">26.3</field></block></value></block></value><value name="YVAL"><block type="math_number" id="20717"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_arithmetic" id="20718"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20719"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20720"><field name="NUM">3</field></block></value></block></value><statement name="A"><block type="simplerotate" id="20721"><value name="XVAL"><block type="math_arithmetic" id="20722"><field name="OP">ADD</field><value name="A"><block type="math_number" id="20723"><field name="NUM">270</field></block></value><value name="B"><block type="math_arithmetic" id="20724"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20725"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20726"><field name="NUM">7</field></block></value></block></value></block></value><value name="YVAL"><block type="math_angle" id="20727"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20728"><field name="NUM">270</field></block></value><statement name="A"><block type="scale" id="20729"><value name="XVAL"><block type="math_number" id="20730"><field name="NUM">1.3</field></block></value><value name="YVAL"><block type="math_number" id="20731"><field name="NUM">0.6</field></block></value><value name="ZVAL"><block type="math_number" id="20732"><field name="NUM">0.6</field></block></value><statement name="A"><block type="cylinder" id="20733"><field name="CENTERDROPDOWN">false</field><value name="RAD1"><block type="math_number" id="20734"><field name="NUM">1</field></block></value><value name="RAD2"><block type="math_number" id="20735"><field name="NUM">0</field></block></value><value name="HEIGHT"><block type="math_number" id="20736"><field name="NUM">13</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20737"><value name="XVAL"><block type="math_number" id="20738"><field name="NUM">49</field></block></value><value name="YVAL"><block type="math_number" id="20739"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20740"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20741"><value name="XVAL"><block type="math_angle" id="20742"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20743"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20744"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20745"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20746"><field name="NUM">17</field></block></value><value name="RAD2"><block type="math_number" id="20747"><field name="NUM">17</field></block></value><value name="HEIGHT"><block type="math_number" id="20748"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block><block type="translate" id="20749" collapsed="true" x="-383" y="-699"><comment pinned="false" h="80" w="160">anal fin</comment><value name="XVAL"><block type="math_number" id="20750"><field name="NUM">2</field></block></value><value name="YVAL"><block type="math_number" id="20751"><field name="NUM">-0.5</field></block></value><value name="ZVAL"><block type="math_number" id="20752"><field name="NUM">-9</field></block></value><statement name="A"><block type="union" id="20753"><statement name="A"><block type="difference" id="20754"><statement name="A"><block type="simplerotate" id="20755"><value name="XVAL"><block type="math_angle" id="20756"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_angle" id="20757"><field name="NUM">10</field></block></value><value name="ZVAL"><block type="math_angle" id="20758"><field name="NUM">0</field></block></value><statement name="A"><block type="cube" id="20759"><field name="CENTERDROPDOWN">false</field><value name="XVAL"><block type="math_number" id="20760"><field name="NUM">20</field></block></value><value name="YVAL"><block type="math_number" id="20761"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_number" id="20762"><field name="NUM">10</field></block></value></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20763"><value name="XVAL"><block type="math_number" id="20764"><field name="NUM">25</field></block></value><value name="YVAL"><block type="math_number" id="20765"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="20766"><field name="NUM">0</field></block></value><statement name="A"><block type="simplerotate" id="20767"><value name="XVAL"><block type="math_angle" id="20768"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20769"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20770"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20771"><field name="CENTERDROPDOWN">true</field><value name="RAD1"><block type="math_number" id="20772"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20773"><field name="NUM">10</field></block></value><value name="HEIGHT"><block type="math_number" id="20774"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="PLUS0"><block type="controls_for" id="20775"><field name="VAR">i</field><value name="FROM"><block type="math_number" id="20776"><field name="NUM">-2</field></block></value><value name="TO"><block type="math_number" id="20777"><field name="NUM">0</field></block></value><value name="BY"><block type="math_number" id="20778"><field name="NUM">1</field></block></value><statement name="DO"><block type="translate" id="20779"><value name="XVAL"><block type="math_number" id="20780"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20781"><field name="NUM">0.5</field></block></value><value name="ZVAL"><block type="math_arithmetic" id="20782"><field name="OP">ADD</field><value name="A"><block type="math_arithmetic" id="20783"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20784"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20785"><field name="NUM">0.6</field></block></value></block></value><value name="B"><block type="math_number" id="20786"><field name="NUM">2</field></block></value></block></value><statement name="A"><block type="simplerotate" id="20787"><value name="XVAL"><block type="math_arithmetic" id="20788"><field name="OP">ADD</field><value name="A"><block type="math_number" id="20789"><field name="NUM">270</field></block></value><value name="B"><block type="math_arithmetic" id="20790"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20791"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20792"><field name="NUM">4</field></block></value></block></value></block></value><value name="YVAL"><block type="math_angle" id="20793"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20794"><field name="NUM">270</field></block></value><statement name="A"><block type="scale" id="20795"><value name="XVAL"><block type="math_number" id="20796"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20797"><field name="NUM">0.5</field></block></value><value name="ZVAL"><block type="math_number" id="20798"><field name="NUM">1</field></block></value><statement name="A"><block type="cylinder" id="20799"><field name="CENTERDROPDOWN">false</field><value name="RAD1"><block type="math_number" id="20800"><field name="NUM">1</field></block></value><value name="RAD2"><block type="math_number" id="20801"><field name="NUM">1</field></block></value><value name="HEIGHT"><block type="math_number" id="20802"><field name="NUM">13</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="procedures_defnoreturn" id="20803" collapsed="true" x="-667" y="-670"><field name="NAME">make side fin</field><statement name="STACK"><block type="union" id="20804"><statement name="A"><block type="intersection" id="20805"><statement name="A"><block type="union" id="20806"><statement name="A"><block type="simplerotate" id="20807"><value name="XVAL"><block type="math_angle" id="20808"><field name="NUM">90</field></block></value><value name="YVAL"><block type="math_angle" id="20809"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20810"><field name="NUM">0</field></block></value><statement name="A"><block type="cylinder" id="20811"><field name="CENTERDROPDOWN">false</field><value name="RAD1"><block type="math_number" id="20812"><field name="NUM">10</field></block></value><value name="RAD2"><block type="math_number" id="20813"><field name="NUM">4</field></block></value><value name="HEIGHT"><block type="math_number" id="20814"><field name="NUM">12</field></block></value></block></statement></block></statement><statement name="PLUS0"><block type="difference" id="20815"><statement name="A"><block type="scale" id="20816"><value name="XVAL"><block type="math_number" id="20817"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20818"><field name="NUM">0.7</field></block></value><value name="ZVAL"><block type="math_number" id="20819"><field name="NUM">1</field></block></value><statement name="A"><block type="sphere" id="20820"><value name="RAD"><block type="math_number" id="20821"><field name="NUM">10</field></block></value></block></statement></block></statement><statement name="MINUS0"><block type="translate" id="20822"><value name="XVAL"><block type="math_number" id="20823"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20824"><field name="NUM">-15</field></block></value><value name="ZVAL"><block type="math_number" id="20825"><field name="NUM">0</field></block></value><statement name="A"><block type="cube" id="20826"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20827"><field name="NUM">30</field></block></value><value name="YVAL"><block type="math_number" id="20828"><field name="NUM">30</field></block></value><value name="ZVAL"><block type="math_number" id="20829"><field name="NUM">30</field></block></value></block></statement></block></statement></block></statement></block></statement><statement name="WITH0"><block type="cube" id="20830"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="20831"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20832"><field name="NUM">30</field></block></value><value name="ZVAL"><block type="math_number" id="20833"><field name="NUM">30</field></block></value></block></statement></block></statement><statement name="PLUS0"><block type="controls_for" id="20834"><field name="VAR">i</field><comment pinned="false" h="80" w="160">side fin ribs</comment><value name="FROM"><block type="math_number" id="20835"><field name="NUM">-2</field></block></value><value name="TO"><block type="math_number" id="20836"><field name="NUM">2</field></block></value><value name="BY"><block type="math_number" id="20837"><field name="NUM">1</field></block></value><statement name="DO"><block type="translate" id="20838"><value name="XVAL"><block type="math_number" id="20839"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="20840"><field name="NUM">-11</field></block></value><value name="ZVAL"><block type="math_arithmetic" id="20841"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20842"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20843"><field name="NUM">1.6</field></block></value></block></value><statement name="A"><block type="simplerotate" id="20844"><value name="XVAL"><block type="math_arithmetic" id="20845"><field name="OP">ADD</field><value name="A"><block type="math_number" id="20846"><field name="NUM">270</field></block></value><value name="B"><block type="math_arithmetic" id="20847"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="20848"><field name="VAR">i</field></block></value><value name="B"><block type="math_number" id="20849"><field name="NUM">7</field></block></value></block></value></block></value><value name="YVAL"><block type="math_angle" id="20850"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20851"><field name="NUM">0</field></block></value><statement name="A"><block type="scale" id="20852"><value name="XVAL"><block type="math_number" id="20853"><field name="NUM">1</field></block></value><value name="YVAL"><block type="math_number" id="20854"><field name="NUM">1</field></block></value><value name="ZVAL"><block type="math_arithmetic" id="20855"><field name="OP">MINUS</field><value name="A"><block type="math_number" id="20856"><field name="NUM">1.2</field></block></value><value name="B"><block type="math_arithmetic" id="20857"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="20858"><field name="NUM">0.07</field></block></value><value name="B"><block type="math_single" id="20859" inline="true"><field name="OP">ABS</field><value name="NUM"><block type="variables_get" id="20860"><field name="VAR">i</field></block></value></block></value></block></value></block></value><statement name="A"><block type="cylinder" id="20861"><field name="CENTERDROPDOWN">false</field><value name="RAD1"><block type="math_number" id="20862"><field name="NUM">1</field></block></value><value name="RAD2"><block type="math_number" id="20863"><field name="NUM">1</field></block></value><value name="HEIGHT"><block type="math_number" id="20864"><field name="NUM">13</field></block></value></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block><block type="translate" id="20865" collapsed="true" x="-76" y="-682"><comment pinned="false" h="80" w="160">left eyeball</comment><value name="XVAL"><block type="math_number" id="20866"><field name="NUM">-14.3</field></block></value><value name="YVAL"><block type="math_number" id="20867"><field name="NUM">4.75</field></block></value><value name="ZVAL"><block type="math_number" id="20868"><field name="NUM">2.7</field></block></value><statement name="A"><block type="simplerotate" id="20869"><value name="XVAL"><block type="math_angle" id="20870"><field name="NUM">285</field></block></value><value name="YVAL"><block type="math_angle" id="20871"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20872"><field name="NUM">20</field></block></value><statement name="A"><block type="scale" id="20873"><value name="XVAL"><block type="math_number" id="20874"><field name="NUM">0.3</field></block></value><value name="YVAL"><block type="math_number" id="20875"><field name="NUM">0.3</field></block></value><value name="ZVAL"><block type="math_number" id="20876"><field name="NUM">0.3</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20877"><mutation name="eyeball"></mutation></block></statement></block></statement></block></statement></block><block type="translate" id="20950" collapsed="true" x="-80" y="-638"><comment pinned="false" h="80" w="160">right eyeball</comment><value name="XVAL"><block type="math_number" id="20951"><field name="NUM">-14.3</field></block></value><value name="YVAL"><block type="math_number" id="20952"><field name="NUM">-4.75</field></block></value><value name="ZVAL"><block type="math_number" id="20953"><field name="NUM">2.7</field></block></value><statement name="A"><block type="simplerotate" id="20954"><value name="XVAL"><block type="math_angle" id="20955"><field name="NUM">75</field></block></value><value name="YVAL"><block type="math_angle" id="20956"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_angle" id="20957"><field name="NUM">340</field></block></value><statement name="A"><block type="scale" id="20958"><value name="XVAL"><block type="math_number" id="20959"><field name="NUM">0.3</field></block></value><value name="YVAL"><block type="math_number" id="20960"><field name="NUM">0.3</field></block></value><value name="ZVAL"><block type="math_number" id="20961"><field name="NUM">0.3</field></block></value><statement name="A"><block type="procedures_callnoreturn" id="20962"><mutation name="eyeball"></mutation></block></statement></block></statement></block></statement></block></xml>
\ No newline at end of file
<xml xmlns="http://www.w3.org/1999/xhtml"><version num="1.1.0"></version><block type="variables_set" id="30" x="-994" y="-298"><field name="VAR">width</field><value name="VALUE"><block type="math_number" id="31"><field name="NUM">20</field></block></value><next><block type="variables_set" id="32"><field name="VAR">height</field><value name="VALUE"><block type="math_number" id="33"><field name="NUM">20</field></block></value><next><block type="variables_set" id="34"><field name="VAR">depth</field><value name="VALUE"><block type="math_number" id="35"><field name="NUM">20</field></block></value><next><block type="variables_set" id="36"><field name="VAR">wall thickness</field><value name="VALUE"><block type="math_number" id="37"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block><block type="difference" id="38" x="-992" y="-4"><comment pinned="true" h="105" w="368">Parametric box
change the numbers in the variable blocks to change the dimensions of the box and the wall thickness.</comment><statement name="A"><block type="cube" id="39"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="variables_get" id="40"><field name="VAR">width</field></block></value><value name="YVAL"><block type="variables_get" id="41"><field name="VAR">depth</field></block></value><value name="ZVAL"><block type="variables_get" id="42"><field name="VAR">height</field></block></value></block></statement><statement name="MINUS0"><block type="translate" id="43"><value name="XVAL"><block type="math_number" id="44"><field name="NUM">0</field></block></value><value name="YVAL"><block type="math_number" id="45"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="variables_get" id="46"><field name="VAR">wall thickness</field></block></value><statement name="A"><block type="cube" id="47" inline="false"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_arithmetic" id="48"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="49"><field name="VAR">width</field></block></value><value name="B"><block type="math_arithmetic" id="50"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="51"><field name="NUM">2</field></block></value><value name="B"><block type="variables_get" id="52"><field name="VAR">wall thickness</field></block></value></block></value></block></value><value name="YVAL"><block type="math_arithmetic" id="53"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="54"><field name="VAR">depth</field></block></value><value name="B"><block type="math_arithmetic" id="55"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="56"><field name="NUM">2</field></block></value><value name="B"><block type="variables_get" id="57"><field name="VAR">wall thickness</field></block></value></block></value></block></value><value name="ZVAL"><block type="variables_get" id="58"><field name="VAR">height</field></block></value></block></statement></block></statement></block></xml>
\ No newline at end of file
<xml xmlns="http://www.w3.org/1999/xhtml"><version num="1.1.2"></version><block type="difference" id="136" x="-935" y="20"><mutation minus="2"></mutation><statement name="A"><block type="cube" id="128"><field name="CENTERDROPDOWN">true</field><comment pinned="false" h="80" w="160">original cube</comment><value name="XVAL"><block type="math_number" id="129"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="130"><field name="NUM">10</field></block></value><value name="ZVAL"><block type="math_number" id="131"><field name="NUM">10</field></block></value></block></statement><statement name="MINUS0"><block type="cube" id="152"><field name="CENTERDROPDOWN">true</field><comment pinned="false" h="80" w="160">Z-aligned cutout</comment><value name="XVAL"><block type="math_number" id="153"><field name="NUM">8</field></block></value><value name="YVAL"><block type="math_number" id="154"><field name="NUM">8</field></block></value><value name="ZVAL"><block type="math_number" id="155"><field name="NUM">12</field></block></value></block></statement><statement name="MINUS1"><block type="cube" id="156"><field name="CENTERDROPDOWN">true</field><comment pinned="false" h="80" w="160">X-aligned cutout</comment><value name="XVAL"><block type="math_number" id="157"><field name="NUM">12</field></block></value><value name="YVAL"><block type="math_number" id="158"><field name="NUM">8</field></block></value><value name="ZVAL"><block type="math_number" id="159"><field name="NUM">8</field></block></value></block></statement><statement name="MINUS2"><block type="cube" id="160"><field name="CENTERDROPDOWN">true</field><comment pinned="false" h="80" w="160">Y-aligned cutout</comment><value name="XVAL"><block type="math_number" id="161"><field name="NUM">8</field></block></value><value name="YVAL"><block type="math_number" id="162"><field name="NUM">12</field></block></value><value name="ZVAL"><block type="math_number" id="163"><field name="NUM">8</field></block></value></block></statement></block></xml>
\ No newline at end of file
<xml xmlns="http://www.w3.org/1999/xhtml"><version num="1.1.2"></version><block type="color" id="149" x="-999" y="-272"><value name="COLOR"><block type="colour_picker" id="150"><field name="COLOUR">#ffff00</field></block></value><statement name="A"><block type="linearextrude" id="151"><field name="CENTERDROPDOWN">false</field><value name="HEIGHT"><block type="math_number" id="152"><field name="NUM">30</field></block></value><value name="TWIST"><block type="math_angle" id="153"><field name="NUM">0</field></block></value><statement name="A"><block type="circle" id="186"><value name="RAD"><block type="math_number" id="187"><field name="NUM">5</field></block></value></block></statement></block></statement></block><block type="color" id="157" x="-995" y="-127"><value name="COLOR"><block type="colour_picker" id="158"><field name="COLOUR">#ff0000</field></block></value><statement name="A"><block type="linearextrude" id="159"><field name="CENTERDROPDOWN">false</field><value name="HEIGHT"><block type="math_number" id="160"><field name="NUM">40</field></block></value><value name="TWIST"><block type="math_angle" id="161"><field name="NUM">360</field></block></value><statement name="A"><block type="translate" id="162"><value name="XVAL"><block type="math_number" id="163"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="164"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="165"><field name="NUM">0</field></block></value><statement name="A"><block type="square" id="166"><field name="CENTERDROPDOWN">false</field><value name="XVAL"><block type="math_number" id="167"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="168"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block><block type="color" id="169" x="-988" y="79"><value name="COLOR"><block type="colour_picker" id="170"><field name="COLOUR">#3333ff</field></block></value><statement name="A"><block type="translate" id="171"><value name="XVAL"><block type="math_number" id="172"><field name="NUM">40</field></block></value><value name="YVAL"><block type="math_number" id="173"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="174"><field name="NUM">0</field></block></value><statement name="A"><block type="linearextrude" id="175"><field name="CENTERDROPDOWN">false</field><value name="HEIGHT"><block type="math_number" id="176"><field name="NUM">40</field></block></value><value name="TWIST"><block type="math_angle" id="177"><field name="NUM">90</field></block></value><statement name="A"><block type="square" id="178"><field name="CENTERDROPDOWN">true</field><value name="XVAL"><block type="math_number" id="179"><field name="NUM">15</field></block></value><value name="YVAL"><block type="math_number" id="180"><field name="NUM">10</field></block></value></block></statement></block></statement></block></statement></block></xml>
\ No newline at end of file
<xml xmlns="http://www.w3.org/1999/xhtml"><version num="1.1.2"></version><block type="color" id="223" x="-905" y="-15"><value name="COLOR"><block type="colour_picker" id="224"><field name="COLOUR">#33ccff</field></block></value><statement name="A"><block type="rotateextrude" id="190"><value name="FACES"><block type="math_number" id="191"><field name="NUM">6</field></block></value><statement name="A"><block type="translate" id="155"><value name="XVAL"><block type="math_number" id="156"><field name="NUM">10</field></block></value><value name="YVAL"><block type="math_number" id="157"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="158"><field name="NUM">0</field></block></value><statement name="A"><block type="$fn" id="278"><value name="SIDES"><block type="math_number" id="279"><field name="NUM">30</field></block></value><statement name="A"><block type="circle" id="280"><value name="RAD"><block type="math_number" id="281"><field name="NUM">5</field></block></value></block></statement></block></statement></block></statement></block></statement></block><block type="color" id="235" x="-902" y="221"><value name="COLOR"><block type="colour_picker" id="236"><field name="COLOUR">#33cc00</field></block></value><statement name="A"><block type="rotateextrude" id="237"><value name="FACES"><block type="math_number" id="238"><field name="NUM">22</field></block></value><statement name="A"><block type="translate" id="239"><value name="XVAL"><block type="math_number" id="240"><field name="NUM">22</field></block></value><value name="YVAL"><block type="math_number" id="241"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="242"><field name="NUM">0</field></block></value><statement name="A"><block type="$fn" id="276"><value name="SIDES"><block type="math_number" id="277"><field name="NUM">4</field></block></value><statement name="A"><block type="circle" id="243"><value name="RAD"><block type="math_number" id="244"><field name="NUM">5</field></block></value></block></statement></block></statement></block></statement></block></statement></block><block type="color" id="225" x="-904" y="464"><value name="COLOR"><block type="colour_picker" id="226"><field name="COLOUR">#ff0000</field></block></value><statement name="A"><block type="rotateextrude" id="227"><value name="FACES"><block type="math_number" id="228"><field name="NUM">3</field></block></value><statement name="A"><block type="translate" id="229"><value name="XVAL"><block type="math_number" id="230"><field name="NUM">60</field></block></value><value name="YVAL"><block type="math_number" id="231"><field name="NUM">0</field></block></value><value name="ZVAL"><block type="math_number" id="232"><field name="NUM">0</field></block></value><statement name="A"><block type="circle" id="233"><value name="RAD"><block type="math_number" id="234"><field name="NUM">5</field></block></value></block></statement></block></statement></block></statement></block></xml>
\ No newline at end of file
...@@ -52,7 +52,6 @@ ...@@ -52,7 +52,6 @@
<script type="text/javascript" src="blockscad/text.js"></script> <script type="text/javascript" src="blockscad/text.js"></script>
<script src="blockscad/lightgl.js"></script> <script src="blockscad/lightgl.js"></script>
<!-- <!--
<script type="text/javascript" src="backend_compressed.js"></script> <script type="text/javascript" src="backend_compressed.js"></script>
--> -->
...@@ -131,7 +130,12 @@ ...@@ -131,7 +130,12 @@
<li> <li>
<a class="trigger right-caret">Examples</a> <a class="trigger right-caret">Examples</a>
<ul class="dropdown-menu sub-menu"> <ul class="dropdown-menu sub-menu">
<li><a href="#" id="examples_cube_with_cutouts">Cube with cutouts</a></li>
<li><a href="#" id="examples_anthias_fish">Anthias fish</a></li>
<li><a href="#" id="examples_torus">Torus</a></li> <li><a href="#" id="examples_torus">Torus</a></li>
<li><a href="#" id="examples_box">Parametric Box</a></li>
<li><a href="#" id="examples_linear_extrude">Linear Extrude</a></li>
<li><a href="#" id="examples_rotate_extrude">Rotate Extrude</a></li>
</ul> </ul>
</li> </li>
<li class="divider"></li> <li class="divider"></li>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment