Commit Graph

469 Commits

Author SHA1 Message Date
casperlamboo
30645f634a Updated API
@peteruithoven @mith

I think this is a somewhat nicer API for the slicer. I completely
removed the Slicer class and instead added two function: sliceGeometry
and sliceMesh
2017-07-20 10:29:33 +02:00
casperlamboo
0564f3e7bc fix onProgress handling in slice function 2017-07-20 00:06:19 +02:00
casperlamboo
a79308dc8f better error handling 2017-07-20 00:05:50 +02:00
casperlamboo
d7a525f75b camel casing 2017-07-19 20:54:39 +02:00
casperlamboo
e4880106f1 remove progress promise
@mith @peteruithoven
2017-07-19 20:54:21 +02:00
casperlamboo
c390cc335a increase total stages because step is added 2017-07-19 17:37:40 +02:00
casperlamboo
8c57e16998 cleanup Slicer 2017-07-19 17:36:20 +02:00
casperlamboo
3f140d7f03 don't catch result of void detectOpenClosed function 2017-07-19 17:36:03 +02:00
casperlamboo
8e45881a45 pre calculate outer lines 2017-07-19 17:33:55 +02:00
casperlamboo
44197dd5e4 remove unnecessary new key word 2017-07-19 11:50:23 +02:00
casperlamboo
fdbb1469ee format settings deconstructing 2017-07-19 11:04:13 +02:00
casperlamboo
3b4dbc0d4a fix settings deconstructing 2017-07-19 11:03:16 +02:00
casperlamboo
1e16c741a0 move helper classes to helper folder 2017-07-19 11:02:42 +02:00
casperlamboo
73f0433e00 wrap progress in object
So data could be extended in the future
2017-07-19 11:02:14 +02:00
casperlamboo
83f543b62b fix isFlat check 2017-07-18 16:55:27 +02:00
casperlamboo
1d2a9ba965 use npm version of three.js 2017-07-18 12:38:03 +02:00
casperlamboo
0a041ddae0 update progress api 2017-07-18 12:26:30 +02:00
casperlamboo
4a238f9089 remove settings class 2017-07-18 11:39:38 +02:00
casperlamboo
622be82706 Merge remote-tracking branch 'origin/feature/split-settings' into develop
# Conflicts:
#	example/save.js
#	example/viewer.js
#	jspm.config.js
#	package.json
#	src/GCode.js
#	src/Slicer.js
#	src/index.js
#	src/sliceActions/addBrim.js
#	src/sliceActions/calculateLayersIntersections.js
#	src/sliceActions/createLines.js
#	src/sliceActions/detectOpenClosed.js
#	src/sliceActions/generateInfills.js
#	src/sliceActions/generateInnerLines.js
#	src/sliceActions/generateSupport.js
#	src/sliceActions/intersectionsToShapes.js
#	src/sliceActions/removePrecision.js
#	src/sliceActions/slice.js
2017-07-18 11:26:11 +02:00
casperlamboo
94181d6660 update save example 2017-07-18 10:34:20 +02:00
casperlamboo
0f579b8055 update detect open closed shapes logic 2017-07-18 10:23:16 +02:00
casperlamboo
8b9b789c56 remove unused three js imports 2017-07-17 16:18:44 +02:00
casperlamboo
87f7f2f906 Fix geometry type check
#21
2017-07-17 15:22:13 +02:00
Rick Companje
f3c0960512 set default top thickness to 1.2 2017-07-13 18:12:45 +02:00
Rick Companje
a216ee0e94 fixed typo 'high' and added fill.gridSize:0.15 2017-07-13 17:56:57 +02:00
Rick Companje
cd3c2d8cb4 fixed typo in title of Renkforce RF100 printer 2017-07-13 15:59:07 +02:00
Rick Companje
f374139238 added custom dimensions for Renkforce printer 2017-07-12 12:54:20 +02:00
Rick Companje
8cf264b437 renamed 'title' of 'Ultimaker' to 'Ultimaker Original' 2017-07-12 10:45:20 +02:00
Simon Voordouw
cff8dfffc0 map old config names to new split settings 2017-07-11 17:19:05 +02:00
Simon Voordouw
f87a9c0a56 don't export settings object 2017-07-11 13:49:21 +02:00
Simon Voordouw
d47c8ca07b replace default settings in json with split yml files 2017-07-10 16:07:38 +02:00
Simon Voordouw
dc99f417da add progress reporting 2017-07-04 14:19:07 +02:00
Simon Voordouw
1f206e5784 remove erronous bracket 2017-06-22 14:06:26 +02:00
Simon Voordouw
3f998bd604 add low, medium and high quality setting profiles 2017-06-22 13:43:45 +02:00
casperlamboo
5fda1b3729 make variables private in GCode.js 2017-06-22 13:22:17 +02:00
casperlamboo
2284eb16fb clean up 2017-06-22 13:22:17 +02:00
casperlamboo
3e52a11a9b typo 2017-06-22 13:22:17 +02:00
casperlamboo
55b63ac8ad properly check for undefined 2017-06-22 13:22:17 +02:00
casperlamboo
b4b6e59807 update add brim code 2017-06-22 13:22:17 +02:00
casperlamboo
4825222b09 use includes instead of indexOf 2017-06-22 13:22:17 +02:00
casperlamboo
1fa98ae6de move merge vertices and compute normals to slice actions 2017-06-22 13:22:17 +02:00
casperlamboo
8b3a33eb86 Better detection of open closed shapes
when a ‘single walled’,  ‘closed’ shape is sliced the shape will appear
to be closed by the slicer. This happens because the start and endpoint
of the 2d shape are connected. This commits fixes this.

In the new approach al parts of the geometry are split up into shapes.
Then the 3d shapes are places into two categories (closed and open
geometries).

Based on weather the 3d geometry is open or closed the 2d shape will be
open or closed

@mith @peteruithoven
2017-06-22 13:22:17 +02:00
casperlamboo
4fb2caee53 re enable applying and removing precision for open shapes 2017-06-22 13:22:17 +02:00
casperlamboo
f0b23647bb fix setting replace code 2017-06-22 13:22:17 +02:00
casperlamboo
922111c3e3 Don't scale up or scale down open shapes 2017-06-22 13:22:17 +02:00
casperlamboo
04a66da688 always start first layer on Z0.2 2017-06-22 13:22:17 +02:00
casperlamboo
ca7c02c0d7 Don't clean open shapes 2017-06-22 13:22:17 +02:00
casperlamboo
ba2467b923 store calculation in const 2017-06-22 13:22:17 +02:00
casperlamboo
a14cf8448d remove unused variable 2017-06-22 13:22:17 +02:00
casperlamboo
e1336581dc simplify getOutline function 2017-06-22 13:22:17 +02:00
casperlamboo
0c1c47c0c1 Scale down open paths 2017-06-22 13:22:17 +02:00
casperlamboo
33feeb94d1 increase clean delta 2017-06-22 13:22:17 +02:00
casperlamboo
0bc84ed0a2 normalize cleanDelta with precision 2017-06-22 13:21:19 +02:00
casperlamboo
f70723d6dc clean after simplify 2017-06-22 13:21:19 +02:00
casperlamboo
c8af1b422a fix construction of clipper paths 2017-06-22 13:21:19 +02:00
casperlamboo
d8e95e3e76 replace tabs with spaces 2017-06-22 13:21:19 +02:00
Simon Voordouw
9210504ea4 update dependencies and fix Three.js imports 2017-06-22 13:21:19 +02:00
casperlamboo
b7ab01c39d use simplify('pftNonZero') instead of deprecated removeOverlap function 2017-06-22 13:21:19 +02:00
casperlamboo
a9ae3b220e update three.js 2017-06-22 13:21:19 +02:00
casperlamboo
b3300decb7 don't calculate 1 - alpha twice 2017-06-22 13:21:19 +02:00
casperlamboo
2fc909c45d prettify 2017-06-22 13:21:18 +02:00
casperlamboo
785898f466 fix indenting 2017-06-22 13:21:18 +02:00
casperlamboo
de2f2ceafd remove enter 2017-06-22 13:21:18 +02:00
casperlamboo
6af54e2362 rename sliceWorker to slicerWorker 2017-06-22 13:21:18 +02:00
casperlamboo
f4db432e24 add all optional arguments in Shape constructor 2017-06-22 13:21:18 +02:00
casperlamboo
0f69526cbb add break property to switch 2017-06-22 13:21:18 +02:00
casperlamboo
29e46217f8 use mapToLower to get path data 2017-06-22 13:21:18 +02:00
casperlamboo
4c4cd96ddf added map to lower argument 2017-06-22 13:21:18 +02:00
casperlamboo
a7c1a9b4fd splice slice sync and slice async 2017-06-22 13:21:18 +02:00
casperlamboo
e457994496 implement async slicing 2017-06-22 13:21:18 +02:00
casperlamboo
c6a9d5adb8 reorganize folders and make Slicer.slice promise 2017-06-22 13:21:18 +02:00
casperlamboo
49dd54ade5 add capital to constructor functions 2/2 2017-06-22 13:21:18 +02:00
casperlamboo
9c9474c201 add capital to constructor functions 1/2 2017-06-22 13:21:18 +02:00
casperlamboo
00a5049f50 change settings 2017-06-22 13:21:18 +02:00
casperlamboo
a4d345b018 replace event dispatcher 2017-06-22 13:21:18 +02:00
casperlamboo
b3b03df255 remove spaces
comply with linter
2017-06-22 13:21:18 +02:00
casperlamboo
35a50f222e instance check instead of type check 2017-06-22 13:21:18 +02:00
casperlamboo
0553076c57 better error handling 2017-06-22 13:21:18 +02:00
casperlamboo
37fb7e162a update config handling 2017-06-22 13:21:18 +02:00
casperlamboo
ef09d7216a update to jspm 0.17 2017-06-22 13:21:18 +02:00
casperlamboo
0ec47b88e7 remove line breaks 2017-06-22 13:21:18 +02:00
casperlamboo
597df613c9 remove line breaks 2017-06-22 13:21:18 +02:00
casperlamboo
83fa401071 remove line breaks 2017-06-22 13:21:18 +02:00
casperlamboo
c44e3ecb40 include settings in lib 2017-06-22 13:21:18 +02:00
casperlamboo
4da6f9700b fix subsitute variables 2017-06-22 13:21:18 +02:00
casperlamboo
726b30621c move set settings to constructor 2017-06-22 13:21:18 +02:00
casperlamboo
be1d1bbac3 fix code 2017-06-22 13:21:18 +02:00
casperlamboo
bea2a953a1 use deconstion in code 2017-06-22 13:21:18 +02:00
casperlamboo
7ddd97549a use single quotes 2017-06-22 13:21:18 +02:00
casperlamboo
c284c784fd use deconstruction 2017-06-22 13:21:18 +02:00
casperlamboo
9ab23e56f6 use deconstruction in move 2017-06-22 13:21:18 +02:00
casperlamboo
aba32d9a21 remove worker 2017-06-22 13:21:18 +02:00
casperlamboo
66cfe4d883 update settings 2017-06-22 13:21:18 +02:00
casperlamboo
41de708903 remove slicer worker from index 2017-06-22 13:21:18 +02:00
casperlamboo
a5992ee511 remove unused code 2017-06-22 13:21:18 +02:00
casperlamboo
401e42cfef implement optimize paths 2017-06-22 13:21:18 +02:00
casperlamboo
9711b9631d use destructure in add brim 2017-06-22 13:21:18 +02:00
casperlamboo
eaf1af1412 add action log 2017-06-22 13:21:18 +02:00
casperlamboo
dd71c872d4 move file 2017-06-22 13:21:18 +02:00
casperlamboo
16e0c9696a remove comment 2017-06-22 13:21:18 +02:00
casperlamboo
9eef3c0074 remove line break 2017-06-22 13:21:18 +02:00
casperlamboo
637b757215 remove constructor 2017-06-22 13:21:18 +02:00
casperlamboo
16847c624f remove update progress code
want to implement this in a different way
2017-06-22 13:21:18 +02:00
casperlamboo
604bce6a1a move support enabled check 2017-06-22 13:21:18 +02:00
casperlamboo
f3796f80e8 typo 2017-06-22 13:21:18 +02:00
casperlamboo
32f6e6c4ba fix action log 2017-06-22 13:21:18 +02:00
casperlamboo
d60c2d46d0 move scale up and scale down to separate function 2017-06-22 13:21:18 +02:00
casperlamboo
492a09cce9 move brim code to separate function 2017-06-22 13:21:18 +02:00
casperlamboo
78052f79e8 use default dimensionsZ name 2017-06-22 13:21:18 +02:00
casperlamboo
f22a40fa73 move down path to code 2017-06-22 13:21:18 +02:00
casperlamboo
dafbaacd42 comment optimize path code 2017-06-22 13:21:18 +02:00
casperlamboo
8785b1baee remove line break 2017-06-22 13:21:18 +02:00
casperlamboo
c2c432a6fe update create lines 2017-06-22 13:21:18 +02:00
casperlamboo
af396bf58a cleanup calculate layers intersections 2017-06-22 13:21:18 +02:00
casperlamboo
bc798930fb cleanup slicer 2017-06-22 13:21:18 +02:00
casperlamboo
042db46c04 cleanup slice 2017-06-22 13:21:18 +02:00
casperlamboo
7e9bb39ba9 cleanup slices to geode 2017-06-22 13:21:18 +02:00
casperlamboo
1056be13bd implement constants 2017-06-22 13:21:18 +02:00
casperlamboo
a064306d60 single quotes 2017-06-22 13:21:18 +02:00
casperlamboo
d33ab23ddf else on one line 2017-06-22 13:21:18 +02:00
casperlamboo
3ea0d33610 replace vars with const and let 2017-06-22 13:21:18 +02:00
casperlamboo
a0d469c85c fix infills 2017-06-22 13:21:18 +02:00
casperlamboo
cf38ea9e96 replace var with const 2017-06-22 13:21:18 +02:00
casperlamboo
9e6dcf08f9 fix get fill template 2017-06-22 13:21:18 +02:00
casperlamboo
3f43477ef6 fix join 2017-06-22 13:21:18 +02:00
casperlamboo
f1475e8b97 remove unused imports 2017-06-22 13:21:18 +02:00
casperlamboo
ae45f6bcf8 rafacter 2017-06-22 13:21:18 +02:00
casperlamboo
8fb0c6090a simplified add gcode 2017-06-22 13:21:18 +02:00
casperlamboo
4747d072b9 geplakt var with const or let in createLines 2017-06-22 13:21:18 +02:00
casperlamboo
87b8f1f29b remove var for const or let in calculateLayerIntersections.js 2017-06-22 13:21:18 +02:00
casperlamboo
f1e5d8a47a use deconstructs 2017-06-22 13:21:18 +02:00
casperlamboo
be77d6eeb5 move adeline to separate file 2017-06-22 13:21:18 +02:00
casperlamboo
ed76a9f255 use s6 string 2017-06-22 13:21:18 +02:00
casperlamboo
61e7a59177 implemented event dispatcher 2017-06-22 13:21:18 +02:00
casperlamboo
9e23664938 remove spaces 2017-06-22 13:21:18 +02:00
casperlamboo
0900eda91d separate into actions into different files 2017-06-22 13:21:18 +02:00
casperlamboo
ed5d5e4c42 added detection for inside-out models 2017-06-22 13:21:18 +02:00
casperlamboo
d367fbe021 updated to three.js r72 2017-06-22 13:21:18 +02:00
casperlamboo
4526307df4 fixed clipper alert error 2017-06-22 13:21:18 +02:00
casperlamboo
3ae51e056d cloned outline
cloned outline so pointers get lost
2017-06-22 13:21:18 +02:00
casperlamboo
b119c3d673 fixed https://github.com/Doodle3D/Doodle3D-Slicer/issues/12
fixed https://github.com/Doodle3D/Doodle3D-Slicer/issues/12
2017-06-22 13:21:18 +02:00
casperlamboo
b73f38e2f3 implemented better hole detection system 2017-06-22 13:21:18 +02:00
casperlamboo
84d1a45d49 fixed bug in shell thickness 2017-06-22 13:21:18 +02:00
casperlamboo
2c65ac740f Fixed bug in constucting low/high fill areas 2017-06-22 13:21:18 +02:00
casperlamboo
032f896bb4 fixed closed lines detected as open lines
fixed https://github.com/Doodle3D/Doodle3D-Slicer/issues/10
2017-06-22 13:21:18 +02:00
casperlamboo
c61ee24944 updated webworkers 2017-06-22 13:21:18 +02:00
casperlamboo
5c413267d0 improved slicing algoritm 2017-06-22 13:21:18 +02:00
casperlamboo
a70cf6325a fixed bug in open lines 2017-06-22 13:21:18 +02:00
casperlamboo
5f4c366132 Improved hole detection algorithm 2017-06-22 13:21:18 +02:00
casperlamboo
0d59a48009 Moved To ES6 2017-06-22 13:21:18 +02:00