diff --git a/.gitignore b/.gitignore index 5fd9f9a..66061dc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ benchmark releases stl/*/*.txt -csg/* \ No newline at end of file +csg/* +notes/renders.sqlite \ No newline at end of file diff --git a/img/gnal_100ft_v3_insert_16.png b/img/gnal_100ft_v3_insert_16.png index 23a1eff..37c7000 100644 Binary files a/img/gnal_100ft_v3_insert_16.png and b/img/gnal_100ft_v3_insert_16.png differ diff --git a/img/gnal_100ft_v3_insert_s8.png b/img/gnal_100ft_v3_insert_s8.png index 23a1eff..b8867fd 100644 Binary files a/img/gnal_100ft_v3_insert_s8.png and b/img/gnal_100ft_v3_insert_s8.png differ diff --git a/img/gnal_100ft_v3_insert_single.png b/img/gnal_100ft_v3_insert_single.png new file mode 100644 index 0000000..c488329 Binary files /dev/null and b/img/gnal_100ft_v3_insert_single.png differ diff --git a/img/gnal_100ft_v3_spacer.png b/img/gnal_100ft_v3_spacer.png index 8fd746a..1d544e7 100644 Binary files a/img/gnal_100ft_v3_spacer.png and b/img/gnal_100ft_v3_spacer.png differ diff --git a/img/gnal_100ft_v3_spacer_16.png b/img/gnal_100ft_v3_spacer_16.png index 1989e3a..2917e97 100644 Binary files a/img/gnal_100ft_v3_spacer_16.png and b/img/gnal_100ft_v3_spacer_16.png differ diff --git a/img/gnal_100ft_v3_spindle_bottom.png b/img/gnal_100ft_v3_spindle_bottom.png index 23a1eff..d4b97d4 100644 Binary files a/img/gnal_100ft_v3_spindle_bottom.png and b/img/gnal_100ft_v3_spindle_bottom.png differ diff --git a/img/gnal_100ft_v3_spindle_single.png b/img/gnal_100ft_v3_spindle_single.png new file mode 100644 index 0000000..946c854 Binary files /dev/null and b/img/gnal_100ft_v3_spindle_single.png differ diff --git a/img/gnal_100ft_v3_spindle_stacking.png b/img/gnal_100ft_v3_spindle_stacking.png new file mode 100644 index 0000000..d4cec76 Binary files /dev/null and b/img/gnal_100ft_v3_spindle_stacking.png differ diff --git a/img/gnal_100ft_v3_spindle_top.png b/img/gnal_100ft_v3_spindle_top.png index e31b44f..4571a77 100644 Binary files a/img/gnal_100ft_v3_spindle_top.png and b/img/gnal_100ft_v3_spindle_top.png differ diff --git a/img/gnal_100ft_v3_top.png b/img/gnal_100ft_v3_top.png index 5ac4270..a2dc8e6 100644 Binary files a/img/gnal_100ft_v3_top.png and b/img/gnal_100ft_v3_top.png differ diff --git a/notes/v3.csv b/notes/v3.csv index 71ebc97..a8d8067 100644 --- a/notes/v3.csv +++ b/notes/v3.csv @@ -1,17 +1,23 @@ -version,cpu,file,file_hash,file_size,source_hash,source_size,facets,volume,render_time -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_spindle_bottom.stl,06424e6ddf76a857fc3b9bc5e5346e74c04ce48eabcbb80b94676b3088277ef6,3760384,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,75206,4134.077637,1291 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_spindle_top.stl,be80982ec5cdad509266021300fcd7519981092e0fcc45f8180b342b10446e8b,6915384,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,138306,22229.814453,1128 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_spacer.stl,227b24571911a243312d4945dfbe020cf1dedee17b745f37ae6aa5d4ff4dfda6,286884,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,5736,2888.150635,62 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_top.stl,7bdad60d3f656d2a6f596f91265c9ff646b70980fa21017d4d9dc4039efefc09,1104884,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,22096,57933.800781,585 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_spiral.stl,f97986b3f90f765e5510b3a10940203e16fc1fe2300ea04e5977c538ac4325d3,9500384,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,190006,171712.140625,1111 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_insert_s8.stl,8803f73172ec6aa44f70b389210bc55bd7541a9d76924bd3ea056a5615986592,1361584,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,27230,3493.544922,276 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_insert_16.stl,ed6a80eac3b2c82dc3be22130f1d0fe6e44c37016b27522a95a5f268c23c83be,2071384,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,41426,4665.019531,439 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/50ft_v3/gnal_50ft_spacer_16.stl,d9b8c412792f6b6d3b9817fc7f8e0f1b431202844374f44800da97caad3b15e8,602084,09f2e406d8a1ba16229d89fcb1aa36e635dcd185811b98e41224cb7bbf72f315,8420,12040,4019.470703,281 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_spindle_bottom.stl,df189c1345ab5da921857fb837a3814bbfdc9fd9da8eb5bbaf6cf63c2347859e,3760384,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,75206,4134.064941,1275 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_spindle_top.stl,bad92e882e26ee489d7625e65f40c035b6e7c632473f3db6d0b3633eab9d8411,6979184,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,139582,22229.773438,1139 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_spacer.stl,dda2654f9209e8b17515f42cd7602d59b542630469b1f848442665a6ce2b2158,286884,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,5736,2888.143555,63 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_top.stl,bc39a67711877624917866f3ce80e4164c165969f52cf0e34b7e7fb65b0b1565,1620084,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,32400,102557.437500,998 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_spiral.stl,bf12d37e85d88a3d9aeccbf2e0661e9bb8aae7a919dbc9a065c7919b0e0321c3,18364384,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,367286,326573.812500,3746 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_insert_s8.stl,64e954bbe40e104e7a3fc571420ea71841e752c443b2f3bbc54b7a7f316bdc02,1361584,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,27230,3493.548340,272 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_insert_16.stl,3a0474be55afc9fd8217149dddd474530e8259e217d9a861d39f7e933b5da741,2071384,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,41426,4664.790527,450 -2020.08.18,Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz,./stl/100ft_v3/gnal_100ft_spacer_16.stl,b6272b501d6c4dcd86369c9a9b21b355f941fbaf60abca9f88c43a22ddbc443b,755684,a435a7d28947374c724e7618466d7f38d4fb5eb1f5bbaacb9061ef58dab3f8e2,11728,15112,4019.479248,368 +openscad,cpu,stl,stl_hash,stl_size,source_hash,source_size,facets,volume,render_time,commit +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spindle_bottom.stl,acb87696d7018c4075fe7a5b805c2b4b9f9461bb00b8cc13f1311a59bcc5911e,3748384,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,74966,4303.875977,264,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spindle_top.stl,b5d22abdd6bfc86aaf7abf03e1bc4f44f32997cd498a859ef72d9791d4c6c809,6918984,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,138378,22225.964844,319,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spindle_single.stl,73456df963eac39ca5fd60cae7098ef85d0555e478e7111c50a0da11233b868e,5963084,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,119260,26349.712891,306,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spindle_stacking.stl,4d80c9798ac9877230e2de70ea5b95f066fe1a294d11d220feae0ef6fec94889,2968184,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,59362,8448.288086,206,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_insert_s8.stl,a2dd82c2fe9a9f66ed1b9ef98ab008314eadd50d3f109e7a00e097dd33dd8ced,1361584,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,27230,3286.772461,55,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_insert_16.stl,011ce17a4c083d226bb131a92962d831ebf280fb923a32c19e5d39ffa82d2fbb,2071384,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,41426,4355.436523,91,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spacer.stl,f22165803ac56a1bec0b9efbb3615c10256850ea19f6d28cfc16ffb8894e9cd8,286884,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,5736,2888.156250,14,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spacer_16.stl,43b1ea67592d6d68e0c1e2e0c3d73e8414c4771126245a4c85b72ba98409878a,605284,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,12104,3951.205566,52,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_insert_single.stl,8e71d04042e1e41bdb88e991871ca63cf97cd2213c719bbedc1d18be4c755eb1,1362184,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,27242,2946.449707,98,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_top.stl,570de760a862220ba22e88625196e0ddda74976950889998c327232c7fde3638,1104884,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,22096,57933.875000,109,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/50ft_v3/gnal_50ft_spiral.stl,9f0990ad3bcecb3e7eb706e79da5f1e802ecf867198c8cb53c3a3979565b43ae,9493184,fa01c1fcd2f664dc525042ccdea21ac0a0cb12a28f03260c0426b587a0368c43,8328,189862,172539.781250,836,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spindle_bottom.stl,5218e3383e46b13bdeadc2166531c11d2aea4eafb8e4c7346e9a5e6536fc9805,3748384,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,74966,4303.873535,270,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spindle_top.stl,8dbd307cf5aaec9099e901909fdc6472dd7e0fc487b890be00443c99790776a7,6982784,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,139654,22226.011719,334,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spindle_single.stl,af5245e9b1f4aee95ef73d88fca51e9b2036f71a587f55853742bde7b19e22a3,6026884,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,120536,26350.066406,328,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spindle_stacking.stl,1b440745d0c251fb2986f63b15de196a958d5726088a660c4ae0e92da11706a9,2968184,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,59362,8448.282227,203,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_insert_s8.stl,d53020825b2abadcab80e5a256af23b5ae4faa7c207268c6bcecf742be1d73b4,1361584,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,27230,3286.773926,56,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_insert_16.stl,3a810cb106d6713a389b2f60139a19733d8d357ee7fc5d1a481b8a75fda40b8e,2071384,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,41426,4355.436035,89,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spacer.stl,665cbe1e8ad4ff401939d64b725540fa6ba4d77aee4d265de1b92a8a0a880f6a,286884,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,5736,2888.155518,14,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spacer_16.stl,cb1bae331e85d92b9581f7c199b8fee2045b720a89d1a0588ab38df6241f938b,755684,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,15112,3951.218750,72,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_insert_single.stl,4f68f9cb0d3b042a2e8527389b9a148e674670ddd4579c51e6e4cf60150bd3fa,1362184,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,27242,2946.450684,94,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_top.stl,f79c78fcd614d9a2ae0a4df293696f443b3a23e46849caaaee3cd81df310a80d,1620084,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,32400,102557.703125,187,9d9e5e2 +2021.01,AMD Ryzen 7 3700X 8-Core Processor,./stl/100ft_v3/gnal_100ft_spiral.stl,e9c33c69bcc11f1f3273427dc6bab46d1fdd6fe955467402fac880dd0a9d2460,18336384,f6079933217206a4c314ba11d758a35f002be4442ef54928c7f443e9bd4c0fce,10795,366726,327833.812500,4682,9d9e5e2 diff --git a/scripts/deps.sh b/scripts/deps.sh index df4dc38..d978cb0 100644 --- a/scripts/deps.sh +++ b/scripts/deps.sh @@ -12,6 +12,7 @@ DEPS=( sqlite3 admesh openscad + bc ) for dep in ${DEPS[@]}; do diff --git a/scripts/v3.sh b/scripts/v3.sh index 98ded4a..20a750d 100644 --- a/scripts/v3.sh +++ b/scripts/v3.sh @@ -14,6 +14,7 @@ DIST=./stl CSG=./csg IMG=./img NOTES=./notes/${V}.csv +DB="./notes/renders.sqlite" STEP=false LOGGING=true @@ -35,12 +36,21 @@ FILES=( ) SIZES=( "50ft" "100ft" ) + mkdir -p "${DIST}" if [ $STEP = true ]; then mkdir -p "${CSG}" fi +if [[ ! -f "${DB}" ]]; then + cat "./notes/setup.sql" | sqlite3 "${DB}" +fi + +db () { + sqlite3 "${DB}" "${1}" +} + render_part () { scad="${1}" SIZE="${2}" @@ -65,8 +75,11 @@ render_part () { fileSize=`echo $fileSize | xargs` if ! [ -x "$(command -v admesh)" ]; then - facets="N/A" - volume="N/A" + facets="-1" + volume="-1" + X="-1" + Y="-1" + Z="-1" else firstline=`head -n 1 "$stl"` if [[ $firstline == solid* ]]; then @@ -89,16 +102,70 @@ render_part () { ao=`admesh -c "$stl"` facets=`echo "$ao" | grep "Number of facets" | awk '{print $5}'` volume=`echo "$ao" | grep "Number of parts" | awk '{print $8}'` + + minX=`echo "$ao" | grep "Min X" | awk '{print $4}'` + minX=`echo "${minX//,/}"` + maxX=`echo "$ao" | grep "Min X" | awk '{print $8}'` + minY=`echo "$ao" | grep "Min Y" | awk '{print $4}'` + minY=`echo "${minY//,/}"` + maxY=`echo "$ao" | grep "Min Y" | awk '{print $8}'` + minZ=`echo "$ao" | grep "Min Z" | awk '{print $4}'` + minZ=`echo "${minZ//,/}"` + maxZ=`echo "$ao" | grep "Min Z" | awk '{print $8}'` + X=`echo "scale=5;($maxX)-($minX)" | bc` + Y=`echo "scale=5;($maxY)-($minY)" | bc` + Z=`echo "scale=5;($maxZ)-($minZ)" | bc` fi hash=`sha256sum "$stl" | awk '{ print $1 }'` + commit=`git rev-parse --short HEAD` if [ ${LOGGING} = true ]; then - line="${VERSION},${CPU},$stl,$hash,$fileSize,$srchash,$srcsize,$facets,$volume,$runtime" + line="${VERSION},${CPU},$stl,$hash,$fileSize,$srchash,$srcsize,$facets,$volume,$runtime,$commit" echo "$line" >> $NOTES echo "$line" fi + TIME=`date '+%s'` + QUERY="INSERT OR IGNORE INTO renders ( \ + time, \ + commit_id, \ + source, \ + model, \ + stl, \ + stl_size, \ + facets, \ + volume, \ + x, \ + y, \ + z, \ + render_time, \ + source_hash, \ + stl_hash, \ + openscad, \ + cpu \ + ) \ + VALUES ( \ + $TIME, \ + '$commit', \ + '$scad', \ + '$FILE', \ + '$stl', \ + $fileSize, \ + $facets, \ + $volume, \ + $X, \ + $Y, \ + $Z, \ + $runtime, \ + '$srchash', \ + '$hash', \ + '$VERSION', \ + '$CPU' \ + )" + #echo -n "${QUERY}" + db "${QUERY}" + if [ ${STEP} = true ] && [[ "${FILE}" == "spiral" ]]; then mkdir -p "${CSG}/${SIZE}_${V}/" start=`date +%s` @@ -129,6 +196,9 @@ if [[ "${1}" != "" ]]; then LOGGING=false SIZE="${1}" scad="./scad/${SIZE}_${V}/gnal_${SIZE}.scad" + srchash=`sha256sum "${scad}" | awk '{ print $1 }'` + srcsize=`wc -c < "${scad}"` + srcsize=`echo $srcsize | xargs` mkdir -p "${DIST}/${SIZE}_${V}" if [[ "${2}" != "" ]]; then @@ -142,7 +212,7 @@ if [[ "${1}" != "" ]]; then exit 0 fi -echo "version,cpu,file,file_hash,file_size,source_hash,source_size,facets,volume,render_time" > $NOTES +echo "openscad,cpu,stl,stl_hash,stl_size,source_hash,source_size,facets,volume,render_time,commit" > $NOTES for SIZE in "${SIZES[@]}" do diff --git a/stl/100ft_v3/gnal_100ft_insert_16.stl b/stl/100ft_v3/gnal_100ft_insert_16.stl index f3860aa..96bc1f2 100644 Binary files a/stl/100ft_v3/gnal_100ft_insert_16.stl and b/stl/100ft_v3/gnal_100ft_insert_16.stl differ diff --git a/stl/100ft_v3/gnal_100ft_insert_s8.stl b/stl/100ft_v3/gnal_100ft_insert_s8.stl index 6aaf923..e9606d4 100644 Binary files a/stl/100ft_v3/gnal_100ft_insert_s8.stl and b/stl/100ft_v3/gnal_100ft_insert_s8.stl differ diff --git a/stl/100ft_v3/gnal_100ft_insert_single.stl b/stl/100ft_v3/gnal_100ft_insert_single.stl new file mode 100644 index 0000000..bf17fb1 Binary files /dev/null and b/stl/100ft_v3/gnal_100ft_insert_single.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spacer.stl b/stl/100ft_v3/gnal_100ft_spacer.stl index 078d2be..00a8d22 100644 Binary files a/stl/100ft_v3/gnal_100ft_spacer.stl and b/stl/100ft_v3/gnal_100ft_spacer.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spacer_16.stl b/stl/100ft_v3/gnal_100ft_spacer_16.stl index 66fe4b6..ec9fc82 100644 Binary files a/stl/100ft_v3/gnal_100ft_spacer_16.stl and b/stl/100ft_v3/gnal_100ft_spacer_16.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spindle_bottom.stl b/stl/100ft_v3/gnal_100ft_spindle_bottom.stl index 5f2ba6b..d1f4011 100644 Binary files a/stl/100ft_v3/gnal_100ft_spindle_bottom.stl and b/stl/100ft_v3/gnal_100ft_spindle_bottom.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spindle_single.stl b/stl/100ft_v3/gnal_100ft_spindle_single.stl new file mode 100644 index 0000000..7ec596f Binary files /dev/null and b/stl/100ft_v3/gnal_100ft_spindle_single.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spindle_stacking.stl b/stl/100ft_v3/gnal_100ft_spindle_stacking.stl new file mode 100644 index 0000000..d82d9bb Binary files /dev/null and b/stl/100ft_v3/gnal_100ft_spindle_stacking.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spindle_top.stl b/stl/100ft_v3/gnal_100ft_spindle_top.stl index 6770126..3870f20 100644 Binary files a/stl/100ft_v3/gnal_100ft_spindle_top.stl and b/stl/100ft_v3/gnal_100ft_spindle_top.stl differ diff --git a/stl/100ft_v3/gnal_100ft_spiral.stl b/stl/100ft_v3/gnal_100ft_spiral.stl index cce39e5..8a9a151 100644 Binary files a/stl/100ft_v3/gnal_100ft_spiral.stl and b/stl/100ft_v3/gnal_100ft_spiral.stl differ diff --git a/stl/100ft_v3/gnal_100ft_top.stl b/stl/100ft_v3/gnal_100ft_top.stl index abd4fe2..aa19ace 100644 Binary files a/stl/100ft_v3/gnal_100ft_top.stl and b/stl/100ft_v3/gnal_100ft_top.stl differ diff --git a/stl/50ft_v3/gnal_50ft_spiral.stl b/stl/50ft_v3/gnal_50ft_spiral.stl index 75bdca5..4b0ba8c 100644 Binary files a/stl/50ft_v3/gnal_50ft_spiral.stl and b/stl/50ft_v3/gnal_50ft_spiral.stl differ diff --git a/stl/50ft_v3/gnal_50ft_top.stl b/stl/50ft_v3/gnal_50ft_top.stl index f4c7260..260f862 100644 Binary files a/stl/50ft_v3/gnal_50ft_top.stl and b/stl/50ft_v3/gnal_50ft_top.stl differ