From 915c112ee53fbf82c69dfe75af0d1254026236b6 Mon Sep 17 00:00:00 2001 From: InfimechOfficial <144992637+InfimechOfficial@users.noreply.github.com> Date: Fri, 3 Nov 2023 19:23:20 +0800 Subject: [PATCH] 20231103 Add "InfiMech" printer profiles (#2596) * 20231103 Add "InfiMech" printer profiles A new brand named "InfiMech" submits printer profiles for the first time. * 20231103 Add "InfiMech" printer profiles A new brand named "InfiMech" submits printer profiles for the first time. * fix issues that prevent the profiles being loaded. --------- Co-authored-by: SoftFever --- resources/profiles/InfiMech.json | 102 ++++++++ .../profiles/InfiMech/InfiMech TX-bed.stl | Bin 0 -> 19984 bytes .../profiles/InfiMech/InfiMech TX-texture.png | Bin 0 -> 137307 bytes .../profiles/InfiMech/InfiMech TX_cover.png | Bin 0 -> 18108 bytes .../filament/InfiMech Generic ABS.json | 18 ++ .../filament/InfiMech Generic PA-CF.json | 25 ++ .../filament/InfiMech Generic PC.json | 18 ++ .../filament/InfiMech Generic PETG.json | 48 ++++ .../filament/InfiMech Generic PLA.json | 21 ++ .../filament/InfiMech Generic TPU.json | 15 ++ .../InfiMech/filament/fdm_filament_abs.json | 88 +++++++ .../filament/fdm_filament_common.json | 144 +++++++++++ .../InfiMech/filament/fdm_filament_pa.json | 85 +++++++ .../InfiMech/filament/fdm_filament_pc.json | 88 +++++++ .../InfiMech/filament/fdm_filament_pet.json | 82 +++++++ .../InfiMech/filament/fdm_filament_pla.json | 94 ++++++++ .../InfiMech/filament/fdm_filament_tpu.json | 88 +++++++ .../machine/InfiMech TX 0.4 nozzle.json | 22 ++ .../InfiMech/machine/InfiMech TX.json | 12 + .../InfiMech/machine/fdm_klipper_common.json | 211 +++++++++++++++++ .../InfiMech/machine/fdm_machine_common.json | 207 ++++++++++++++++ .../0.08mm Extra Fine @InfiMech TX.json | 30 +++ .../process/0.12mm Fine @InfiMech TX.json | 29 +++ .../process/0.20mm Standard @InfiMech TX.json | 31 +++ .../process/0.24mm Draft @InfiMech TX.json | 28 +++ .../InfiMech/process/fdm_process_common.json | 224 ++++++++++++++++++ 26 files changed, 1710 insertions(+) create mode 100644 resources/profiles/InfiMech.json create mode 100644 resources/profiles/InfiMech/InfiMech TX-bed.stl create mode 100644 resources/profiles/InfiMech/InfiMech TX-texture.png create mode 100644 resources/profiles/InfiMech/InfiMech TX_cover.png create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic ABS.json create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic PA-CF.json create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic PC.json create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic PETG.json create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic PLA.json create mode 100644 resources/profiles/InfiMech/filament/InfiMech Generic TPU.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_abs.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_common.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_pa.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_pc.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_pet.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_pla.json create mode 100644 resources/profiles/InfiMech/filament/fdm_filament_tpu.json create mode 100644 resources/profiles/InfiMech/machine/InfiMech TX 0.4 nozzle.json create mode 100644 resources/profiles/InfiMech/machine/InfiMech TX.json create mode 100644 resources/profiles/InfiMech/machine/fdm_klipper_common.json create mode 100644 resources/profiles/InfiMech/machine/fdm_machine_common.json create mode 100644 resources/profiles/InfiMech/process/0.08mm Extra Fine @InfiMech TX.json create mode 100644 resources/profiles/InfiMech/process/0.12mm Fine @InfiMech TX.json create mode 100644 resources/profiles/InfiMech/process/0.20mm Standard @InfiMech TX.json create mode 100644 resources/profiles/InfiMech/process/0.24mm Draft @InfiMech TX.json create mode 100644 resources/profiles/InfiMech/process/fdm_process_common.json diff --git a/resources/profiles/InfiMech.json b/resources/profiles/InfiMech.json new file mode 100644 index 0000000000..bb6778e58c --- /dev/null +++ b/resources/profiles/InfiMech.json @@ -0,0 +1,102 @@ +{ + "name": "InfiMech", + "version": "01.01.01.01", + "force_update": "1", + "description": "InfiMech configurations", + "machine_model_list": [ + { + "name": "InfiMech TX", + "sub_path": "machine/InfiMech TX.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.08mm Extra Fine @InfiMech TX", + "sub_path": "process/0.08mm Extra Fine @InfiMech TX.json" + }, + { + "name": "0.12mm Fine @InfiMech TX", + "sub_path": "process/0.12mm Fine @InfiMech TX.json" + }, + { + "name": "0.20mm Standard @InfiMech TX", + "sub_path": "process/0.20mm Standard @InfiMech TX.json" + }, + { + "name": "0.24mm Draft @InfiMech TX", + "sub_path": "process/0.24mm Draft @InfiMech TX.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "InfiMech Generic PLA", + "sub_path": "filament/InfiMech Generic PLA.json" + }, + { + "name": "InfiMech Generic PETG", + "sub_path": "filament/InfiMech Generic PETG.json" + }, + { + "name": "InfiMech Generic ABS", + "sub_path": "filament/InfiMech Generic ABS.json" + }, + { + "name": "InfiMech Generic TPU", + "sub_path": "filament/InfiMech Generic TPU.json" + }, + { + "name": "InfiMech Generic PC", + "sub_path": "filament/InfiMech Generic PC.json" + }, + { + "name": "InfiMech Generic PA-CF", + "sub_path": "filament/InfiMech Generic PA-CF.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_klipper_common", + "sub_path": "machine/fdm_klipper_common.json" + }, + { + "name": "InfiMech TX 0.4 nozzle", + "sub_path": "machine/InfiMech TX 0.4 nozzle.json" + } + ] +} diff --git a/resources/profiles/InfiMech/InfiMech TX-bed.stl b/resources/profiles/InfiMech/InfiMech TX-bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..05ea70db46e412c41198a4a7c21b02e2655a9f53 GIT binary patch literal 19984 zcmb`PeXt)@dB;x_#w12m;?#BuG?gYnLPLTHXwbW4fg)nZ#>$%_mchZm3`&fVnbOov zV{nF%zL+3JGHMj69ibCQrd5%YBAGlrTgr;yWh{V{!S); z_?yYhGxwa&KIc5=dtUaOvzamDxBL6sNnzqwWYHMShYudkLnz7@FZt&IcALM>(GbdI zDJ@OAC_|Vz@>kh==FJ$2^pET39;|)XueFPE|HJ$8KR*3X<2!^&zxV!Z*|MKDgi=C~ zU6dbs^S=Cx7d<~g{QS6unf?vmX?re9#plXq35{UQRS(vdQ80qhRje3MM%oCrAlpE;{cPsZc{8Kt!*hk&cAnfw2FE9gi_jEq|MGg{hD&&&3~2|f9oxu%U}1EpEPQa9fDUV z38u&{O3~)yrI#KUdc*$rH$HwfXMKL;u>*~dTRwhg=TEkkWb^pRLqpF;m4t9te(<(P zkd{3`47bE_k8kLFkd|#kU8>=>R4gxP*?od3qJ0dTdUU0tcha&gR;;wen#=o3tlU6i8x(S7NCpRMlS6qUGW{)Wz1c1g&#T)R7ep71Gct`J09{(4p$Zs$P} zmeLY7m+YxDbJnxka68v3#pWgD8ozS1((GK%YGpg0E5+tM<*MhzN-Kc+`DMFiP)aku zcDeRHJXZT?R~dC3%646%6r1~)Yi}JZTd!E$NQA(Y)+TKcVX63B*({+EthwsZtVJg3 z!6+EP=rTUC8EGTff@}lXmaA<|v#tKa*ACww?Y6cSlfBh}U3=;|oOaCRiI~e$TAH@e zvo5(lJN1zr!}j;(Cw%no7gIV1VqbE2IlmR~)R-?j5U8-jG2 zSaSPFzW2sRkWLd{*guk=aR0%^2kA6%{9itm|Ial)YY5V5;;~zH=U2~ut|3ULiM7*5 z^YJhIq#;OqLMtzed%M1>qYK&-OkvxI?zbRYN`!CO5KiB4MfTK9lj~B1@aj)JnUA0Q zd{cJWMJd{Ryzq_JXD{BJ^@ySr5yG_1PvlD{9d4df&%8%oo_+Gl%Njx{MJYRkFW>(} zzT_n>v2xwcp^g8vv>`tA`Ca)bMNE-hlp?HDqbI#;=%M8+dqh!+2;r(#JM(Q{X?<+2 ziLxek{q&n#m?E3B`CzH&U3Lic=WEVfvKfVbbQvGnjI2@P8kYZTal?o5TeV=3PWd$NYnc%`-3P2-0cdzO8@K5v0?^hG*a25v0?^ zn%$Rm1nD&KiB(HGf^?d=;G)$XK{`#$oqAVCkoE-iDmw(yo?r^wUvz9~qoPGMi16yE z$E%IghNrHLeUQ0ce`F|s)!)Q^C)=Jp=jQFh-+T1>Mu{KX`{w-1Q!Q6fGM8*C&+^$RX9FTQ7LLoh{l2p`$^ru??c+F9*$HE~`|Jhb6! zTbLrdC`FqOmWnB?lWeO8Yt9-nmu&OF=!z&xMVhwxShr|t`N)bVn)&>i?Pun{TshuE zcjF23@)N&hb_h2dJ~O{#W3mQ2*=```&s`>fiC2{5? zohA-#Ju9E`FV8fkBAq5~cyd9WKlf}ykoE-IS#}*O(4JrlBQ4rmknO>^iwHrs5x1^< zS9#BOPN*%Wgs||_bMrITJ>Aqpwh`xCJF{H-f%6+;`7>waiQTt&%TvhBHB?%g)L z?3^2VM7@sw=IQzE*BVXRd^|I0^6+~fjQw1>>ODjddp4ey-;_lA6M8I?1*&vgWKIbII;US42^=4P={-_%k+yr#Ajk6>C_O%ih@9Axv2# zdjgmkMM=!~@Tn7Y{r&(tOfXX=3a>GdhBFnt1!VlRAQQnwUQ}y(37ciP;Yv z-w~wK#NWMkk`{o_(V2wLi#aX1A@0 zV~J9VQg#Rze(Ch;_PgRp6vBCDT$*M7_KK!|D5WT6hj88YIo1C*Gm+K%qMBG(6UUGK zXaQ3`Q0HprE74XDmP#os2}{_oIm<4)C=~@G7+pqDb_gP@9xE3u&ED|QIM@F5zJ*m> zO%!GJ#f8;}r^l7WN6UrPp|jdmMv8d$>V?(V596CK>9mil4lk&-zAF->)5HsN7gXo3 zj_=N-)5M{t&#G=YCB8e8P7}+YoL8OS&b6RD!FFc*llBBt7->Gq6O6lv5M*1MKYi}y z*^%{eoyZi~^}Fw@&#C_P{J6@jXVsz8vde#dUZeJDTi;l%I4-VnWf!Fg^Ks9d$A%W2 z9oM_dezB-}VO1n#*YAVflZ-g<=(M3L{~`8s=8_%43A5f(>Am*Bns|3j?7Z`9TbT07 zE>}HYb-w$hqIcQ#9Mut~cGjFVlwI!uboDTT(Pb{#MX5+zsp2nM_x*auL=B5_?Yh>k z$HWoYY2x_>%0)U&tS%nyB1$?T{^Po`BS@!- zvzKk^2-0a{_xC^35u`mq^--0iJ;4;VKcD0YszF2uvQ16@{n=^5iznVvfA@DDuTGqJ zGnHMGo|t~?qr+$45qs^ynLDf5ljB<|3E5Vr*Q}pX-n{SfM#UeTwX@p!vPh7YZNwk$ zo?Sk2aeS{mdFrm}_j4O%ijuT!Bi=FjigM+%tbCLe`J9l*I@dWq6xMxZAc*36B_Cfj} z?FqJr-VKYA8uNtS;=C%Uw=}^wNc#2!pT!+0s?rnGDAmpgZZwo2EwV-Znn5~+pmFVNH_Mk$& z51!F+9OU@u3C_Y)VtU+Vsi-UJ&HLae!}o!-N|-{zt4CfeqNDX{Dc%L9VswMDKdUhp zX=+R!tOcnI-g``|go@)$Kq}Px;4L=aC#V=P{kvRJVp>;Rt5Gp&l~5Tv^Qdn$Vh&cB zELI$4IIE>q!rHR^({0YSvd2s2j|eAmgHFkeD>8c5J7<3nnLhOPQ>(ap|Ey;f?64`n z`HVe!zEq5&KSktSMKMLjm~cOlF;sr5 z2erie1^(uM7*FulgTK!}!bKPNeU7a?c#mk%4I%SXWc0y1S8Pp{$q3%wA@&ufU@jlqk+0JZ#Pq3xf=G1~Gs0Q8;NfT@--qK>Ey$`1F ze%hd$XGZ!qXKS+ky$|+O66rQ)3e}#jIop;hVaxhbF@^nn&^>@ya}qomr()7RI6i8= zV*aSac4cYzwA-)R`rmnpGVO}cddKdbw_njIw^>ET@to(UJXa;-37+cu^I9>U;7JU} zO6BjDN-Ka62A%vES!C=Jy!Dh;302Jzj=jK_ifZ6kLM?cLDcUa?d>1FygM``b?Rc#d z>A`AFEoqfme^1kW*>f~P>$(1SMWRes?M{mQRT|UUSGmn9GAfSRB~7Nts2?hk3iSk2 zc$V&OCx|IB>W50?la$};K`rTB#NX@m1XnB^Mbo-s+xn7dCh|Vmw%SRxJjX(4XR7~I zioEo7)qb590u`hD7Ax(GG~cdF?3Y*`DaI2VWq5zWM?p-Haeif+rwOictgpoPo%+kL z?hR7UH_MM#?6v9W>aD@w=GXgf-v>{Z^qv`l-aq?<)vzr)PuT~ZpQ|1%!RHP-)sKXB zSVCZ({1+oCS&>nR+U4wjyF@~}5&SyuXzii*%n(>Y8PLI*^)2o0J}mPa!F4U~_3=q$ij0cWDT!}QPf!^giKtLdFc;5g z{pqWiBBSD{U20nSt>#o8zi>J>CGvYUs?z(Q5;>}Aw~hI&RN7Um$HDHa)??K!72|a* zKSjnlwXb9S4+$hVa`LX)v1ym;qmJdlYEJc0yJ;m-eL9spni91m=yP$@_NAiYs8=e~ z6HMV927fz2Op&pF@CFq%t^5`%YLwr{rQ4ip=Qo4?Ye0GN{exfB`L7yD=oG-O4Yfa~ z+-CW)oiuwFnIdDK;98W*_XPWz_NI@v7G3?&R#&K$f#<5g_|a*YVD-kQ`>V2dazPaKVDZ_`;sX#DucR8kGmWPwd?FhJMV*S z%UfC;yV3-2B>7umVtfno9x4^1{1z*=EmcCjd4jFR5iZ?=Oku3Fb59ReD%Oy(VhqXn zn)8+>qu>dhJM;eL(bnxOFGp(D&->8b4}M*7w9&`cP`d_ffA2#lJpQ(Fx&`^3!T0F& z8jkNZ92wF+I9swm4w^Zw$HtXc`;Nni%GT*?B$%QxIG!lBPYU6IO-sv7D|R;j)0DjX zdl`C?m4pOSMDy(hr7De9F5Y?=yt0feXBpX~W4>5x^P$?({>`&gPw=Kwv`O1@<1bQD zgTJvesLdn66wy)bu{|d0(ZtDoX?%@$quN}gEuUh{6w&@kM%XV>%EkLvA^4s~f+?~| a+mmaRWUa24OLl)OA;DP5E=tkn94=j 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 CoqO;A literal 0 HcmV?d00001 diff --git a/resources/profiles/InfiMech/InfiMech TX_cover.png b/resources/profiles/InfiMech/InfiMech TX_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..4eded6b541383c694398a996d1ff11920c6be856 GIT binary patch literal 18108 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 O5H%%j#cFxW$o~OzPo2;J literal 0 HcmV?d00001 diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic ABS.json b/resources/profiles/InfiMech/filament/InfiMech Generic ABS.json new file mode 100644 index 0000000000..b188e42f26 --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic ABS.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "filament_id": "GFB99", + "setting_id": "GFSA04", + "name": "InfiMech Generic ABS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.931" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] +} diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic PA-CF.json b/resources/profiles/InfiMech/filament/InfiMech Generic PA-CF.json new file mode 100644 index 0000000000..7501dc341d --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic PA-CF.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFN98", + "setting_id": "GFSA04", + "name": "InfiMech Generic PA-CF", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "300" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + + ] + } diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic PC.json b/resources/profiles/InfiMech/filament/InfiMech Generic PC.json new file mode 100644 index 0000000000..40de16a00f --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic PC.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "filament_id": "GFC99", + "setting_id": "GFSA04", + "name": "InfiMech Generic PC", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "0.931" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] + } diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic PETG.json b/resources/profiles/InfiMech/filament/InfiMech Generic PETG.json new file mode 100644 index 0000000000..aa93cdce1d --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic PETG.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "filament_id": "GFG99", + "setting_id": "GFSA04", + "name": "InfiMech Generic PETG", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.931" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] +} diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic PLA.json b/resources/profiles/InfiMech/filament/InfiMech Generic PLA.json new file mode 100644 index 0000000000..3a0b564659 --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic PLA.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSA04", + "name": "InfiMech Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.931" + ], + "filament_max_volumetric_speed": [ + "26" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] +} diff --git a/resources/profiles/InfiMech/filament/InfiMech Generic TPU.json b/resources/profiles/InfiMech/filament/InfiMech Generic TPU.json new file mode 100644 index 0000000000..604735d9ef --- /dev/null +++ b/resources/profiles/InfiMech/filament/InfiMech Generic TPU.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "filament_id": "GFU99", + "setting_id": "GFSA04", + "name": "InfiMech Generic TPU", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "3.2" + ], + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_abs.json b/resources/profiles/InfiMech/filament/fdm_filament_abs.json new file mode 100644 index 0000000000..86d84b852c --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_abs.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "105" + ], + "eng_plate_temp" : [ + "105" + ], + "hot_plate_temp" : [ + "105" + ], + "textured_plate_temp" : [ + "105" + ], + "cool_plate_temp_initial_layer" : [ + "105" + ], + "eng_plate_temp_initial_layer" : [ + "105" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "textured_plate_temp_initial_layer" : [ + "105" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_type": [ + "ABS" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "3" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_common.json b/resources/profiles/InfiMech/filament/fdm_filament_common.json new file mode 100644 index 0000000000..9f77975119 --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_common.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_pa.json b/resources/profiles/InfiMech/filament/fdm_filament_pa.json new file mode 100644 index 0000000000..426560f905 --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_pa.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "textured_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "textured_plate_temp_initial_layer" : [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PA" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_speed": [ + "40" + ], + "nozzle_temperature": [ + "280" + ], + "temperature_vitrification": [ + "108" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_pc.json b/resources/profiles/InfiMech/filament/fdm_filament_pc.json new file mode 100644 index 0000000000..ff73621c5d --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_pc.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_pc", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "0" + ], + "eng_plate_temp" : [ + "110" + ], + "hot_plate_temp" : [ + "110" + ], + "textured_plate_temp" : [ + "110" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "110" + ], + "hot_plate_temp_initial_layer" : [ + "110" + ], + "textured_plate_temp_initial_layer" : [ + "110" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PC" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "60" + ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "140" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_pet.json b/resources/profiles/InfiMech/filament/fdm_filament_pet.json new file mode 100644 index 0000000000..6ab611a1fc --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_pet.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "0" + ], + "hot_plate_temp" : [ + "70" + ], + "textured_plate_temp" : [ + "80" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "0" + ], + "hot_plate_temp_initial_layer" : [ + "70" + ], + "textured_plate_temp_initial_layer" : [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.27" + ], + "filament_cost": [ + "30" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "overhang_fan_speed": [ + "90" + ], + "nozzle_temperature": [ + "255" + ], + "temperature_vitrification": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_pla.json b/resources/profiles/InfiMech/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..7742c173bd --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_pla.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "80" + ], + "filament_max_volumetric_speed": [ + "26" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "cool_plate_temp" : [ + "60" + ], + "eng_plate_temp" : [ + "60" + ], + "hot_plate_temp" : [ + "60" + ], + "textured_plate_temp" : [ + "60" + ], + "cool_plate_temp_initial_layer" : [ + "60" + ], + "eng_plate_temp_initial_layer" : [ + "60" + ], + "hot_plate_temp_initial_layer" : [ + "60" + ], + "textured_plate_temp_initial_layer" : [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "195" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "195" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "8" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/InfiMech/filament/fdm_filament_tpu.json b/resources/profiles/InfiMech/filament/fdm_filament_tpu.json new file mode 100644 index 0000000000..aab8f8b6ed --- /dev/null +++ b/resources/profiles/InfiMech/filament/fdm_filament_tpu.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "cool_plate_temp" : [ + "30" + ], + "eng_plate_temp" : [ + "30" + ], + "hot_plate_temp" : [ + "40" + ], + "textured_plate_temp" : [ + "35" + ], + "cool_plate_temp_initial_layer" : [ + "30" + ], + "eng_plate_temp_initial_layer" : [ + "30" + ], + "hot_plate_temp_initial_layer" : [ + "40" + ], + "textured_plate_temp_initial_layer" : [ + "35" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_type": [ + "TPU" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "210" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/InfiMech/machine/InfiMech TX 0.4 nozzle.json b/resources/profiles/InfiMech/machine/InfiMech TX 0.4 nozzle.json new file mode 100644 index 0000000000..68d52d14a5 --- /dev/null +++ b/resources/profiles/InfiMech/machine/InfiMech TX 0.4 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "InfiMech TX 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_klipper_common", + "printer_model": "InfiMech TX", + "nozzle_diameter": [ + "0.4" + ], + "z_hop": [ + "0" + ], + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250" +} diff --git a/resources/profiles/InfiMech/machine/InfiMech TX.json b/resources/profiles/InfiMech/machine/InfiMech TX.json new file mode 100644 index 0000000000..252b761f53 --- /dev/null +++ b/resources/profiles/InfiMech/machine/InfiMech TX.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "InfiMech TX", + "model_id": "InfiMech_TX", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "InfiMechDesign", + "bed_model": "InfiMech TX-bed.stl", + "bed_texture": "InfiMech TX-texture.png", + "hotend_model": "", + "default_materials": "InfiMech Generic ABS;InfiMech Generic PA-CF;InfiMech Generic PC;InfiMech Generic PETG;InfiMech Generic PLA;InfiMech Generic TPU" +} \ No newline at end of file diff --git a/resources/profiles/InfiMech/machine/fdm_klipper_common.json b/resources/profiles/InfiMech/machine/fdm_klipper_common.json new file mode 100644 index 0000000000..eed4cb2f81 --- /dev/null +++ b/resources/profiles/InfiMech/machine/fdm_klipper_common.json @@ -0,0 +1,211 @@ +{ + "type": "machine", + "name": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "klipper", + + + "auxiliary_fan": "1", + "bed_exclude_area": [ + "0x0" + ], + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": [ + "InfiMech Generic PLA" + ], + "default_print_profile": "0.20mm Standard @InfiMech TX", + "deretraction_speed": [ + "40" + ], + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "69", + "extruder_clearance_height_to_rod": "69", + "extruder_clearance_radius": "49", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + + "high_current_on_filament_swap": "0", + + + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_end_gcode": "PRINT_END", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "30", + "200" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "2", + "0.4" + ], + "machine_max_speed_e": [ + "15", + "25" + ], + "machine_max_speed_x": [ + "600", + "200" + ], + "machine_max_speed_y": [ + "600", + "200" + ], + "machine_max_speed_z": [ + "5", + "12" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single]\nG28 X Y\nM104 S240\nSET_KINEMATIC_POSITION Z=255 \nPROBE SAMPLES=1 SAMPLE_RETRACT_DIST=3 \nSET_KINEMATIC_POSITION Z=0 \nG90\nG1 Z2\nG1 X10 Y-2.5 F3000\nG90\nG1 Z3 \nG1 X110 Y-2.5 F4000\nG1 Z10\nM109 S240\nG92 E0\nG1 E15 F300\nG1 E-4.0 F3600\nM104 S130\nM106 S255 \nG4 P4000\nG1 X150 Y-0.5 F4000\nG92 E0\n;G1 E-4.0 F3600\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X140 Y-0.5 F400 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X130 Y-0.5 F400 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0 \nG1 X110 Y-0.5 F200\nM104 S130\nM106 S255\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X100 Y-0.5 F100 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X90 Y-0.5 F100\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X60 Y-0.5 F100\nM106 S0\nG90\nG1 Z2\nM140 S60\nM109 S130\nG1 X110 Y110 F3000\nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0\nZ_TILT_ADJUST\nG90\nG1 Z2\nG4 P200\nG1 X110 Y110 F3000\nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0\nG1 X-3 Y2 Z3 F5000.0\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START", + "machine_unload_filament_time": "0", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + + "nozzle_diameter": [ + "0.4" + ], + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "151.32", + "parking_pos_retraction": "92", + + "print_host_webui": "", + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "printer_model": "Generic Klipper Printer", + "printer_notes": "", + "printer_settings_id": "InfiMech TX 0.4 nozzle", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "0" + ], + "retraction_length": [ + "0.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "40" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "template_custom_gcode": "", + "thumbnails": [ + "300x300" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "1.6.0.0", + "wipe": [ + "0" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Normal Lift" + ] + + +} diff --git a/resources/profiles/InfiMech/machine/fdm_machine_common.json b/resources/profiles/InfiMech/machine/fdm_machine_common.json new file mode 100644 index 0000000000..b661199281 --- /dev/null +++ b/resources/profiles/InfiMech/machine/fdm_machine_common.json @@ -0,0 +1,207 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "gcode_flavor": "klipper", + + "auxiliary_fan": "1", + + "bed_exclude_area": [ + "0x0" + ], + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": [ + "InfiMech Generic PLA" + ], + "default_print_profile": "0.20mm Standard @InfiMech TX", + "deretraction_speed": [ + "40" + ], + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "69", + "extruder_clearance_height_to_rod": "69", + "extruder_clearance_radius": "49", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + + + "high_current_on_filament_swap": "0", + + + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_end_gcode": "PRINT_END", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "30", + "200" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "2", + "0.4" + ], + "machine_max_speed_e": [ + "15", + "25" + ], + "machine_max_speed_x": [ + "600", + "200" + ], + "machine_max_speed_y": [ + "600", + "200" + ], + "machine_max_speed_z": [ + "5", + "12" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single]\nG28 X Y\nM104 S240\nSET_KINEMATIC_POSITION Z=255 \nPROBE SAMPLES=1 SAMPLE_RETRACT_DIST=3 \nSET_KINEMATIC_POSITION Z=0 \nG90\nG1 Z2\nG1 X10 Y-2.5 F3000\nG90\nG1 Z3 \nG1 X110 Y-2.5 F4000\nG1 Z10\nM109 S240\nG92 E0\nG1 E15 F300\nG1 E-4.0 F3600\nM104 S130\nM106 S255 \nG4 P4000\nG1 X150 Y-0.5 F4000\nG92 E0\n;G1 E-4.0 F3600\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X140 Y-0.5 F400 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X130 Y-0.5 F400 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0 \nG1 X110 Y-0.5 F200\nM104 S130\nM106 S255\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X100 Y-0.5 F100 \nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X90 Y-0.5 F100\nPROBE SAMPLES=2 SAMPLE_RETRACT_DIST=2 \nSET_KINEMATIC_POSITION Z=0\nG1 Z0\nG1 X60 Y-0.5 F100\nM106 S0\nG90\nG1 Z2\nM140 S60\nM109 S130\nG1 X110 Y110 F3000\nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0\nZ_TILT_ADJUST\nG90\nG1 Z2\nG4 P200\nG1 X110 Y110 F3000\nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0\nG1 X-3 Y2 Z3 F5000.0\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START", + "machine_unload_filament_time": "0", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + + + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "151.32", + "parking_pos_retraction": "92", + "print_host_webui": "", + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "printer_model": "Generic Klipper Printer", + "printer_notes": "", + "printer_settings_id": "InfiMech TX 0.4 nozzle", + + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "0" + ], + "retraction_length": [ + "0.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "40" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "template_custom_gcode": "", + "thumbnails": [ + "300x300" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "1.6.0.0", + "wipe": [ + "0" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Normal Lift" + ] +} diff --git a/resources/profiles/InfiMech/process/0.08mm Extra Fine @InfiMech TX.json b/resources/profiles/InfiMech/process/0.08mm Extra Fine @InfiMech TX.json new file mode 100644 index 0000000000..fedd335044 --- /dev/null +++ b/resources/profiles/InfiMech/process/0.08mm Extra Fine @InfiMech TX.json @@ -0,0 +1,30 @@ +{ + + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Extra Fine @InfiMech TX", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + + "bottom_shell_layers": "7", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "tree_support_wall_count": "1", + "brim_width": "5", + "gap_infill_speed": "350", + "inner_wall_speed": "350", + "internal_solid_infill_speed": "350", + "layer_height": "0.08", + "print_settings_id": "0.08mm Extra Fine @InfiMech TX", + "sparse_infill_speed": "450", + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] + + + +} diff --git a/resources/profiles/InfiMech/process/0.12mm Fine @InfiMech TX.json b/resources/profiles/InfiMech/process/0.12mm Fine @InfiMech TX.json new file mode 100644 index 0000000000..160fdd0ddb --- /dev/null +++ b/resources/profiles/InfiMech/process/0.12mm Fine @InfiMech TX.json @@ -0,0 +1,29 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @InfiMech TX", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + + "bottom_shell_layers": "5", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "tree_support_wall_count": "0", + "brim_width": "5", + "gap_infill_speed": "350", + "inner_wall_speed": "350", + "internal_solid_infill_speed": "350", + "layer_height": "0.12", + "print_settings_id": "0.12mm Fine @InfiMech TX", + "sparse_infill_speed": "400", + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] + + + +} diff --git a/resources/profiles/InfiMech/process/0.20mm Standard @InfiMech TX.json b/resources/profiles/InfiMech/process/0.20mm Standard @InfiMech TX.json new file mode 100644 index 0000000000..6c27420cba --- /dev/null +++ b/resources/profiles/InfiMech/process/0.20mm Standard @InfiMech TX.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @InfiMech TX", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + + "bottom_shell_layers": "3", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "tree_support_wall_count": "1", + "brim_width": "5", + "gap_infill_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "layer_height": "0.2", + "print_settings_id": "0.20mm Standard @InfiMech TX", + "sparse_infill_speed": "270", + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] + + + + + +} diff --git a/resources/profiles/InfiMech/process/0.24mm Draft @InfiMech TX.json b/resources/profiles/InfiMech/process/0.24mm Draft @InfiMech TX.json new file mode 100644 index 0000000000..f5dac45fc6 --- /dev/null +++ b/resources/profiles/InfiMech/process/0.24mm Draft @InfiMech TX.json @@ -0,0 +1,28 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @InfiMech TX", + "from": "system", + "instantiation": "true", + "inherits": "fdm_process_common", + + "bottom_shell_layers": "3", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "tree_support_wall_count": "1", + "brim_width": "3", + "gap_infill_speed": "230", + "inner_wall_speed": "230", + "internal_solid_infill_speed": "230", + "layer_height": "0.24", + "print_settings_id": "0.24mm Draft @InfiMech TX", + "sparse_infill_speed": "230", + "compatible_printers": [ + "InfiMech TX 0.4 nozzle" + ] + + +} diff --git a/resources/profiles/InfiMech/process/fdm_process_common.json b/resources/profiles/InfiMech/process/fdm_process_common.json new file mode 100644 index 0000000000..4b0d75d73d --- /dev/null +++ b/resources/profiles/InfiMech/process/fdm_process_common.json @@ -0,0 +1,224 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "compatible_printers_condition": "", + "default_acceleration": "10000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "1", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "from": "", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "25%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "10000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "interface_shells": "0", + "internal_bridge_speed": "150%", + "internal_bridge_support_thickness": "0.8", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_pattern": "zig-zag", + + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "line_width": "0.4", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "200", + + "overhang_4_4_speed": "10", + "overhang_speed_classic": "1", + "post_process": [], + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "0.95", + "print_sequence": "by layer", + + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "15%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "1", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "0", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "thick_bridges": "0", + "timelapse_type": "0", + + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.4", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "0", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "0", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + + "version": "1.6.0.0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} \ No newline at end of file