File tree 3 files changed +2494
-1
lines changed
3 files changed +2494
-1
lines changed Original file line number Diff line number Diff line change 26
26
< script type ="text/javascript " src ="lib/bootstrap.js "> </ script >
27
27
< script type ="text/javascript " src ="lib/modernizr.custom.09684.js "> </ script >
28
28
< script type ="text/javascript " src ="lib/TrackballControls.js "> </ script >
29
+ < script type ="text/javascript " src ="lib/zlib.min.js "> </ script >
29
30
< script type ="text/javascript " src ="js/ui.js "> </ script >
30
31
< script type ="text/javascript " src ="js/gCodeReader.js "> </ script >
31
32
< script type ="text/javascript " src ="js/renderer.js "> </ script >
Original file line number Diff line number Diff line change @@ -128,7 +128,30 @@ GCODE.gCodeReader = (function(){
128
128
}
129
129
130
130
var getParamsFromCura = function ( gcode ) {
131
+ // console.log("cura");
132
+ var profileString = gcode . match ( / C U R A _ P R O F I L E _ S T R I N G : ( (?: [ A - Z a - z 0 - 9 + / ] { 4 } ) * (?: [ A - Z a - z 0 - 9 + / ] { 2 } = = | [ A - Z a - z 0 - 9 + / ] { 3 } = | [ A - Z a - z 0 - 9 + / ] { 4 } ) ) / m) ;
133
+ if ( profileString ) {
134
+ var raw = window . atob ( profileString [ 1 ] ) ;
135
+ var array = new Uint8Array ( new ArrayBuffer ( raw . length ) ) ;
131
136
137
+ for ( i = 0 ; i < raw . length ; i ++ ) {
138
+ array [ i ] = raw . charCodeAt ( i ) ;
139
+ }
140
+ var data = new Zlib . inflate ( array . subarray ( 2 , array . byteLength - 4 ) ) ;
141
+ var msg ;
142
+ for ( i = 0 ; i < data . length ; i += 1 ) {
143
+ msg += String . fromCharCode ( data [ i ] ) ;
144
+ }
145
+ var nozzle = msg . match ( / n o z z l e _ s i z e \s * = \s * ( \d * \. \d + ) / m) ;
146
+ if ( nozzle ) {
147
+ gCodeOptions [ 'nozzleDia' ] = nozzle [ 1 ] ;
148
+ }
149
+ var filament = msg . match ( / f i l a m e n t _ d i a m e t e r \s * = \s * ( \d * \. \d + ) / m) ;
150
+ if ( filament ) {
151
+ gCodeOptions [ 'filamentDia' ] = filament [ 1 ] ;
152
+ }
153
+
154
+ }
132
155
}
133
156
134
157
var detectSlicer = function ( gcode ) {
@@ -142,7 +165,7 @@ GCODE.gCodeReader = (function(){
142
165
} else if ( gcode . match ( / s k e i n f o r g e / ) ) {
143
166
slicer = 'skeinforge' ;
144
167
getParamsFromSkeinforge ( gcode ) ;
145
- } else if ( gcode . match ( / C u r a / ) ) {
168
+ } else if ( gcode . match ( / C U R A _ P R O F I L E _ S T R I N G / ) ) {
146
169
slicer = 'cura' ;
147
170
getParamsFromCura ( gcode ) ;
148
171
} else if ( gcode . match ( / M i r a c l e / ) ) {
You can’t perform that action at this time.
0 commit comments