Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.scad.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.scad</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (OpenSCAD) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;">/*Basic test file</span>
0008 <span style="color:#7a7c7d;">Written by Julian Stirling, 2018</span>
0009 <span style="color:#7a7c7d;">License: MIT*/</span>
0010 
0011 <span style="color:#7a7c7d;">// This is a comment</span>
0012 x<span style="color:#3f8058;">=</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">;</span>
0013 y<span style="color:#3f8058;">=</span><span style="color:#f67400;">6</span><span style="color:#3f8058;">;</span>
0014 z<span style="color:#3f8058;">=</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">;</span>
0015 r<span style="color:#3f8058;">=</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">;</span>
0016 <span style="font-weight:bold;">for</span> <span style="color:#3f8058;">(</span>n <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[-</span><span style="color:#f67400;">1.5</span><span style="color:#3f8058;">:</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">:</span><span style="color:#f67400;">1.5</span><span style="color:#3f8058;">]){</span>
0017     <span style="color:#8e44ad;">translate</span><span style="color:#3f8058;">([</span>n<span style="color:#3f8058;">*</span>x<span style="color:#3f8058;">,</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">]){</span>cubehole<span style="color:#3f8058;">([</span>x<span style="color:#3f8058;">,</span>y<span style="color:#3f8058;">,</span>z<span style="color:#3f8058;">],</span>r<span style="color:#3f8058;">);}</span>
0018 <span style="color:#3f8058;">}</span>
0019 
0020 <span style="font-weight:bold;">module</span> cubehole<span style="color:#3f8058;">(</span>size<span style="color:#3f8058;">,</span>holerad<span style="color:#3f8058;">)</span>
0021 <span style="color:#3f8058;">{</span>
0022     <span style="color:#2980b9;">$fn</span>=<span style="color:#f67400;">28</span><span style="color:#3f8058;">;</span>
0023     <span style="color:#8e44ad;">difference</span><span style="color:#3f8058;">()</span>
0024     <span style="color:#3f8058;">{</span>
0025         <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">(</span>size<span style="color:#3f8058;">,</span>center<span style="color:#3f8058;">=</span><span style="font-weight:bold;">true</span><span style="color:#3f8058;">);</span>
0026         <span style="font-weight:bold;">cylinder</span><span style="color:#3f8058;">(</span>size<span style="color:#3f8058;">[</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">]+</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span>r<span style="color:#3f8058;">=</span>holerad<span style="color:#3f8058;">,</span>center<span style="color:#3f8058;">=</span><span style="font-weight:bold;">true</span><span style="color:#3f8058;">);</span>
0027     <span style="color:#3f8058;">}</span>
0028 <span style="color:#3f8058;">}</span>
0029 
0030 <span style="color:#7a7c7d;">// some examples adapted from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/General</span>
0031 <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">);</span>
0032 x <span style="color:#3f8058;">=</span> <span style="color:#f67400;">4</span> <span style="color:#3f8058;">+</span> y<span style="color:#3f8058;">;</span>
0033 <span style="color:#8e44ad;">rotate</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">40</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">square</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">);</span>
0034 <span style="color:#8e44ad;">translate</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">5</span><span style="color:#3f8058;">])</span> <span style="color:#3f8058;">{</span>
0035     <span style="font-weight:bold;">circle</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">);</span>
0036     <span style="font-weight:bold;">square</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">4</span><span style="color:#3f8058;">);</span>
0037 <span style="color:#3f8058;">}</span>
0038 <span style="color:#8e44ad;">rotate</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">60</span><span style="color:#3f8058;">)</span> <span style="color:#8e44ad;">color</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;red&quot;</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>
0039     <span style="font-weight:bold;">circle</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">);</span>
0040     <span style="font-weight:bold;">square</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">4</span><span style="color:#3f8058;">);</span>
0041 <span style="color:#3f8058;">}</span>
0042 <span style="color:#8e44ad;">color</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;blue&quot;</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>
0043     <span style="color:#8e44ad;">translate</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">3</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">])</span> <span style="font-weight:bold;">sphere</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">);</span>
0044     <span style="color:#8e44ad;">rotate</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">45</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">45</span><span style="color:#3f8058;">])</span> <span style="color:#3f8058;">{</span>
0045         <span style="font-weight:bold;">cylinder</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">);</span>
0046         <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">6</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">7</span><span style="color:#3f8058;">]);</span>
0047     <span style="color:#3f8058;">}</span>
0048 <span style="color:#3f8058;">}</span>
0049 
0050 aNumber <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42</span><span style="color:#3f8058;">;</span>
0051 aBoolean <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">true</span><span style="color:#3f8058;">;</span>
0052 anotherBoolean <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">false</span><span style="color:#3f8058;">;</span>
0053 aString <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;foo&quot;</span><span style="color:#3f8058;">;</span>
0054 aRange <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">:</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">:</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">];</span>
0055 aVector <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">3</span><span style="color:#3f8058;">];</span>
0056 aUndef <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">undef</span><span style="color:#3f8058;">;</span>
0057 moreNumbers <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[-</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">42</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">0.5</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">2.99792458e+8</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">1.337e3</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">314</span>e<span style="color:#3f8058;">-</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">];</span>
0058 <span style="color:#0099ff;font-weight:bold;">echo</span><span style="color:#3f8058;">(</span>moreNumbers<span style="color:#3f8058;">)</span>
0059 <span style="color:#0099ff;font-weight:bold;">echo</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;The quick brown fox \tjumps \&quot;over\&quot; the lazy dog.\rThe quick brown fox.\nThe \\lazy\\ dog. \x21 \u03a9 \U01F98A \U01f43e&quot;</span><span style="color:#3f8058;">);</span>
0060 
0061 vector1 <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">];</span> vector2 <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">4</span><span style="color:#3f8058;">];</span> vector3 <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">6</span><span style="color:#3f8058;">];</span>
0062 new_vector <span style="color:#3f8058;">=</span> <span style="color:#0099ff;font-weight:bold;">concat</span><span style="color:#3f8058;">(</span>vector1<span style="color:#3f8058;">,</span> vector2<span style="color:#3f8058;">,</span> vector3<span style="color:#3f8058;">);</span> <span style="color:#7a7c7d;">// [1,2,3,4,5,6]</span>
0063 
0064 string_vector <span style="color:#3f8058;">=</span> <span style="color:#0099ff;font-weight:bold;">concat</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;abc&quot;</span><span style="color:#3f8058;">,</span><span style="color:#f44f4f;">&quot;def&quot;</span><span style="color:#3f8058;">);</span>                 <span style="color:#7a7c7d;">// [&quot;abc&quot;, &quot;def&quot;]</span>
0065 one_string <span style="color:#3f8058;">=</span> <span style="color:#0099ff;font-weight:bold;">str</span><span style="color:#3f8058;">(</span>string_vector<span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">],</span>string_vector<span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">]);</span> <span style="color:#7a7c7d;">// &quot;abcdef&quot;</span>
0066 
0067 a <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">];</span> <span style="color:#0099ff;font-weight:bold;">echo</span><span style="color:#3f8058;">(</span><span style="color:#7f8c8d;">len</span><span style="color:#3f8058;">(</span>a<span style="color:#3f8058;">));</span>   <span style="color:#7a7c7d;">//  3</span>
0068 
0069 <span style="color:#7a7c7d;">// Example which defines a 2D rotation matrix</span>
0070 mr <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span>
0071     <span style="color:#3f8058;">[</span><span style="color:#7f8c8d;">cos</span><span style="color:#3f8058;">(</span>angle<span style="color:#3f8058;">),</span> <span style="color:#3f8058;">-</span><span style="color:#7f8c8d;">sin</span><span style="color:#3f8058;">(</span>angle<span style="color:#3f8058;">)],</span>
0072     <span style="color:#3f8058;">[</span><span style="color:#7f8c8d;">sin</span><span style="color:#3f8058;">(</span>angle<span style="color:#3f8058;">),</span>  <span style="color:#7f8c8d;">cos</span><span style="color:#3f8058;">(</span>angle<span style="color:#3f8058;">)]</span>
0073 <span style="color:#3f8058;">];</span>
0074 
0075 <span style="color:#7a7c7d;">// modifiers</span>
0076 <span style="color:#3f8058;">%</span> <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">]);</span>  <span style="color:#7a7c7d;">// background</span>
0077 <span style="color:#3f8058;">#</span> <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">]);</span>  <span style="color:#7a7c7d;">// debug</span>
0078 <span style="color:#3f8058;">!</span> <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">]);</span>  <span style="color:#7a7c7d;">// root</span>
0079 <span style="color:#3f8058;">*</span> <span style="font-weight:bold;">cube</span><span style="color:#3f8058;">([</span><span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">10</span><span style="color:#3f8058;">]);</span>  <span style="color:#7a7c7d;">// disable</span>
0080 
0081 <span style="color:#7a7c7d;">// if example taken from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Rounding_examples</span>
0082 <span style="font-weight:bold;">if</span><span style="color:#3f8058;">(</span>a<span style="color:#3f8058;">==</span>b<span style="color:#3f8058;">){</span>
0083     <span style="color:#0099ff;font-weight:bold;">echo</span> <span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;a==b&quot;</span><span style="color:#3f8058;">);</span>
0084 <span style="color:#3f8058;">}</span><span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span><span style="color:#3f8058;">(</span>a<span style="color:#3f8058;">&gt;</span>b<span style="color:#3f8058;">){</span>
0085     <span style="color:#0099ff;font-weight:bold;">echo</span> <span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;a&gt;b&quot;</span><span style="color:#3f8058;">);</span>
0086 <span style="color:#3f8058;">}</span><span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span><span style="color:#3f8058;">(</span>a<span style="color:#3f8058;">&lt;</span>b<span style="color:#3f8058;">){</span>
0087     <span style="color:#0099ff;font-weight:bold;">echo</span> <span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;a&lt;b&quot;</span><span style="color:#3f8058;">);</span>
0088 <span style="color:#3f8058;">}</span><span style="font-weight:bold;">else</span><span style="color:#3f8058;">{</span>
0089     <span style="color:#0099ff;font-weight:bold;">echo</span> <span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;???&quot;</span><span style="color:#3f8058;">);</span>
0090 <span style="color:#3f8058;">}</span>
0091 
0092 <span style="color:#7a7c7d;">// assert example taken from https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#assert</span>
0093 <span style="font-weight:bold;">module</span> row<span style="color:#3f8058;">(</span>cnt <span style="color:#3f8058;">=</span> <span style="color:#f67400;">3</span><span style="color:#3f8058;">){</span>
0094     <span style="color:#7a7c7d;">// Count has to be a positive integer greater 0</span>
0095     <span style="color:#0099ff;font-weight:bold;">assert</span><span style="color:#3f8058;">(</span>cnt <span style="color:#3f8058;">&gt;</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">);</span>
0096     <span style="font-weight:bold;">for</span> <span style="color:#3f8058;">(</span>i <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span> <span style="color:#3f8058;">:</span> cnt<span style="color:#3f8058;">])</span> <span style="color:#3f8058;">{</span>
0097         <span style="color:#8e44ad;">translate</span><span style="color:#3f8058;">([</span>i <span style="color:#3f8058;">*</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">,</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">])</span> <span style="font-weight:bold;">sphere</span><span style="color:#3f8058;">();</span>
0098     <span style="color:#3f8058;">}</span>
0099 <span style="color:#3f8058;">}</span>
0100 row<span style="color:#3f8058;">(</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">);</span>
0101 </pre></body></html>