From 954666581245536f8baa1da81fe431062ef783f7 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Wed, 13 Mar 2019 01:07:31 -0400 Subject: arguably less convoluted --- GenSCAD.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GenSCAD.hs b/GenSCAD.hs index e9343da..e5e99ab 100644 --- a/GenSCAD.hs +++ b/GenSCAD.hs @@ -18,12 +18,12 @@ import System.IO.Temp import System.Process +v3tolist (V3 a b c) = [a,b,c] _V32l :: R3 c1 => c1 c -> [c] -_V32l c = [c ^. _x, c ^. _y, c ^. _z] +_V32l = view (_xyz . to v3tolist) -_V32s :: (R3 c1, Show a) => c1 a -> String -_V32s c = intercalate "," (map show (_V32l c)) +_V32s c = intercalate "," (map show c) -- placecube: OpenSCAD translate cube described by d to place designated by p -- placecube (V3 1 2 3, V3 10 20 30) -> @@ -63,7 +63,7 @@ scad [(d, p)] = cubeat p d placecube :: (R3 c2, R3 c3, Show a1, Show a2) => (c2 a1, c3 a2) -> String -placecube obj = "translate([ " ++ _V32s(fst obj) ++ " ]) { cube([ " ++ _V32s(snd obj) ++ " ]); }" +placecube obj = "translate([ " ++ _V32s(_V32l(fst obj)) ++ " ]) { cube([ " ++ (_V32s._V32l)(snd obj) ++ " ]); }" --placecube (p,d) = printf "translate([%d, %d, %d]) { cube([%d, %d, %d]); }" (_V32l p ++ _V32l d) -- cgit v1.2.3