Difference between revisions of "Template:Jscad"

From BITPlan Wiki
Jump to navigation Jump to search
(Undo revision 9181 by Mf (talk))
Line 66: Line 66:
 
<h1>{{{title|}}}</h1>
 
<h1>{{{title|}}}</h1>
 
<div id="jscadviewer"></div>
 
<div id="jscadviewer"></div>
<h2>Source code</h2>
+
<h2>Playground</h2>
Below is the OpenJsCad script.
+
You can try out modifications of the source code right here.
 
<textarea id='jscadcode' style="height: 500px">{{{code|}}}</textarea>
 
<textarea id='jscadcode' style="height: 500px">{{{code|}}}</textarea>
 
<input type="submit" value="Update" onclick="updateSolid(); return false;">
 
<input type="submit" value="Update" onclick="updateSolid(); return false;">
Line 76: Line 76:
 
</script>
 
</script>
 
}}
 
}}
= Syntaxh highlighted source code =
+
= Source code =
 
{{#tag:source|{{{code|}}}|lang=javascript}}
 
{{#tag:source|{{{code|}}}|lang=javascript}}
 
</includeonly>
 
</includeonly>

Revision as of 14:42, 10 June 2019

Usage

Put your JSCAD code inside a source tag and add a call of this template



  
  
  
  


OpenJSCAD example

Playground

You can try out modifications of the source code right here.

Source code

function main()
{
  var resolution = 24; // increase to get smoother corners (will get slow!)
  
  var cube1 = CSG.roundedCube({center: [0,0,0], radius: [10,10,10], roundradius: 2, resolution: resolution});
  var sphere1 = CSG.sphere({center: [5, 5, 5], radius: 10, resolution: resolution });
  var sphere2 = sphere1.translate([12, 5, 0]);
  var sphere3 = CSG.sphere({center: [20, 0, 0], radius: 30, resolution: resolution });
  
  var result = cube1;
  result = result.union(sphere1);
  result = result.subtract(sphere2);
  result = result.intersect(sphere3);
  return result;
}