diff options
Diffstat (limited to 'GenSCAD.hs')
-rw-r--r-- | GenSCAD.hs | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -18,12 +18,12 @@ import System.IO.Temp | |||
18 | import System.Process | 18 | import System.Process |
19 | 19 | ||
20 | 20 | ||
21 | v3tolist (V3 a b c) = [a,b,c] | ||
21 | 22 | ||
22 | _V32l :: R3 c1 => c1 c -> [c] | 23 | _V32l :: R3 c1 => c1 c -> [c] |
23 | _V32l c = [c ^. _x, c ^. _y, c ^. _z] | 24 | _V32l = view (_xyz . to v3tolist) |
24 | 25 | ||
25 | _V32s :: (R3 c1, Show a) => c1 a -> String | 26 | _V32s c = intercalate "," (map show c) |
26 | _V32s c = intercalate "," (map show (_V32l c)) | ||
27 | 27 | ||
28 | -- placecube: OpenSCAD translate cube described by d to place designated by p | 28 | -- placecube: OpenSCAD translate cube described by d to place designated by p |
29 | -- placecube (V3 1 2 3, V3 10 20 30) -> | 29 | -- placecube (V3 1 2 3, V3 10 20 30) -> |
@@ -63,7 +63,7 @@ scad [(d, p)] = cubeat p d | |||
63 | 63 | ||
64 | 64 | ||
65 | placecube :: (R3 c2, R3 c3, Show a1, Show a2) => (c2 a1, c3 a2) -> String | 65 | placecube :: (R3 c2, R3 c3, Show a1, Show a2) => (c2 a1, c3 a2) -> String |
66 | placecube obj = "translate([ " ++ _V32s(fst obj) ++ " ]) { cube([ " ++ _V32s(snd obj) ++ " ]); }" | 66 | placecube obj = "translate([ " ++ _V32s(_V32l(fst obj)) ++ " ]) { cube([ " ++ (_V32s._V32l)(snd obj) ++ " ]); }" |
67 | --placecube (p,d) = printf "translate([%d, %d, %d]) { cube([%d, %d, %d]); }" (_V32l p ++ _V32l d) | 67 | --placecube (p,d) = printf "translate([%d, %d, %d]) { cube([%d, %d, %d]); }" (_V32l p ++ _V32l d) |
68 | 68 | ||
69 | 69 | ||