mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Merge branch 'main' into dev/gizmo
This commit is contained in:
		
						commit
						5669b4fef0
					
				
					 5 changed files with 285 additions and 44 deletions
				
			
		| 
						 | 
				
			
			@ -658,6 +658,10 @@ msgid ""
 | 
			
		|||
"Please note, application settings will be lost, but printer profiles will "
 | 
			
		||||
"not be affected."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Soubor konfigurace programu OrcaSlicer může být poškozen a nelze ho analyzovat.\n"
 | 
			
		||||
"OrcaSlicer se pokusil znovu vytvořit konfigurační soubor.\n"
 | 
			
		||||
"Všimněte si, že nastavení aplikace bude ztraceno, ale profily tiskárny "
 | 
			
		||||
"nebudou ovlivněny."
 | 
			
		||||
 | 
			
		||||
msgid "Rebuild"
 | 
			
		||||
msgstr "Obnovit"
 | 
			
		||||
| 
						 | 
				
			
			@ -6202,7 +6206,7 @@ msgid "Change filament G-code"
 | 
			
		|||
msgstr "G-kód Změny filamentu"
 | 
			
		||||
 | 
			
		||||
msgid "Change extrusion role G-code"
 | 
			
		||||
msgstr ""
 | 
			
		||||
msgstr "Změnit G-kód pro úlohu extruze"
 | 
			
		||||
 | 
			
		||||
msgid "Pause G-code"
 | 
			
		||||
msgstr "G-kód Pauzy"
 | 
			
		||||
| 
						 | 
				
			
			@ -8323,7 +8327,7 @@ msgid ""
 | 
			
		|||
"Filament diameter is used to calculate extrusion in gcode, so it's important "
 | 
			
		||||
"and should be accurate"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Průměr filamentu se používá k výpočtu vytlačování v gkódu, takže je důležitý "
 | 
			
		||||
"Průměr filamentu se používá k výpočtu extruze v gkódu, takže je důležitý "
 | 
			
		||||
"a měl by být přesný"
 | 
			
		||||
 | 
			
		||||
msgid "Shrinkage"
 | 
			
		||||
| 
						 | 
				
			
			@ -9155,7 +9159,7 @@ msgid ""
 | 
			
		|||
"layer height. Too high value results in overextrusion on the surface"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Množství materiálu, které se má vytlačit během žehlení. V poměru k průtoku "
 | 
			
		||||
"normální výšky vrstvy. Příliš vysoká hodnota vede k nadměrnému vytlačování "
 | 
			
		||||
"normální výšky vrstvy. Příliš vysoká hodnota vede k nadměrné extruzi "
 | 
			
		||||
"na povrchu"
 | 
			
		||||
 | 
			
		||||
msgid "Ironing line spacing"
 | 
			
		||||
| 
						 | 
				
			
			@ -9327,7 +9331,7 @@ msgstr ""
 | 
			
		|||
"maximální výšky vrstvy při povolení adaptivní výšky vrstvy"
 | 
			
		||||
 | 
			
		||||
msgid "Extrusion rate smoothing"
 | 
			
		||||
msgstr "Zjemňování extruze"
 | 
			
		||||
msgstr "Vyhlazení rychlosti extruze"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"This parameter smooths out sudden extrusion rate changes that happen when "
 | 
			
		||||
| 
						 | 
				
			
			@ -9357,32 +9361,30 @@ msgid ""
 | 
			
		|||
"\n"
 | 
			
		||||
"Note: this parameter disables arc fitting."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Tento parametr zjemňuje náhlé změny extruzního toku, ke kterým dochází při "
 | 
			
		||||
"přechodu tiskárny z tisku s vysokým průtokem (vysokou rychlostí/větší "
 | 
			
		||||
"šířkou) extruze na tisk s nižším průtokem (nižší rychlostí/menší šířkou) "
 | 
			
		||||
"extruze a obráceně.\n"
 | 
			
		||||
"Tato hodnota vyhlazuje náhlé změny extruzní rychlosti, které nastávají, když "
 | 
			
		||||
"tiskárna přechází z extruze s vysokým průtokem (vysoká rychlost/větší šířka) "
 | 
			
		||||
"na extruzi s nižším průtokem (nižší rychlost/menší šířka) a naopak.\n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Definuje maximální rychlost, jakou se může objemový průtok extrudovaný v mm3/"
 | 
			
		||||
"s měnit v čase. Vyšší hodnoty znamenají, že jsou povoleny vyšší změny "
 | 
			
		||||
"Definuje maximální rychlost, kterou může objemový průtok extrudovaného materiálu "
 | 
			
		||||
"v mm3/s měnit v čase. Vyšší hodnoty znamenají, že jsou povoleny větší změny "
 | 
			
		||||
"extruzní rychlosti, což vede k rychlejším přechodům rychlosti.\n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Hodnota 0 tuto funkci vypíná. \n"
 | 
			
		||||
"Hodnota 0 funkci zakáže. \n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Pro tiskárny s vysokou rychlostí a vysokým průtokem přímého pohonu (např. "
 | 
			
		||||
"Bambu lab nebo Voron) tato hodnota obvykle není potřebná. Avšak v některých "
 | 
			
		||||
"případech, kdy se rychlosti prvků velmi liší, může poskytnout marginální "
 | 
			
		||||
"přínos. Například při agresivním zpomalení kvůli přesahům. V těchto "
 | 
			
		||||
"případech se doporučuje vysoká hodnota kolem 300-350 mm3/s2, protože to "
 | 
			
		||||
"umožní právě dostatečné zjemnění pro pomoc předstihu tlaku (PA) k dosažení "
 | 
			
		||||
"plynulejšího přechodu průtoku.\n"
 | 
			
		||||
"Pro tiskárny s přímým pohonem a vysokou rychlostí a průtokem (např. Bambu lab "
 | 
			
		||||
"nebo Voron) tato hodnota obvykle není potřebná. Nicméně v některých případech, "
 | 
			
		||||
"kde se rychlosti funkcí výrazně liší, může poskytnout marginální přínos. "
 | 
			
		||||
"Například při agresivních zpomaleních způsobených přesahy. V těchto případech "
 | 
			
		||||
"se doporučuje vysoká hodnota kolem 300-350 mm3/s2, protože to umožňuje dostatečné "
 | 
			
		||||
"vyhlazení pro pomoc při dosažení plynulejšího přechodu tlaku při extruzi.\n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Pro pomalejší tiskárny bez předstihu tlaku (PA) by měla být hodnota "
 | 
			
		||||
"nastavena mnohem nižší. Pro extrudery s přímým pohonem je dobrým výchozím "
 | 
			
		||||
"bodem hodnota 10-15 mm3/s2 a pro styl Bowden 5-10 mm3/s2. \n"
 | 
			
		||||
"Pro pomalejší tiskárny bez tlakového předstihu by měla být hodnota nastavena "
 | 
			
		||||
"mnohem nižší. Pro přímé pohony je hodnota 10-15 mm3/s2 dobrým výchozím bodem, "
 | 
			
		||||
"a pro styl Bowden 5-10 mm3/s2. \n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Tato funkce je známá jako Pressure Equalizer v Prusa slicer.\n"
 | 
			
		||||
"Tato funkce je známa jako Pressure Equalizer v programu Prusa Slicer.\n"
 | 
			
		||||
"\n"
 | 
			
		||||
"Poznámka: Tento parametr vypíná arc fitting."
 | 
			
		||||
"Poznámka: Tato hodnota zakazuje obloukové přizpůsobení."
 | 
			
		||||
 | 
			
		||||
msgid "mm³/s²"
 | 
			
		||||
msgstr "mm³/s²"
 | 
			
		||||
| 
						 | 
				
			
			@ -9837,7 +9839,7 @@ msgid "Random"
 | 
			
		|||
msgstr "Náhodný"
 | 
			
		||||
 | 
			
		||||
msgid "Staggered inner seams"
 | 
			
		||||
msgstr "Posunuté vnitřní švy"
 | 
			
		||||
msgstr "Odstupňované vnitřní švy"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"This option causes the inner seams to be shifted backwards based on their "
 | 
			
		||||
| 
						 | 
				
			
			@ -9868,9 +9870,9 @@ msgid ""
 | 
			
		|||
"if a wipe action is executed immediately following an outer wall extrusion, "
 | 
			
		||||
"the speed of the outer wall extrusion will be utilized for the wipe action."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Rychlost čištění je určena rychlostí aktuální role vytlačování, např. pokud "
 | 
			
		||||
"je činnost čištění provedena bezprostředně po vytlačování vnější stěny, "
 | 
			
		||||
"rychlost vytlačování vnější stěny bude využita pro činnost čištění."
 | 
			
		||||
"Rychlost čištění je určena rychlostí aktuální role extruze, např. pokud "
 | 
			
		||||
"je činnost čištění provedena bezprostředně po extruzi vnější stěny, "
 | 
			
		||||
"rychlost extruze vnější stěny bude využita pro činnost čištění."
 | 
			
		||||
 | 
			
		||||
msgid "Wipe on loops"
 | 
			
		||||
msgstr "Čistit na smyčce"
 | 
			
		||||
| 
						 | 
				
			
			@ -9879,7 +9881,7 @@ msgid ""
 | 
			
		|||
"To minimize the visibility of the seam in a closed loop extrusion, a small "
 | 
			
		||||
"inward movement is executed before the extruder leaves the loop."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Aby byla minimalizována viditelnost švu při vytlačování s uzavřenou smyčkou, "
 | 
			
		||||
"Aby byla minimalizována viditelnost švu při extruzi s uzavřenou smyčkou, "
 | 
			
		||||
"je proveden malý pohyb dovnitř předtím, než vytlačovací stroj opustí smyčku."
 | 
			
		||||
 | 
			
		||||
msgid "Wipe speed"
 | 
			
		||||
| 
						 | 
				
			
			@ -10505,7 +10507,7 @@ msgstr ""
 | 
			
		|||
"výměny nástroje"
 | 
			
		||||
 | 
			
		||||
msgid "This gcode is inserted when the extrusion role is changed"
 | 
			
		||||
msgstr ""
 | 
			
		||||
msgstr "Tento G-kód je vložen při změně role extruze"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"Line width for top surfaces. If expressed as a %, it will be computed over "
 | 
			
		||||
| 
						 | 
				
			
			@ -10558,7 +10560,7 @@ msgid ""
 | 
			
		|||
"Move nozzle along the last extrusion path when retracting to clean leaked "
 | 
			
		||||
"material on nozzle. This can minimize blob when print new part after travel"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Při zasouvání přesuňte trysku podél poslední dráhy vytlačování, abyste "
 | 
			
		||||
"Při retrakci přesuňte trysku podél poslední dráhy extruze, abyste "
 | 
			
		||||
"vyčistili uniklý materiál na trysce. To může minimalizovat skvrny při tisku "
 | 
			
		||||
"nového dílu po cestě"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -10775,9 +10777,9 @@ msgid ""
 | 
			
		|||
"Wipe tower is only compatible with relative mode. It is always enabled on "
 | 
			
		||||
"BambuLab printers. Default is checked"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Při použití volby \"label_objects\" se doporučuje relativní vytlačování. "
 | 
			
		||||
"Při použití volby \"label_objects\" se doporučuje relativní extruzi. "
 | 
			
		||||
"Některé extrudery fungují lépe, když je tato možnost odškrtnuta (režim "
 | 
			
		||||
"absolutního vytlačování). Čistící věž je kompatibilní pouze s relativním "
 | 
			
		||||
"absolutní extruze). Čistící věž je kompatibilní pouze s relativním "
 | 
			
		||||
"režimem. Na tiskárnách BambuLab je vždy povolen. Výchozí je zaškrtnuto"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
| 
						 | 
				
			
			@ -10808,7 +10810,7 @@ msgstr ""
 | 
			
		|||
"Vyjadřuje se jako procento průměru trysky"
 | 
			
		||||
 | 
			
		||||
msgid "Wall transitioning filter margin"
 | 
			
		||||
msgstr "Okraj filtru přechodu stěny"
 | 
			
		||||
msgstr "Filtr přechodového rozpětí stěny"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"Prevent transitioning back and forth between one extra wall and one less. "
 | 
			
		||||
| 
						 | 
				
			
			@ -10843,7 +10845,7 @@ msgstr ""
 | 
			
		|||
"mezery nebo přečnívat"
 | 
			
		||||
 | 
			
		||||
msgid "Wall distribution count"
 | 
			
		||||
msgstr "Počet rozložení stěn"
 | 
			
		||||
msgstr "Počet ovlivněných stěn"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"The number of walls, counted from the center, over which the variation needs "
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,3 +124,31 @@
 | 
			
		|||
	display: flex;
 | 
			
		||||
	justify-content:space-around;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.search {
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	position: relative;
 | 
			
		||||
	display: flex;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .searchTerm {
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	border: 3px solid #009688;
 | 
			
		||||
	/*border-right: none;*/
 | 
			
		||||
	padding: 5px;
 | 
			
		||||
	height: 20px;
 | 
			
		||||
	border-radius: 5px 5px 5px 5px;
 | 
			
		||||
	outline: none;
 | 
			
		||||
	color: #9DBFAF;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .searchTerm:focus{
 | 
			
		||||
	color: #009688;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  /*Resize the wrap to see the search bar change!*/
 | 
			
		||||
  .wrap{
 | 
			
		||||
	width: 30%;
 | 
			
		||||
	padding-bottom: 5px;
 | 
			
		||||
	padding-left: 42px;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +40,6 @@ function HandleStudio( pVal )
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function ShowPrinterThumb(pItem, strImg)
 | 
			
		||||
{
 | 
			
		||||
	$(pItem).attr('src',strImg);
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +51,7 @@ function HandleModelList( pVal )
 | 
			
		|||
	if( !pVal.hasOwnProperty("model") )
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
    let pModel=pVal['model'];
 | 
			
		||||
    pModel=pVal['model'];
 | 
			
		||||
	
 | 
			
		||||
	let nTotal=pModel.length;
 | 
			
		||||
	let ModelHtml={};
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +98,7 @@ function HandleModelList( pVal )
 | 
			
		|||
		for(let m=0;m<NozzleArray.length;m++)
 | 
			
		||||
		{
 | 
			
		||||
			let nNozzel=NozzleArray[m];
 | 
			
		||||
			HtmlNozzel+='<div class="pNozzel TextS2"><input type="checkbox" model="'+OneModel['model']+'" nozzel="'+nNozzel+'" vendor="'+strVendor+'" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
 | 
			
		||||
			HtmlNozzel += '<div class="pNozzel TextS2"><input type="checkbox" model="' + OneModel['model'] + '" nozzel="' + nNozzel + '" vendor="' + strVendor +'" onclick="CheckBoxOnclick(this)" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		let CoverImage=OneModel['cover'];
 | 
			
		||||
| 
						 | 
				
			
			@ -128,10 +127,12 @@ function HandleModelList( pVal )
 | 
			
		|||
    		let nLen=SelectList.length;
 | 
			
		||||
 | 
			
		||||
		    for(let a=0;a<nLen;a++)
 | 
			
		||||
		    {
 | 
			
		||||
			{
 | 
			
		||||
			    let nNozzel=SelectList[a];
 | 
			
		||||
			    $("input[vendor='"+OneModel['vendor']+"'][model='"+OneModel['model']+"'][nozzel='"+nNozzel+"']").prop("checked", true);
 | 
			
		||||
		    }
 | 
			
		||||
				$("input[vendor='" + OneModel['vendor'] + "'][model='" + OneModel['model'] + "'][nozzel='" + nNozzel + "']").prop("checked", true);
 | 
			
		||||
 | 
			
		||||
				SetModelSelect(OneModel['vendor'], OneModel['model'], nNozzel, true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -149,6 +150,155 @@ function HandleModelList( pVal )
 | 
			
		|||
	TranslatePage();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function CheckBoxOnclick(obj) {
 | 
			
		||||
 | 
			
		||||
	let strModel = obj.getAttribute("model");
 | 
			
		||||
 | 
			
		||||
	let strVendor = obj.getAttribute("vendor");
 | 
			
		||||
	let strNozzel = obj.getAttribute("nozzel");
 | 
			
		||||
 | 
			
		||||
	SetModelSelect(strVendor, strModel, strNozzel, obj.checked);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function SetModelSelect(vendor, model, nozzel, checked) {
 | 
			
		||||
	if (!ModelNozzleSelected.hasOwnProperty(vendor) && !checked) {
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!ModelNozzleSelected.hasOwnProperty(vendor) && checked) {
 | 
			
		||||
		ModelNozzleSelected[vendor] = {};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let oVendor = ModelNozzleSelected[vendor];
 | 
			
		||||
	if (!oVendor.hasOwnProperty(model)) {
 | 
			
		||||
		oVendor[model] = {};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let oModel = oVendor[model];
 | 
			
		||||
	if (oModel.hasOwnProperty(nozzel) || checked) {
 | 
			
		||||
		oVendor[model][nozzel] = checked;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function GetModelSelect(vendor, model, nozzel) {
 | 
			
		||||
	if (!ModelNozzleSelected.hasOwnProperty(vendor)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let oVendor = ModelNozzleSelected[vendor];
 | 
			
		||||
	if (!oVendor.hasOwnProperty(model)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let oModel = oVendor[model];
 | 
			
		||||
	if (!oModel.hasOwnProperty(nozzel)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return oVendor[model][nozzel];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function FilterModelList(keyword) {
 | 
			
		||||
 | 
			
		||||
	//Save checkbox state
 | 
			
		||||
	let ModelSelect = $('input[type=checkbox]');
 | 
			
		||||
	for (let n = 0; n < ModelSelect.length; n++) {
 | 
			
		||||
		let OneItem = ModelSelect[n];
 | 
			
		||||
 | 
			
		||||
		let strModel = OneItem.getAttribute("model");
 | 
			
		||||
 | 
			
		||||
		let strVendor = OneItem.getAttribute("vendor");
 | 
			
		||||
		let strNozzel = OneItem.getAttribute("nozzel");
 | 
			
		||||
 | 
			
		||||
		SetModelSelect(strVendor, strModel, strNozzel, OneItem.checked);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	let nTotal = pModel.length;
 | 
			
		||||
	let ModelHtml = {};
 | 
			
		||||
 | 
			
		||||
	$('#Content').empty();
 | 
			
		||||
	for (let n = 0; n < nTotal; n++) {
 | 
			
		||||
		let OneModel = pModel[n];
 | 
			
		||||
 | 
			
		||||
		let strVendor = OneModel['vendor'];
 | 
			
		||||
		let ModelName = OneModel['model'];
 | 
			
		||||
		if (ModelName.toLowerCase().indexOf(keyword.toLowerCase()) == -1)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		//Add Vendor Html Node
 | 
			
		||||
		if ($(".OneVendorBlock[vendor='" + strVendor + "']").length == 0) {
 | 
			
		||||
			let sVV = strVendor;
 | 
			
		||||
			if (sVV == "BBL")
 | 
			
		||||
				sVV = "Bambu Lab";
 | 
			
		||||
			if (sVV == "Custom")
 | 
			
		||||
				sVV = "Custom Printer";
 | 
			
		||||
			if (sVV == "Other")
 | 
			
		||||
				sVV = "Orca colosseum";
 | 
			
		||||
 | 
			
		||||
			let HtmlNewVendor = '<div class="OneVendorBlock" Vendor="' + strVendor + '">' +
 | 
			
		||||
				'<div class="BlockBanner">' +
 | 
			
		||||
				'	<div class="BannerBtns">' +
 | 
			
		||||
				'		<div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll(' + "\'" + strVendor + "\'" + ')">all</div>' +
 | 
			
		||||
				'		<div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone(' + "\'" + strVendor + "\'" + ')">none</div>' +
 | 
			
		||||
				'	</div>' +
 | 
			
		||||
				'	<a>' + sVV + '</a>' +
 | 
			
		||||
				'</div>' +
 | 
			
		||||
				'<div class="PrinterArea">	' +
 | 
			
		||||
				'</div>' +
 | 
			
		||||
				'</div>';
 | 
			
		||||
 | 
			
		||||
			$('#Content').append(HtmlNewVendor);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Collect Html Node Nozzel Html
 | 
			
		||||
		if (!ModelHtml.hasOwnProperty(strVendor))
 | 
			
		||||
			ModelHtml[strVendor] = '';
 | 
			
		||||
 | 
			
		||||
		let NozzleArray = OneModel['nozzle_diameter'].split(';');
 | 
			
		||||
		let HtmlNozzel = '';
 | 
			
		||||
		for (let m = 0; m < NozzleArray.length; m++) {
 | 
			
		||||
			let nNozzel = NozzleArray[m];
 | 
			
		||||
			HtmlNozzel += '<div class="pNozzel TextS2"><input type="checkbox" model="' + OneModel['model'] + '" nozzel="' + nNozzel + '" vendor="' + strVendor + '" onclick="CheckBoxOnclick(this)" /><span>' + nNozzel + '</span><span class="trans" tid="t13">mm nozzle</span></div>';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		let CoverImage = OneModel['cover'];
 | 
			
		||||
		ModelHtml[strVendor] += '<div class="PrinterBlock">' +
 | 
			
		||||
			'	<div class="PImg"><img src="' + CoverImage + '"  /></div>' +
 | 
			
		||||
			'    <div class="PName">' + OneModel['model'] + '</div>' + HtmlNozzel + '</div>';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//Update Nozzel Html Append
 | 
			
		||||
	for (let key in ModelHtml) {
 | 
			
		||||
		let obj = $(".OneVendorBlock[vendor='" + key + "'] .PrinterArea");
 | 
			
		||||
		obj.empty();
 | 
			
		||||
		obj.append(ModelHtml[key]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	//Update Checkbox
 | 
			
		||||
	ModelSelect = $('input[type=checkbox]');
 | 
			
		||||
	for (let n = 0; n < ModelSelect.length; n++) {
 | 
			
		||||
		let OneItem = ModelSelect[n];
 | 
			
		||||
 | 
			
		||||
		let strModel = OneItem.getAttribute("model");
 | 
			
		||||
		let strVendor = OneItem.getAttribute("vendor");
 | 
			
		||||
		let strNozzel = OneItem.getAttribute("nozzel");
 | 
			
		||||
 | 
			
		||||
		let checked = GetModelSelect(strVendor, strModel, strNozzel);
 | 
			
		||||
 | 
			
		||||
		OneItem.checked = checked;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// let AlreadySelect=$("input:checked");
 | 
			
		||||
	// let nSelect=AlreadySelect.length;
 | 
			
		||||
	// if(nSelect==0)
 | 
			
		||||
	// {
 | 
			
		||||
	// 	$("input[nozzel='0.4'][vendor='Custom']").prop("checked", true);
 | 
			
		||||
	// }
 | 
			
		||||
 | 
			
		||||
	TranslatePage();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function SelectPrinterAll( sVendor )
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -162,15 +312,54 @@ function SelectPrinterNone( sVendor )
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
function GotoFilamentPage()
 | 
			
		||||
{
 | 
			
		||||
	let nChoose=OnExit();
 | 
			
		||||
	let nChoose=OnExitFilter();
 | 
			
		||||
	
 | 
			
		||||
	if(nChoose>0)
 | 
			
		||||
		window.open('../22/index.html','_self');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function OnExitFilter() {
 | 
			
		||||
 | 
			
		||||
	let nTotal = 0;
 | 
			
		||||
	let ModelAll = {};
 | 
			
		||||
	for (vendor in ModelNozzleSelected) {
 | 
			
		||||
		for (model in ModelNozzleSelected[vendor]) {
 | 
			
		||||
			for (nozzel in ModelNozzleSelected[vendor][model]) {
 | 
			
		||||
				if (!ModelNozzleSelected[vendor][model][nozzel])
 | 
			
		||||
					continue;
 | 
			
		||||
 | 
			
		||||
				if (!ModelAll.hasOwnProperty(model)) {
 | 
			
		||||
					//alert("ADD: "+strModel);
 | 
			
		||||
 | 
			
		||||
					ModelAll[model] = {};
 | 
			
		||||
 | 
			
		||||
					ModelAll[model]["model"] = model;
 | 
			
		||||
					ModelAll[model]["nozzle_diameter"] = '';
 | 
			
		||||
					ModelAll[model]["vendor"] = vendor;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				ModelAll[model]["nozzle_diameter"] += ModelAll[model]["nozzle_diameter"] == '' ? nozzel : ';' + nozzel;
 | 
			
		||||
 | 
			
		||||
				nTotal++;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var tSend = {};
 | 
			
		||||
	tSend['sequence_id'] = Math.round(new Date() / 1000);
 | 
			
		||||
	tSend['command'] = "save_userguide_models";
 | 
			
		||||
	tSend['data'] = ModelAll;
 | 
			
		||||
 | 
			
		||||
	SendWXMessage(JSON.stringify(tSend));
 | 
			
		||||
 | 
			
		||||
	return nTotal;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
function OnExit()
 | 
			
		||||
{	
 | 
			
		||||
	let ModelAll={};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,11 @@
 | 
			
		|||
<div id="Title">
 | 
			
		||||
	<div class="trans" tid="t10">Printer Selection</div>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="wrap">
 | 
			
		||||
	<div class="search">
 | 
			
		||||
		<input type="text" class="searchTerm" placeholder="Device keyword" oninput="textInput(this)">
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
<div id="Content"  class="ZScrol">
 | 
			
		||||
 | 
			
		||||
<!--<div class="OneVendorBlock" Vendor="BBL">	
 | 
			
		||||
| 
						 | 
				
			
			@ -112,4 +117,19 @@
 | 
			
		|||
	
 | 
			
		||||
	
 | 
			
		||||
</body>
 | 
			
		||||
<script>
 | 
			
		||||
	document.onkeydown = function (event) {
 | 
			
		||||
		var e = event || window.event || arguments.callee.caller.arguments[0];
 | 
			
		||||
 | 
			
		||||
		if (window.event) {
 | 
			
		||||
			try { e.keyCode = 0; } catch (e) { }
 | 
			
		||||
			e.returnValue = true;
 | 
			
		||||
		}
 | 
			
		||||
	};
 | 
			
		||||
	let pModel = {};
 | 
			
		||||
	let ModelNozzleSelected = {};
 | 
			
		||||
	function textInput(obj) {
 | 
			
		||||
		FilterModelList(obj.value);
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,8 @@ protected:
 | 
			
		|||
    std::string get_action_snapshot_name() const override { return _u8L("Paint-on seam editing"); }
 | 
			
		||||
    static const constexpr float      CursorRadiusMin = 0.05f; // cannot be zero
 | 
			
		||||
 | 
			
		||||
    const float get_cursor_radius_min() const override { return CursorRadiusMin; }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    bool on_init() override;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue