File: example007.scad

package info (click to toggle)
openscad 2015.03-2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 30,804 kB
  • ctags: 5,692
  • sloc: cpp: 39,386; sh: 3,856; ansic: 3,674; python: 1,393; yacc: 496; lex: 272; lisp: 159; makefile: 67; xml: 60
file content (70 lines) | stat: -rw-r--r-- 1,705 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

module cutout()
{
    intersection() {
      rotate(90, [1, 0, 0])
        translate([0, 0, -50])
          linear_extrude(height = 100, convexity = 1)
            import(file = "example007.dxf", layer = "cutout1");
      
      rotate(90, [0, 0, 1])
        rotate(90, [1, 0, 0])
          translate([0, 0, -50])
            linear_extrude(height = 100, convexity = 2)
              import(file = "example007.dxf", layer = "cutout2");
    }
}

module clip()
{
  difference() {
    rotate_extrude(convexity = 3, $fn = 0, $fa = 12, $fs = 2) {
      import(file = "example007.dxf", layer = "dorn");
    }
    for (r = [0, 90])
      rotate(r, [0, 0, 1])
        cutout();
  }
}

module cutview()
{
  difference() {
    difference() {
      translate([0, 0, -10]) clip();

      rotate(20, [0, 0, 1])
        rotate(-20, [0, 1, 0])
          translate([18, 0, 0])
            cube(30, center = true);
    }

    # render(convexity = 5) intersection() {
      translate([0, 0, -10])
        clip();
    
      rotate(20, [0, 0, 1])
        rotate(-20, [0, 1, 0])
          translate([18, 0, 0])
            cube(30, center = true);
    }
  }
}

echo(version=version());

translate([0, 0, -10]) clip();

// cutview();

// Written by Clifford Wolf <clifford@clifford.at> and Marius
// Kintel <marius@kintel.net>
//
// To the extent possible under law, the author(s) have dedicated all
// copyright and related and neighboring rights to this software to the
// public domain worldwide. This software is distributed without any
// warranty.
//
// You should have received a copy of the CC0 Public Domain
// Dedication along with this software.
// If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.