mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-01-13 12:45:58 +00:00
openscad: Remove multi-line comments to simplify
This commit is contained in:
parent
7654e1c6b6
commit
68e71d00ff
@ -2,42 +2,38 @@
|
|||||||
language: openscad
|
language: openscad
|
||||||
filename: learnopenscad.scad
|
filename: learnopenscad.scad
|
||||||
contributors:
|
contributors:
|
||||||
- ["Thomas Preston", "https://github.com/tompreston/"]
|
- ["Tom Preston", "https://github.com/tompreston/"]
|
||||||
---
|
---
|
||||||
|
|
||||||
Draw 3D models with code using [OpenSCAD](https://openscad.org/).
|
Draw 3D models with code using [OpenSCAD](https://openscad.org/).
|
||||||
|
|
||||||
```openscad
|
```openscad
|
||||||
// Single-line comments start with //
|
// Comments look like this
|
||||||
|
|
||||||
/*
|
// 3D Primitives
|
||||||
Multi-line comments look like this.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* 3D Primitives */
|
|
||||||
cube(10);
|
cube(10);
|
||||||
cube([5, 10, 20]);
|
cube([5, 10, 20]);
|
||||||
sphere(10);
|
sphere(10);
|
||||||
|
|
||||||
/* Transformations */
|
// Transformations
|
||||||
translate([20, 0, 0]) cube(10);
|
translate([20, 0, 0]) cube(10);
|
||||||
rotate([0, 20, 30]) cube(10);
|
rotate([0, 20, 30]) cube(10);
|
||||||
|
|
||||||
translate([20, 0, 0]) rotate([0, 20, 30]) cube(10);
|
translate([20, 0, 0]) rotate([0, 20, 30]) cube(10);
|
||||||
rotate([0, 20, 30]) translate([20, 0, 0]) cube(10);
|
rotate([0, 20, 30]) translate([20, 0, 0]) cube(10);
|
||||||
|
|
||||||
/* Modifiers
|
// Modifiers
|
||||||
* * disable
|
//
|
||||||
* ! show only
|
// * disable
|
||||||
* # highlight / debug
|
// ! show only
|
||||||
* % transparent / background
|
// # highlight / debug
|
||||||
*/
|
// % transparent / background
|
||||||
/* For example, show only the rotated cube at the origin, before we translate it. */
|
//
|
||||||
|
// For example, show only the rotated cube at the origin, before we translate it.
|
||||||
translate([20, 0, 0]) !rotate([0, 20, 30]) cube(10);
|
translate([20, 0, 0]) !rotate([0, 20, 30]) cube(10);
|
||||||
|
|
||||||
/* Formatting
|
// Formatting
|
||||||
* The following models are the same. The official docs prefer the second.
|
// The following models are the same. The official docs prefer the second.
|
||||||
*/
|
|
||||||
rotate([0, 20, 30]) translate([20, 0, 0]) cube(10);
|
rotate([0, 20, 30]) translate([20, 0, 0]) cube(10);
|
||||||
|
|
||||||
rotate([0, 20, 30])
|
rotate([0, 20, 30])
|
||||||
@ -50,7 +46,7 @@ rotate([0, 20, 30]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Loops */
|
// Loops
|
||||||
num_cubes = 5;
|
num_cubes = 5;
|
||||||
r = 20;
|
r = 20;
|
||||||
cube_len = 5;
|
cube_len = 5;
|
||||||
@ -62,11 +58,12 @@ for (i = [0:num_cubes]) {
|
|||||||
cube(cube_len, center=true);
|
cube(cube_len, center=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Boolean operations.
|
// Boolean operations
|
||||||
* union() - the sum of both shapes
|
//
|
||||||
* difference() - the first shape, minus the second shape
|
// union() - the sum of both shapes
|
||||||
* intersection() - only parts of both shapes which intersect
|
// difference() - the first shape, minus the second shape
|
||||||
*/
|
// intersection() - only parts of both shapes which intersect
|
||||||
|
//
|
||||||
cube_l = 20;
|
cube_l = 20;
|
||||||
cube_w = 10;
|
cube_w = 10;
|
||||||
cube_h = 10;
|
cube_h = 10;
|
||||||
@ -82,12 +79,12 @@ difference() {
|
|||||||
cylinder(cube_w, r=hole_r);
|
cylinder(cube_w, r=hole_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Functions calculate values. */
|
// Functions calculate values
|
||||||
function inch2mm(i) = i * 25.4;
|
function inch2mm(i) = i * 25.4;
|
||||||
|
|
||||||
cube(inch2mm(2));
|
cube(inch2mm(2));
|
||||||
|
|
||||||
/* Modules create objects you want to use later. */
|
// Modules create objects you want to use later
|
||||||
module house(roof="flat", paint=[1,0,0]) {
|
module house(roof="flat", paint=[1,0,0]) {
|
||||||
color(paint)
|
color(paint)
|
||||||
if (roof=="flat") {
|
if (roof=="flat") {
|
||||||
@ -101,7 +98,7 @@ module house(roof="flat", paint=[1,0,0]) {
|
|||||||
translate([0,-1,0]) {
|
translate([0,-1,0]) {
|
||||||
translate([0.5,0.5,1])
|
translate([0.5,0.5,1])
|
||||||
sphere(r=0.5,$fn=20);
|
sphere(r=0.5,$fn=20);
|
||||||
cube();
|
cube();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -109,9 +106,9 @@ module house(roof="flat", paint=[1,0,0]) {
|
|||||||
house("pitched");
|
house("pitched");
|
||||||
translate([2, 0, 0]) house("domical");
|
translate([2, 0, 0]) house("domical");
|
||||||
|
|
||||||
/* Import modules and function from other files. */
|
// Import modules and function from other files
|
||||||
include <filename> /* Import the content of the file as if they were written in this file. */
|
include <filename> // Import the content of the file as if they were written in this file
|
||||||
use <filename> /* Import modules and functions, but do not execute any commands. */
|
use <filename> // Import modules and functions, but do not execute any commands
|
||||||
```
|
```
|
||||||
|
|
||||||
## Further Reading
|
## Further Reading
|
||||||
|
Loading…
Reference in New Issue
Block a user