fdmprinter.def.json 197 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864
  1. {
  2. "id": "fdmprinter",
  3. "name": "FDM Printer Base Description",
  4. "version": 2,
  5. "metadata":
  6. {
  7. "type": "machine",
  8. "author": "Ultimaker B.V.",
  9. "category": "Ultimaker",
  10. "manufacturer": "Ultimaker",
  11. "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj;application/x3g",
  12. "visible": false,
  13. "preferred_material": "pla",
  14. "preferred_quality": "normal",
  15. "machine_extruder_trains":
  16. {
  17. "0": "fdmextruder"
  18. }
  19. },
  20. "settings":
  21. {
  22. "machine_settings":
  23. {
  24. "label": "Machine",
  25. "type": "category",
  26. "description": "Machine specific settings",
  27. "icon": "category_machine",
  28. "children":
  29. {
  30. "machine_show_variants":
  31. {
  32. "label": "Show machine variants",
  33. "description": "Whether to show the different variants of this machine, which are described in separate json files.",
  34. "default_value": false,
  35. "type": "bool",
  36. "settable_per_mesh": false,
  37. "settable_per_extruder": false,
  38. "settable_per_meshgroup": false
  39. },
  40. "machine_start_gcode":
  41. {
  42. "label": "Start GCode",
  43. "description": "Gcode commands to be executed at the very start - separated by \\n.",
  44. "default_value": "G28 ;Home\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0",
  45. "type": "str",
  46. "settable_per_mesh": false,
  47. "settable_per_extruder": false,
  48. "settable_per_meshgroup": false
  49. },
  50. "machine_end_gcode":
  51. {
  52. "label": "End GCode",
  53. "description": "Gcode commands to be executed at the very end - separated by \\n.",
  54. "default_value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84",
  55. "type": "str",
  56. "settable_per_mesh": false,
  57. "settable_per_extruder": false,
  58. "settable_per_meshgroup": false
  59. },
  60. "material_guid":
  61. {
  62. "label": "Material GUID",
  63. "description": "GUID of the material. This is set automatically. ",
  64. "default_value": "",
  65. "type": "str",
  66. "enabled": false
  67. },
  68. "material_bed_temp_wait":
  69. {
  70. "label": "Wait for bed heatup",
  71. "description": "Whether to insert a command to wait until the bed temperature is reached at the start.",
  72. "default_value": true,
  73. "type": "bool",
  74. "settable_per_mesh": false,
  75. "settable_per_extruder": false,
  76. "settable_per_meshgroup": false
  77. },
  78. "material_print_temp_wait":
  79. {
  80. "label": "Wait for nozzle heatup",
  81. "description": "Whether to wait until the nozzle temperature is reached at the start.",
  82. "default_value": true,
  83. "type": "bool",
  84. "settable_per_mesh": false,
  85. "settable_per_extruder": false,
  86. "settable_per_meshgroup": false
  87. },
  88. "material_print_temp_prepend":
  89. {
  90. "label": "Include material temperatures",
  91. "description": "Whether to include nozzle temperature commands at the start of the gcode. When the start_gcode already contains nozzle temperature commands Cura frontend will automatically disable this setting.",
  92. "default_value": true,
  93. "type": "bool",
  94. "settable_per_mesh": false,
  95. "settable_per_extruder": false,
  96. "settable_per_meshgroup": false
  97. },
  98. "machine_width":
  99. {
  100. "label": "Machine width",
  101. "description": "The width (X-direction) of the printable area.",
  102. "default_value": 100,
  103. "type": "float",
  104. "settable_per_mesh": false,
  105. "settable_per_extruder": false,
  106. "settable_per_meshgroup": false
  107. },
  108. "machine_depth":
  109. {
  110. "label": "Machine depth",
  111. "description": "The depth (Y-direction) of the printable area.",
  112. "default_value": 100,
  113. "type": "float",
  114. "settable_per_mesh": false,
  115. "settable_per_extruder": false,
  116. "settable_per_meshgroup": false
  117. },
  118. "machine_height":
  119. {
  120. "label": "Machine height",
  121. "description": "The height (Z-direction) of the printable area.",
  122. "default_value": 100,
  123. "type": "float",
  124. "settable_per_mesh": false,
  125. "settable_per_extruder": false,
  126. "settable_per_meshgroup": false
  127. },
  128. "machine_heated_bed":
  129. {
  130. "label": "Has heated bed",
  131. "description": "Whether the machine has a heated bed present.",
  132. "default_value": false,
  133. "type": "bool",
  134. "settable_per_mesh": false,
  135. "settable_per_extruder": false,
  136. "settable_per_meshgroup": false
  137. },
  138. "machine_center_is_zero":
  139. {
  140. "label": "Is center origin",
  141. "description": "Whether the X/Y coordinates of the zero position of the printer is at the center of the printable area.",
  142. "default_value": false,
  143. "type": "bool",
  144. "settable_per_mesh": false,
  145. "settable_per_extruder": false,
  146. "settable_per_meshgroup": false
  147. },
  148. "machine_extruder_count":
  149. {
  150. "label": "Number extruders",
  151. "description": "Number of extruder trains. An extruder train is the combination of a feeder, bowden tube, and nozzle.",
  152. "default_value": 1,
  153. "type": "int",
  154. "settable_per_mesh": false,
  155. "settable_per_extruder": false,
  156. "settable_per_meshgroup": false
  157. },
  158. "machine_nozzle_tip_outer_diameter":
  159. {
  160. "label": "Outer nozzle diameter",
  161. "description": "The outer diameter of the tip of the nozzle.",
  162. "default_value": 1,
  163. "type": "float",
  164. "settable_per_mesh": false,
  165. "settable_per_extruder": true,
  166. "settable_per_meshgroup": false,
  167. "settable_globally": false
  168. },
  169. "machine_nozzle_head_distance":
  170. {
  171. "label": "Nozzle length",
  172. "description": "The height difference between the tip of the nozzle and the lowest part of the print head.",
  173. "default_value": 3,
  174. "type": "float",
  175. "settable_per_mesh": false,
  176. "settable_per_extruder": false,
  177. "settable_per_meshgroup": false
  178. },
  179. "machine_nozzle_expansion_angle":
  180. {
  181. "label": "Nozzle angle",
  182. "description": "The angle between the horizontal plane and the conical part right above the tip of the nozzle.",
  183. "default_value": 45,
  184. "type": "int",
  185. "settable_per_mesh": false,
  186. "settable_per_extruder": false,
  187. "settable_per_meshgroup": false
  188. },
  189. "machine_heat_zone_length":
  190. {
  191. "label": "Heat zone length",
  192. "description": "The distance from the tip of the nozzle in which heat from the nozzle is transfered to the filament.",
  193. "default_value": 16,
  194. "type": "float",
  195. "settable_per_mesh": false,
  196. "settable_per_extruder": true,
  197. "settable_per_meshgroup": false
  198. },
  199. "machine_nozzle_heat_up_speed":
  200. {
  201. "label": "Heat up speed",
  202. "description": "The speed (°C/s) by which the nozzle heats up averaged over the window of normal printing temperatures and the standby temperature.",
  203. "default_value": 2.0,
  204. "unit": "°C/s",
  205. "type": "float",
  206. "settable_per_mesh": false,
  207. "settable_per_extruder": true
  208. },
  209. "machine_nozzle_cool_down_speed":
  210. {
  211. "label": "Cool down speed",
  212. "description": "The speed (°C/s) by which the nozzle cools down averaged over the window of normal printing temperatures and the standby temperature.",
  213. "default_value": 2.0,
  214. "unit": "°C/s",
  215. "type": "float",
  216. "settable_per_mesh": false,
  217. "settable_per_extruder": true
  218. },
  219. "machine_min_cool_heat_time_window":
  220. {
  221. "label": "Minimal Time Standby Temperature",
  222. "description": "The minimal time an extruder has to be inactive before the nozzle is cooled. Only when an extruder is not used for longer than this time will it be allowed to cool down to the standby temperature.",
  223. "default_value": 50.0,
  224. "unit": "s",
  225. "type": "float",
  226. "settable_per_mesh": false,
  227. "settable_per_extruder": true
  228. },
  229. "machine_gcode_flavor":
  230. {
  231. "label": "Gcode flavour",
  232. "description": "The type of gcode to be generated.",
  233. "default_value": "RepRap",
  234. "type": "str",
  235. "settable_per_mesh": false,
  236. "settable_per_extruder": false,
  237. "settable_per_meshgroup": false
  238. },
  239. "machine_disallowed_areas":
  240. {
  241. "label": "Disallowed areas",
  242. "description": "A list of polygons with areas the print head is not allowed to enter.",
  243. "type": "polygons",
  244. "default_value": [],
  245. "settable_per_mesh": false,
  246. "settable_per_extruder": false,
  247. "settable_per_meshgroup": false
  248. },
  249. "machine_head_polygon":
  250. {
  251. "label": "Machine head polygon",
  252. "description": "A 2D silhouette of the print head (fan caps excluded).",
  253. "type": "polygon",
  254. "default_value":
  255. [
  256. [
  257. -1,
  258. 1
  259. ],
  260. [
  261. -1,
  262. -1
  263. ],
  264. [
  265. 1,
  266. -1
  267. ],
  268. [
  269. 1,
  270. 1
  271. ]
  272. ],
  273. "settable_per_mesh": false,
  274. "settable_per_extruder": false,
  275. "settable_per_meshgroup": false
  276. },
  277. "machine_head_with_fans_polygon":
  278. {
  279. "label": "Machine head & Fan polygon",
  280. "description": "A 2D silhouette of the print head (fan caps included).",
  281. "type": "polygon",
  282. "default_value":
  283. [
  284. [
  285. -20,
  286. 10
  287. ],
  288. [
  289. 10,
  290. 10
  291. ],
  292. [
  293. 10,
  294. -10
  295. ],
  296. [
  297. -20,
  298. -10
  299. ]
  300. ],
  301. "settable_per_mesh": false,
  302. "settable_per_extruder": false,
  303. "settable_per_meshgroup": false
  304. },
  305. "gantry_height":
  306. {
  307. "label": "Gantry height",
  308. "description": "The height difference between the tip of the nozzle and the gantry system (X and Y axes).",
  309. "default_value": 99999999999,
  310. "type": "float",
  311. "settable_per_mesh": false,
  312. "settable_per_extruder": false,
  313. "settable_per_meshgroup": false
  314. },
  315. "machine_nozzle_size":
  316. {
  317. "label": "Nozzle Diameter",
  318. "description": "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size.",
  319. "unit": "mm",
  320. "type": "float",
  321. "default_value": 0.4,
  322. "minimum_value": "0.001",
  323. "maximum_value_warning": "10",
  324. "settable_per_mesh": false,
  325. "settable_per_extruder": true
  326. },
  327. "machine_use_extruder_offset_to_offset_coords":
  328. {
  329. "label": "Offset With Extruder",
  330. "description": "Apply the extruder offset to the coordinate system.",
  331. "type": "bool",
  332. "default_value": true,
  333. "settable_per_mesh": false,
  334. "settable_per_extruder": false,
  335. "settable_per_meshgroup": false
  336. },
  337. "extruder_prime_pos_z":
  338. {
  339. "label": "Extruder Prime Z Position",
  340. "description": "The Z coordinate of the position where the nozzle primes at the start of printing.",
  341. "type": "float",
  342. "unit": "mm",
  343. "default_value": 0,
  344. "minimum_value_warning": "0",
  345. "maximum_value": "machine_height",
  346. "settable_per_mesh": false,
  347. "settable_per_extruder": true
  348. },
  349. "extruder_prime_pos_abs":
  350. {
  351. "label": "Absolute Extruder Prime Position",
  352. "description": "Make the extruder prime position absolute rather than relative to the last-known location of the head.",
  353. "type": "bool",
  354. "default_value": false,
  355. "settable_per_mesh": false,
  356. "settable_per_extruder": true
  357. },
  358. "machine_max_feedrate_x": {
  359. "label": "Maximum Speed X",
  360. "description": "The maximum speed for the motor of the X-direction.",
  361. "unit": "mm/s",
  362. "type": "float",
  363. "default_value": 500,
  364. "settable_per_mesh": false,
  365. "settable_per_extruder": false,
  366. "settable_per_meshgroup": false
  367. },
  368. "machine_max_feedrate_y": {
  369. "label": "Maximum Speed Y",
  370. "description": "The maximum speed for the motor of the Y-direction.",
  371. "unit": "mm/s",
  372. "type": "float",
  373. "default_value": 500,
  374. "settable_per_mesh": false,
  375. "settable_per_extruder": false,
  376. "settable_per_meshgroup": false
  377. },
  378. "machine_max_feedrate_z": {
  379. "label": "Maximum Speed Z",
  380. "description": "The maximum speed for the motor of the Z-direction.",
  381. "unit": "mm/s",
  382. "type": "float",
  383. "default_value": 5,
  384. "settable_per_mesh": false,
  385. "settable_per_extruder": false,
  386. "settable_per_meshgroup": false
  387. },
  388. "machine_max_feedrate_e": {
  389. "label": "Maximum Feedrate",
  390. "description": "The maximum speed of the filament.",
  391. "unit": "mm/s",
  392. "type": "float",
  393. "default_value": 25,
  394. "settable_per_mesh": false,
  395. "settable_per_extruder": false,
  396. "settable_per_meshgroup": false
  397. },
  398. "machine_max_acceleration_x": {
  399. "label": "Maximum Acceleration X",
  400. "description": "Maximum acceleration for the motor of the X-direction",
  401. "unit": "mm/s²",
  402. "type": "float",
  403. "default_value": 9000,
  404. "settable_per_mesh": false,
  405. "settable_per_extruder": false,
  406. "settable_per_meshgroup": false
  407. },
  408. "machine_max_acceleration_y": {
  409. "label": "Maximum Acceleration Y",
  410. "description": "Maximum acceleration for the motor of the Y-direction.",
  411. "unit": "mm/s²",
  412. "type": "float",
  413. "default_value": 9000,
  414. "settable_per_mesh": false,
  415. "settable_per_extruder": false,
  416. "settable_per_meshgroup": false
  417. },
  418. "machine_max_acceleration_z": {
  419. "label": "Maximum Acceleration Z",
  420. "description": "Maximum acceleration for the motor of the Z-direction.",
  421. "unit": "mm/s²",
  422. "type": "float",
  423. "default_value": 100,
  424. "settable_per_mesh": false,
  425. "settable_per_extruder": false,
  426. "settable_per_meshgroup": false
  427. },
  428. "machine_max_acceleration_e": {
  429. "label": "Maximum Filament Acceleration",
  430. "description": "Maximum acceleration for the motor of the filament.",
  431. "unit": "mm/s²",
  432. "type": "float",
  433. "default_value": 10000,
  434. "settable_per_mesh": false,
  435. "settable_per_extruder": false,
  436. "settable_per_meshgroup": false
  437. },
  438. "machine_acceleration": {
  439. "label": "Default Acceleration",
  440. "description": "The default acceleration of print head movement.",
  441. "unit": "mm/s²",
  442. "type": "float",
  443. "default_value": 4000,
  444. "settable_per_mesh": false,
  445. "settable_per_extruder": false,
  446. "settable_per_meshgroup": false
  447. },
  448. "machine_max_jerk_xy": {
  449. "label": "Default X-Y Jerk",
  450. "description": "Default jerk for movement in the horizontal plane.",
  451. "unit": "mm/s",
  452. "type": "float",
  453. "default_value": 20.0,
  454. "settable_per_mesh": false,
  455. "settable_per_extruder": false,
  456. "settable_per_meshgroup": false
  457. },
  458. "machine_max_jerk_z": {
  459. "label": "Default Z Jerk",
  460. "description": "Default jerk for the motor of the Z-direction.",
  461. "unit": "mm/s",
  462. "type": "float",
  463. "default_value": 0.4,
  464. "settable_per_mesh": false,
  465. "settable_per_extruder": false,
  466. "settable_per_meshgroup": false
  467. },
  468. "machine_max_jerk_e": {
  469. "label": "Default Filament Jerk",
  470. "description": "Default jerk for the motor of the filament.",
  471. "unit": "mm/s",
  472. "type": "float",
  473. "default_value": 5.0,
  474. "settable_per_mesh": false,
  475. "settable_per_extruder": false,
  476. "settable_per_meshgroup": false
  477. },
  478. "machine_minimum_feedrate": {
  479. "label": "Minimum Feedrate",
  480. "description": "The minimal movement speed of the print head.",
  481. "unit": "mm/s",
  482. "type": "float",
  483. "default_value": 0.0,
  484. "settable_per_mesh": false,
  485. "settable_per_extruder": false,
  486. "settable_per_meshgroup": false
  487. }
  488. }
  489. },
  490. "resolution":
  491. {
  492. "label": "Quality",
  493. "type": "category",
  494. "icon": "category_layer_height",
  495. "description": "All settings that influence the resolution of the print. These settings have a large impact on the quality (and print time)",
  496. "children":
  497. {
  498. "layer_height":
  499. {
  500. "label": "Layer Height",
  501. "description": "The height of each layer in mm. Higher values produce faster prints in lower resolution, lower values produce slower prints in higher resolution.",
  502. "unit": "mm",
  503. "type": "float",
  504. "default_value": 0.1,
  505. "minimum_value": "0.001",
  506. "minimum_value_warning": "0.04",
  507. "maximum_value_warning": "0.8 * machine_nozzle_size",
  508. "settable_per_mesh": false,
  509. "settable_per_extruder": false
  510. },
  511. "layer_height_0":
  512. {
  513. "label": "Initial Layer Height",
  514. "description": "The height of the initial layer in mm. A thicker initial layer makes adhesion to the build plate easier.",
  515. "unit": "mm",
  516. "type": "float",
  517. "default_value": 0.3,
  518. "minimum_value": "0.001",
  519. "minimum_value_warning": "0.04",
  520. "maximum_value_warning": "0.8 * machine_nozzle_size",
  521. "settable_per_mesh": false,
  522. "settable_per_extruder": false
  523. },
  524. "line_width":
  525. {
  526. "label": "Line Width",
  527. "description": "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints.",
  528. "unit": "mm",
  529. "minimum_value": "0.0001",
  530. "minimum_value_warning": "0.2",
  531. "maximum_value_warning": "2 * machine_nozzle_size",
  532. "default_value": 0.4,
  533. "type": "float",
  534. "value": "machine_nozzle_size",
  535. "settable_per_mesh": true,
  536. "children":
  537. {
  538. "wall_line_width":
  539. {
  540. "label": "Wall Line Width",
  541. "description": "Width of a single wall line.",
  542. "unit": "mm",
  543. "minimum_value": "0.0001",
  544. "minimum_value_warning": "0.2",
  545. "maximum_value_warning": "5",
  546. "value":"line_width",
  547. "default_value": 0.4,
  548. "type": "float",
  549. "settable_per_mesh": true,
  550. "children":
  551. {
  552. "wall_line_width_0":
  553. {
  554. "label": "Outer Wall Line Width",
  555. "description": "Width of the outermost wall line. By lowering this value, higher levels of detail can be printed.",
  556. "unit": "mm",
  557. "minimum_value": "0.0001",
  558. "minimum_value_warning": "0.2",
  559. "maximum_value_warning": "5",
  560. "default_value": 0.4,
  561. "value":"wall_line_width",
  562. "type": "float",
  563. "settable_per_mesh": true
  564. },
  565. "wall_line_width_x":
  566. {
  567. "label": "Inner Wall(s) Line Width",
  568. "description": "Width of a single wall line for all wall lines except the outermost one.",
  569. "unit": "mm",
  570. "minimum_value": "0.0001",
  571. "minimum_value_warning": "0.2",
  572. "maximum_value_warning": "5",
  573. "default_value": 0.4,
  574. "value":"wall_line_width",
  575. "type": "float",
  576. "settable_per_mesh": true
  577. }
  578. }
  579. },
  580. "skin_line_width":
  581. {
  582. "label": "Top/Bottom Line Width",
  583. "description": "Width of a single top/bottom line.",
  584. "unit": "mm",
  585. "minimum_value": "0.0001",
  586. "minimum_value_warning": "0.2",
  587. "maximum_value_warning": "5",
  588. "default_value": 0.4,
  589. "type": "float",
  590. "value": "line_width",
  591. "settable_per_mesh": true
  592. },
  593. "infill_line_width":
  594. {
  595. "label": "Infill Line Width",
  596. "description": "Width of a single infill line.",
  597. "unit": "mm",
  598. "minimum_value": "0.0001",
  599. "minimum_value_warning": "0.2",
  600. "maximum_value_warning": "5",
  601. "default_value": 0.4,
  602. "type": "float",
  603. "value": "line_width",
  604. "settable_per_mesh": true
  605. },
  606. "skirt_line_width":
  607. {
  608. "label": "Skirt Line Width",
  609. "description": "Width of a single skirt line.",
  610. "unit": "mm",
  611. "minimum_value": "0.0001",
  612. "minimum_value_warning": "0.2",
  613. "maximum_value_warning": "5",
  614. "default_value": 0.4,
  615. "type": "float",
  616. "value": "line_width",
  617. "settable_per_mesh": false,
  618. "settable_per_extruder": true
  619. },
  620. "support_line_width":
  621. {
  622. "label": "Support Line Width",
  623. "description": "Width of a single support structure line.",
  624. "unit": "mm",
  625. "minimum_value": "0.0001",
  626. "minimum_value_warning": "0.2",
  627. "maximum_value_warning": "5",
  628. "default_value": 0.4,
  629. "type": "float",
  630. "enabled": "support_enable",
  631. "value": "line_width",
  632. "settable_per_mesh": false,
  633. "settable_per_extruder": false
  634. },
  635. "support_roof_line_width":
  636. {
  637. "label": "Support Roof Line Width",
  638. "description": "Width of a single support roof line.",
  639. "unit": "mm",
  640. "default_value": 0.4,
  641. "minimum_value": "0.0001",
  642. "maximum_value_warning": "machine_nozzle_size * 2",
  643. "type": "float",
  644. "enabled": "support_roof_enable",
  645. "value": "line_width",
  646. "settable_per_mesh": false,
  647. "settable_per_extruder": false
  648. },
  649. "prime_tower_line_width":
  650. {
  651. "label": "Prime Tower Line Width",
  652. "description": "Width of a single prime tower line.",
  653. "type": "float",
  654. "unit": "mm",
  655. "enabled": "prime_tower_enable",
  656. "default_value": 0.4,
  657. "value": "line_width",
  658. "minimum_value": "0.0001",
  659. "minimum_value_warning": "0.2",
  660. "maximum_value_warning": "5",
  661. "settable_per_mesh": false,
  662. "settable_per_extruder": true
  663. }
  664. }
  665. }
  666. }
  667. },
  668. "shell":
  669. {
  670. "label": "Shell",
  671. "icon": "category_shell",
  672. "description": "Shell",
  673. "type": "category",
  674. "children":
  675. {
  676. "wall_thickness":
  677. {
  678. "label": "Wall Thickness",
  679. "description": "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls.",
  680. "unit": "mm",
  681. "default_value": 0.8,
  682. "minimum_value": "0",
  683. "minimum_value_warning": "line_width",
  684. "maximum_value_warning": "5 * line_width",
  685. "type": "float",
  686. "settable_per_mesh": true,
  687. "children":
  688. {
  689. "wall_line_count":
  690. {
  691. "label": "Wall Line Count",
  692. "description": "The number of walls. When calculated by the wall thickness, this value is rounded to a whole number.",
  693. "default_value": 2,
  694. "minimum_value": "0",
  695. "type": "int",
  696. "value": "1 if magic_spiralize else max(1, round((wall_thickness - wall_line_width_0) / wall_line_width_x) + 1)",
  697. "settable_per_mesh": true
  698. }
  699. }
  700. },
  701. "top_bottom_thickness":
  702. {
  703. "label": "Top/Bottom Thickness",
  704. "description": "The thickness of the top/bottom layers in the print. This value divided by the layer height defines the number of top/bottom layers.",
  705. "unit": "mm",
  706. "default_value": 0.8,
  707. "minimum_value": "0",
  708. "minimum_value_warning": "0.6",
  709. "maximum_value": "machine_height",
  710. "type": "float",
  711. "settable_per_mesh": true,
  712. "children":
  713. {
  714. "top_thickness":
  715. {
  716. "label": "Top Thickness",
  717. "description": "The thickness of the top layers in the print. This value divided by the layer height defines the number of top layers.",
  718. "unit": "mm",
  719. "default_value": 0.8,
  720. "minimum_value": "0",
  721. "maximum_value": "machine_height",
  722. "type": "float",
  723. "value": "top_bottom_thickness",
  724. "settable_per_mesh": true,
  725. "children":
  726. {
  727. "top_layers":
  728. {
  729. "label": "Top Layers",
  730. "description": "The number of top layers. When calculated by the top thickness, this value is rounded to a whole number.",
  731. "default_value": 8,
  732. "minimum_value": "0",
  733. "maximum_value_warning": "100",
  734. "type": "int",
  735. "value": "0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / layer_height, 4))",
  736. "settable_per_mesh": true
  737. }
  738. }
  739. },
  740. "bottom_thickness":
  741. {
  742. "label": "Bottom Thickness",
  743. "description": "The thickness of the bottom layers in the print. This value divided by the layer height defines the number of bottom layers.",
  744. "unit": "mm",
  745. "default_value": 0.6,
  746. "minimum_value": "0",
  747. "type": "float",
  748. "value": "top_bottom_thickness",
  749. "maximum_value": "machine_height",
  750. "settable_per_mesh": true,
  751. "children":
  752. {
  753. "bottom_layers":
  754. {
  755. "label": "Bottom Layers",
  756. "description": "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number.",
  757. "minimum_value": "0",
  758. "default_value": 6,
  759. "type": "int",
  760. "value": "999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / layer_height, 4))",
  761. "settable_per_mesh": true
  762. }
  763. }
  764. }
  765. }
  766. },
  767. "top_bottom_pattern":
  768. {
  769. "label": "Top/Bottom Pattern",
  770. "description": "The pattern of the top/bottom layers.",
  771. "type": "enum",
  772. "options":
  773. {
  774. "lines": "Lines",
  775. "concentric": "Concentric",
  776. "zigzag": "Zig Zag"
  777. },
  778. "default_value": "lines",
  779. "settable_per_mesh": true
  780. },
  781. "wall_0_inset":
  782. {
  783. "label": "Outer Wall Inset",
  784. "description": "Inset applied to the path of the outer wall. If the outer wall is smaller than the nozzle, and printed after the inner walls, use this offset to get the hole in the nozzle to overlap with the inner walls instead of the outside of the object.",
  785. "unit": "mm",
  786. "type": "float",
  787. "default_value": 0.0,
  788. "value": "(machine_nozzle_size - wall_line_width_0) / 2 if wall_line_width_0 < machine_nozzle_size else 0",
  789. "minimum_value_warning": "0",
  790. "maximum_value_warning": "machine_nozzle_size",
  791. "settable_per_mesh": true
  792. },
  793. "alternate_extra_perimeter":
  794. {
  795. "label": "Alternate Extra Wall",
  796. "description": "Prints an extra wall at every other layer. This way infill gets caught between these extra walls, resulting in stronger prints.",
  797. "type": "bool",
  798. "default_value": false,
  799. "settable_per_mesh": true
  800. },
  801. "travel_compensate_overlapping_walls_enabled":
  802. {
  803. "label": "Compensate Wall Overlaps",
  804. "description": "Compensate the flow for parts of a wall being printed where there is already a wall in place.",
  805. "type": "bool",
  806. "default_value": true,
  807. "settable_per_mesh": true,
  808. "children":
  809. {
  810. "travel_compensate_overlapping_walls_0_enabled": {
  811. "label": "Compensate Outer Wall Overlaps",
  812. "description": "Compensate the flow for parts of an outer wall being printed where there is already a wall in place.",
  813. "type": "bool",
  814. "default_value": true,
  815. "value": "travel_compensate_overlapping_walls_enabled",
  816. "settable_per_mesh": true
  817. },
  818. "travel_compensate_overlapping_walls_x_enabled": {
  819. "label": "Compensate Inner Wall Overlaps",
  820. "description": "Compensate the flow for parts of an inner wall being printed where there is already a wall in place.",
  821. "type": "bool",
  822. "default_value": true,
  823. "value": "travel_compensate_overlapping_walls_enabled",
  824. "settable_per_mesh": true
  825. }
  826. }
  827. },
  828. "xy_offset":
  829. {
  830. "label": "Horizontal Expansion",
  831. "description": "Amount of offset applied to all polygons in each layer. Positive values can compensate for too big holes; negative values can compensate for too small holes.",
  832. "unit": "mm",
  833. "type": "float",
  834. "minimum_value_warning": "-10",
  835. "maximum_value_warning": "10",
  836. "default_value": 0,
  837. "settable_per_mesh": true
  838. },
  839. "z_seam_type":
  840. {
  841. "label": "Z Seam Alignment",
  842. "description": "Starting point of each path in a layer. When paths in consecutive layers start at the same point a vertical seam may show on the print. When aligning these at the back, the seam is easiest to remove. When placed randomly the inaccuracies at the paths' start will be less noticeable. When taking the shortest path the print will be quicker.",
  843. "type": "enum",
  844. "options":
  845. {
  846. "back": "Back",
  847. "shortest": "Shortest",
  848. "random": "Random"
  849. },
  850. "default_value": "shortest",
  851. "settable_per_mesh": true
  852. },
  853. "skin_no_small_gaps_heuristic":
  854. {
  855. "label": "Ignore Small Z Gaps",
  856. "description": "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting.",
  857. "type": "bool",
  858. "default_value": true,
  859. "settable_per_mesh": true
  860. }
  861. }
  862. },
  863. "infill":
  864. {
  865. "label": "Infill",
  866. "icon": "category_infill",
  867. "description": "Infill",
  868. "type": "category",
  869. "children":
  870. {
  871. "infill_sparse_density":
  872. {
  873. "label": "Infill Density",
  874. "description": "Adjusts the density of infill of the print.",
  875. "unit": "%",
  876. "type": "float",
  877. "default_value": 20,
  878. "minimum_value": "0",
  879. "maximum_value_warning": "100",
  880. "settable_per_mesh": true,
  881. "children":
  882. {
  883. "infill_line_distance":
  884. {
  885. "label": "Infill Line Distance",
  886. "description": "Distance between the printed infill lines. This setting is calculated by the infill density and the infill line width.",
  887. "unit": "mm",
  888. "type": "float",
  889. "default_value": 2,
  890. "minimum_value": "0",
  891. "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == \"grid\" else (3 if infill_pattern == \"triangles\" or infill_pattern == \"cubic\" else (4 if infill_pattern == \"tetrahedral\" else 1)))",
  892. "settable_per_mesh": true
  893. }
  894. }
  895. },
  896. "infill_pattern":
  897. {
  898. "label": "Infill Pattern",
  899. "description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction.",
  900. "type": "enum",
  901. "options":
  902. {
  903. "grid": "Grid",
  904. "lines": "Lines",
  905. "triangles": "Triangles",
  906. "cubic": "Cubic",
  907. "tetrahedral": "Tetrahedral",
  908. "concentric": "Concentric",
  909. "zigzag": "Zig Zag"
  910. },
  911. "default_value": "grid",
  912. "value": "'lines' if infill_sparse_density > 25 else 'grid'",
  913. "settable_per_mesh": true
  914. },
  915. "infill_overlap":
  916. {
  917. "label": "Infill Overlap Percentage",
  918. "description": "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill.",
  919. "unit": "%",
  920. "type": "float",
  921. "default_value": 10,
  922. "value": "10 if infill_sparse_density < 95 and infill_pattern != 'concentric' else 0",
  923. "minimum_value_warning": "-50",
  924. "maximum_value_warning": "100",
  925. "enabled": "infill_pattern != 'concentric'",
  926. "settable_per_mesh": true,
  927. "children":
  928. {
  929. "infill_overlap_mm":
  930. {
  931. "label": "Infill Overlap",
  932. "description": "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill.",
  933. "unit": "mm",
  934. "type": "float",
  935. "default_value": 0.04,
  936. "minimum_value_warning": "-0.5 * machine_nozzle_size",
  937. "maximum_value_warning": "machine_nozzle_size",
  938. "value": "infill_line_width * infill_overlap / 100 if infill_sparse_density < 95 and infill_pattern != 'concentric' else 0",
  939. "enabled": "infill_pattern != 'concentric'",
  940. "settable_per_mesh": true
  941. }
  942. }
  943. },
  944. "skin_overlap": {
  945. "label": "Skin Overlap Percentage",
  946. "description": "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin.",
  947. "unit": "%",
  948. "type": "float",
  949. "default_value": 5,
  950. "minimum_value_warning": "-50",
  951. "maximum_value_warning": "100",
  952. "value": "5 if top_bottom_pattern != 'concentric' else 0",
  953. "enabled": "top_bottom_pattern != 'concentric'",
  954. "settable_per_mesh": true,
  955. "children": {
  956. "skin_overlap_mm": {
  957. "label": "Skin Overlap",
  958. "description": "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin.",
  959. "unit": "mm",
  960. "type": "float",
  961. "default_value": 0.02,
  962. "minimum_value_warning": "-0.5 * machine_nozzle_size",
  963. "maximum_value_warning": "machine_nozzle_size",
  964. "value": "skin_line_width * skin_overlap / 100 if top_bottom_pattern != 'concentric' else 0",
  965. "enabled": "top_bottom_pattern != 'concentric'",
  966. "settable_per_mesh": true
  967. }
  968. }
  969. },
  970. "infill_wipe_dist":
  971. {
  972. "label": "Infill Wipe Distance",
  973. "description": "Distance of a travel move inserted after every infill line, to make the infill stick to the walls better. This option is similar to infill overlap, but without extrusion and only on one end of the infill line.",
  974. "unit": "mm",
  975. "type": "float",
  976. "default_value": 0.04,
  977. "value": "wall_line_width_0 / 4 if wall_line_count == 1 else wall_line_width_x / 4",
  978. "minimum_value_warning": "0",
  979. "maximum_value_warning": "machine_nozzle_size",
  980. "settable_per_mesh": true
  981. },
  982. "infill_sparse_thickness":
  983. {
  984. "label": "Infill Layer Thickness",
  985. "description": "The thickness per layer of infill material. This value should always be a multiple of the layer height and is otherwise rounded.",
  986. "unit": "mm",
  987. "type": "float",
  988. "default_value": 0.1,
  989. "minimum_value": "0.0001",
  990. "maximum_value_warning": "0.32",
  991. "maximum_value": "layer_height * 8",
  992. "value": "layer_height",
  993. "settable_per_mesh": true
  994. },
  995. "gradual_infill_steps":
  996. {
  997. "label": "Gradual Infill Steps",
  998. "description": "Number of times to reduce the infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Infill Density.",
  999. "default_value": 0,
  1000. "type": "int",
  1001. "minimum_value": "0",
  1002. "maximum_value_warning": "4",
  1003. "maximum_value": "20 - math.log(infill_line_distance) / math.log(2)",
  1004. "settable_per_mesh": true
  1005. },
  1006. "gradual_infill_step_height":
  1007. {
  1008. "label": "Gradual Infill Step Height",
  1009. "description": "The height of infill of a given density before switching to half the density.",
  1010. "unit": "mm",
  1011. "type": "float",
  1012. "default_value": 5.0,
  1013. "minimum_value": "0.0001",
  1014. "maximum_value_warning": "100",
  1015. "enabled": "gradual_infill_steps > 0",
  1016. "settable_per_mesh": true
  1017. },
  1018. "infill_before_walls":
  1019. {
  1020. "label": "Infill Before Walls",
  1021. "description": "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface.",
  1022. "type": "bool",
  1023. "default_value": true,
  1024. "settable_per_mesh": true
  1025. }
  1026. }
  1027. },
  1028. "material":
  1029. {
  1030. "label": "Material",
  1031. "icon": "category_material",
  1032. "description": "Material",
  1033. "type": "category",
  1034. "children":
  1035. {
  1036. "material_flow_dependent_temperature":
  1037. {
  1038. "label": "Auto Temperature",
  1039. "description": "Change the temperature for each layer automatically with the average flow speed of that layer.",
  1040. "type": "bool",
  1041. "default_value": false,
  1042. "enabled": "False",
  1043. "settable_per_mesh": false,
  1044. "settable_per_extruder": true
  1045. },
  1046. "material_print_temperature":
  1047. {
  1048. "label": "Printing Temperature",
  1049. "description": "The temperature used for printing. Set at 0 to pre-heat the printer manually.",
  1050. "unit": "°C",
  1051. "type": "float",
  1052. "default_value": 210,
  1053. "minimum_value": "0",
  1054. "maximum_value_warning": "260",
  1055. "enabled": "not (material_flow_dependent_temperature)",
  1056. "settable_per_mesh": false,
  1057. "settable_per_extruder": true
  1058. },
  1059. "material_flow_temp_graph":
  1060. {
  1061. "label": "Flow Temperature Graph",
  1062. "description": "Data linking material flow (in mm3 per second) to temperature (degrees Celsius).",
  1063. "unit": "",
  1064. "type": "str",
  1065. "default_value": "[[3.5,200],[7.0,240]]",
  1066. "enabled": "False",
  1067. "comments": "old enabled function: material_flow_dependent_temperature",
  1068. "settable_per_mesh": false,
  1069. "settable_per_extruder": true
  1070. },
  1071. "material_extrusion_cool_down_speed": {
  1072. "label": "Extrusion Cool Down Speed Modifier",
  1073. "description": "The extra speed by which the nozzle cools while extruding. The same value is used to signify the heat up speed lost when heating up while extruding.",
  1074. "unit": "°C/s",
  1075. "type": "float",
  1076. "default_value": 0.5,
  1077. "minimum_value": "0",
  1078. "maximum_value_warning": "10.0",
  1079. "enabled": "False",
  1080. "comments": "old enabled function: material_flow_dependent_temperature or machine_extruder_count > 1",
  1081. "settable_per_mesh": false,
  1082. "settable_per_extruder": true
  1083. },
  1084. "material_bed_temperature": {
  1085. "label": "Bed Temperature",
  1086. "description": "The temperature used for the heated bed. Set at 0 to pre-heat the printer manually.",
  1087. "unit": "°C",
  1088. "type": "float",
  1089. "default_value": 60,
  1090. "minimum_value": "0",
  1091. "maximum_value_warning": "260",
  1092. "enabled": "machine_heated_bed",
  1093. "settable_per_mesh": false,
  1094. "settable_per_extruder": false,
  1095. "settable_per_meshgroup": false
  1096. },
  1097. "material_diameter": {
  1098. "label": "Diameter",
  1099. "description": "Adjusts the diameter of the filament used. Match this value with the diameter of the used filament.",
  1100. "unit": "mm",
  1101. "type": "float",
  1102. "default_value": 2.85,
  1103. "minimum_value": "0.0001",
  1104. "minimum_value_warning": "0.4",
  1105. "maximum_value_warning": "3.5",
  1106. "settable_per_mesh": false,
  1107. "settable_per_extruder": true
  1108. },
  1109. "material_flow": {
  1110. "label": "Flow",
  1111. "description": "Flow compensation: the amount of material extruded is multiplied by this value.",
  1112. "unit": "%",
  1113. "default_value": 100,
  1114. "type": "float",
  1115. "minimum_value": "5",
  1116. "minimum_value_warning": "50",
  1117. "maximum_value_warning": "150",
  1118. "settable_per_mesh": true
  1119. },
  1120. "retraction_enable": {
  1121. "label": "Enable Retraction",
  1122. "description": "Retract the filament when the nozzle is moving over a non-printed area. ",
  1123. "type": "bool",
  1124. "default_value": true,
  1125. "settable_per_mesh": false,
  1126. "settable_per_extruder": true
  1127. },
  1128. "retraction_amount": {
  1129. "label": "Retraction Distance",
  1130. "description": "The length of material retracted during a retraction move.",
  1131. "unit": "mm",
  1132. "type": "float",
  1133. "default_value": 6.5,
  1134. "minimum_value_warning": "-0.0001",
  1135. "maximum_value_warning": "10.0",
  1136. "enabled": "retraction_enable",
  1137. "settable_per_mesh": false,
  1138. "settable_per_extruder": true
  1139. },
  1140. "retraction_speed": {
  1141. "label": "Retraction Speed",
  1142. "description": "The speed at which the filament is retracted and primed during a retraction move.",
  1143. "unit": "mm/s",
  1144. "type": "float",
  1145. "default_value": 25,
  1146. "minimum_value": "0",
  1147. "maximum_value": "299792458000",
  1148. "maximum_value_warning": "100",
  1149. "enabled": "retraction_enable",
  1150. "settable_per_mesh": false,
  1151. "settable_per_extruder": true,
  1152. "children": {
  1153. "retraction_retract_speed": {
  1154. "label": "Retraction Retract Speed",
  1155. "description": "The speed at which the filament is retracted during a retraction move.",
  1156. "unit": "mm/s",
  1157. "type": "float",
  1158. "default_value": 25,
  1159. "minimum_value": "0",
  1160. "maximum_value": "299792458000",
  1161. "maximum_value_warning": "100",
  1162. "enabled": "retraction_enable",
  1163. "value": "retraction_speed",
  1164. "settable_per_mesh": false,
  1165. "settable_per_extruder": true
  1166. },
  1167. "retraction_prime_speed": {
  1168. "label": "Retraction Prime Speed",
  1169. "description": "The speed at which the filament is primed during a retraction move.",
  1170. "unit": "mm/s",
  1171. "type": "float",
  1172. "default_value": 25,
  1173. "minimum_value": "0",
  1174. "maximum_value": "299792458000",
  1175. "maximum_value_warning": "100",
  1176. "enabled": "retraction_enable",
  1177. "value": "retraction_speed",
  1178. "settable_per_mesh": false,
  1179. "settable_per_extruder": true
  1180. }
  1181. }
  1182. },
  1183. "retraction_extra_prime_amount": {
  1184. "label": "Retraction Extra Prime Amount",
  1185. "description": "Some material can ooze away during a travel move, which can be compensated for here.",
  1186. "unit": "mm³",
  1187. "type": "float",
  1188. "default_value": 0,
  1189. "minimum_value_warning": "-0.0001",
  1190. "maximum_value_warning": "5.0",
  1191. "enabled": "retraction_enable",
  1192. "settable_per_mesh": false,
  1193. "settable_per_extruder": true
  1194. },
  1195. "retraction_min_travel": {
  1196. "label": "Retraction Minimum Travel",
  1197. "description": "The minimum distance of travel needed for a retraction to happen at all. This helps to get fewer retractions in a small area.",
  1198. "unit": "mm",
  1199. "type": "float",
  1200. "default_value": 1.5,
  1201. "value": "line_width * 2",
  1202. "minimum_value": "0",
  1203. "maximum_value_warning": "10",
  1204. "enabled": "retraction_enable",
  1205. "settable_per_mesh": false,
  1206. "settable_per_extruder": true
  1207. },
  1208. "retraction_count_max": {
  1209. "label": "Maximum Retraction Count",
  1210. "description": "This setting limits the number of retractions occurring within the minimum extrusion distance window. Further retractions within this window will be ignored. This avoids retracting repeatedly on the same piece of filament, as that can flatten the filament and cause grinding issues.",
  1211. "default_value": 90,
  1212. "minimum_value": "0",
  1213. "maximum_value_warning": "100",
  1214. "type": "int",
  1215. "enabled": "retraction_enable",
  1216. "settable_per_mesh": false,
  1217. "settable_per_extruder": true
  1218. },
  1219. "retraction_extrusion_window": {
  1220. "label": "Minimum Extrusion Distance Window",
  1221. "description": "The window in which the maximum retraction count is enforced. This value should be approximately the same as the retraction distance, so that effectively the number of times a retraction passes the same patch of material is limited.",
  1222. "unit": "mm",
  1223. "type": "float",
  1224. "default_value": 4.5,
  1225. "minimum_value": "0",
  1226. "maximum_value_warning": "retraction_amount * 2",
  1227. "value": "retraction_amount",
  1228. "enabled": "retraction_enable",
  1229. "settable_per_mesh": false,
  1230. "settable_per_extruder": true
  1231. },
  1232. "retraction_hop_enabled": {
  1233. "label": "Z Hop when Retracted",
  1234. "description": "Whenever a retraction is done, the build plate is lowered to create clearance between the nozzle and the print. It prevents the nozzle from hitting the print during travel moves, reducing the chance to knock the print from the build plate.",
  1235. "type": "bool",
  1236. "default_value": false,
  1237. "enabled": "retraction_enable",
  1238. "settable_per_mesh": false,
  1239. "settable_per_extruder": true,
  1240. "children": {
  1241. "retraction_hop_only_when_collides": {
  1242. "label": "Z Hop Only Over Printed Parts",
  1243. "description": "Only perform a Z Hop when moving over printed parts which cannot be avoided by horizontal motion by Avoid Printed Parts when Traveling.",
  1244. "type": "bool",
  1245. "default_value": false,
  1246. "enabled": "retraction_enable and retraction_hop_enabled and travel_avoid_other_parts",
  1247. "settable_per_mesh": false,
  1248. "settable_per_extruder": true
  1249. },
  1250. "retraction_hop": {
  1251. "label": "Z Hop Height",
  1252. "description": "The height difference when performing a Z Hop.",
  1253. "unit": "mm",
  1254. "type": "float",
  1255. "default_value": 1,
  1256. "minimum_value_warning": "-0.0001",
  1257. "maximum_value_warning": "10",
  1258. "enabled": "retraction_enable and retraction_hop_enabled",
  1259. "settable_per_mesh": false,
  1260. "settable_per_extruder": true
  1261. }
  1262. }
  1263. },
  1264. "material_standby_temperature":
  1265. {
  1266. "label": "Standby Temperature",
  1267. "description": "The temperature of the nozzle when another nozzle is currently used for printing.",
  1268. "type": "float",
  1269. "unit": "°C",
  1270. "default_value": 150,
  1271. "minimum_value": "0",
  1272. "maximum_value_warning": "260",
  1273. "settable_per_mesh": false,
  1274. "settable_per_extruder": true
  1275. },
  1276. "switch_extruder_retraction_amount":
  1277. {
  1278. "label": "Nozzle Switch Retraction Distance",
  1279. "description": "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone.",
  1280. "type": "float",
  1281. "unit": "mm",
  1282. "enabled": "retraction_enable",
  1283. "default_value": 20,
  1284. "value": "machine_heat_zone_length",
  1285. "minimum_value_warning": "0",
  1286. "maximum_value_warning": "100",
  1287. "settable_per_mesh": false,
  1288. "settable_per_extruder": true
  1289. },
  1290. "switch_extruder_retraction_speeds":
  1291. {
  1292. "label": "Nozzle Switch Retraction Speed",
  1293. "description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
  1294. "type": "float",
  1295. "unit": "mm/s",
  1296. "enabled": "retraction_enable",
  1297. "default_value": 20,
  1298. "minimum_value": "0.1",
  1299. "maximum_value_warning": "300",
  1300. "settable_per_mesh": false,
  1301. "settable_per_extruder": true,
  1302. "children":
  1303. {
  1304. "switch_extruder_retraction_speed":
  1305. {
  1306. "label": "Nozzle Switch Retract Speed",
  1307. "description": "The speed at which the filament is retracted during a nozzle switch retract.",
  1308. "type": "float",
  1309. "unit": "mm/s",
  1310. "enabled": "retraction_enable",
  1311. "default_value": 20,
  1312. "value": "switch_extruder_retraction_speeds",
  1313. "minimum_value": "0.1",
  1314. "maximum_value_warning": "300",
  1315. "settable_per_mesh": false,
  1316. "settable_per_extruder": true
  1317. },
  1318. "switch_extruder_prime_speed":
  1319. {
  1320. "label": "Nozzle Switch Prime Speed",
  1321. "description": "The speed at which the filament is pushed back after a nozzle switch retraction.",
  1322. "type": "float",
  1323. "unit": "mm/s",
  1324. "enabled": "retraction_enable",
  1325. "default_value": 20,
  1326. "value": "switch_extruder_retraction_speeds",
  1327. "minimum_value": "0.1",
  1328. "maximum_value_warning": "300",
  1329. "settable_per_mesh": false,
  1330. "settable_per_extruder": true
  1331. }
  1332. }
  1333. },
  1334. "retraction_hop_after_extruder_switch": {
  1335. "label": "Z Hop After Extruder Switch",
  1336. "description": "After the machine switched from one extruder to the other, the build plate is lowered to create clearance between the nozzle and the print. This prevents the nozzle from leaving oozed material on the outside of a print.",
  1337. "type": "bool",
  1338. "default_value": true,
  1339. "enabled": "retraction_hop_enabled",
  1340. "settable_per_mesh": false,
  1341. "settable_per_extruder": true
  1342. }
  1343. }
  1344. },
  1345. "speed":
  1346. {
  1347. "label": "Speed",
  1348. "icon": "category_speed",
  1349. "description": "Speed",
  1350. "type": "category",
  1351. "children":
  1352. {
  1353. "speed_print":
  1354. {
  1355. "label": "Print Speed",
  1356. "description": "The speed at which printing happens.",
  1357. "unit": "mm/s",
  1358. "type": "float",
  1359. "minimum_value": "0.1",
  1360. "maximum_value_warning": "150",
  1361. "maximum_value": "299792458000",
  1362. "default_value": 60,
  1363. "settable_per_mesh": true,
  1364. "children":
  1365. {
  1366. "speed_infill":
  1367. {
  1368. "label": "Infill Speed",
  1369. "description": "The speed at which infill is printed.",
  1370. "unit": "mm/s",
  1371. "type": "float",
  1372. "minimum_value": "0.1",
  1373. "maximum_value": "299792458000",
  1374. "maximum_value_warning": "150",
  1375. "default_value": 60,
  1376. "value": "speed_print",
  1377. "settable_per_mesh": true
  1378. },
  1379. "speed_wall":
  1380. {
  1381. "label": "Wall Speed",
  1382. "description": "The speed at which the walls are printed.",
  1383. "unit": "mm/s",
  1384. "type": "float",
  1385. "minimum_value": "0.1",
  1386. "maximum_value": "299792458000",
  1387. "maximum_value_warning": "150",
  1388. "default_value": 30,
  1389. "value": "speed_print / 2",
  1390. "settable_per_mesh": true,
  1391. "children":
  1392. {
  1393. "speed_wall_0":
  1394. {
  1395. "label": "Outer Wall Speed",
  1396. "description": "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will affect quality in a negative way.",
  1397. "unit": "mm/s",
  1398. "type": "float",
  1399. "minimum_value": "0.1",
  1400. "maximum_value": "299792458000",
  1401. "maximum_value_warning": "150",
  1402. "default_value": 30,
  1403. "value": "speed_wall",
  1404. "settable_per_mesh": true
  1405. },
  1406. "speed_wall_x":
  1407. {
  1408. "label": "Inner Wall Speed",
  1409. "description": "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed.",
  1410. "unit": "mm/s",
  1411. "type": "float",
  1412. "minimum_value": "0.1",
  1413. "maximum_value": "299792458000",
  1414. "maximum_value_warning": "150",
  1415. "default_value": 60,
  1416. "value": "speed_wall * 2",
  1417. "settable_per_mesh": true
  1418. }
  1419. }
  1420. },
  1421. "speed_topbottom":
  1422. {
  1423. "label": "Top/Bottom Speed",
  1424. "description": "The speed at which top/bottom layers are printed.",
  1425. "unit": "mm/s",
  1426. "type": "float",
  1427. "minimum_value": "0.1",
  1428. "maximum_value": "299792458000",
  1429. "maximum_value_warning": "150",
  1430. "default_value": 30,
  1431. "value": "speed_print / 2",
  1432. "settable_per_mesh": true
  1433. },
  1434. "speed_support":
  1435. {
  1436. "label": "Support Speed",
  1437. "description": "The speed at which the support structure is printed. Printing support at higher speeds can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing.",
  1438. "unit": "mm/s",
  1439. "type": "float",
  1440. "minimum_value": "0.1",
  1441. "maximum_value": "299792458000",
  1442. "maximum_value_warning": "150",
  1443. "default_value": 60,
  1444. "value": "speed_print",
  1445. "enabled": "support_enable",
  1446. "settable_per_mesh": false,
  1447. "settable_per_extruder": false,
  1448. "children":
  1449. {
  1450. "speed_support_infill":
  1451. {
  1452. "label": "Support Infill Speed",
  1453. "description": "The speed at which the infill of support is printed. Printing the infill at lower speeds improves stability.",
  1454. "unit": "mm/s",
  1455. "type": "float",
  1456. "default_value": 60,
  1457. "minimum_value": "0.1",
  1458. "maximum_value": "299792458000",
  1459. "maximum_value_warning": "150",
  1460. "value": "speed_support",
  1461. "enabled": "support_enable",
  1462. "settable_per_mesh": false,
  1463. "settable_per_extruder": false
  1464. },
  1465. "speed_support_roof":
  1466. {
  1467. "label": "Support Roof Speed",
  1468. "description": "The speed at which the roofs of support are printed. Printing the support roof at lower speeds can improve overhang quality.",
  1469. "unit": "mm/s",
  1470. "type": "float",
  1471. "default_value": 40,
  1472. "minimum_value": "0.1",
  1473. "maximum_value": "299792458000",
  1474. "maximum_value_warning": "150",
  1475. "enabled": "support_roof_enable and support_enable",
  1476. "value": "speed_support / 1.5",
  1477. "settable_per_mesh": false,
  1478. "settable_per_extruder": false
  1479. }
  1480. }
  1481. },
  1482. "speed_prime_tower":
  1483. {
  1484. "label": "Prime Tower Speed",
  1485. "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.",
  1486. "type": "float",
  1487. "unit": "mm/s",
  1488. "enabled": "prime_tower_enable",
  1489. "default_value": 60,
  1490. "value": "speed_print",
  1491. "minimum_value": "0.1",
  1492. "maximum_value_warning": "150",
  1493. "settable_per_mesh": false,
  1494. "settable_per_extruder": true
  1495. }
  1496. }
  1497. },
  1498. "speed_travel":
  1499. {
  1500. "label": "Travel Speed",
  1501. "description": "The speed at which travel moves are made.",
  1502. "unit": "mm/s",
  1503. "type": "float",
  1504. "default_value": 120,
  1505. "minimum_value": "0.1",
  1506. "maximum_value": "299792458000",
  1507. "maximum_value_warning": "300",
  1508. "value": "speed_print if magic_spiralize else 120",
  1509. "settable_per_mesh": false,
  1510. "settable_per_extruder": true
  1511. },
  1512. "speed_layer_0": {
  1513. "label": "Initial Layer Speed",
  1514. "description": "The print speed for the initial layer. A lower value is advised to improve adhesion to the build plate.",
  1515. "unit": "mm/s",
  1516. "type": "float",
  1517. "default_value": 30,
  1518. "minimum_value": "0.1",
  1519. "maximum_value": "299792458000",
  1520. "maximum_value_warning": "300",
  1521. "settable_per_mesh": true
  1522. },
  1523. "skirt_brim_speed": {
  1524. "label": "Skirt/Brim Speed",
  1525. "description": "The speed at which the skirt and brim are printed. Normally this is done at the initial layer speed, but sometimes you might want to print the skirt or brim at a different speed.",
  1526. "unit": "mm/s",
  1527. "type": "float",
  1528. "default_value": 30,
  1529. "minimum_value": "0.1",
  1530. "maximum_value": "299792458000",
  1531. "maximum_value_warning": "300",
  1532. "value": "speed_layer_0",
  1533. "settable_per_mesh": false,
  1534. "settable_per_extruder": true
  1535. },
  1536. "speed_slowdown_layers":
  1537. {
  1538. "label": "Number of Slower Layers",
  1539. "description": "The first few layers are printed slower than the rest of the object, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers.",
  1540. "type": "int",
  1541. "default_value": 2,
  1542. "minimum_value": "0",
  1543. "maximum_value": "299792458000",
  1544. "maximum_value_warning": "300",
  1545. "settable_per_mesh": false,
  1546. "settable_per_extruder": false
  1547. },
  1548. "acceleration_enabled": {
  1549. "label": "Enable Acceleration Control",
  1550. "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.",
  1551. "type": "bool",
  1552. "default_value": false,
  1553. "settable_per_mesh": false,
  1554. "settable_per_extruder": false
  1555. },
  1556. "acceleration_print": {
  1557. "label": "Print Acceleration",
  1558. "description": "The acceleration with which printing happens.",
  1559. "unit": "mm/s²",
  1560. "type": "float",
  1561. "minimum_value": "0.1",
  1562. "minimum_value_warning": "100",
  1563. "maximum_value_warning": "10000",
  1564. "default_value": 3000,
  1565. "enabled": "acceleration_enabled",
  1566. "settable_per_mesh": true,
  1567. "children": {
  1568. "acceleration_infill": {
  1569. "label": "Infill Acceleration",
  1570. "description": "The acceleration with which infill is printed.",
  1571. "unit": "mm/s²",
  1572. "type": "float",
  1573. "minimum_value": "0.1",
  1574. "minimum_value_warning": "100",
  1575. "maximum_value_warning": "10000",
  1576. "default_value": 3000,
  1577. "value": "acceleration_print",
  1578. "enabled": "acceleration_enabled",
  1579. "settable_per_mesh": true
  1580. },
  1581. "acceleration_wall": {
  1582. "label": "Wall Acceleration",
  1583. "description": "The acceleration with which the walls are printed.",
  1584. "unit": "mm/s²",
  1585. "type": "float",
  1586. "minimum_value": "0.1",
  1587. "minimum_value_warning": "100",
  1588. "maximum_value_warning": "10000",
  1589. "default_value": 3000,
  1590. "value": "acceleration_print",
  1591. "enabled": "acceleration_enabled",
  1592. "settable_per_mesh": true,
  1593. "children": {
  1594. "acceleration_wall_0": {
  1595. "label": "Outer Wall Acceleration",
  1596. "description": "The acceleration with which the outermost walls are printed.",
  1597. "unit": "mm/s²",
  1598. "type": "float",
  1599. "minimum_value": "0.1",
  1600. "minimum_value_warning": "100",
  1601. "maximum_value_warning": "10000",
  1602. "default_value": 3000,
  1603. "value": "acceleration_wall",
  1604. "enabled": "acceleration_enabled",
  1605. "settable_per_mesh": true
  1606. },
  1607. "acceleration_wall_x": {
  1608. "label": "Inner Wall Acceleration",
  1609. "description": "The acceleration with which all inner walls are printed.",
  1610. "unit": "mm/s²",
  1611. "type": "float",
  1612. "minimum_value": "0.1",
  1613. "minimum_value_warning": "100",
  1614. "maximum_value_warning": "10000",
  1615. "default_value": 3000,
  1616. "value": "acceleration_wall",
  1617. "enabled": "acceleration_enabled",
  1618. "settable_per_mesh": true
  1619. }
  1620. }
  1621. },
  1622. "acceleration_topbottom": {
  1623. "label": "Top/Bottom Acceleration",
  1624. "description": "The acceleration with which top/bottom layers are printed.",
  1625. "unit": "mm/s²",
  1626. "type": "float",
  1627. "minimum_value": "0.1",
  1628. "minimum_value_warning": "100",
  1629. "maximum_value_warning": "10000",
  1630. "default_value": 3000,
  1631. "value": "acceleration_print",
  1632. "enabled": "acceleration_enabled",
  1633. "settable_per_mesh": true
  1634. },
  1635. "acceleration_support": {
  1636. "label": "Support Acceleration",
  1637. "description": "The acceleration with which the support structure is printed.",
  1638. "unit": "mm/s²",
  1639. "type": "float",
  1640. "minimum_value": "0.1",
  1641. "minimum_value_warning": "100",
  1642. "maximum_value_warning": "10000",
  1643. "default_value": 3000,
  1644. "value": "acceleration_print",
  1645. "enabled": "acceleration_enabled and support_enable",
  1646. "settable_per_mesh": false,
  1647. "settable_per_extruder": false,
  1648. "children": {
  1649. "acceleration_support_infill": {
  1650. "label": "Support Infill Acceleration",
  1651. "description": "The acceleration with which the infill of support is printed.",
  1652. "unit": "mm/s²",
  1653. "type": "float",
  1654. "default_value": 3000,
  1655. "value": "acceleration_support",
  1656. "minimum_value": "0.1",
  1657. "minimum_value_warning": "100",
  1658. "maximum_value_warning": "10000",
  1659. "enabled": "acceleration_enabled and support_enable",
  1660. "settable_per_mesh": false,
  1661. "settable_per_extruder": false
  1662. },
  1663. "acceleration_support_roof": {
  1664. "label": "Support Roof Acceleration",
  1665. "description": "The acceleration with which the roofs of support are printed. Printing the support roof at lower accelerations can improve overhang quality.",
  1666. "unit": "mm/s²",
  1667. "type": "float",
  1668. "default_value": 3000,
  1669. "value": "acceleration_support",
  1670. "minimum_value": "0.1",
  1671. "minimum_value_warning": "100",
  1672. "maximum_value_warning": "10000",
  1673. "enabled": "acceleration_enabled and support_roof_enable and support_enable",
  1674. "settable_per_mesh": false,
  1675. "settable_per_extruder": false
  1676. }
  1677. }
  1678. },
  1679. "acceleration_prime_tower": {
  1680. "label": "Prime Tower Acceleration",
  1681. "description": "The acceleration with which the prime tower is printed.",
  1682. "unit": "mm/s²",
  1683. "type": "float",
  1684. "minimum_value": "0.1",
  1685. "minimum_value_warning": "100",
  1686. "maximum_value_warning": "10000",
  1687. "default_value": 3000,
  1688. "value": "acceleration_print",
  1689. "enabled": "prime_tower_enable and acceleration_enabled",
  1690. "settable_per_mesh": false
  1691. }
  1692. }
  1693. },
  1694. "acceleration_travel": {
  1695. "label": "Travel Acceleration",
  1696. "description": "The acceleration with which travel moves are made.",
  1697. "unit": "mm/s²",
  1698. "type": "float",
  1699. "default_value": 5000,
  1700. "minimum_value": "0.1",
  1701. "minimum_value_warning": "100",
  1702. "maximum_value_warning": "10000",
  1703. "value": "acceleration_print if magic_spiralize else 5000",
  1704. "enabled": "acceleration_enabled",
  1705. "settable_per_mesh": false
  1706. },
  1707. "acceleration_layer_0": {
  1708. "label": "Initial Layer Acceleration",
  1709. "description": "The acceleration for the initial layer.",
  1710. "unit": "mm/s²",
  1711. "type": "float",
  1712. "default_value": 3000,
  1713. "value": "acceleration_print",
  1714. "minimum_value": "0.1",
  1715. "minimum_value_warning": "100",
  1716. "maximum_value_warning": "10000",
  1717. "enabled": "acceleration_enabled",
  1718. "settable_per_mesh": true
  1719. },
  1720. "acceleration_skirt": {
  1721. "label": "Skirt Acceleration",
  1722. "description": "The acceleration with which the skirt and brim are printed. Normally this is done with the initial layer acceleration, but sometimes you might want to print the skirt at a different acceleration.",
  1723. "unit": "mm/s²",
  1724. "type": "float",
  1725. "default_value": 3000,
  1726. "value": "acceleration_layer_0",
  1727. "minimum_value": "0.1",
  1728. "minimum_value_warning": "100",
  1729. "maximum_value_warning": "10000",
  1730. "enabled": "acceleration_enabled",
  1731. "settable_per_mesh": false
  1732. },
  1733. "jerk_enabled": {
  1734. "label": "Enable Jerk Control",
  1735. "description": "Enables adjusting the jerk of print head when the velocity in the X or Y axis changes. Increasing the jerk can reduce printing time at the cost of print quality.",
  1736. "type": "bool",
  1737. "default_value": false,
  1738. "settable_per_mesh": false,
  1739. "settable_per_extruder": false
  1740. },
  1741. "jerk_print": {
  1742. "label": "Print Jerk",
  1743. "description": "The maximum instantaneous velocity change of the print head.",
  1744. "unit": "mm/s",
  1745. "type": "float",
  1746. "minimum_value": "0.1",
  1747. "minimum_value_warning": "5",
  1748. "maximum_value_warning": "50",
  1749. "default_value": 20,
  1750. "enabled": "jerk_enabled",
  1751. "settable_per_mesh": true,
  1752. "children": {
  1753. "jerk_infill": {
  1754. "label": "Infill Jerk",
  1755. "description": "The maximum instantaneous velocity change with which infill is printed.",
  1756. "unit": "mm/s",
  1757. "type": "float",
  1758. "minimum_value": "0.1",
  1759. "minimum_value_warning": "5",
  1760. "maximum_value_warning": "50",
  1761. "default_value": 20,
  1762. "value": "jerk_print",
  1763. "enabled": "jerk_enabled",
  1764. "settable_per_mesh": true
  1765. },
  1766. "jerk_wall": {
  1767. "label": "Wall Jerk",
  1768. "description": "The maximum instantaneous velocity change with which the walls are printed.",
  1769. "unit": "mm/s",
  1770. "type": "float",
  1771. "minimum_value": "0.1",
  1772. "minimum_value_warning": "5",
  1773. "maximum_value_warning": "50",
  1774. "default_value": 20,
  1775. "value": "jerk_print",
  1776. "enabled": "jerk_enabled",
  1777. "settable_per_mesh": true,
  1778. "children": {
  1779. "jerk_wall_0": {
  1780. "label": "Outer Wall Jerk",
  1781. "description": "The maximum instantaneous velocity change with which the outermost walls are printed.",
  1782. "unit": "mm/s",
  1783. "type": "float",
  1784. "minimum_value": "0.1",
  1785. "minimum_value_warning": "5",
  1786. "maximum_value_warning": "50",
  1787. "default_value": 20,
  1788. "value": "jerk_wall",
  1789. "enabled": "jerk_enabled",
  1790. "settable_per_mesh": true
  1791. },
  1792. "jerk_wall_x": {
  1793. "label": "Inner Wall Jerk",
  1794. "description": "The maximum instantaneous velocity change with which all inner walls are printed.",
  1795. "unit": "mm/s",
  1796. "type": "float",
  1797. "minimum_value": "0.1",
  1798. "minimum_value_warning": "5",
  1799. "maximum_value_warning": "50",
  1800. "default_value": 20,
  1801. "value": "jerk_wall",
  1802. "enabled": "jerk_enabled",
  1803. "settable_per_mesh": true
  1804. }
  1805. }
  1806. },
  1807. "jerk_topbottom": {
  1808. "label": "Top/Bottom Jerk",
  1809. "description": "The maximum instantaneous velocity change with which top/bottom layers are printed.",
  1810. "unit": "mm/s",
  1811. "type": "float",
  1812. "minimum_value": "0.1",
  1813. "minimum_value_warning": "5",
  1814. "maximum_value_warning": "50",
  1815. "default_value": 20,
  1816. "value": "jerk_print",
  1817. "enabled": "jerk_enabled",
  1818. "settable_per_mesh": true
  1819. },
  1820. "jerk_support": {
  1821. "label": "Support Jerk",
  1822. "description": "The maximum instantaneous velocity change with which the support structure is printed.",
  1823. "unit": "mm/s",
  1824. "type": "float",
  1825. "minimum_value": "0.1",
  1826. "minimum_value_warning": "5",
  1827. "maximum_value_warning": "50",
  1828. "default_value": 20,
  1829. "value": "jerk_print",
  1830. "enabled": "jerk_enabled and support_enable",
  1831. "settable_per_mesh": false,
  1832. "settable_per_extruder": false,
  1833. "children": {
  1834. "jerk_support_infill": {
  1835. "label": "Support Infill Jerk",
  1836. "description": "The maximum instantaneous velocity change with which the infill of support is printed.",
  1837. "unit": "mm/s",
  1838. "type": "float",
  1839. "default_value": 20,
  1840. "value": "jerk_support",
  1841. "minimum_value": "0.1",
  1842. "minimum_value_warning": "5",
  1843. "maximum_value_warning": "50",
  1844. "enabled": "jerk_enabled and support_enable",
  1845. "settable_per_mesh": false,
  1846. "settable_per_extruder": false
  1847. },
  1848. "jerk_support_roof": {
  1849. "label": "Support Roof Jerk",
  1850. "description": "The maximum instantaneous velocity change with which the roofs of support are printed.",
  1851. "unit": "mm/s",
  1852. "type": "float",
  1853. "default_value": 20,
  1854. "value": "jerk_support",
  1855. "minimum_value": "0.1",
  1856. "minimum_value_warning": "5",
  1857. "maximum_value_warning": "50",
  1858. "enabled": "jerk_enabled and support_roof_enable and support_enable",
  1859. "settable_per_mesh": false,
  1860. "settable_per_extruder": false
  1861. }
  1862. }
  1863. },
  1864. "jerk_prime_tower": {
  1865. "label": "Prime Tower Jerk",
  1866. "description": "The maximum instantaneous velocity change with which the prime tower is printed.",
  1867. "unit": "mm/s",
  1868. "type": "float",
  1869. "minimum_value": "0.1",
  1870. "minimum_value_warning": "5",
  1871. "maximum_value_warning": "50",
  1872. "default_value": 20,
  1873. "value": "jerk_print",
  1874. "enabled": "prime_tower_enable and jerk_enabled",
  1875. "settable_per_mesh": false
  1876. }
  1877. }
  1878. },
  1879. "jerk_travel": {
  1880. "label": "Travel Jerk",
  1881. "description": "The maximum instantaneous velocity change with which travel moves are made.",
  1882. "unit": "mm/s",
  1883. "type": "float",
  1884. "default_value": 30,
  1885. "minimum_value": "0.1",
  1886. "minimum_value_warning": "5",
  1887. "maximum_value_warning": "50",
  1888. "value": "jerk_print if magic_spiralize else 30",
  1889. "enabled": "jerk_enabled",
  1890. "settable_per_mesh": false
  1891. },
  1892. "jerk_layer_0": {
  1893. "label": "Initial Layer Jerk",
  1894. "description": "The print maximum instantaneous velocity change for the initial layer.",
  1895. "unit": "mm/s",
  1896. "type": "float",
  1897. "default_value": 20,
  1898. "value": "jerk_print",
  1899. "minimum_value": "0.1",
  1900. "minimum_value_warning": "5",
  1901. "maximum_value_warning": "50",
  1902. "enabled": "jerk_enabled",
  1903. "settable_per_mesh": true
  1904. },
  1905. "jerk_skirt": {
  1906. "label": "Skirt Jerk",
  1907. "description": "The maximum instantaneous velocity change with which the skirt and brim are printed.",
  1908. "unit": "mm/s",
  1909. "type": "float",
  1910. "default_value": 20,
  1911. "minimum_value": "0.1",
  1912. "minimum_value_warning": "5",
  1913. "maximum_value_warning": "50",
  1914. "value": "jerk_layer_0",
  1915. "enabled": "jerk_enabled",
  1916. "settable_per_mesh": false
  1917. }
  1918. }
  1919. },
  1920. "travel":
  1921. {
  1922. "label": "Travel",
  1923. "icon": "category_travel",
  1924. "description": "travel",
  1925. "type": "category",
  1926. "children":
  1927. {
  1928. "retraction_combing":
  1929. {
  1930. "label": "Combing Mode",
  1931. "description": "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only.",
  1932. "type": "enum",
  1933. "options":
  1934. {
  1935. "off": "Off",
  1936. "all": "All",
  1937. "noskin": "No Skin"
  1938. },
  1939. "default_value": "all",
  1940. "settable_per_mesh": true
  1941. },
  1942. "travel_avoid_other_parts":
  1943. {
  1944. "label": "Avoid Printed Parts when Traveling",
  1945. "description": "The nozzle avoids already printed parts when traveling. This option is only available when combing is enabled.",
  1946. "type": "bool",
  1947. "default_value": true,
  1948. "enabled": "retraction_combing != \"off\"",
  1949. "settable_per_mesh": false,
  1950. "settable_per_extruder": true
  1951. },
  1952. "travel_avoid_distance":
  1953. {
  1954. "label": "Travel Avoid Distance",
  1955. "description": "The distance between the nozzle and already printed parts when avoiding during travel moves.",
  1956. "unit": "mm",
  1957. "type": "float",
  1958. "default_value": 0.625,
  1959. "value": "machine_nozzle_tip_outer_diameter / 2 * 1.25",
  1960. "minimum_value": "0",
  1961. "maximum_value_warning": "machine_nozzle_tip_outer_diameter * 5",
  1962. "enabled": "retraction_combing != \"off\" and travel_avoid_other_parts",
  1963. "settable_per_mesh": false,
  1964. "settable_per_extruder": true
  1965. }
  1966. }
  1967. },
  1968. "cooling":
  1969. {
  1970. "label": "Cooling",
  1971. "icon": "category_cool",
  1972. "description": "Cooling",
  1973. "type": "category",
  1974. "children":
  1975. {
  1976. "cool_fan_enabled":
  1977. {
  1978. "label": "Enable Cooling Fans",
  1979. "description": "Enables the cooling fans while printing. The fans improve print quality on layers with short layer times and bridging / overhangs.",
  1980. "type": "bool",
  1981. "default_value": true,
  1982. "settable_per_mesh": false,
  1983. "settable_per_extruder": true
  1984. },
  1985. "cool_fan_speed":
  1986. {
  1987. "label": "Fan Speed",
  1988. "description": "The speed at which the cooling fans spin.",
  1989. "unit": "%",
  1990. "type": "float",
  1991. "minimum_value": "0",
  1992. "maximum_value": "100",
  1993. "default_value": 100,
  1994. "value": "100.0 if cool_fan_enabled else 0.0",
  1995. "enabled": "cool_fan_enabled",
  1996. "settable_per_mesh": false,
  1997. "settable_per_extruder": true,
  1998. "children":
  1999. {
  2000. "cool_fan_speed_min":
  2001. {
  2002. "label": "Regular Fan Speed",
  2003. "description": "The speed at which the fans spin before hitting the threshold. When a layer prints faster than the threshold, the fan speed gradually inclines towards the maximum fan speed.",
  2004. "unit": "%",
  2005. "type": "float",
  2006. "minimum_value": "0",
  2007. "maximum_value": "100",
  2008. "value": "cool_fan_speed",
  2009. "default_value": 100,
  2010. "enabled": "cool_fan_enabled",
  2011. "settable_per_mesh": false,
  2012. "settable_per_extruder": true
  2013. },
  2014. "cool_fan_speed_max":
  2015. {
  2016. "label": "Maximum Fan Speed",
  2017. "description": "The speed at which the fans spin on the minimum layer time. The fan speed gradually increases between the regular fan speed and maximum fan speed when the threshold is hit.",
  2018. "unit": "%",
  2019. "type": "float",
  2020. "minimum_value": "max(0, cool_fan_speed_min)",
  2021. "maximum_value": "100",
  2022. "default_value": 100,
  2023. "enabled": "cool_fan_enabled",
  2024. "value": "cool_fan_speed",
  2025. "settable_per_mesh": false,
  2026. "settable_per_extruder": true
  2027. }
  2028. }
  2029. },
  2030. "cool_min_layer_time_fan_speed_max":
  2031. {
  2032. "label": "Regular/Maximum Fan Speed Threshold",
  2033. "description": "The layer time which sets the threshold between regular fan speed and maximum fan speed. Layers that print slower than this time use regular fan speed. For faster layers the fan speed gradually increases towards the maximum fan speed.",
  2034. "unit": "s",
  2035. "type": "float",
  2036. "default_value": 10,
  2037. "minimum_value": "cool_min_layer_time",
  2038. "maximum_value_warning": "600",
  2039. "settable_per_mesh": false,
  2040. "settable_per_extruder": true
  2041. },
  2042. "cool_fan_full_at_height":
  2043. {
  2044. "label": "Regular Fan Speed at Height",
  2045. "description": "The height at which the fans spin on regular fan speed. At the layers below the fan speed gradually increases from zero to regular fan speed.",
  2046. "unit": "mm",
  2047. "type": "float",
  2048. "default_value": 0.5,
  2049. "value": "0 if adhesion_type == \"raft\" else layer_height_0",
  2050. "minimum_value": "0",
  2051. "maximum_value_warning": "10.0",
  2052. "settable_per_mesh": false,
  2053. "settable_per_extruder": true,
  2054. "children":
  2055. {
  2056. "cool_fan_full_layer":
  2057. {
  2058. "label": "Regular Fan Speed at Layer",
  2059. "description": "The layer at which the fans spin on regular fan speed. If regular fan speed at height is set, this value is calculated and rounded to a whole number.",
  2060. "type": "int",
  2061. "default_value": 1,
  2062. "minimum_value": "0",
  2063. "maximum_value_warning": "100",
  2064. "value": "max(0, int(round((cool_fan_full_at_height - layer_height_0) / layer_height, 0)))",
  2065. "settable_per_mesh": false,
  2066. "settable_per_extruder": true
  2067. }
  2068. }
  2069. },
  2070. "cool_min_layer_time":
  2071. {
  2072. "label": "Minimum Layer Time",
  2073. "description": "The minimum time spent in a layer. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer.",
  2074. "unit": "s",
  2075. "type": "float",
  2076. "default_value": 5,
  2077. "minimum_value": "0",
  2078. "maximum_value_warning": "600",
  2079. "settable_per_mesh": false,
  2080. "settable_per_extruder": true
  2081. },
  2082. "cool_min_speed":
  2083. {
  2084. "label": "Minimum Speed",
  2085. "description": "The minimum print speed, despite slowing down due to the minimum layer time. When the printer would slow down too much, the pressure in the nozzle would be too low and result in bad print quality.",
  2086. "unit": "mm/s",
  2087. "type": "float",
  2088. "default_value": 10,
  2089. "minimum_value": "0",
  2090. "maximum_value_warning": "100",
  2091. "settable_per_mesh": false,
  2092. "settable_per_extruder": true
  2093. },
  2094. "cool_lift_head":
  2095. {
  2096. "label": "Lift Head",
  2097. "description": "When the minimum speed is hit because of minimum layer time, lift the head away from the print and wait the extra time until the minimum layer time is reached.",
  2098. "type": "bool",
  2099. "default_value": false,
  2100. "settable_per_mesh": false,
  2101. "settable_per_extruder": true
  2102. }
  2103. }
  2104. },
  2105. "support":
  2106. {
  2107. "label": "Support",
  2108. "type": "category",
  2109. "icon": "category_support",
  2110. "description": "Support",
  2111. "children":
  2112. {
  2113. "support_enable":
  2114. {
  2115. "label": "Enable Support",
  2116. "description": "Enable support structures. These structures support parts of the model with severe overhangs.",
  2117. "type": "bool",
  2118. "default_value": false,
  2119. "settable_per_mesh": true
  2120. },
  2121. "support_type":
  2122. {
  2123. "label": "Support Placement",
  2124. "description": "Adjusts the placement of the support structures. The placement can be set to touching build plate or everywhere. When set to everywhere the support structures will also be printed on the model.",
  2125. "type": "enum",
  2126. "options":
  2127. {
  2128. "buildplate": "Touching Buildplate",
  2129. "everywhere": "Everywhere"
  2130. },
  2131. "default_value": "everywhere",
  2132. "enabled": "support_enable",
  2133. "settable_per_mesh": false,
  2134. "settable_per_extruder": false
  2135. },
  2136. "support_angle":
  2137. {
  2138. "label": "Support Overhang Angle",
  2139. "description": "The minimum angle of overhangs for which support is added. At a value of 0° all overhangs are supported, 90° will not provide any support.",
  2140. "unit": "°",
  2141. "type": "float",
  2142. "minimum_value": "0",
  2143. "maximum_value": "90",
  2144. "default_value": 50,
  2145. "enabled": "support_enable",
  2146. "settable_per_mesh": true
  2147. },
  2148. "support_pattern":
  2149. {
  2150. "label": "Support Pattern",
  2151. "description": "The pattern of the support structures of the print. The different options available result in sturdy or easy to remove support.",
  2152. "type": "enum",
  2153. "options":
  2154. {
  2155. "lines": "Lines",
  2156. "grid": "Grid",
  2157. "triangles": "Triangles",
  2158. "concentric": "Concentric",
  2159. "zigzag": "Zig Zag"
  2160. },
  2161. "default_value": "zigzag",
  2162. "enabled": "support_enable",
  2163. "settable_per_mesh": false,
  2164. "settable_per_extruder": false
  2165. },
  2166. "support_connect_zigzags":
  2167. {
  2168. "label": "Connect Support ZigZags",
  2169. "description": "Connect the ZigZags. This will increase the strength of the zig zag support structure.",
  2170. "type": "bool",
  2171. "default_value": true,
  2172. "enabled": "support_enable and (support_pattern == \"zigzag\")",
  2173. "settable_per_mesh": false,
  2174. "settable_per_extruder": false
  2175. },
  2176. "support_infill_rate":
  2177. {
  2178. "label": "Support Density",
  2179. "description": "Adjusts the density of the support structure. A higher value results in better overhangs, but the supports are harder to remove.",
  2180. "unit": "%",
  2181. "type": "float",
  2182. "minimum_value": "0",
  2183. "maximum_value_warning": "100",
  2184. "default_value": 15,
  2185. "enabled": "support_enable",
  2186. "settable_per_mesh": false,
  2187. "settable_per_extruder": false,
  2188. "children": {
  2189. "support_line_distance":
  2190. {
  2191. "label": "Support Line Distance",
  2192. "description": "Distance between the printed support structure lines. This setting is calculated by the support density.",
  2193. "unit": "mm",
  2194. "type": "float",
  2195. "minimum_value": "0",
  2196. "default_value": 2.66,
  2197. "enabled": "support_enable",
  2198. "value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == \"grid\" else (3 if support_pattern == \"triangles\" else 1))",
  2199. "settable_per_mesh": false,
  2200. "settable_per_extruder": false
  2201. }
  2202. }
  2203. },
  2204. "support_z_distance":
  2205. {
  2206. "label": "Support Z Distance",
  2207. "description": "Distance from the top/bottom of the support structure to the print. This gap provides clearance to remove the supports after the model is printed. This value is rounded down to a multiple of the layer height.",
  2208. "unit": "mm",
  2209. "type": "float",
  2210. "minimum_value": "0",
  2211. "maximum_value_warning": "10",
  2212. "default_value": 0.15,
  2213. "enabled": "support_enable",
  2214. "settable_per_mesh": true,
  2215. "children":
  2216. {
  2217. "support_top_distance":
  2218. {
  2219. "label": "Support Top Distance",
  2220. "description": "Distance from the top of the support to the print.",
  2221. "unit": "mm",
  2222. "minimum_value": "0",
  2223. "maximum_value_warning": "10",
  2224. "default_value": 0.15,
  2225. "type": "float",
  2226. "enabled": "support_enable",
  2227. "value": "support_z_distance",
  2228. "settable_per_mesh": true
  2229. },
  2230. "support_bottom_distance":
  2231. {
  2232. "label": "Support Bottom Distance",
  2233. "description": "Distance from the print to the bottom of the support.",
  2234. "unit": "mm",
  2235. "minimum_value": "0",
  2236. "maximum_value_warning": "10",
  2237. "default_value": 0.1,
  2238. "value": "0.1 if support_type == 'everywhere' else 0",
  2239. "type": "float",
  2240. "enabled": "support_enable and support_type == 'everywhere'",
  2241. "settable_per_mesh": true
  2242. }
  2243. }
  2244. },
  2245. "support_xy_distance":
  2246. {
  2247. "label": "Support X/Y Distance",
  2248. "description": "Distance of the support structure from the print in the X/Y directions.",
  2249. "unit": "mm",
  2250. "type": "float",
  2251. "minimum_value": "0",
  2252. "maximum_value_warning": "10",
  2253. "default_value": 0.7,
  2254. "enabled": "support_enable",
  2255. "settable_per_mesh": true
  2256. },
  2257. "support_xy_overrides_z": {
  2258. "label": "Support Distance Priority",
  2259. "description": "Whether the Support X/Y Distance overrides the Support Z Distance or vice versa. When X/Y overrides Z the X/Y distance can push away the support from the model, influencing the actual Z distance to the overhang. We can disable this by not applying the X/Y distance around overhangs.",
  2260. "type": "enum",
  2261. "options": {
  2262. "xy_overrides_z": "X/Y overrides Z",
  2263. "z_overrides_xy": "Z overrides X/Y"
  2264. },
  2265. "default_value": "z_overrides_xy",
  2266. "enabled": "support_enable",
  2267. "settable_per_mesh": true
  2268. },
  2269. "support_xy_distance_overhang": {
  2270. "label": "Minimum Support X/Y Distance",
  2271. "description": "Distance of the support structure from the overhang in the X/Y directions. ",
  2272. "unit": "mm",
  2273. "type": "float",
  2274. "minimum_value": "0",
  2275. "maximum_value_warning": "10",
  2276. "default_value": 0.2,
  2277. "value": "machine_nozzle_size / 2",
  2278. "enabled": "support_enable and support_xy_overrides_z=='z_overrides_xy'",
  2279. "settable_per_mesh": true
  2280. },
  2281. "support_bottom_stair_step_height":
  2282. {
  2283. "label": "Support Stair Step Height",
  2284. "description": "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures.",
  2285. "unit": "mm",
  2286. "type": "float",
  2287. "default_value": 0.3,
  2288. "minimum_value": "0",
  2289. "maximum_value_warning": "1.0",
  2290. "enabled": "support_enable",
  2291. "settable_per_mesh": true
  2292. },
  2293. "support_join_distance":
  2294. {
  2295. "label": "Support Join Distance",
  2296. "description": "The maximum distance between support structures in the X/Y directions. When seperate structures are closer together than this value, the structures merge into one.",
  2297. "unit": "mm",
  2298. "type": "float",
  2299. "default_value": 2.0,
  2300. "minimum_value_warning": "0",
  2301. "maximum_value_warning": "10",
  2302. "enabled": "support_enable",
  2303. "settable_per_mesh": true
  2304. },
  2305. "support_offset":
  2306. {
  2307. "label": "Support Horizontal Expansion",
  2308. "description": "Amount of offset applied to all support polygons in each layer. Positive values can smooth out the support areas and result in more sturdy support.",
  2309. "unit": "mm",
  2310. "type": "float",
  2311. "default_value": 0.2,
  2312. "minimum_value_warning": "-0.5",
  2313. "maximum_value_warning": "5.0",
  2314. "enabled": "support_enable",
  2315. "settable_per_mesh": true
  2316. },
  2317. "support_area_smoothing":
  2318. {
  2319. "label": "Support Area Smoothing",
  2320. "description": "Maximum distance in the X/Y directions of a line segment which is to be smoothed out. Ragged lines are introduced by the join distance and support bridge, which cause the machine to resonate. Smoothing the support areas won't cause them to break with the constraints, except it might change the overhang.",
  2321. "unit": "mm",
  2322. "type": "float",
  2323. "default_value": 0.6,
  2324. "minimum_value": "0",
  2325. "maximum_value_warning": "1.0",
  2326. "enabled": "support_enable",
  2327. "settable_per_mesh": true
  2328. },
  2329. "support_roof_enable":
  2330. {
  2331. "label": "Enable Support Roof",
  2332. "description": "Generate a dense top skin at the top of the support on which the model is printed.",
  2333. "type": "bool",
  2334. "default_value": false,
  2335. "enabled": "support_enable",
  2336. "settable_per_mesh": true
  2337. },
  2338. "support_roof_height":
  2339. {
  2340. "label": "Support Roof Thickness",
  2341. "description": "The thickness of the support roofs.",
  2342. "unit": "mm",
  2343. "type": "float",
  2344. "default_value": 1,
  2345. "minimum_value": "0",
  2346. "maximum_value_warning": "10",
  2347. "enabled": "support_roof_enable and support_enable",
  2348. "settable_per_mesh": true
  2349. },
  2350. "support_roof_density":
  2351. {
  2352. "label": "Support Roof Density",
  2353. "description": "Adjusts the density of the roof of the support structure. A higher value results in better overhangs, but the supports are harder to remove.",
  2354. "unit": "%",
  2355. "type": "float",
  2356. "default_value": 100,
  2357. "minimum_value": "0",
  2358. "maximum_value_warning": "100",
  2359. "enabled":"support_roof_enable and support_enable",
  2360. "settable_per_mesh": false,
  2361. "settable_per_extruder": false,
  2362. "children":
  2363. {
  2364. "support_roof_line_distance":
  2365. {
  2366. "label": "Support Roof Line Distance",
  2367. "description": "Distance between the printed support roof lines. This setting is calculated by the support roof Density, but can be adjusted separately.",
  2368. "unit": "mm",
  2369. "type": "float",
  2370. "default_value": 0.4,
  2371. "minimum_value": "0",
  2372. "value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == \"grid\" else (3 if support_roof_pattern == \"triangles\" else 1))",
  2373. "enabled": "support_roof_enable and support_enable",
  2374. "settable_per_mesh": false,
  2375. "settable_per_extruder": false
  2376. }
  2377. }
  2378. },
  2379. "support_roof_pattern":
  2380. {
  2381. "label": "Support Roof Pattern",
  2382. "description": "The pattern with which the top of the support is printed.",
  2383. "type": "enum",
  2384. "options":
  2385. {
  2386. "lines": "Lines",
  2387. "grid": "Grid",
  2388. "triangles": "Triangles",
  2389. "concentric": "Concentric",
  2390. "zigzag": "Zig Zag"
  2391. },
  2392. "default_value": "concentric",
  2393. "enabled": "support_roof_enable and support_enable",
  2394. "settable_per_mesh": false,
  2395. "settable_per_extruder": false
  2396. },
  2397. "support_use_towers":
  2398. {
  2399. "label": "Use Towers",
  2400. "description": "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof.",
  2401. "type": "bool",
  2402. "default_value": true,
  2403. "enabled": "support_enable",
  2404. "settable_per_mesh": true
  2405. },
  2406. "support_tower_diameter":
  2407. {
  2408. "label": "Tower Diameter",
  2409. "description": "The diameter of a special tower.",
  2410. "unit": "mm",
  2411. "type": "float",
  2412. "default_value": 3.0,
  2413. "minimum_value": "0",
  2414. "maximum_value_warning": "10",
  2415. "enabled": "support_enable and support_use_towers",
  2416. "settable_per_mesh": true
  2417. },
  2418. "support_minimal_diameter":
  2419. {
  2420. "label": "Minimum Diameter",
  2421. "description": "Minimum diameter in the X/Y directions of a small area which is to be supported by a specialized support tower.",
  2422. "unit": "mm",
  2423. "type": "float",
  2424. "default_value": 3.0,
  2425. "minimum_value": "0",
  2426. "maximum_value_warning": "10",
  2427. "maximum_value": "support_tower_diameter",
  2428. "enabled": "support_enable and support_use_towers",
  2429. "settable_per_mesh": true
  2430. },
  2431. "support_tower_roof_angle":
  2432. {
  2433. "label": "Tower Roof Angle",
  2434. "description": "The angle of a rooftop of a tower. A higher value results in pointed tower roofs, a lower value results in flattened tower roofs.",
  2435. "unit": "°",
  2436. "type": "int",
  2437. "minimum_value": "0",
  2438. "maximum_value": "90",
  2439. "default_value": 65,
  2440. "enabled": "support_enable and support_use_towers",
  2441. "settable_per_mesh": true
  2442. }
  2443. }
  2444. },
  2445. "platform_adhesion":
  2446. {
  2447. "label": "Platform Adhesion",
  2448. "type": "category",
  2449. "icon": "category_adhesion",
  2450. "description": "Adhesion",
  2451. "children":
  2452. {
  2453. "extruder_prime_pos_x":
  2454. {
  2455. "label": "Extruder Prime X Position",
  2456. "description": "The X coordinate of the position where the nozzle primes at the start of printing.",
  2457. "type": "float",
  2458. "unit": "mm",
  2459. "default_value": 0,
  2460. "minimum_value_warning": "0",
  2461. "maximum_value_warning": "machine_width",
  2462. "settable_per_mesh": false,
  2463. "settable_per_extruder": true,
  2464. "enabled": false
  2465. },
  2466. "extruder_prime_pos_y":
  2467. {
  2468. "label": "Extruder Prime Y Position",
  2469. "description": "The Y coordinate of the position where the nozzle primes at the start of printing.",
  2470. "type": "float",
  2471. "unit": "mm",
  2472. "default_value": 0,
  2473. "minimum_value_warning": "0",
  2474. "maximum_value_warning": "machine_depth",
  2475. "settable_per_mesh": false,
  2476. "settable_per_extruder": true,
  2477. "enabled": false
  2478. },
  2479. "adhesion_type":
  2480. {
  2481. "label": "Platform Adhesion Type",
  2482. "description": "Different options that help to improve both priming your extrusion and adhesion to the build plate. Brim adds a single layer flat area around the base of your object to prevent warping. Raft adds a thick grid with a roof below the object. Skirt is a line printed around the object, but not connected to the model.",
  2483. "type": "enum",
  2484. "options":
  2485. {
  2486. "skirt": "Skirt",
  2487. "brim": "Brim",
  2488. "raft": "Raft"
  2489. },
  2490. "default_value": "brim",
  2491. "settable_per_mesh": false,
  2492. "settable_per_extruder": false
  2493. },
  2494. "skirt_line_count":
  2495. {
  2496. "label": "Skirt Line Count",
  2497. "description": "Multiple skirt lines help to prime your extrusion better for small objects. Setting this to 0 will disable the skirt.",
  2498. "type": "int",
  2499. "default_value": 1,
  2500. "minimum_value": "0",
  2501. "maximum_value_warning": "10",
  2502. "enabled": "adhesion_type == \"skirt\"",
  2503. "settable_per_mesh": false,
  2504. "settable_per_extruder": true
  2505. },
  2506. "skirt_gap":
  2507. {
  2508. "label": "Skirt Distance",
  2509. "description": "The horizontal distance between the skirt and the first layer of the print.\nThis is the minimum distance, multiple skirt lines will extend outwards from this distance.",
  2510. "unit": "mm",
  2511. "type": "float",
  2512. "default_value": 3,
  2513. "minimum_value_warning": "0",
  2514. "maximum_value_warning": "100",
  2515. "enabled": "adhesion_type == \"skirt\"",
  2516. "settable_per_mesh": false,
  2517. "settable_per_extruder": true
  2518. },
  2519. "skirt_minimal_length":
  2520. {
  2521. "label": "Skirt Minimum Length",
  2522. "description": "The minimum length of the skirt. If this length is not reached by the skirt line count, more skirt lines will be added until the minimum length is reached. Note: If the line count is set to 0 this is ignored.",
  2523. "unit": "mm",
  2524. "type": "float",
  2525. "default_value": 250,
  2526. "minimum_value": "0",
  2527. "minimum_value_warning": "25",
  2528. "maximum_value_warning": "2500",
  2529. "enabled": "adhesion_type == \"skirt\"",
  2530. "settable_per_mesh": false,
  2531. "settable_per_extruder": true
  2532. },
  2533. "brim_width":
  2534. {
  2535. "label": "Brim Width",
  2536. "description": "The distance from the model to the outermost brim line. A larger brim enhances adhesion to the build plate, but also reduces the effective print area.",
  2537. "type": "float",
  2538. "unit": "mm",
  2539. "default_value": 8.0,
  2540. "minimum_value": "0.0",
  2541. "maximum_value_warning": "100.0",
  2542. "enabled": "adhesion_type == \"brim\"",
  2543. "settable_per_mesh": false,
  2544. "settable_per_extruder": true,
  2545. "children":
  2546. {
  2547. "brim_line_count":
  2548. {
  2549. "label": "Brim Line Count",
  2550. "description": "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area.",
  2551. "type": "int",
  2552. "default_value": 20,
  2553. "minimum_value": "0",
  2554. "maximum_value_warning": "300",
  2555. "value": "math.ceil(brim_width / skirt_line_width)",
  2556. "enabled": "adhesion_type == \"brim\"",
  2557. "settable_per_mesh": false,
  2558. "settable_per_extruder": true
  2559. }
  2560. }
  2561. },
  2562. "raft_margin":
  2563. {
  2564. "label": "Raft Extra Margin",
  2565. "description": "If the raft is enabled, this is the extra raft area around the object which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print.",
  2566. "unit": "mm",
  2567. "type": "float",
  2568. "default_value": 15,
  2569. "minimum_value_warning": "0",
  2570. "maximum_value_warning": "10",
  2571. "enabled": "adhesion_type == \"raft\""
  2572. },
  2573. "raft_airgap":
  2574. {
  2575. "label": "Raft Air Gap",
  2576. "description": "The gap between the final raft layer and the first layer of the object. Only the first layer is raised by this amount to lower the bonding between the raft layer and the object. Makes it easier to peel off the raft.",
  2577. "unit": "mm",
  2578. "type": "float",
  2579. "default_value": 0.3,
  2580. "minimum_value": "0",
  2581. "maximum_value_warning": "1.0",
  2582. "enabled": "adhesion_type == \"raft\"",
  2583. "settable_per_mesh": false,
  2584. "settable_per_extruder": true
  2585. },
  2586. "layer_0_z_overlap": {
  2587. "label": "Initial Layer Z Overlap",
  2588. "description": "Make the first and second layer of the object overlap in the Z direction to compensate for the filament lost in the airgap. All models above the first model layer will be shifted down by this amount.",
  2589. "unit": "mm",
  2590. "type": "float",
  2591. "default_value": 0.22,
  2592. "value": "raft_airgap / 2",
  2593. "minimum_value": "0",
  2594. "maximum_value_warning": "layer_height",
  2595. "enabled": "adhesion_type == 'raft'",
  2596. "settable_per_mesh": false,
  2597. "settable_per_extruder": true
  2598. },
  2599. "raft_surface_layers":
  2600. {
  2601. "label": "Raft Top Layers",
  2602. "description": "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the object sits on. 2 layers result in a smoother top surface than 1.",
  2603. "type": "int",
  2604. "default_value": 2,
  2605. "minimum_value": "0",
  2606. "maximum_value_warning": "20",
  2607. "enabled": "adhesion_type == \"raft\"",
  2608. "settable_per_mesh": false,
  2609. "settable_per_extruder": true
  2610. },
  2611. "raft_surface_thickness":
  2612. {
  2613. "label": "Raft Top Layer Thickness",
  2614. "description": "Layer thickness of the top raft layers.",
  2615. "unit": "mm",
  2616. "type": "float",
  2617. "default_value": 0.1,
  2618. "value": "layer_height",
  2619. "minimum_value": "0",
  2620. "maximum_value_warning": "2.0",
  2621. "enabled": "adhesion_type == \"raft\"",
  2622. "settable_per_mesh": false,
  2623. "settable_per_extruder": true
  2624. },
  2625. "raft_surface_line_width":
  2626. {
  2627. "label": "Raft Top Line Width",
  2628. "description": "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth.",
  2629. "unit": "mm",
  2630. "type": "float",
  2631. "default_value": 0.4,
  2632. "value": "line_width",
  2633. "minimum_value": "0.0001",
  2634. "maximum_value_warning": "machine_nozzle_size * 2",
  2635. "enabled": "adhesion_type == \"raft\"",
  2636. "settable_per_mesh": false,
  2637. "settable_per_extruder": true
  2638. },
  2639. "raft_surface_line_spacing":
  2640. {
  2641. "label": "Raft Top Spacing",
  2642. "description": "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid.",
  2643. "unit": "mm",
  2644. "type": "float",
  2645. "default_value": 0.4,
  2646. "minimum_value": "0.0001",
  2647. "maximum_value_warning": "5.0",
  2648. "enabled": "adhesion_type == \"raft\"",
  2649. "value": "raft_surface_line_width",
  2650. "settable_per_mesh": false,
  2651. "settable_per_extruder": true
  2652. },
  2653. "raft_interface_thickness":
  2654. {
  2655. "label": "Raft Middle Thickness",
  2656. "description": "Layer thickness of the middle raft layer.",
  2657. "unit": "mm",
  2658. "type": "float",
  2659. "default_value": 0.15,
  2660. "value": "layer_height * 1.5",
  2661. "minimum_value": "0",
  2662. "maximum_value_warning": "5.0",
  2663. "enabled": "adhesion_type == \"raft\"",
  2664. "settable_per_mesh": false,
  2665. "settable_per_extruder": true
  2666. },
  2667. "raft_interface_line_width":
  2668. {
  2669. "label": "Raft Middle Line Width",
  2670. "description": "Width of the lines in the middle raft layer. Making the second layer extrude more causes the lines to stick to the bed.",
  2671. "unit": "mm",
  2672. "type": "float",
  2673. "default_value": 0.7,
  2674. "value": "line_width * 2",
  2675. "minimum_value": "0.0001",
  2676. "maximum_value_warning": "machine_nozzle_size * 2",
  2677. "enabled": "adhesion_type == \"raft\"",
  2678. "settable_per_mesh": false,
  2679. "settable_per_extruder": true
  2680. },
  2681. "raft_interface_line_spacing":
  2682. {
  2683. "label": "Raft Middle Spacing",
  2684. "description": "The distance between the raft lines for the middle raft layer. The spacing of the middle should be quite wide, while being dense enough to support the top raft layers.",
  2685. "unit": "mm",
  2686. "type": "float",
  2687. "default_value": 0.9,
  2688. "value": "raft_interface_line_width + 0.2",
  2689. "minimum_value": "0",
  2690. "maximum_value_warning": "15.0",
  2691. "enabled": "adhesion_type == \"raft\"",
  2692. "settable_per_mesh": false,
  2693. "settable_per_extruder": true
  2694. },
  2695. "raft_base_thickness":
  2696. {
  2697. "label": "Raft Base Thickness",
  2698. "description": "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer bed.",
  2699. "unit": "mm",
  2700. "type": "float",
  2701. "default_value": 0.3,
  2702. "value": "layer_height_0 * 1.2",
  2703. "minimum_value": "0",
  2704. "maximum_value_warning": "5.0",
  2705. "enabled": "adhesion_type == \"raft\"",
  2706. "settable_per_mesh": false,
  2707. "settable_per_extruder": true
  2708. },
  2709. "raft_base_line_width":
  2710. {
  2711. "label": "Raft Base Line Width",
  2712. "description": "Width of the lines in the base raft layer. These should be thick lines to assist in bed adhesion.",
  2713. "unit": "mm",
  2714. "type": "float",
  2715. "default_value": 0.8,
  2716. "minimum_value": "0.0001",
  2717. "value": "machine_nozzle_size * 2",
  2718. "maximum_value_warning": "machine_nozzle_size * 3",
  2719. "enabled": "adhesion_type == \"raft\"",
  2720. "settable_per_mesh": false,
  2721. "settable_per_extruder": true
  2722. },
  2723. "raft_base_line_spacing":
  2724. {
  2725. "label": "Raft Line Spacing",
  2726. "description": "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate.",
  2727. "unit": "mm",
  2728. "type": "float",
  2729. "default_value": 1.6,
  2730. "value": "raft_base_line_width * 2",
  2731. "minimum_value": "0.0001",
  2732. "maximum_value_warning": "100",
  2733. "enabled": "adhesion_type == \"raft\"",
  2734. "settable_per_mesh": false,
  2735. "settable_per_extruder": true
  2736. },
  2737. "raft_speed":
  2738. {
  2739. "label": "Raft Print Speed",
  2740. "description": "The speed at which the raft is printed.",
  2741. "unit": "mm/s",
  2742. "type": "float",
  2743. "default_value": 20,
  2744. "minimum_value": "0.1",
  2745. "maximum_value": "299792458000",
  2746. "maximum_value_warning": "200",
  2747. "enabled": "adhesion_type == \"raft\"",
  2748. "value": "speed_print / 60 * 30",
  2749. "settable_per_mesh": false,
  2750. "settable_per_extruder": true,
  2751. "children":
  2752. {
  2753. "raft_surface_speed":
  2754. {
  2755. "label": "Raft Top Print Speed",
  2756. "description": "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines.",
  2757. "unit": "mm/s",
  2758. "type": "float",
  2759. "default_value": 20,
  2760. "minimum_value": "0.1",
  2761. "maximum_value": "299792458000",
  2762. "maximum_value_warning": "100",
  2763. "enabled": "adhesion_type == \"raft\"",
  2764. "value": "raft_speed",
  2765. "settable_per_mesh": false,
  2766. "settable_per_extruder": true
  2767. },
  2768. "raft_interface_speed":
  2769. {
  2770. "label": "Raft Middle Print Speed",
  2771. "description": "The speed at which the middle raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.",
  2772. "unit": "mm/s",
  2773. "type": "float",
  2774. "default_value": 15,
  2775. "value": "raft_speed * 0.75",
  2776. "minimum_value": "0.1",
  2777. "maximum_value": "299792458000",
  2778. "maximum_value_warning": "150",
  2779. "enabled": "adhesion_type == \"raft\"",
  2780. "settable_per_mesh": false,
  2781. "settable_per_extruder": true
  2782. },
  2783. "raft_base_speed":
  2784. {
  2785. "label": "Raft Base Print Speed",
  2786. "description": "The speed at which the base raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.",
  2787. "unit": "mm/s",
  2788. "type": "float",
  2789. "default_value": 15,
  2790. "minimum_value": "0.1",
  2791. "maximum_value": "299792458000",
  2792. "maximum_value_warning": "200",
  2793. "enabled": "adhesion_type == \"raft\"",
  2794. "value": "0.75 * raft_speed",
  2795. "settable_per_mesh": false,
  2796. "settable_per_extruder": true
  2797. }
  2798. }
  2799. },
  2800. "raft_acceleration": {
  2801. "label": "Raft Print Acceleration",
  2802. "description": "The acceleration with which the raft is printed.",
  2803. "unit": "mm/s²",
  2804. "type": "float",
  2805. "default_value": 3000,
  2806. "minimum_value": "0.1",
  2807. "minimum_value_warning": "100",
  2808. "maximum_value_warning": "10000",
  2809. "value": "acceleration_print",
  2810. "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
  2811. "settable_per_mesh": false,
  2812. "children": {
  2813. "raft_surface_acceleration": {
  2814. "label": "Raft Top Print Acceleration",
  2815. "description": "The acceleration with which the top raft layers are printed.",
  2816. "unit": "mm/s²",
  2817. "type": "float",
  2818. "default_value": 3000,
  2819. "value": "raft_acceleration",
  2820. "minimum_value": "0.1",
  2821. "minimum_value_warning": "100",
  2822. "maximum_value_warning": "10000",
  2823. "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
  2824. "settable_per_mesh": false
  2825. },
  2826. "raft_interface_acceleration": {
  2827. "label": "Raft Middle Print Acceleration",
  2828. "description": "The acceleration with which the middle raft layer is printed.",
  2829. "unit": "mm/s²",
  2830. "type": "float",
  2831. "default_value": 3000,
  2832. "value": "raft_acceleration",
  2833. "minimum_value": "0.1",
  2834. "minimum_value_warning": "100",
  2835. "maximum_value_warning": "10000",
  2836. "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
  2837. "settable_per_mesh": false
  2838. },
  2839. "raft_base_acceleration": {
  2840. "label": "Raft Base Print Acceleration",
  2841. "description": "The acceleration with which the base raft layer is printed.",
  2842. "unit": "mm/s²",
  2843. "type": "float",
  2844. "default_value": 3000,
  2845. "value": "raft_acceleration",
  2846. "minimum_value": "0.1",
  2847. "minimum_value_warning": "100",
  2848. "maximum_value_warning": "10000",
  2849. "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
  2850. "settable_per_mesh": false
  2851. }
  2852. }
  2853. },
  2854. "raft_jerk": {
  2855. "label": "Raft Print Jerk",
  2856. "description": "The jerk with which the raft is printed.",
  2857. "unit": "mm/s",
  2858. "type": "float",
  2859. "default_value": 20,
  2860. "minimum_value": "0.1",
  2861. "minimum_value_warning": "5",
  2862. "maximum_value_warning": "50",
  2863. "value": "jerk_print",
  2864. "enabled": "adhesion_type == \"raft\" and jerk_enabled",
  2865. "settable_per_mesh": false,
  2866. "children": {
  2867. "raft_surface_jerk": {
  2868. "label": "Raft Top Print Jerk",
  2869. "description": "The jerk with which the top raft layers are printed.",
  2870. "unit": "mm/s",
  2871. "type": "float",
  2872. "default_value": 20,
  2873. "value": "raft_jerk",
  2874. "minimum_value": "0.1",
  2875. "minimum_value_warning": "5",
  2876. "maximum_value_warning": "100",
  2877. "enabled": "adhesion_type == \"raft\" and jerk_enabled",
  2878. "settable_per_mesh": false
  2879. },
  2880. "raft_interface_jerk": {
  2881. "label": "Raft Middle Print Jerk",
  2882. "description": "The jerk with which the middle raft layer is printed.",
  2883. "unit": "mm/s",
  2884. "type": "float",
  2885. "default_value": 20,
  2886. "value": "raft_jerk",
  2887. "minimum_value": "0.1",
  2888. "minimum_value_warning": "5",
  2889. "maximum_value_warning": "50",
  2890. "enabled": "adhesion_type == \"raft\" and jerk_enabled",
  2891. "settable_per_mesh": false
  2892. },
  2893. "raft_base_jerk": {
  2894. "label": "Raft Base Print Jerk",
  2895. "description": "The jerk with which the base raft layer is printed.",
  2896. "unit": "mm/s",
  2897. "type": "float",
  2898. "default_value": 20,
  2899. "value": "raft_jerk",
  2900. "minimum_value": "0.1",
  2901. "minimum_value_warning": "5",
  2902. "maximum_value_warning": "50",
  2903. "enabled": "adhesion_type == \"raft\" and jerk_enabled",
  2904. "settable_per_mesh": false
  2905. }
  2906. }
  2907. },
  2908. "raft_fan_speed": {
  2909. "label": "Raft Fan Speed",
  2910. "description": "The fan speed for the raft.",
  2911. "unit": "%",
  2912. "type": "float",
  2913. "minimum_value": "0",
  2914. "maximum_value": "100",
  2915. "default_value": 0,
  2916. "settable_per_mesh": false,
  2917. "settable_per_extruder": true,
  2918. "enabled": "adhesion_type == \"raft\"",
  2919. "children":
  2920. {
  2921. "raft_surface_fan_speed":
  2922. {
  2923. "label": "Raft Top Fan Speed",
  2924. "description": "The fan speed for the top raft layers.",
  2925. "unit": "%",
  2926. "type": "float",
  2927. "minimum_value": "0",
  2928. "maximum_value": "100",
  2929. "default_value": 0,
  2930. "value": "raft_fan_speed",
  2931. "enabled": "adhesion_type == \"raft\"",
  2932. "settable_per_mesh": false,
  2933. "settable_per_extruder": true
  2934. },
  2935. "raft_interface_fan_speed":
  2936. {
  2937. "label": "Raft Middle Fan Speed",
  2938. "description": "The fan speed for the middle raft layer.",
  2939. "unit": "%",
  2940. "type": "float",
  2941. "minimum_value": "0",
  2942. "maximum_value": "100",
  2943. "default_value": 0,
  2944. "value": "raft_fan_speed",
  2945. "enabled": "adhesion_type == \"raft\"",
  2946. "settable_per_mesh": false,
  2947. "settable_per_extruder": true
  2948. },
  2949. "raft_base_fan_speed":
  2950. {
  2951. "label": "Raft Base Fan Speed",
  2952. "description": "The fan speed for the base raft layer.",
  2953. "unit": "%",
  2954. "type": "float",
  2955. "minimum_value": "0",
  2956. "maximum_value": "100",
  2957. "default_value": 0,
  2958. "value": "raft_fan_speed",
  2959. "enabled": "adhesion_type == \"raft\"",
  2960. "settable_per_mesh": false,
  2961. "settable_per_extruder": true
  2962. }
  2963. }
  2964. }
  2965. }
  2966. },
  2967. "dual":
  2968. {
  2969. "label": "Dual Extrusion",
  2970. "type": "category",
  2971. "icon": "category_dual",
  2972. "description": "Settings used for printing with multiple extruders.",
  2973. "children":
  2974. {
  2975. "adhesion_extruder_nr":
  2976. {
  2977. "label": "Platform Adhesion Extruder",
  2978. "description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.",
  2979. "type": "extruder",
  2980. "default_value": "0",
  2981. "settable_per_mesh": false,
  2982. "settable_per_extruder": false
  2983. },
  2984. "support_extruder_nr":
  2985. {
  2986. "label": "Support Extruder",
  2987. "description": "The extruder train to use for printing the support. This is used in multi-extrusion.",
  2988. "type": "extruder",
  2989. "default_value": "0",
  2990. "enabled": "support_enable",
  2991. "settable_per_mesh": false,
  2992. "settable_per_extruder": false,
  2993. "children": {
  2994. "support_infill_extruder_nr":
  2995. {
  2996. "label": "Support Infill Extruder",
  2997. "description": "The extruder train to use for printing the infill of the support. This is used in multi-extrusion.",
  2998. "type": "extruder",
  2999. "default_value": "0",
  3000. "value": "support_extruder_nr",
  3001. "enabled": "support_enable",
  3002. "settable_per_mesh": false,
  3003. "settable_per_extruder": false
  3004. },
  3005. "support_extruder_nr_layer_0":
  3006. {
  3007. "label": "First Layer Support Extruder",
  3008. "description": "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion.",
  3009. "type": "extruder",
  3010. "default_value": "0",
  3011. "value": "support_extruder_nr",
  3012. "enabled": "support_enable",
  3013. "settable_per_mesh": false,
  3014. "settable_per_extruder": false
  3015. },
  3016. "support_roof_extruder_nr":
  3017. {
  3018. "label": "Support Roof Extruder",
  3019. "description": "The extruder train to use for printing the roof of the support. This is used in multi-extrusion.",
  3020. "type": "extruder",
  3021. "default_value": "0",
  3022. "value": "support_extruder_nr",
  3023. "enabled": "support_enable and support_roof_enable",
  3024. "settable_per_mesh": false,
  3025. "settable_per_extruder": false
  3026. }
  3027. }
  3028. },
  3029. "prime_tower_enable":
  3030. {
  3031. "label": "Enable Prime Tower",
  3032. "description": "Print a tower next to the print which serves to prime the material after each nozzle switch.",
  3033. "type": "bool",
  3034. "default_value": false,
  3035. "settable_per_mesh": false,
  3036. "settable_per_extruder": false
  3037. },
  3038. "prime_tower_size":
  3039. {
  3040. "label": "Prime Tower Size",
  3041. "description": "The width of the prime tower.",
  3042. "type": "float",
  3043. "unit": "mm",
  3044. "enabled": "prime_tower_enable",
  3045. "default_value": 15,
  3046. "value": "15 if prime_tower_enable else 0",
  3047. "minimum_value": "0",
  3048. "maximum_value_warning": "20",
  3049. "settable_per_mesh": false,
  3050. "settable_per_extruder": false
  3051. },
  3052. "prime_tower_position_x":
  3053. {
  3054. "label": "Prime Tower X Position",
  3055. "description": "The x coordinate of the position of the prime tower.",
  3056. "type": "float",
  3057. "unit": "mm",
  3058. "enabled": "prime_tower_enable",
  3059. "default_value": 200,
  3060. "minimum_value_warning": "-1000",
  3061. "maximum_value_warning": "1000",
  3062. "settable_per_mesh": false,
  3063. "settable_per_extruder": false
  3064. },
  3065. "prime_tower_position_y":
  3066. {
  3067. "label": "Prime Tower Y Position",
  3068. "description": "The y coordinate of the position of the prime tower.",
  3069. "type": "float",
  3070. "unit": "mm",
  3071. "enabled": "prime_tower_enable",
  3072. "default_value": 200,
  3073. "minimum_value_warning": "-1000",
  3074. "maximum_value_warning": "1000",
  3075. "settable_per_mesh": false,
  3076. "settable_per_extruder": false
  3077. },
  3078. "prime_tower_flow":
  3079. {
  3080. "label": "Prime Tower Flow",
  3081. "description": "Flow compensation: the amount of material extruded is multiplied by this value.",
  3082. "type": "float",
  3083. "unit": "%",
  3084. "enabled": "prime_tower_enable",
  3085. "default_value": 100,
  3086. "minimum_value": "0.0001",
  3087. "minimum_value_warning": "50",
  3088. "maximum_value_warning": "150",
  3089. "settable_per_mesh": false,
  3090. "settable_per_extruder": true
  3091. },
  3092. "prime_tower_wipe_enabled":
  3093. {
  3094. "label": "Wipe Nozzle on Prime Tower",
  3095. "description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.",
  3096. "type": "bool",
  3097. "enabled": "prime_tower_enable",
  3098. "default_value": false,
  3099. "settable_per_mesh": false,
  3100. "settable_per_extruder": false
  3101. },
  3102. "multiple_mesh_overlap":
  3103. {
  3104. "label": "Dual Extrusion Overlap",
  3105. "description": "Make the objects printed with different extruder trains overlap a bit. This makes the different materials bond together better.",
  3106. "type": "float",
  3107. "unit": "mm",
  3108. "default_value": 0.15,
  3109. "minimum_value": "0",
  3110. "maximum_value_warning": "1.0",
  3111. "settable_per_mesh": true
  3112. },
  3113. "ooze_shield_enabled":
  3114. {
  3115. "label": "Enable Ooze Shield",
  3116. "description": "Enable exterior ooze shield. This will create a shell around the object which is likely to wipe a second nozzle if it's at the same height as the first nozzle.",
  3117. "type": "bool",
  3118. "default_value": false,
  3119. "settable_per_mesh": false,
  3120. "settable_per_extruder": false
  3121. },
  3122. "ooze_shield_angle":
  3123. {
  3124. "label": "Ooze Shield Angle",
  3125. "description": "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material.",
  3126. "type": "float",
  3127. "unit": "°",
  3128. "enabled": "ooze_shield_enabled",
  3129. "default_value": 60,
  3130. "minimum_value": "0",
  3131. "maximum_value": "90",
  3132. "settable_per_mesh": false,
  3133. "settable_per_extruder": false
  3134. },
  3135. "ooze_shield_dist":
  3136. {
  3137. "label": "Ooze Shield Distance",
  3138. "description": "Distance of the ooze shield from the print, in the X/Y directions.",
  3139. "type": "float",
  3140. "unit": "mm",
  3141. "enabled": "ooze_shield_enabled",
  3142. "default_value": 2,
  3143. "minimum_value": "0",
  3144. "maximum_value_warning": "30",
  3145. "settable_per_mesh": false,
  3146. "settable_per_extruder": false
  3147. }
  3148. }
  3149. },
  3150. "meshfix":
  3151. {
  3152. "label": "Mesh Fixes",
  3153. "type": "category",
  3154. "icon": "category_fixes",
  3155. "description": "category_fixes",
  3156. "children":
  3157. {
  3158. "meshfix_union_all":
  3159. {
  3160. "label": "Union Overlapping Volumes",
  3161. "description": "Ignore the internal geometry arising from overlapping volumes and print the volumes as one. This may cause internal cavities to disappear.",
  3162. "type": "bool",
  3163. "default_value": true,
  3164. "settable_per_mesh": true
  3165. },
  3166. "meshfix_union_all_remove_holes":
  3167. {
  3168. "label": "Remove All Holes",
  3169. "description": "Remove the holes in each layer and keep only the outside shape. This will ignore any invisible internal geometry. However, it also ignores layer holes which can be viewed from above or below.",
  3170. "type": "bool",
  3171. "default_value": false,
  3172. "settable_per_mesh": true
  3173. },
  3174. "meshfix_extensive_stitching":
  3175. {
  3176. "label": "Extensive Stitching",
  3177. "description": "Extensive stitching tries to stitch up open holes in the mesh by closing the hole with touching polygons. This option can introduce a lot of processing time.",
  3178. "type": "bool",
  3179. "default_value": false,
  3180. "settable_per_mesh": true
  3181. },
  3182. "meshfix_keep_open_polygons":
  3183. {
  3184. "label": "Keep Disconnected Faces",
  3185. "description": "Normally Cura tries to stitch up small holes in the mesh and remove parts of a layer with big holes. Enabling this option keeps those parts which cannot be stitched. This option should be used as a last resort option when everything else fails to produce proper GCode.",
  3186. "type": "bool",
  3187. "default_value": false,
  3188. "settable_per_mesh": true
  3189. }
  3190. }
  3191. },
  3192. "blackmagic":
  3193. {
  3194. "label": "Special Modes",
  3195. "type": "category",
  3196. "icon": "category_blackmagic",
  3197. "description": "category_blackmagic",
  3198. "children":
  3199. {
  3200. "print_sequence":
  3201. {
  3202. "label": "Print Sequence",
  3203. "description": "Whether to print all objects one layer at a time or to wait for one object to finish, before moving on to the next. One at a time mode is only possible if all models are separated in such a way that the whole print head can move in between and all models are lower than the distance between the nozzle and the X/Y axes.",
  3204. "type": "enum",
  3205. "options":
  3206. {
  3207. "all_at_once": "All at Once",
  3208. "one_at_a_time": "One at a Time"
  3209. },
  3210. "default_value": "all_at_once",
  3211. "settable_per_mesh": false,
  3212. "settable_per_extruder": false,
  3213. "settable_per_meshgroup": false
  3214. },
  3215. "infill_mesh":
  3216. {
  3217. "label": "Infill Mesh",
  3218. "description": "Use this mesh to modify the infill of other meshes with which it overlaps. Replaces infill regions of other meshes with regions for this mesh. It's suggested to only print one Wall and no Top/Bottom Skin for this mesh.",
  3219. "type": "bool",
  3220. "default_value": false,
  3221. "settable_per_mesh": true,
  3222. "settable_per_extruder": false,
  3223. "settable_per_meshgroup": false,
  3224. "settable_globally": false
  3225. },
  3226. "infill_mesh_order":
  3227. {
  3228. "label": "Infill Mesh Order",
  3229. "description": "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes.",
  3230. "default_value": 0,
  3231. "value": "1 if infill_mesh else 0",
  3232. "minimum_value_warning": "1",
  3233. "maximum_value_warning": "50",
  3234. "type": "int",
  3235. "settable_per_mesh": true,
  3236. "settable_per_extruder": false,
  3237. "settable_per_meshgroup": false,
  3238. "settable_globally": false
  3239. },
  3240. "magic_mesh_surface_mode":
  3241. {
  3242. "label": "Surface Mode",
  3243. "description": "Treat the model as a surface only, a volume, or volumes with loose surfaces. The normal print mode only prints enclosed volumes. \"Surface\" prints a single wall tracing the mesh surface with no infill and no top/bottom skin. \"Both\" prints enclosed volumes like normal and any remaining polygons as surfaces.",
  3244. "type": "enum",
  3245. "options":
  3246. {
  3247. "normal": "Normal",
  3248. "surface": "Surface",
  3249. "both": "Both"
  3250. },
  3251. "default_value": "normal",
  3252. "settable_per_mesh": true
  3253. },
  3254. "magic_spiralize":
  3255. {
  3256. "label": "Spiralize Outer Contour",
  3257. "description": "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid object into a single walled print with a solid bottom. This feature used to be called Joris in older versions.",
  3258. "type": "bool",
  3259. "default_value": false,
  3260. "settable_per_mesh": true
  3261. }
  3262. }
  3263. },
  3264. "experimental":
  3265. {
  3266. "label": "Experimental Modes",
  3267. "type": "category",
  3268. "icon": "category_experimental",
  3269. "description": "experimental!",
  3270. "children":
  3271. {
  3272. "draft_shield_enabled":
  3273. {
  3274. "label": "Enable Draft Shield",
  3275. "description": "This will create a wall around the object, which traps (hot) air and shields against exterior airflow. Especially useful for materials which warp easily.",
  3276. "type": "bool",
  3277. "default_value": false,
  3278. "settable_per_mesh": false,
  3279. "settable_per_extruder": false
  3280. },
  3281. "draft_shield_dist":
  3282. {
  3283. "label": "Draft Shield X/Y Distance",
  3284. "description": "Distance of the draft shield from the print, in the X/Y directions.",
  3285. "unit": "mm",
  3286. "type": "float",
  3287. "minimum_value": "0",
  3288. "maximum_value_warning": "100",
  3289. "default_value": 10,
  3290. "enabled": "draft_shield_enabled",
  3291. "settable_per_mesh": false,
  3292. "settable_per_extruder": false
  3293. },
  3294. "draft_shield_height_limitation":
  3295. {
  3296. "label": "Draft Shield Limitation",
  3297. "description": "Set the height of the draft shield. Choose to print the draft shield at the full height of the object or at a limited height.",
  3298. "type": "enum",
  3299. "options":
  3300. {
  3301. "full": "Full",
  3302. "limited": "Limited"
  3303. },
  3304. "default_value": "full",
  3305. "enabled": "draft_shield_enabled",
  3306. "settable_per_mesh": false,
  3307. "settable_per_extruder": false
  3308. },
  3309. "draft_shield_height":
  3310. {
  3311. "label": "Draft Shield Height",
  3312. "description": "Height limitation of the draft shield. Above this height no draft shield will be printed.",
  3313. "unit": "mm",
  3314. "type": "float",
  3315. "minimum_value": "0",
  3316. "maximum_value_warning": "9999",
  3317. "default_value": 0,
  3318. "value": "9999 if draft_shield_height_limitation == 'full' and draft_shield_enabled else 0.0",
  3319. "enabled": "draft_shield_height_limitation == \"limited\"",
  3320. "settable_per_mesh": false,
  3321. "settable_per_extruder": false
  3322. },
  3323. "conical_overhang_enabled": {
  3324. "label": "Make Overhang Printable",
  3325. "description": "Change the geometry of the printed model such that minimal support is required. Steep overhangs will become shallow overhangs. Overhanging areas will drop down to become more vertical.",
  3326. "type": "bool",
  3327. "default_value": false
  3328. },
  3329. "conical_overhang_angle": {
  3330. "label": "Maximum Model Angle",
  3331. "description": "The maximum angle of overhangs after the they have been made printable. At a value of 0° all overhangs are replaced by a piece of model connected to the build plate, 90° will not change the model in any way.",
  3332. "unit": "°",
  3333. "type": "float",
  3334. "minimum_value": "-89",
  3335. "minimum_value_warning": "0",
  3336. "maximum_value": "89",
  3337. "default_value": 50,
  3338. "enabled": "conical_overhang_enabled"
  3339. },
  3340. "coasting_enable":
  3341. {
  3342. "label": "Enable Coasting",
  3343. "description": "Coasting replaces the last part of an extrusion path with a travel path. The oozed material is used to print the last piece of the extrusion path in order to reduce stringing.",
  3344. "type": "bool",
  3345. "default_value": false,
  3346. "settable_per_mesh": false,
  3347. "settable_per_extruder": true
  3348. },
  3349. "coasting_volume":
  3350. {
  3351. "label": "Coasting Volume",
  3352. "description": "The volume otherwise oozed. This value should generally be close to the nozzle diameter cubed.",
  3353. "unit": "mm³",
  3354. "type": "float",
  3355. "default_value": 0.064,
  3356. "minimum_value": "0",
  3357. "maximum_value_warning": "2.0",
  3358. "enabled": "coasting_enable",
  3359. "settable_per_mesh": false,
  3360. "settable_per_extruder": true
  3361. },
  3362. "coasting_min_volume":
  3363. {
  3364. "label": "Minimum Volume Before Coasting",
  3365. "description": "The smallest volume an extrusion path should have before allowing coasting. For smaller extrusion paths, less pressure has been built up in the bowden tube and so the coasted volume is scaled linearly. This value should always be larger than the Coasting Volume.",
  3366. "unit": "mm³",
  3367. "type": "float",
  3368. "default_value": 0.8,
  3369. "minimum_value": "0",
  3370. "maximum_value_warning": "10.0",
  3371. "enabled": "coasting_enable",
  3372. "settable_per_mesh": false,
  3373. "settable_per_extruder": true
  3374. },
  3375. "coasting_speed":
  3376. {
  3377. "label": "Coasting Speed",
  3378. "description": "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops.",
  3379. "unit": "%",
  3380. "type": "float",
  3381. "default_value": 90,
  3382. "minimum_value": "0.0001",
  3383. "maximum_value_warning": "100",
  3384. "enabled": "coasting_enable",
  3385. "settable_per_mesh": false,
  3386. "settable_per_extruder": true
  3387. },
  3388. "skin_outline_count":
  3389. {
  3390. "label": "Extra Skin Wall Count",
  3391. "description": "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material.",
  3392. "default_value": 0,
  3393. "minimum_value": "0",
  3394. "maximum_value_warning": "10",
  3395. "type": "int",
  3396. "settable_per_mesh": true
  3397. },
  3398. "skin_alternate_rotation":
  3399. {
  3400. "label": "Alternate Skin Rotation",
  3401. "description": "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions.",
  3402. "type": "bool",
  3403. "default_value": false,
  3404. "enabled": "top_bottom_pattern != \"concentric\"",
  3405. "settable_per_mesh": true
  3406. },
  3407. "support_conical_enabled":
  3408. {
  3409. "label": "Enable Conical Support",
  3410. "description": "Experimental feature: Make support areas smaller at the bottom than at the overhang.",
  3411. "type": "bool",
  3412. "default_value": false,
  3413. "enabled": "support_enable",
  3414. "settable_per_mesh": true
  3415. },
  3416. "support_conical_angle":
  3417. {
  3418. "label": "Conical Support Angle",
  3419. "description": "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top.",
  3420. "unit": "°",
  3421. "type": "float",
  3422. "minimum_value": "-90",
  3423. "minimum_value_warning": "-45",
  3424. "maximum_value_warning": "45",
  3425. "maximum_value": "90",
  3426. "default_value": 30,
  3427. "enabled": "support_conical_enabled and support_enable",
  3428. "settable_per_mesh": true
  3429. },
  3430. "support_conical_min_width":
  3431. {
  3432. "label": "Conical Support Minimum Width",
  3433. "description": "Minimum width to which the base of the conical support area is reduced. Small widths can lead to unstable support structures.",
  3434. "unit": "mm",
  3435. "default_value": 5.0,
  3436. "minimum_value": "0",
  3437. "minimum_value_warning": "machine_nozzle_size * 3",
  3438. "maximum_value_warning": "100.0",
  3439. "type": "float",
  3440. "enabled": "support_conical_enabled and support_enable",
  3441. "settable_per_mesh": true
  3442. },
  3443. "magic_fuzzy_skin_enabled":
  3444. {
  3445. "label": "Fuzzy Skin",
  3446. "description": "Randomly jitter while printing the outer wall, so that the surface has a rough and fuzzy look.",
  3447. "type": "bool",
  3448. "default_value": false,
  3449. "settable_per_mesh": true
  3450. },
  3451. "magic_fuzzy_skin_thickness":
  3452. {
  3453. "label": "Fuzzy Skin Thickness",
  3454. "description": "The width within which to jitter. It's advised to keep this below the outer wall width, since the inner walls are unaltered.",
  3455. "type": "float",
  3456. "unit": "mm",
  3457. "default_value": 0.3,
  3458. "minimum_value": "0.001",
  3459. "maximum_value_warning": "wall_line_width_0",
  3460. "enabled": "magic_fuzzy_skin_enabled",
  3461. "settable_per_mesh": true
  3462. },
  3463. "magic_fuzzy_skin_point_density":
  3464. {
  3465. "label": "Fuzzy Skin Density",
  3466. "description": "The average density of points introduced on each polygon in a layer. Note that the original points of the polygon are discarded, so a low density results in a reduction of the resolution.",
  3467. "type": "float",
  3468. "unit": "1/mm",
  3469. "default_value": 1.25,
  3470. "minimum_value": "0.008",
  3471. "minimum_value_warning": "0.1",
  3472. "maximum_value_warning": "10",
  3473. "maximum_value": "2 / magic_fuzzy_skin_thickness",
  3474. "enabled": "magic_fuzzy_skin_enabled",
  3475. "settable_per_mesh": true,
  3476. "children":
  3477. {
  3478. "magic_fuzzy_skin_point_dist":
  3479. {
  3480. "label": "Fuzzy Skin Point Distance",
  3481. "description": "The average distance between the random points introduced on each line segment. Note that the original points of the polygon are discarded, so a high smoothness results in a reduction of the resolution. This value must be higher than half the Fuzzy Skin Thickness.",
  3482. "type": "float",
  3483. "unit": "mm",
  3484. "default_value": 0.8,
  3485. "minimum_value": "magic_fuzzy_skin_thickness / 2",
  3486. "minimum_value_warning": "0.1",
  3487. "maximum_value_warning": "10",
  3488. "value": "10000 if magic_fuzzy_skin_point_density == 0 else 1 / magic_fuzzy_skin_point_density",
  3489. "enabled": "magic_fuzzy_skin_enabled",
  3490. "settable_per_mesh": true
  3491. }
  3492. }
  3493. },
  3494. "wireframe_enabled":
  3495. {
  3496. "label": "Wire Printing",
  3497. "description": "Print only the outside surface with a sparse webbed structure, printing 'in thin air'. This is realized by horizontally printing the contours of the model at given Z intervals which are connected via upward and diagonally downward lines.",
  3498. "type": "bool",
  3499. "default_value": false,
  3500. "settable_per_mesh": false,
  3501. "settable_per_extruder": false,
  3502. "settable_per_meshgroup": false
  3503. },
  3504. "wireframe_height":
  3505. {
  3506. "label": "WP Connection Height",
  3507. "description": "The height of the upward and diagonally downward lines between two horizontal parts. This determines the overall density of the net structure. Only applies to Wire Printing.",
  3508. "type": "float",
  3509. "unit": "mm",
  3510. "default_value": 3,
  3511. "minimum_value": "0.0001",
  3512. "maximum_value_warning": "20",
  3513. "enabled": "wireframe_enabled",
  3514. "settable_per_mesh": false,
  3515. "settable_per_extruder": false,
  3516. "settable_per_meshgroup": false
  3517. },
  3518. "wireframe_roof_inset":
  3519. {
  3520. "label": "WP Roof Inset Distance",
  3521. "description": "The distance covered when making a connection from a roof outline inward. Only applies to Wire Printing.",
  3522. "type": "float",
  3523. "unit": "mm",
  3524. "default_value": 3,
  3525. "minimum_value": "0",
  3526. "minimum_value_warning": "machine_nozzle_size",
  3527. "maximum_value_warning": "20",
  3528. "enabled": "wireframe_enabled",
  3529. "value": "wireframe_height",
  3530. "settable_per_mesh": false,
  3531. "settable_per_extruder": false,
  3532. "settable_per_meshgroup": false
  3533. },
  3534. "wireframe_printspeed":
  3535. {
  3536. "label": "WP Speed",
  3537. "description": "Speed at which the nozzle moves when extruding material. Only applies to Wire Printing.",
  3538. "unit": "mm/s",
  3539. "type": "float",
  3540. "default_value": 5,
  3541. "minimum_value": "0.1",
  3542. "maximum_value": "299792458000",
  3543. "maximum_value_warning": "50",
  3544. "enabled": "wireframe_enabled",
  3545. "settable_per_mesh": false,
  3546. "settable_per_extruder": false,
  3547. "settable_per_meshgroup": false,
  3548. "children":
  3549. {
  3550. "wireframe_printspeed_bottom":
  3551. {
  3552. "label": "WP Bottom Printing Speed",
  3553. "description": "Speed of printing the first layer, which is the only layer touching the build platform. Only applies to Wire Printing.",
  3554. "unit": "mm/s",
  3555. "type": "float",
  3556. "default_value": 5,
  3557. "minimum_value": "0.1",
  3558. "maximum_value": "299792458000",
  3559. "maximum_value_warning": "50",
  3560. "enabled": "wireframe_enabled",
  3561. "value": "wireframe_printspeed",
  3562. "settable_per_mesh": false,
  3563. "settable_per_extruder": false,
  3564. "settable_per_meshgroup": false
  3565. },
  3566. "wireframe_printspeed_up":
  3567. {
  3568. "label": "WP Upward Printing Speed",
  3569. "description": "Speed of printing a line upward 'in thin air'. Only applies to Wire Printing.",
  3570. "unit": "mm/s",
  3571. "type": "float",
  3572. "default_value": 5,
  3573. "minimum_value": "0.1",
  3574. "maximum_value": "299792458000",
  3575. "maximum_value_warning": "50",
  3576. "enabled": "wireframe_enabled",
  3577. "value": "wireframe_printspeed",
  3578. "settable_per_mesh": false,
  3579. "settable_per_extruder": false,
  3580. "settable_per_meshgroup": false
  3581. },
  3582. "wireframe_printspeed_down":
  3583. {
  3584. "label": "WP Downward Printing Speed",
  3585. "description": "Speed of printing a line diagonally downward. Only applies to Wire Printing.",
  3586. "unit": "mm/s",
  3587. "type": "float",
  3588. "default_value": 5,
  3589. "minimum_value": "0.1",
  3590. "maximum_value": "299792458000",
  3591. "maximum_value_warning": "50",
  3592. "enabled": "wireframe_enabled",
  3593. "value": "wireframe_printspeed",
  3594. "settable_per_mesh": false,
  3595. "settable_per_extruder": false,
  3596. "settable_per_meshgroup": false
  3597. },
  3598. "wireframe_printspeed_flat":
  3599. {
  3600. "label": "WP Horizontal Printing Speed",
  3601. "description": "Speed of printing the horizontal contours of the object. Only applies to Wire Printing.",
  3602. "unit": "mm/s",
  3603. "type": "float",
  3604. "default_value": 5,
  3605. "minimum_value": "0.1",
  3606. "maximum_value": "299792458000",
  3607. "maximum_value_warning": "100",
  3608. "value": "wireframe_printspeed",
  3609. "enabled": "wireframe_enabled",
  3610. "settable_per_mesh": false,
  3611. "settable_per_extruder": false,
  3612. "settable_per_meshgroup": false
  3613. }
  3614. }
  3615. },
  3616. "wireframe_flow":
  3617. {
  3618. "label": "WP Flow",
  3619. "description": "Flow compensation: the amount of material extruded is multiplied by this value. Only applies to Wire Printing.",
  3620. "unit": "%",
  3621. "default_value": 100,
  3622. "minimum_value": "0",
  3623. "maximum_value_warning": "100",
  3624. "type": "float",
  3625. "enabled": "wireframe_enabled",
  3626. "settable_per_mesh": false,
  3627. "settable_per_extruder": false,
  3628. "settable_per_meshgroup": false,
  3629. "children":
  3630. {
  3631. "wireframe_flow_connection":
  3632. {
  3633. "label": "WP Connection Flow",
  3634. "description": "Flow compensation when going up or down. Only applies to Wire Printing.",
  3635. "unit": "%",
  3636. "default_value": 100,
  3637. "minimum_value": "0",
  3638. "maximum_value_warning": "100",
  3639. "type": "float",
  3640. "enabled": "wireframe_enabled",
  3641. "value": "wireframe_flow",
  3642. "settable_per_mesh": false,
  3643. "settable_per_extruder": false,
  3644. "settable_per_meshgroup": false
  3645. },
  3646. "wireframe_flow_flat":
  3647. {
  3648. "label": "WP Flat Flow",
  3649. "description": "Flow compensation when printing flat lines. Only applies to Wire Printing.",
  3650. "unit": "%",
  3651. "default_value": 100,
  3652. "minimum_value": "0",
  3653. "maximum_value_warning": "100",
  3654. "type": "float",
  3655. "enabled": "wireframe_enabled",
  3656. "value": "wireframe_flow",
  3657. "settable_per_mesh": false,
  3658. "settable_per_extruder": false,
  3659. "settable_per_meshgroup": false
  3660. }
  3661. }
  3662. },
  3663. "wireframe_top_delay":
  3664. {
  3665. "label": "WP Top Delay",
  3666. "description": "Delay time after an upward move, so that the upward line can harden. Only applies to Wire Printing.",
  3667. "unit": "s",
  3668. "type": "float",
  3669. "default_value": 0,
  3670. "minimum_value": "0",
  3671. "maximum_value_warning": "1",
  3672. "enabled": "wireframe_enabled",
  3673. "settable_per_mesh": false,
  3674. "settable_per_extruder": false,
  3675. "settable_per_meshgroup": false
  3676. },
  3677. "wireframe_bottom_delay":
  3678. {
  3679. "label": "WP Bottom Delay",
  3680. "description": "Delay time after a downward move. Only applies to Wire Printing.",
  3681. "unit": "s",
  3682. "type": "float",
  3683. "default_value": 0,
  3684. "minimum_value": "0",
  3685. "maximum_value_warning": "1",
  3686. "enabled": "wireframe_enabled",
  3687. "settable_per_mesh": false,
  3688. "settable_per_extruder": false,
  3689. "settable_per_meshgroup": false
  3690. },
  3691. "wireframe_flat_delay":
  3692. {
  3693. "label": "WP Flat Delay",
  3694. "description": "Delay time between two horizontal segments. Introducing such a delay can cause better adhesion to previous layers at the connection points, while too long delays cause sagging. Only applies to Wire Printing.",
  3695. "unit": "s",
  3696. "type": "float",
  3697. "default_value": 0.1,
  3698. "minimum_value": "0",
  3699. "maximum_value_warning": "0.5",
  3700. "enabled": "wireframe_enabled",
  3701. "settable_per_mesh": false,
  3702. "settable_per_extruder": false,
  3703. "settable_per_meshgroup": false
  3704. },
  3705. "wireframe_up_half_speed":
  3706. {
  3707. "label": "WP Ease Upward",
  3708. "description": "Distance of an upward move which is extruded with half speed.\nThis can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing.",
  3709. "type": "float",
  3710. "unit": "mm",
  3711. "default_value": 0.3,
  3712. "minimum_value": "0",
  3713. "maximum_value_warning": "5.0",
  3714. "enabled": "wireframe_enabled",
  3715. "settable_per_mesh": false,
  3716. "settable_per_extruder": false,
  3717. "settable_per_meshgroup": false
  3718. },
  3719. "wireframe_top_jump":
  3720. {
  3721. "label": "WP Knot Size",
  3722. "description": "Creates a small knot at the top of an upward line, so that the consecutive horizontal layer has a better chance to connect to it. Only applies to Wire Printing.",
  3723. "type": "float",
  3724. "unit": "mm",
  3725. "default_value": 0.6,
  3726. "minimum_value": "0",
  3727. "maximum_value_warning": "2.0",
  3728. "enabled": "wireframe_enabled",
  3729. "settable_per_mesh": false,
  3730. "settable_per_extruder": false,
  3731. "settable_per_meshgroup": false
  3732. },
  3733. "wireframe_fall_down":
  3734. {
  3735. "label": "WP Fall Down",
  3736. "description": "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing.",
  3737. "type": "float",
  3738. "unit": "mm",
  3739. "default_value": 0.5,
  3740. "minimum_value": "0",
  3741. "maximum_value_warning": "wireframe_height",
  3742. "enabled": "wireframe_enabled",
  3743. "settable_per_mesh": false,
  3744. "settable_per_extruder": false,
  3745. "settable_per_meshgroup": false
  3746. },
  3747. "wireframe_drag_along":
  3748. {
  3749. "label": "WP Drag Along",
  3750. "description": "Distance with which the material of an upward extrusion is dragged along with the diagonally downward extrusion. This distance is compensated for. Only applies to Wire Printing.",
  3751. "type": "float",
  3752. "unit": "mm",
  3753. "default_value": 0.6,
  3754. "minimum_value": "0",
  3755. "maximum_value_warning": "wireframe_height",
  3756. "enabled": "wireframe_enabled",
  3757. "settable_per_mesh": false,
  3758. "settable_per_extruder": false,
  3759. "settable_per_meshgroup": false
  3760. },
  3761. "wireframe_strategy":
  3762. {
  3763. "label": "WP Strategy",
  3764. "description": "Strategy for making sure two consecutive layers connect at each connection point. Retraction lets the upward lines harden in the right position, but may cause filament grinding. A knot can be made at the end of an upward line to heighten the chance of connecting to it and to let the line cool; however, it may require slow printing speeds. Another strategy is to compensate for the sagging of the top of an upward line; however, the lines won't always fall down as predicted.",
  3765. "type": "enum",
  3766. "options":
  3767. {
  3768. "compensate": "Compensate",
  3769. "knot": "Knot",
  3770. "retract": "Retract"
  3771. },
  3772. "default_value": "compensate",
  3773. "enabled": "wireframe_enabled",
  3774. "settable_per_mesh": false,
  3775. "settable_per_extruder": false,
  3776. "settable_per_meshgroup": false
  3777. },
  3778. "wireframe_straight_before_down":
  3779. {
  3780. "label": "WP Straighten Downward Lines",
  3781. "description": "Percentage of a diagonally downward line which is covered by a horizontal line piece. This can prevent sagging of the top most point of upward lines. Only applies to Wire Printing.",
  3782. "type": "float",
  3783. "unit": "%",
  3784. "default_value": 20,
  3785. "minimum_value": "0",
  3786. "maximum_value": "100",
  3787. "enabled": "wireframe_enabled",
  3788. "settable_per_mesh": false,
  3789. "settable_per_extruder": false,
  3790. "settable_per_meshgroup": false
  3791. },
  3792. "wireframe_roof_fall_down":
  3793. {
  3794. "label": "WP Roof Fall Down",
  3795. "description": "The distance which horizontal roof lines printed 'in thin air' fall down when being printed. This distance is compensated for. Only applies to Wire Printing.",
  3796. "type": "float",
  3797. "unit": "mm",
  3798. "default_value": 2,
  3799. "minimum_value_warning": "0",
  3800. "maximum_value_warning": "wireframe_roof_inset",
  3801. "enabled": "wireframe_enabled",
  3802. "settable_per_mesh": false,
  3803. "settable_per_extruder": false,
  3804. "settable_per_meshgroup": false
  3805. },
  3806. "wireframe_roof_drag_along":
  3807. {
  3808. "label": "WP Roof Drag Along",
  3809. "description": "The distance of the end piece of an inward line which gets dragged along when going back to the outer outline of the roof. This distance is compensated for. Only applies to Wire Printing.",
  3810. "type": "float",
  3811. "unit": "mm",
  3812. "default_value": 0.8,
  3813. "minimum_value": "0",
  3814. "maximum_value_warning": "10",
  3815. "enabled": "wireframe_enabled",
  3816. "settable_per_mesh": false,
  3817. "settable_per_extruder": false,
  3818. "settable_per_meshgroup": false
  3819. },
  3820. "wireframe_roof_outer_delay":
  3821. {
  3822. "label": "WP Roof Outer Delay",
  3823. "description": "Time spent at the outer perimeters of hole which is to become a roof. Longer times can ensure a better connection. Only applies to Wire Printing.",
  3824. "type": "float",
  3825. "unit": "s",
  3826. "default_value": 0.2,
  3827. "minimum_value": "0",
  3828. "maximum_value_warning": "2.0",
  3829. "enabled": "wireframe_enabled",
  3830. "settable_per_mesh": false,
  3831. "settable_per_extruder": false,
  3832. "settable_per_meshgroup": false
  3833. },
  3834. "wireframe_nozzle_clearance":
  3835. {
  3836. "label": "WP Nozzle Clearance",
  3837. "description": "Distance between the nozzle and horizontally downward lines. Larger clearance results in diagonally downward lines with a less steep angle, which in turn results in less upward connections with the next layer. Only applies to Wire Printing.",
  3838. "type": "float",
  3839. "unit": "mm",
  3840. "default_value": 1,
  3841. "minimum_value_warning": "0",
  3842. "maximum_value_warning": "10.0",
  3843. "enabled": "wireframe_enabled",
  3844. "settable_per_mesh": false,
  3845. "settable_per_extruder": false,
  3846. "settable_per_meshgroup": false
  3847. }
  3848. }
  3849. }
  3850. }
  3851. }