group() { multmatrix([[1, 0, 0, -30], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { linear_extrude(height = 100, center = false, convexity = 8, twist = 411.429, slices = 34, $fn = 0, $fa = 12, $fs = 1) { difference() { circle($fn = 0, $fa = 12, $fs = 1, r = 20); group() { group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[0.62349, -0.781831, 0, 0], [0.781831, 0.62349, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.222521, -0.974928, 0, 0], [0.974928, -0.222521, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.900969, -0.433884, 0, 0], [0.433884, -0.900969, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.900969, 0.433884, 0, 0], [-0.433884, -0.900969, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.222521, 0.974928, 0, 0], [-0.974928, -0.222521, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[0.62349, 0.781831, 0, 0], [-0.781831, 0.62349, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[40, 0], [20, 0], [14.62391868272735, 3.337814009344716], [13.51453301853629, 6.508256086763372], [15.6366296493606, 12.46979603717467], [31.27325929872119, 24.93959207434934]], paths = undef, convexity = 1); } } } } } } } multmatrix([[1, 0, 0, 30], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { difference() { cylinder($fn = 6, $fa = 12, $fs = 1, h = 20, r1 = 30, r2 = 30, center = false); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -10], [0, 0, 0, 1]]) { group() { linear_extrude(height = 40, center = false, convexity = 3, twist = 164.571, slices = 13, $fn = 0, $fa = 12, $fs = 1) { difference() { circle($fn = 0, $fa = 12, $fs = 1, r = 21); group() { group(); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[0.62349, -0.781831, 0, 0], [0.781831, 0.62349, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.222521, -0.974928, 0, 0], [0.974928, -0.222521, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.900969, -0.433884, 0, 0], [0.433884, -0.900969, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.900969, 0.433884, 0, 0], [-0.433884, -0.900969, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[-0.222521, 0.974928, 0, 0], [-0.974928, -0.222521, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } group(); group() { multmatrix([[0.62349, 0.781831, 0, 0], [-0.781831, 0.62349, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { polygon(points = [[42, 0], [21, 0], [15.59884659490918, 3.56033494330103], [14.41550188643871, 6.94213982588093], [16.41846113182863, 13.0932858390334], [32.83692226365725, 26.18657167806681]], paths = undef, convexity = 1); } } } } } } } } } } group() { linear_extrude(height = 100, center = false, convexity = 5, twist = 1500, slices = 79, $fn = 19.2, $fa = 12, $fs = 1) { group() { group() { group() { polygon(points = [[100, 0], [90.10870717256485, 30.58778441039996], [99.27731872645629, 33.70010865023236]], paths = undef, convexity = 1); } group(); group(); } group() { group(); group(); group() { polygon(points = [[99.27731872645629, 33.70010865023236], [90.10870717256485, 30.58778441039996], [74.08779492859099, 56.84956452855862], [84.58287312965604, 64.90272127318551]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[84.58287312965604, 64.90272127318551], [74.08779492859099, 56.84956452855862], [51.22010456048879, 76.65630364955641], [59.89394204343166, 89.63761881095262]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[59.89394204343166, 89.63761881095262], [51.22010456048879, 76.65630364955641], [23.64046582983194, 88.22741959152876], [28.12334319067221, 104.9577456662849]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[28.12334319067221, 104.9577456662849], [23.64046582983194, 88.22741959152876], [-5.934009687954409, 90.53549252778905], [-7.146616158074179, 109.0362921199316]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-7.146616158074179, 109.0362921199316], [-5.934009687954409, 90.53549252778905], [-34.56302683546026, 83.44252814283341], [-41.97365963755769, 101.3333783594239]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-41.97365963755769, 101.3333783594239], [-34.56302683546026, 83.44252814283341], [-59.39283755470954, 67.72455141159254], [-72.47632546530423, 82.64341008420294]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-72.47632546530423, 82.64341008420294], [-59.39283755470954, 67.72455141159254], [-77.94228634059948, 44.99999999999999], [-95.26279441628826, 54.99999999999999]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-95.26279441628826, 54.99999999999999], [-77.94228634059948, 44.99999999999999], [-88.34760075969918, 17.57343041942462], [-107.8094553209469, 21.444633983801]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-107.8094553209469, 21.444633983801], [-88.34760075969918, 17.57343041942462], [-89.54486254542182, -11.78880480022482], [-108.7441097293403, -14.31643364378545]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-108.7441097293403, -14.31643364378545], [-89.54486254542182, -11.78880480022482], [-81.37304131717875, -40.12874312782305], [-98.0015069893589, -48.32899491597725]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-98.0015069893589, -48.32899491597725], [-81.37304131717875, -40.12874312782305], [-64.58695376169682, -64.5869537616968], [-76.83440247561271, -76.83440247561269]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-76.83440247561271, -76.83440247561269], [-64.58695376169682, -64.5869537616968], [-40.77625404048524, -82.68606355865667], [-47.68148400331503, -96.68848474788098]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-47.68148400331503, -96.68848474788098], [-40.77625404048524, -82.68606355865667], [-12.18926961151899, -92.58669478281102], [-13.91596883249134, -105.7022774919511]], paths = undef, convexity = 1); } } group() { group(); group(); group() { polygon(points = [[-13.91596883249134, -105.7022774919511], [-12.18926961151899, -92.58669478281102], [18.56455524139444, -93.33032171881419], [20.45350916183121, -102.8267343618319]], paths = undef, convexity = 1); } } group() { group(); group() { polygon(points = [[20.45350916183121, -102.8267343618319], [18.56455524139444, -93.33032171881419], [50, -86.60254037844386]], paths = undef, convexity = 1); } group(); } } } } }