mirror of
https://github.com/gittrahan/support-fins.git
synced 2026-10-18 18:03:27 -05:00
sway: review fixes -- the Tine contact offset field is gone (a positive offset lifts the tines off the part, zero meets it flush; the engine keeps its -0.01 default, the same output as main), Brace walls above starts at 5 cm, tests pin a full-height hand brace, the low-click reason and the cross ribs at the page's settings (two per brace over the start height, closed, clear of the part, no brace or tine lost), and the new and changed strings in de, nl, pt, ar and zh
This commit is contained in:
1 parent
ad7e99b188
commit
64f7fb7d61
12 files changed
+102
-54
No files matched your search
@@ -39,7 +39,6 @@ const SITE_ONLY_CHOICES = { padStyle: ['custom'] };
|
||||
const SITE_EXCLUDED = {
|
||||
'full-brace-depth': 'browser opt-in; plugin dialogs retain the established 60 mm Sway depth limit',
|
||||
'sway-cross-height': 'browser sway cross-ribs only; plugin dialogs retain the default rib height ratio',
|
||||
'tine-contact-offset': 'browser tine contact calibration; plugin dialogs retain the default contact offset',
|
||||
'long-walls': 'Full coverage only; plugins run Auto',
|
||||
'tall-ribs': 'the plugins build with the engine default (on, as the site starts); a dialog control can follow',
|
||||
'tall-ribs-height': 'browser tall-wall rib threshold; plugin dialogs retain the default 100 mm height',
|
||||
|
||||
@@ -273,3 +273,35 @@ Deno.test('sway: "grip from" is the user\'s choice, not a stilt to refuse', () =
|
||||
const s = sway.buildSwayBraces(topo, res, ID, { tines: true, layerHeight: LAYER, gripFrom: 80 });
|
||||
assert(s.count >= 2, `"grip from" 80mm was refused as a stilt (${s.count} braces, ${s.reason})`);
|
||||
});
|
||||
|
||||
Deno.test('sway: Draw runs a brace up the whole side with `full`, and a low click says why', () => {
|
||||
const { topo, res } = post();
|
||||
let side = -1;
|
||||
for (let f = 0; f < topo.nFaces && side < 0; f++) if (topo.nrm[f * 3 + 1] < -0.9) side = f;
|
||||
const opts = { tines: true, layerHeight: LAYER };
|
||||
const full = sway.swayAtFace(topo, res, ID, side, [0, -15, 60], { ...opts, full: true });
|
||||
const auto = sway.buildSwayBraces(topo, res, ID, opts).ribs[0];
|
||||
assert(full.ok, `full-height hand brace failed: ${full.reason}`);
|
||||
assert(full.height > 100 && Math.abs(full.height - auto.height) < 1e-6,
|
||||
`a full hand brace should stand as tall as Auto's (${auto.height}), got ${full.height}`);
|
||||
const low = sway.swayAtFace(topo, res, ID, side, [0, -15, 10], opts);
|
||||
assert(!low.ok && /too low/.test(low.reason), `a 10mm click should be too low, got ${low.ok ? 'a brace' : low.reason}`);
|
||||
});
|
||||
|
||||
Deno.test('sway: "Brace tall walls" cross-ribs a brace over its start height, clear of the part', () => {
|
||||
const { topo, res } = post();
|
||||
const opts = { tines: true, layerHeight: LAYER };
|
||||
const plain = sway.buildSwayBraces(topo, res, ID, opts);
|
||||
// what the page sends with Brace tall walls ticked (ui/finbuild.js swayOpts)
|
||||
const ribbed = sway.buildSwayBraces(topo, res, ID, { ...opts, crossAbove: 100, crossRise: 0.5 });
|
||||
assert(ribbed.count === plain.count && ribbed.tines === plain.tines, 'cross ribs cost a brace or its tines');
|
||||
for (let i = 0; i < ribbed.ribs.length; i++) {
|
||||
const r = ribbed.ribs[i], extra = r.tris.slice(plain.ribs[i].tris.length);
|
||||
assert(r.cross === 2, `a ${r.height.toFixed(0)}mm brace got ${r.cross} cross ribs, expected 2`);
|
||||
assert(isClosed(extra), 'a cross rib is not closed');
|
||||
const inside = insideCount(topo, ID, res.offset, extra.map((v) => [v[0], v[1], Math.max(v[2], 1e-3)]));
|
||||
assert(inside === 0, `${inside} cross-rib verts are inside the part`);
|
||||
}
|
||||
const under = sway.buildSwayBraces(topo, res, ID, { ...opts, crossAbove: 200, crossRise: 0.5 });
|
||||
assert(under.ribs.every((r) => !r.cross), 'a brace under the start height got cross ribs');
|
||||
});
|
||||
+13
-5
@@ -104,7 +104,6 @@ export default {
|
||||
'How far the brace reaches out at the bed, as a share of its height. Deeper = stiffer, more plastic. Default 15%.': 'مقدار امتداد الدعامة عند سطح الطباعة، نسبةً إلى ارتفاعها. كلما زاد العمق زادت الصلابة واستهلاك المادة. القيمة الافتراضية 15%.',
|
||||
'Vertical distance between brace tines. Smaller = held tighter, more marks on the side. Default 6mm.': 'المسافة الرأسية بين أسنان التثبيت. كلما صغرت المسافة زادت قوة التثبيت وازدادت العلامات على جانب القطعة. القيمة الافتراضية 6 mm.',
|
||||
'Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.': 'الارتفاع الذي تبدأ عنده أسنان التثبيت. القيمة 0 تعني تثبيت القطعة على امتداد ارتفاعها كله؛ ارفع القيمة لتبدأ الأسنان فوق النقطة التي تبدأ عندها القطعة بالتمايل.',
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one.": 'أضف دعامات تقوية مخروطية بمحاذاة الجوانب الرأسية للقطعة الطويلة، وثبّتها بأسنان على امتداد الارتفاع كله لمنع انزياح القطعة أو تمايلها كلما ارتفعت أثناء الطباعة. في وضع «الرسم»، انقر على جانب رأسي لإضافة دعامة.',
|
||||
"Set this to the layer height you slice at. The grip tines are one layer tall so they snap off clean; if this doesn't match your slicer, the tines tear and leave marks. Default 0.2mm.": 'اضبطه على ارتفاع الطبقة الذي تقطّع به. ارتفاع أسنان التثبيت يساوي ارتفاع طبقة واحدة كي تنفصل بنظافة عند كسرها؛ وإذا لم تطابق هذه القيمة إعدادات برنامج التقطيع، فستتمزق الأسنان وتترك علامات. الافتراضي 0.2mm.',
|
||||
'How tightly to space the grip tines. Light = fewest marks (default), a per-wall floor keeps grip; Firm = dense comb / max grip for a tippy or tall part.': 'مدى تقارب أسنان الإمساك. خفيف = أقل العلامات (الافتراضي)، مع حد أدنى لكل جدار يحافظ على الإمساك؛ محكم = ترتيب كثيف للأسنان وقوة تثبيت قصوى للقطعة الطويلة أو غير المستقرة.',
|
||||
'Tines fuse the support to the part so it grips instead of just propping. Off = plain breakaway wall.': 'تجعل أسنان التثبيت الدعامة تتشابك مع القطعة كي تثبّتها بدلاً من الاكتفاء بإسنادها. إيقاف = جدار دعم عادي قابل للكسر.',
|
||||
@@ -285,7 +284,6 @@ export default {
|
||||
"mm up": "mm للأعلى",
|
||||
"Brace tine spacing": "تباعد أسنان التثبيت",
|
||||
"Brace depth": "عمق الدعامة",
|
||||
"% of height": "% من الارتفاع",
|
||||
"Wall lines": "عدد خطوط الجدار",
|
||||
"How many nozzle lines thick the walls, wedges and sway braces are. 2 is the standard wall. More lines make stiffer supports for tall parts. The contact tip and tines stay one line wide, so the supports still break off the same way.": "عدد خطوط الفوهة المكوِّنة لسماكة الجدران والأوتاد ودعامات منع التمايل. القيمة 2 هي السماكة القياسية. زيادة العدد تجعل الدعامات أكثر صلابة للقطع الطويلة. يظل طرف التلامس وأسنان التثبيت بعرض خط واحد، لذلك تنفصل الدعامات بالطريقة نفسها.",
|
||||
"Cutouts": "الفتحات",
|
||||
@@ -299,7 +297,6 @@ export default {
|
||||
"Long walls": "جدران طويلة",
|
||||
"Brace tall walls": "تدعيم الجدران العالية",
|
||||
"{n} wall ribs": { one: "{n} ضلع جدار", other: "{n} أضلاع جدار" },
|
||||
"Walls taller than 10 cm get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "تحصل الجدران الأطول من 10 سم على أضلاع مثلثة عند السرير، على الوجهين، كي لا تتمايل أثناء الطباعة. ألغِ التحديد لجدران عادية.",
|
||||
"along the part": "على طول القطعة",
|
||||
"Full coverage lays rows of long walls along the part's length first, the way you'd draw them by hand, then fills what they miss. Holds more of the overhang and uses more plastic. Untick for short walls under each overhang patch.": "تضع التغطية الكاملة أولاً صفوفاً من الجدران الطويلة على طول القطعة، كما سترسمها بيدك، ثم تملأ ما فاتها. تثبّت مساحة أكبر من البروز وتستهلك بلاستيكاً أكثر. ألغِ التحديد لجدران قصيرة تحت كل جزء من البروز.",
|
||||
"Stand every support on the build plate, never on the part itself. An overhang with part under it is left unsupported, and the readout says how many.": "ضع كل دعامة على سطح الطباعة، ولا تضعها على القطعة نفسها. ستُترك البروزات المعلّقة التي تقع أجزاء من القطعة أسفلها بلا دعم، ويعرض قسم القراءات عددها.",
|
||||
@@ -328,8 +325,6 @@ export default {
|
||||
"Remove selected": "إزالة المحدد",
|
||||
|
||||
// Manual Draw hint
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Click an upright side once to stand a sway brace against it. Esc or right-click cancels.":
|
||||
"انقر على نقطتين عبر بروز معلّق — مباشرةً على الأوجه الحمراء — لوضع جدار قابل للكسر على امتداد الخط. وانقر مرة واحدة على جانب رأسي لإضافة دعامة تمنع التمايل بمحاذاته. اضغط Esc أو انقر بزر الفأرة الأيمن للإلغاء.",
|
||||
|
||||
// Summaries & Readout Notes
|
||||
"off": "إيقاف",
|
||||
@@ -414,4 +409,17 @@ export default {
|
||||
"{n} pin": { one: "{n} دبوس", other: "{n} دبابيس" },
|
||||
"The pins attach each wall to the part, as a resin print needs.": "تربط الدبابيس كل جدار بالقطعة، كما تحتاج طباعة الراتنج.",
|
||||
"resin": "راتنج",
|
||||
// Sway braces: hover preview, cross ribs, tall-wall rib height (#318)
|
||||
"Brace walls above": "تدعيم الجدران الأعلى من",
|
||||
"Walls taller than this height get face ribs. 5 cm or more; default 10 cm.": "تحصل الجدران الأعلى من هذا الارتفاع على أضلاع على الوجهين. 5 سم أو أكثر؛ الافتراضي 10 سم.",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "تحصل الجدران الأعلى من الارتفاع المحدد على أضلاع مثلثة عند السرير، على الوجهين، كي لا تتمايل أثناء الطباعة. ألغِ التحديد لجدران عادية.",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.": "أضف دعامات تقوية مخروطية بمحاذاة الجوانب الرأسية للقطعة الطويلة، وثبّتها بأسنان على امتداد الارتفاع كله لمنع انزياح القطعة أو تمايلها كلما ارتفعت أثناء الطباعة. في وضع «الرسم»، مرّر المؤشر فوق جانب رأسي لمعاينة دعامة، وانقر لإضافتها.",
|
||||
"Cross-rib height": "ارتفاع الأضلاع العرضية",
|
||||
"% of height": "% من الارتفاع",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "ارتفاع الأضلاع العرضية كنسبة مئوية من ارتفاع دعامة منع التمايل. 10–90%، الافتراضي 50%. يتطلب «تدعيم الجدران العالية» ودعامة أعلى من ارتفاع البدء الخاص به. لا يغيّر الامتداد على السرير.",
|
||||
"{n} brace ribs": { one: "{n} ضلع دعامة", other: "{n} أضلاع دعامة" },
|
||||
"that’s too low for a brace — move up the side": "هذا منخفض جدًا لدعامة — تحرّك إلى أعلى الجانب",
|
||||
"Sway brace, full height: {mm} mm": "دعامة منع التمايل، بالارتفاع الكامل: {mm} مم",
|
||||
"Sway brace, {mm} mm tall — move up the side for full height": "دعامة منع التمايل، بارتفاع {mm} مم — تحرّك إلى أعلى الجانب للارتفاع الكامل",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Hover an upright side to preview a sway brace: its top follows the cursor, and near the top of the side it runs full height. Click to stand it. Esc or right-click cancels.": "انقر على نقطتين عبر بروز معلّق — مباشرةً على الأوجه الحمراء — لوضع جدار قابل للكسر على امتداد الخط. ومرّر المؤشر فوق جانب رأسي لمعاينة دعامة تمنع التمايل: يتبع أعلاها المؤشر، وقرب أعلى الجانب تمتد بالارتفاع الكامل. انقر لإضافتها. اضغط Esc أو انقر بزر الفأرة الأيمن للإلغاء.",
|
||||
};
|
||||
+13
-5
@@ -111,7 +111,6 @@ export default {
|
||||
'How far the brace reaches out at the bed, as a share of its height. Deeper = stiffer, more plastic. Default 15%.': 'Wie weit die Rippe am Druckbett ausgreift, in Prozent der Höhe. Größer = steifer, aber mehr Material. Standard 15 %.',
|
||||
'Vertical distance between brace tines. Smaller = held tighter, more marks on the side. Default 6mm.': 'Vertikaler Abstand zwischen den Rippenzacken. Kleiner = festerer Halt, aber mehr Kontaktpunkte. Standard 6 mm.',
|
||||
'Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.': 'Höhe, ab der die Rippenzacken greifen. 0 = über die gesamte Höhe; erhöhen, um erst ab dem wackeligen Bereich anzusetzen.',
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one.": 'Setzt konische Stützrippen an aufrechte Seiten hoher Bauteile, um Wackeln und Drift beim Drucken zu verhindern. Im Zeichnen-Modus auf eine aufrechte Seite klicken.',
|
||||
"Set this to the layer height you slice at. The grip tines are one layer tall so they snap off clean; if this doesn't match your slicer, the tines tear and leave marks. Default 0.2mm.": 'Stellen Sie dies auf die Schichthöhe Ihres Slicers ein. Die Haltezacken sind genau eine Schicht hoch, damit sie sauber abbrechen. Bei falscher Einstellung hinterlassen sie Spuren.',
|
||||
'How tightly to space the grip tines. Light = fewest marks (default), a per-wall floor keeps grip; Firm = dense comb / max grip for a tippy or tall part.': 'Abstand der Haltezacken. Leicht = minimale Abdrücke (Standard); Fest = dichte Zacken für maximalen Halt bei kippligen oder hohen Bauteilen.',
|
||||
'Tines fuse the support to the part so it grips instead of just propping. Off = plain breakaway wall.': 'Haltezacken verbinden die Stütze mit dem Bauteil, damit sie greift, statt nur zu stützen. Aus = einfache Stützwand.',
|
||||
@@ -295,7 +294,6 @@ export default {
|
||||
"mm up": "mm ab Boden",
|
||||
"Brace tine spacing": "Rippen-Zackenabstand",
|
||||
"Brace depth": "Rippen-Tiefe",
|
||||
"% of height": "% der Höhe",
|
||||
"Wall lines": "Wandbahnen",
|
||||
"How many nozzle lines thick the walls, wedges and sway braces are. 2 is the standard wall. More lines make stiffer supports for tall parts. The contact tip and tines stay one line wide, so the supports still break off the same way.": "Wie viele Düsenbahnen dick Wände, Keile und Stützrippen sind. 2 ist die Standardwand. Mehr Bahnen machen die Stützen für hohe Teile steifer. Kontaktspitze und Haltezacken bleiben eine Bahn breit, damit sich die Stützen weiterhin gleich abbrechen lassen.",
|
||||
"Cutouts": "Aussparungen",
|
||||
@@ -309,7 +307,6 @@ export default {
|
||||
"Long walls": "Lange Wände",
|
||||
"Brace tall walls": "Hohe Wände versteifen",
|
||||
"{n} wall ribs": { one: "{n} Wandrippe", other: "{n} Wandrippen" },
|
||||
"Walls taller than 10 cm get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "Wände über 10 cm bekommen am Druckbett dreieckige Rippen an beiden Seiten, damit sie beim Drucken nicht schwanken. Deaktivieren für einfache Wände.",
|
||||
"along the part": "entlang des Teils",
|
||||
"Full coverage lays rows of long walls along the part's length first, the way you'd draw them by hand, then fills what they miss. Holds more of the overhang and uses more plastic. Untick for short walls under each overhang patch.": "Full Coverage legt zuerst Reihen langer Wände entlang des Bauteils, so wie Sie sie von Hand zeichnen würden, und füllt dann, was sie verfehlen. Hält mehr vom Überhang und braucht mehr Kunststoff. Deaktivieren für kurze Wände unter jedem Überhangbereich.",
|
||||
"Curved walls": "Gebogene Wände",
|
||||
@@ -341,8 +338,6 @@ export default {
|
||||
"Remove selected": "Ausgewählte entfernen",
|
||||
|
||||
// Manual Draw hint
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Click an upright side once to stand a sway brace against it. Esc or right-click cancels.":
|
||||
"Klicken Sie zwei Punkte über einen Überhang – direkt auf die roten Flächen –, um eine Stützwand zu ziehen. Klicken Sie auf eine aufrechte Seite, um eine Stützrippe anzusetzen. Esc oder Rechtsklick bricht ab.",
|
||||
|
||||
// Summaries & Readout Notes
|
||||
"off": "aus",
|
||||
@@ -430,4 +425,17 @@ export default {
|
||||
"{n} pin": { one: "{n} Stift", other: "{n} Stifte" },
|
||||
"The pins attach each wall to the part, as a resin print needs.": "Die Stifte verbinden jede Wand mit dem Bauteil, wie es ein Harzdruck braucht.",
|
||||
"resin": "Harz",
|
||||
// Sway braces: hover preview, cross ribs, tall-wall rib height (#318)
|
||||
"Brace walls above": "Wände versteifen ab",
|
||||
"Walls taller than this height get face ribs. 5 cm or more; default 10 cm.": "Wände über dieser Höhe bekommen Rippen an beiden Seiten. Mindestens 5 cm, Standard 10 cm.",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "Wände über der eingestellten Höhe bekommen am Druckbett dreieckige Rippen an beiden Seiten, damit sie beim Drucken nicht schwanken. Deaktivieren für einfache Wände.",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.": "Setzt konische Stützrippen an aufrechte Seiten hoher Bauteile, um Wackeln und Drift beim Drucken zu verhindern. Im Zeichnen-Modus mit der Maus über eine aufrechte Seite fahren, um die Rippe vorab zu sehen, und klicken, um sie zu setzen.",
|
||||
"Cross-rib height": "Kreuzrippen-Höhe",
|
||||
"% of height": "% der Höhe",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "Höhe der Kreuzrippen in Prozent der Stützrippen-Höhe. 10–90 %, Standard 50 %. Braucht „Hohe Wände versteifen“ und eine Stützrippe über dessen Starthöhe. Ändert die Reichweite auf dem Druckbett nicht.",
|
||||
"{n} brace ribs": { one: "{n} Kreuzrippe", other: "{n} Kreuzrippen" },
|
||||
"that’s too low for a brace — move up the side": "zu niedrig für eine Stützrippe – weiter oben an der Seite",
|
||||
"Sway brace, full height: {mm} mm": "Stützrippe, volle Höhe: {mm} mm",
|
||||
"Sway brace, {mm} mm tall — move up the side for full height": "Stützrippe, {mm} mm hoch – weiter oben an der Seite für volle Höhe",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Hover an upright side to preview a sway brace: its top follows the cursor, and near the top of the side it runs full height. Click to stand it. Esc or right-click cancels.": "Klicken Sie zwei Punkte über einen Überhang – direkt auf die roten Flächen –, um eine Stützwand zu ziehen. Fahren Sie mit der Maus über eine aufrechte Seite, um eine Stützrippe vorab zu sehen: Ihre Oberkante folgt dem Mauszeiger, und nahe dem oberen Ende der Seite reicht sie über die volle Höhe. Klicken setzt sie. Esc oder Rechtsklick bricht ab.",
|
||||
};
|
||||
+13
-4
@@ -111,7 +111,6 @@ export default {
|
||||
'How far the brace reaches out at the bed, as a share of its height. Deeper = stiffer, more plastic. Default 15%.': 'Hoe ver de schoor bij het printbed uitsteekt, als deel van de hoogte. Verder = steviger, maar meer materiaal. Standaard: 15%.',
|
||||
'Vertical distance between brace tines. Smaller = held tighter, more marks on the side. Default 6mm.': 'Verticale afstand tussen de tanden van de schoor. Kleiner = steviger vastgehouden, maar meer afdrukken aan de zijkant. Standaard: 6 mm.',
|
||||
'Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.': 'Hoogte waarop de tanden van de schoor beginnen. 0 = over de volledige hoogte vastgrijpen; verhoog dit om alleen vast te grijpen boven het punt waar het onderdeel begint te bewegen.',
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one.": 'Plaats taps toelopende steunribben tegen de verticale zijden van een hoog onderdeel. De tanden grijpen over de hele hoogte aan en voorkomen dat het onderdeel tijdens het printen verschuift of wiebelt. Klik in de tekenmodus op een verticale zijde om er een toe te voegen.',
|
||||
"Set this to the layer height you slice at. The grip tines are one layer tall so they snap off clean; if this doesn't match your slicer, the tines tear and leave marks. Default 0.2mm.": 'Stel dit in op de laaghoogte waarmee je slicet. De grijptanden zijn één laag hoog, zodat ze netjes afbreken. Als dit niet overeenkomt met je slicer, scheuren de tanden en laten ze afdrukken achter. Standaard: 0,2 mm.',
|
||||
'How tightly to space the grip tines. Light = fewest marks (default), a per-wall floor keeps grip; Firm = dense comb / max grip for a tippy or tall part.': 'Hoe dicht de grijptanden op elkaar staan. Licht = zo min mogelijk afdrukken (standaard); een minimum per wand behoudt de grip. Stevig = dicht opeenstaande tanden voor maximale grip bij een instabiel of hoog onderdeel.',
|
||||
'Tines fuse the support to the part so it grips instead of just propping. Off = plain breakaway wall.': 'De tanden verbinden de support met het onderdeel, zodat die grip biedt in plaats van alleen te ondersteunen. Uit = gewone losbreekbare wand.',
|
||||
@@ -291,7 +290,6 @@ export default {
|
||||
"mm up": "mm vanaf de bodem",
|
||||
"Brace tine spacing": "Afstand tussen ribsteuntanden",
|
||||
"Brace depth": "Ribdiepte",
|
||||
"% of height": "% van de hoogte",
|
||||
"Wall lines": "Wandbanen",
|
||||
"How many nozzle lines thick the walls, wedges and sway braces are. 2 is the standard wall. More lines make stiffer supports for tall parts. The contact tip and tines stay one line wide, so the supports still break off the same way.": "Het aantal nozzlebanen waaruit de wanden, wiggen en verstevigingsribben bestaan. 2 banen is de standaard voor een wand. Meer banen maken de steunen stijver voor hoge onderdelen. De contactpuntjes en steuntanden blijven één baan breed, zodat de steunen op dezelfde manier afbreken.",
|
||||
"Cutouts": "Uitsparingen",
|
||||
@@ -329,8 +327,6 @@ export default {
|
||||
"Remove selected": "Selectie verwijderen",
|
||||
|
||||
// Manual Draw hint
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Click an upright side once to stand a sway brace against it. Esc or right-click cancels.":
|
||||
"Klik op twee punten aan weerszijden van een overhang — rechtstreeks op de rode vlakken — om langs die lijn een afbreekbare steunwand te plaatsen. Klik eenmaal op een rechtopstaand zijvlak om er een verstevigingsrib tegenaan te zetten. Esc of rechtsklikken annuleert.",
|
||||
|
||||
// Summaries & Readout Notes
|
||||
"off": "uit",
|
||||
@@ -409,4 +405,17 @@ export default {
|
||||
"{n} pin": { one: "{n} pin", other: "{n} pinnen" },
|
||||
"The pins attach each wall to the part, as a resin print needs.": "De pinnen verbinden elke wand met het onderdeel, zoals een harsprint nodig heeft.",
|
||||
"resin": "hars",
|
||||
// Sway braces: hover preview, cross ribs, tall-wall rib height (#318)
|
||||
"Brace walls above": "Wanden verstevigen vanaf",
|
||||
"Walls taller than this height get face ribs. 5 cm or more; default 10 cm.": "Wanden hoger dan deze hoogte krijgen ribben aan beide zijden. Minimaal 5 cm, standaard 10 cm.",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "Wanden hoger dan de ingestelde hoogte krijgen bij het printbed driehoekige ribben aan beide zijden, zodat ze tijdens het printen niet wiebelen. Vink uit voor gewone wanden.",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.": "Plaats taps toelopende steunribben tegen de verticale zijden van een hoog onderdeel. De tanden grijpen over de hele hoogte aan en voorkomen dat het onderdeel tijdens het printen verschuift of wiebelt. Beweeg in de tekenmodus over een verticale zijde om er een vooraf te zien, en klik om hem te plaatsen.",
|
||||
"Cross-rib height": "Hoogte kruisribben",
|
||||
"% of height": "% van de hoogte",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "Hoogte van de kruisribben als percentage van de hoogte van de verstevigingsrib. 10–90%, standaard 50%. Werkt alleen met ribben voor hoge wanden aan en een verstevigingsrib boven de beginhoogte daarvan. Verandert het bereik op het printbed niet.",
|
||||
"{n} brace ribs": { one: "{n} kruisrib", other: "{n} kruisribben" },
|
||||
"that’s too low for a brace — move up the side": "te laag voor een verstevigingsrib — ga hoger op de zijde",
|
||||
"Sway brace, full height: {mm} mm": "Verstevigingsrib, volle hoogte: {mm} mm",
|
||||
"Sway brace, {mm} mm tall — move up the side for full height": "Verstevigingsrib, {mm} mm hoog — ga hoger op de zijde voor volle hoogte",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Hover an upright side to preview a sway brace: its top follows the cursor, and near the top of the side it runs full height. Click to stand it. Esc or right-click cancels.": "Klik op twee punten aan weerszijden van een overhang — rechtstreeks op de rode vlakken — om langs die lijn een afbreekbare steunwand te plaatsen. Beweeg over een rechtopstaand zijvlak om een verstevigingsrib vooraf te zien: de bovenkant volgt de cursor, en vlak bij de bovenkant van de zijde loopt hij over de volle hoogte. Klik om hem te plaatsen. Esc of rechtsklikken annuleert.",
|
||||
};
|
||||
+13
-4
@@ -104,7 +104,6 @@ export default {
|
||||
"How far the brace reaches out at the bed, as a share of its height. Deeper = stiffer, more plastic. Default 15%.": "Quanto a escora avança sobre a mesa, como fração da altura dela. Mais funda = mais rígida, mais plástico. Padrão 15%.",
|
||||
"Vertical distance between brace tines. Smaller = held tighter, more marks on the side. Default 6mm.": "Distância vertical entre os dentes da escora. Menor = mais presa, mais marcas na lateral. Padrão 6 mm.",
|
||||
"Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.": "Altura em que os dentes da escora começam. 0 = prende a altura toda; aumente para prender só acima de onde a peça começa a balançar.",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one.": "Coloca nervuras de contraforte afuniladas contra os lados verticais de uma peça alta, presas com dentes até o topo, para ela não sair do lugar nem balançar enquanto cresce. No modo Desenhar, clique num lado vertical para adicionar uma.",
|
||||
"Set this to the layer height you slice at. The grip tines are one layer tall so they snap off clean; if this doesn't match your slicer, the tines tear and leave marks. Default 0.2mm.": "Use a mesma altura de camada do fatiador. Os dentes têm uma camada de altura para destacar limpo; se não bater com o fatiador, eles rasgam e deixam marcas. Padrão 0,2 mm.",
|
||||
"How tightly to space the grip tines. Light = fewest marks (default), a per-wall floor keeps grip; Firm = dense comb / max grip for a tippy or tall part.": "Espaçamento dos dentes. Leve = menos marcas (padrão), cada parede mantém um mínimo de pega; Firme = pente denso / pega máxima para peça alta ou que tomba fácil.",
|
||||
"Tines fuse the support to the part so it grips instead of just propping. Off = plain breakaway wall.": "Os dentes fundem o suporte à peça para ele prender em vez de só escorar. Desligado = parede destacável simples.",
|
||||
@@ -265,7 +264,6 @@ export default {
|
||||
"mm up": "mm de altura",
|
||||
"Brace tine spacing": "Espaçamento dos dentes da escora",
|
||||
"Brace depth": "Profundidade da escora",
|
||||
"% of height": "% da altura",
|
||||
"Wall lines": "Linhas da parede",
|
||||
"How many nozzle lines thick the walls, wedges and sway braces are. 2 is the standard wall. More lines make stiffer supports for tall parts. The contact tip and tines stay one line wide, so the supports still break off the same way.": "Quantas linhas do bico têm as paredes, cunhas e nervuras de apoio. 2 é a parede padrão. Mais linhas deixam os suportes mais rígidos para peças altas. A ponta de contato e os dentes continuam com uma linha de largura, então os suportes se soltam do mesmo jeito.",
|
||||
"Full brace depth": "Profundidade total da escora",
|
||||
@@ -281,7 +279,6 @@ export default {
|
||||
"Long walls": "Paredes longas",
|
||||
"Brace tall walls": "Reforçar paredes altas",
|
||||
"{n} wall ribs": { one: "{n} nervura de parede", other: "{n} nervuras de parede" },
|
||||
"Walls taller than 10 cm get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "Paredes com mais de 10 cm ganham nervuras triangulares na mesa, dos dois lados, para não balançarem durante a impressão. Desmarque para paredes simples.",
|
||||
"along the part": "ao longo da peça",
|
||||
"Full coverage lays rows of long walls along the part's length first, the way you'd draw them by hand, then fills what they miss. Holds more of the overhang and uses more plastic. Untick for short walls under each overhang patch.": "A cobertura total primeiro põe fileiras de paredes longas ao longo da peça, como você as desenharia à mão, e depois preenche o que elas não alcançam. Segura mais do balanço e usa mais plástico. Desmarque para paredes curtas sob cada trecho de balanço.",
|
||||
"Curved walls": "Paredes curvas",
|
||||
@@ -311,7 +308,6 @@ export default {
|
||||
"All plates (3MF)": "Todas as mesas (3MF)",
|
||||
"Take this model off the plate, to import another without reloading the page.": "Tirar este modelo da mesa, para importar outro sem recarregar a página.",
|
||||
"Remove selected": "Remover selecionado",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Click an upright side once to stand a sway brace against it. Esc or right-click cancels.": "Clique em dois pontos atravessando um balanço — direto nas faces vermelhas — para criar uma parede destacável ao longo dessa linha. Clique uma vez num lado vertical para apoiar uma escora lateral nele. Esc ou botão direito cancela.",
|
||||
"off": "desligado",
|
||||
"solid": "maciça",
|
||||
"cutouts": "recortes",
|
||||
@@ -479,4 +475,17 @@ export default {
|
||||
"{n} pin": { one: "{n} pino", other: "{n} pinos" },
|
||||
"The pins attach each wall to the part, as a resin print needs.": "Os pinos ligam cada parede à peça, como uma impressão em resina precisa.",
|
||||
"resin": "resina",
|
||||
// Sway braces: hover preview, cross ribs, tall-wall rib height (#318)
|
||||
"Brace walls above": "Reforçar paredes acima de",
|
||||
"Walls taller than this height get face ribs. 5 cm or more; default 10 cm.": "Paredes mais altas que isso ganham nervuras nas duas faces. 5 cm ou mais; padrão 10 cm.",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "Paredes mais altas que a altura escolhida ganham nervuras triangulares na mesa, dos dois lados, para não balançarem durante a impressão. Desmarque para paredes simples.",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.": "Coloca nervuras de contraforte afuniladas contra os lados verticais de uma peça alta, presas com dentes até o topo, para ela não sair do lugar nem balançar enquanto cresce. No modo Desenhar, passe o mouse sobre um lado vertical para ver uma prévia e clique para adicioná-la.",
|
||||
"Cross-rib height": "Altura das nervuras cruzadas",
|
||||
"% of height": "% da altura",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "Altura das nervuras cruzadas como porcentagem da altura da escora lateral. 10–90%, padrão 50%. Exige Reforçar paredes altas e uma escora acima da altura inicial dele. Não muda o alcance na mesa.",
|
||||
"{n} brace ribs": { one: "{n} nervura de escora", other: "{n} nervuras de escora" },
|
||||
"that’s too low for a brace — move up the side": "baixo demais para uma escora — suba pelo lado",
|
||||
"Sway brace, full height: {mm} mm": "Escora lateral, altura total: {mm} mm",
|
||||
"Sway brace, {mm} mm tall — move up the side for full height": "Escora lateral, {mm} mm de altura — suba pelo lado para a altura total",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Hover an upright side to preview a sway brace: its top follows the cursor, and near the top of the side it runs full height. Click to stand it. Esc or right-click cancels.": "Clique em dois pontos atravessando um balanço — direto nas faces vermelhas — para criar uma parede destacável ao longo dessa linha. Passe o mouse sobre um lado vertical para ver a prévia de uma escora lateral: o topo segue o cursor, e perto do alto do lado ela vai até a altura total. Clique para colocá-la. Esc ou botão direito cancela.",
|
||||
};
|
||||
+13
-13
@@ -122,8 +122,6 @@ export default {
|
||||
"How far the brace reaches out at the bed, as a share of its height. Deeper = stiffer, more plastic. Default 15%.": "防晃撑在热床处向外伸出的距离,按其高度的比例计。越深=越刚硬,耗材越多。默认 15%。",
|
||||
"Vertical distance between brace tines. Smaller = held tighter, more marks on the side. Default 6mm.": "防晃撑齿之间的垂直间距。越小=固定越紧,侧面留下的痕迹越多。默认 6 mm。",
|
||||
"Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.": "防晃撑齿开始咬合的高度。0 = 整个高度都咬住;调高则只在零件开始晃动的部位以上才连接。",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one. Its top will not exceed the clicked height.": "在高瘦零件的直立侧面立起锥形扶壁肋,并沿全高用齿连接,使零件在打印过程中不会漂移或晃动。在绘制模式下,点击一个直立侧面即可添加,撑顶不会超过点击高度。",
|
||||
"the clicked height is too low for a brace — click higher on the side": "点击高度不足以放置防晃撑,请在侧面更高处点击。",
|
||||
"Set this to the layer height you slice at. The grip tines are one layer tall so they snap off clean; if this doesn't match your slicer, the tines tear and leave marks. Default 0.2mm.": "请设为你在切片软件中使用的层高。咬合齿正好一层高,这样折断时最干净;若与切片软件不符,齿会撕裂并留下痕迹。默认 0.2 mm。",
|
||||
"How tightly to space the grip tines. Light = fewest marks (default), a per-wall floor keeps grip; Firm = dense comb / max grip for a tippy or tall part.": "咬合齿的排列密度。轻=痕迹最少(默认),每堵墙有最低咬合量保证;牢固=密排梳齿/最大抓力,适合易倾倒或高瘦的零件。",
|
||||
"Tines fuse the support to the part so it grips instead of just propping. Off = plain breakaway wall.": "齿把支撑熔接到零件上,使其咬住而不只是顶住。关闭 = 普通易拆墙。",
|
||||
@@ -293,8 +291,6 @@ export default {
|
||||
"How far each pin sinks into the part, like a resin slicer's contact depth. Deeper holds harder and leaves a bigger mark. Default 0.3 mm.": "每根插针扎入零件的深度,类似树脂切片软件中的接触深度。越深固定越牢,但留下的痕迹越大。默认 0.3 mm。",
|
||||
"Not tested on a resin printer yet. Tell us how it prints on GitHub issue #309.": "尚未在树脂打印机上实测。欢迎到 GitHub 第 309 号 issue 告诉我们实际打印效果。",
|
||||
"resin": "树脂",
|
||||
"Tine contact offset": "齿尖接触偏移",
|
||||
"Tine tip offset from the detected surface along the bite direction, for wall and sway brace tines. Positive = gap (less grip), zero = flush, negative = bite (more marks). Does not move the support body. Range -0.2 to 0.2 mm; default -0.01 mm.": "普通墙齿和防晃撑齿相对探测表面、沿咬合方向的偏移。正值留缝(咬合减弱),0 贴面,负值咬入(更容易留痕)。不移动支撑主体。范围 −0.2~0.2 mm,默认 −0.01 mm。",
|
||||
"light": "轻",
|
||||
"firm": "牢",
|
||||
"light grip": "轻咬合",
|
||||
@@ -316,9 +312,6 @@ export default {
|
||||
"mm up": "mm 起",
|
||||
"Brace tine spacing": "撑体齿间距",
|
||||
"Brace depth": "撑体进深",
|
||||
"Cross-rib height": "十字肋高度比例",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "十字肋高度占防晃撑高度的百分比。可调范围 10%~90%,默认 50%。需勾选「加固高墙」,且防晃撑超过加固起始高度才生效。不改变横向伸出长度。",
|
||||
"% of height": "% 高度",
|
||||
"Wall lines": "墙线数",
|
||||
"How many nozzle lines thick the walls, wedges and sway braces are. 2 is the standard wall. More lines make stiffer supports for tall parts. The contact tip and tines stay one line wide, so the supports still break off the same way.": "支撑墙、楔形块和防晃撑的厚度,以挤出线条数计。标准墙厚为 2 条线宽。线数越多,为高瘦零件提供的支撑越坚挺。接触头和齿仍保持一条线宽,因此支撑仍能以相同方式折断拆除。",
|
||||
"Cutouts": "开孔",
|
||||
@@ -331,12 +324,7 @@ export default {
|
||||
"Plate only": "仅热床",
|
||||
"Long walls": "长墙",
|
||||
"Brace tall walls": "加固高墙",
|
||||
"Brace walls above": "加固起始高度",
|
||||
"Walls taller than this height get face ribs. Default 10 cm.": "超过此高度的墙会添加加固肋。默认 10 cm,可自行修改。",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "超过所设高度的墙会在热床处沿两面外侧加上三角形肋,减少打印时的晃动。取消勾选即为普通墙。",
|
||||
"{n} wall ribs": { other: "{n} 条墙肋" },
|
||||
"{n} brace ribs": { other: "{n} 条撑肋" },
|
||||
"Walls taller than 10 cm get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "超过 10 cm 的墙会在热床处沿两面外侧加上三角形肋,打印时就不会晃动。取消勾选即为普通墙。",
|
||||
"along the part": "沿零件长度",
|
||||
"Full coverage lays rows of long walls along the part's length first, the way you'd draw them by hand, then fills what they miss. Holds more of the overhang and uses more plastic. Untick for short walls under each overhang patch.": "全覆盖会先沿零件长度方向排布长墙,就像你手动画的那样,然后再补上它们遗漏的部分。能托住更多悬垂,也更耗材料。取消勾选则改为在每个悬垂片区下方放置短墙。",
|
||||
"Curved walls": "曲面墙",
|
||||
@@ -372,7 +360,6 @@ export default {
|
||||
"Remove selected": "移除所选",
|
||||
|
||||
// Manual Draw hint
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Click an upright side once to stand a sway brace up to the clicked height. Esc or right-click cancels.": "在悬垂面上点击两点(直接点在红色面上),即可沿该线生成一堵易拆墙。点击一次直立侧面即可生成防晃撑,撑顶不超过点击高度。按 Esc 或右键取消。",
|
||||
|
||||
// Summaries & Readout Notes
|
||||
"off": "关",
|
||||
@@ -532,4 +519,17 @@ export default {
|
||||
"Material": "材料",
|
||||
"Import an STL, 3MF or STEP.": "导入 STL、3MF 或 STEP。",
|
||||
"no supports on the part": "零件上不放支撑",
|
||||
// Sway braces: hover preview, cross ribs, tall-wall rib height (#318)
|
||||
"Brace walls above": "加固起始高度",
|
||||
"Walls taller than this height get face ribs. 5 cm or more; default 10 cm.": "超过此高度的墙会在两面添加加固肋。至少 5 cm,默认 10 cm。",
|
||||
"Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.": "超过所设高度的墙会在热床处沿两面外侧加上三角形肋,减少打印时的晃动。取消勾选即为普通墙。",
|
||||
"Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.": "在高瘦零件的直立侧面立起锥形扶壁肋,并沿全高用齿连接,使零件在打印过程中不会漂移或晃动。在绘制模式下,将鼠标悬停在直立侧面上可预览防晃撑,点击即可添加。",
|
||||
"Cross-rib height": "十字肋高度比例",
|
||||
"% of height": "% 高度",
|
||||
"Cross-rib height as a percentage of sway brace height. 10–90%, default 50%. Requires Brace tall walls and the brace to exceed its start height. Does not change the horizontal reach.": "十字肋高度占防晃撑高度的百分比。可调范围 10%~90%,默认 50%。需勾选「加固高墙」,且防晃撑超过加固起始高度才生效。不改变横向伸出长度。",
|
||||
"{n} brace ribs": { other: "{n} 条撑肋" },
|
||||
"that’s too low for a brace — move up the side": "此处太低,放不下防晃撑——请沿侧面上移",
|
||||
"Sway brace, full height: {mm} mm": "防晃撑,全高:{mm} mm",
|
||||
"Sway brace, {mm} mm tall — move up the side for full height": "防晃撑,高 {mm} mm——沿侧面上移可得全高",
|
||||
"Click two points across an overhang — straight onto the red faces — to lay a breakaway wall along that line. Hover an upright side to preview a sway brace: its top follows the cursor, and near the top of the side it runs full height. Click to stand it. Esc or right-click cancels.": "在悬垂面上点击两点(直接点在红色面上),即可沿该线生成一堵易拆墙。将鼠标悬停在直立侧面上可预览防晃撑:撑顶跟随光标,靠近侧面顶部时为全高。点击即可放置。按 Esc 或右键取消。",
|
||||
};
|
||||
+3
-7
@@ -365,10 +365,6 @@
|
||||
<input type="number" id="pin-depth" min="0.05" max="1" step="0.05" value="0.3">
|
||||
</label>
|
||||
<p class="hint" id="resin-note" hidden data-i18n="Not tested on a resin printer yet. Tell us how it prints on GitHub issue #309.">Not tested on a resin printer yet. Tell us how it prints on GitHub issue #309.</p>
|
||||
<label class="fld row" id="tine-contact-offset-fld" data-i18n-title title="Tine tip offset from the detected surface along the bite direction, for wall and sway brace tines. Positive = gap (less grip), zero = flush, negative = bite (more marks). Does not move the support body. Range -0.2 to 0.2 mm; default -0.01 mm.">
|
||||
<span><span data-i18n="Tine contact offset">Tine contact offset</span> <span class="mut">mm</span></span>
|
||||
<input type="number" id="tine-contact-offset" min="-0.2" max="0.2" step="0.01" value="-0.01">
|
||||
</label>
|
||||
</details>
|
||||
|
||||
<!-- What every part needs, always in view: the wall cutouts (plastic) and the
|
||||
@@ -472,11 +468,11 @@
|
||||
<label data-i18n-title class="check" title="Walls taller than the selected height get triangular ribs at the plate, off both faces, so they don't sway as they print. Untick for plain walls.">
|
||||
<input type="checkbox" id="tall-ribs" checked><span data-i18n="Brace tall walls">Brace tall walls</span>
|
||||
</label>
|
||||
<label data-i18n-title class="fld row" id="tall-ribs-height-fld" title="Walls taller than this height get face ribs. Default 10 cm.">
|
||||
<label data-i18n-title class="fld row" id="tall-ribs-height-fld" title="Walls taller than this height get face ribs. 5 cm or more; default 10 cm.">
|
||||
<span><span data-i18n="Brace walls above">Brace walls above</span> <span class="mut">cm</span></span>
|
||||
<input type="number" id="tall-ribs-height" min="0.1" max="200" step="0.1" value="10">
|
||||
<input type="number" id="tall-ribs-height" min="5" max="200" step="0.1" value="10">
|
||||
</label>
|
||||
<label data-i18n-title class="check" title="Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, click an upright side to add one. Its top will not exceed the clicked height.">
|
||||
<label data-i18n-title class="check" title="Stand tapered buttress ribs against the upright sides of a tall part, tied on with tines all the way up, so it doesn't drift or wobble as it grows. In Draw, hover an upright side to preview one, and click to add it.">
|
||||
<input type="checkbox" id="sway"><span data-i18n="Sway braces">Sway braces</span>
|
||||
</label>
|
||||
<label data-i18n-title class="fld row" id="sway-from-fld" title="Height the brace tines start at. 0 = grip the whole height; raise it to tie on only above where the part starts to move.">
|
||||
|
||||
@@ -127,7 +127,6 @@ function finOpts() {
|
||||
tunables: { padH: FIN.padH,
|
||||
padGrab: PAD.grab, padStyle: PAD.style, padCustom: { ...PAD.custom },
|
||||
propGap: PROP.gap,
|
||||
tineContactOffset: PROP.tineContactOffset,
|
||||
tallRibsHeight: BRACE.tallH,
|
||||
cutout: CUT.pattern,
|
||||
iface: PROP.iface,
|
||||
@@ -149,7 +148,6 @@ export function swayOpts() {
|
||||
reach: num('sway-depth', 15) / 100,
|
||||
crossRise: Math.max(10, Math.min(90, num('sway-cross-height', 50))) / 100,
|
||||
gap: PROP.gap,
|
||||
tineContactOffset: PROP.tineContactOffset,
|
||||
tines: el('tines').checked,
|
||||
iface: PROP.iface,
|
||||
layerHeight: el('layer-height').valueAsNumber,
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ let redoStack = [];
|
||||
// fields' own handlers apply them, so a restore writes the values back and fires the
|
||||
// same events a hand edit would. Not the build volume: that is the printer, saved
|
||||
// across visits, not an edit to this part.
|
||||
const FORM_IDS = ['nozzle', 'thr', 'tines', 'tine-density', 'tine-dir', 'pin-depth', 'tine-contact-offset', 'layer-height', 'gap',
|
||||
const FORM_IDS = ['nozzle', 'thr', 'tines', 'tine-density', 'tine-dir', 'pin-depth', 'layer-height', 'gap',
|
||||
'bed-pad', 'pad-h', 'pad-gap', 'pad-grip', 'pad-margin', 'sway', 'sway-from',
|
||||
'sway-spacing', 'sway-depth', 'sway-cross-height', 'full-brace-depth', 'wall-lines', 'cutout', 'iface', 'coverage', 'plate-only', 'long-walls', 'tall-ribs', 'tall-ribs-height', 'curved-walls', 'highlight-small', 'show-islands', 'show-layers',
|
||||
'show-rings', 'nav-preset'];
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ const rows = () => [...pane.querySelectorAll(ROWS)].filter((r) => !r.closest('.o
|
||||
// The row that reveals a hidden one, by the hidden row's selector; null when no
|
||||
// switch here would (Remove selected waits on a wall being picked).
|
||||
const GATES = [
|
||||
['#tinegrip-fld, #tine-contact-offset-fld, #layerh-fld', () => el('tines').closest('label')],
|
||||
['#tinegrip-fld, #layerh-fld', () => el('tines').closest('label')],
|
||||
['[data-pad-custom]', () => el('bed-pad').closest('label')],
|
||||
// the brace tine fields also hide with Tines off (settings.js syncSway)
|
||||
['#sway-from-fld, #sway-spacing-fld', () => el(el('sway').checked ? 'tines' : 'sway').closest('label')],
|
||||
|
||||
@@ -163,7 +163,6 @@ function syncTineGrip() {
|
||||
const pins = on && el('tine-dir').value === 'vertical';
|
||||
el('pindepth-fld').hidden = !pins;
|
||||
el('resin-note').hidden = !pins;
|
||||
el('tine-contact-offset-fld').hidden = !on;
|
||||
// The Light pad is one layer tall, and the interface band is one layer of the
|
||||
// wall top (prop/crest.js), so both read the layer height too.
|
||||
// Resin pins are no layer tall, so vertical tines don't need it either.
|
||||
@@ -223,13 +222,6 @@ function wireGap(id, obj, key, lo, hi) {
|
||||
});
|
||||
}
|
||||
wireGap('gap', PROP, 'gap', 0.1, 0.4);
|
||||
wireGap('tine-contact-offset', PROP, 'tineContactOffset', -0.2, 0.2);
|
||||
el('tine-contact-offset').addEventListener('change', () => {
|
||||
const input = el('tine-contact-offset'), v = input.valueAsNumber;
|
||||
PROP.tineContactOffset = Number.isFinite(v) ? Math.max(-0.2, Math.min(0.2, v)) : -0.01;
|
||||
input.value = String(PROP.tineContactOffset);
|
||||
debouncedRefresh();
|
||||
});
|
||||
|
||||
// Wall cutouts (issue #34). CUT.pattern is read fresh by every wall sweep -- the
|
||||
// drawn walls here on the page, the auto walls in the Worker via tunables.
|
||||
@@ -433,9 +425,6 @@ export function initSettings() {
|
||||
applyTunables(tineDirTunables()); // ...and its last tine direction and pin depth (#309)
|
||||
const gap = el('gap').valueAsNumber; // ...and its last Support gap (wireGap's range)
|
||||
if (Number.isFinite(gap)) PROP.gap = Math.min(0.4, Math.max(0.1, gap));
|
||||
const contact = el('tine-contact-offset'), v = contact.valueAsNumber;
|
||||
PROP.tineContactOffset = Number.isFinite(v) ? Math.max(-0.2, Math.min(0.2, v)) : -0.01;
|
||||
contact.value = String(PROP.tineContactOffset);
|
||||
applyNozzle(Number(el('nozzle').value)); // ...and the widths to the remembered nozzle
|
||||
applyWallLines(Number(el('wall-lines').value));
|
||||
fitWallLines();
|
||||
|
||||
Reference in new issue
Block a user