Skip to content

layerling 1.142.0

Choose a tag to compare

@henmedia henmedia released this 05 Nov 09:25
· 516 commits to main since this release
  • Several build plates in one design (Discussion #456): A design had one plate, so parts for several print jobs had to be parked on a huge custom workplane and exported selection by selection. A design now holds up to 12 plates side by side along X, each as large as the workplane, 20 mm apart, plate 1 where the one plate always was (buildPlates.ts). A body belongs to the plate under the middle of its footprint, so bodies keep their world positions: an older layerling opens such a design and shows the parts side by side, and a design from before is one plate. The plates are names kept with the design's workplane settings (plates, never part of the default workplane). Build plates in the Arrange group, or Onto plate… in the right-click menu, open a bar at the foot of the view: one chip per plate with the number of bodies on it (red when one of them does not fit), a click looks at the plate and new shapes land on it, a double-click names it, and buttons add, reorder and remove plates (a removed plate's bodies go onto the first plate at the same spot). Arrange on plates lays the selection, or every body, out row by row, largest first, 5 mm apart, and adds plates as needed (packOntoPlates). With a printer chosen, every body is checked against its own plate and the build height counts per plate (plateOverhangs). X in the properties counts from the body's own plate. The export window offers all plates in one file, one file per plate in a ZIP (STL, 3MF, OBJ), or a single plate moved onto the first plate's spot; a 3MF with Bambu Studio's plate data was tried in Bambu Studio 2.9 and dropped, because it reads a 3MF from another program as geometry only. Moving bodies and arranging them can be undone; the plate list itself is not part of the history. New MCP action layerling_build_plates (list, add, rename, remove, move, move_objects, arrange, show), plate in layerling_read_scene and in layerling_export_mesh. Guide chapter 2 and the MCP table in chapter 14 in all languages. Asked for by @chuckackerman; @prmod3d showed the large-workplane way round it.
  • Position Z of a tilted body is its underside as it stands (Discussion #1303): Z showed the elevation, the underside of the body before it was turned; a body turns about its middle, so a cylinder 15 mm long lying on the plate showed -5. Z now shows the lowest point of the body as it stands and a typed height puts that point there (undersideOffset); a body that is not tilted, or turned only about Z, is as before. Reported by @TheParallelReality.
  • Image texture: a line drawing on a transparent ground shows, sharply, without a line at the far border (PR #1311, Issue #1268): A transparent ground counted as dark, so black lines on it were as dark as their ground and nothing was cut; thin lines faded in the once refinement; and the softening ran over the image's border and drew a line on the other side. A dark drawing on a transparent ground now counts by its lines, the image is softened to the finest grid its outlines get, and pressed on once it is softened up to its border only. By @marcus040473, reported by @MethylBromide.
  • Screw boss as a hole: the pocket opens at the boss's top (PR #1312, Discussion #1288): The pocket of a screw boss set as a hole was set down on the floor of its box, so a blind pocket opened at the bottom of the part. It now keeps its height in the boss. By @marcus040473.
  • Danish guide (PRs #1309, #1310): The sentence on the arrow keys in chapter 10, the arrow keys in chapter 02 and the order of two paragraphs in chapter 06. By @Henrikth12.
  • The backup of one design is named after it (Discussion #1317): A backup of the chosen designs was always layerling-backup- and the date, also with one design chosen, while a folder's backup already carried the folder's name. With one design chosen, the ZIP is now layerling- and the design's name and the date, made safe for every system the way a folder's name is (backupNamePrefix, also used for folders now); with several it stays layerling-backup-. Asked for by @Mycraftymama.
  • A click on a part of a group in the object list opens the group with it (Discussion #1316): Expanded in the object list, a group showed its parts, but they could only be looked at; to change one, the group had to be opened first and the part found again in the view. A click on a part (or Enter) now opens the group for editing with that part selected; Done builds the group again as before. Not on a locked group, nor while another group is open. Asked for by @uninteressant2026.
  • Automatic kerning for text (Discussion #1297): The typefaces carry no kerning (the three.js typeface format has no place for it), so pairs such as AY, AV, LT or To stood with a gap, most of all in Multilanguage; the only way round was to split the word. Texts now have Automatic kerning: both letters of a pair are cut by 64 scan lines over the font's height, and where the mean distance on the lines both have ink is clearly larger than the median over the font's Latin pairs, the second letter moves closer by most of the difference, never nearer than 7 % of a capital on any line and never more than 30 % (lib/textKerning.ts). Pairs the font spaced well, such as HH, OO or He, stay. It works in every font, custom fonts included, on straight and curved text (in reading order when upside down), not on vertical text, Arabic, Hebrew or Japanese; letter spacing adds on top. New texts start with it on; texts saved without the field keep their spacing. Switching it keeps the letter size and the box follows (textKerningPatch); MCP layerling_update_object takes kerning. Label in 14 languages, guide chapter 8 in 15 languages and all three SKILL.md. Wished for by @JustinBrunick-YHS.
  • Spiral bevel gear (Discussion #1299): The bevel gear only had straight teeth, and the helical gear does not taper, so a tapered helical gear such as the one of an old radial arm saw could not be remade. A bevel gear now has its own helix angle (bevelHelixAngle, 0 by default, so bevel gears saved before keep their straight teeth although every gear stores the helical gear's 22.5°). Above 0 its teeth turn while they taper, in as many rings as the helix quality sets. It stays a triangle mesh, as the loft that builds the straight bevel gear exactly has flat sides only, so the edge tool and the STEP export leave it out. In the inspector, the guide and the MCP tools. Asked for by @dlguess.
  • A hollow body with fillets stays in place when it is resized (Issue #1314): A hollowed body is hollowed again after a resize, from the shape it was hollowed from, and its fillets are laid on again. Its place was worked out from where the hollowing happened and from where the body was moved since its last fillet, so a body moved between the hollowing and its fillets (or a copy of one) jumped across the plate and down onto it when only its height was changed. The rebuild now adds up every move since the hollowing and leaves out only what the fillets themselves shifted. Reported by @uninteressant2026.
  • STEP export takes the group's colour (Discussion #1305): The STEP export takes a plain group apart into its parts (#709) and wrote each in the colour the part had before it was grouped, so a group shown in one colour came out in all its old colours. A group without Multicolor now gives its colour to all its parts in the file, a group within it included; with Multicolor on, each part keeps its own, as the editor draws it (groupShowsPartColors). Reported by @Elkniwt.
  • Tape measure: a click on a round edge gives its diameter (Facebook group): With "Measure whole edges" on, a click on the rim of a hole or a cylinder labelled the circumference, and the diameter took two clicks with the snap across the circle. A whole round edge is now labelled with its diameter (Ø) and an arc with its radius (R); pointing at the number shows the radius and the length along the edge.
  • Open a design without its history (Issue #1157): A design whose undo history had grown to over 100 MB hung while aligning, failed to save and then no longer opened: loading rebuilt every stored state, and the address ?editor=1&project=… reopened it on every reload, so the page crashed again before the start page could help. Each design's menu on the start page now has Open without history: after a question it reads only the current state from the stored package, unpacking only the files that state uses (importLylProject with currentStateOnly), saves the design back with a history of one entry, as "Delete history" does, and opens it. Opening a design leaves a mark in the browser that goes once the design has been open for 10 seconds or the page is left normally; a mark still there at the next start means the page crashed, and the start page is shown with a hint instead of opening the design again. Texts in 14 languages, guide chapter 12 in 15 languages.
  • The object list shows the shape lock (Discussion #1277): A part whose shape is locked carried its shield only in the settings of the selected part, so in the object list it looked like any other part, and the lock seemed not to work. The list now shows the shield beside the padlock of every part with a locked shape, and a click on it unlocks the shape.
  • Paste beyond the plate keeps the parts where they are to each other (Issue #1304): A plain paste set each copy 12 mm from its original but held every part to 110 mm on its own, a cap left over from 1.0.0. Parts lying further out were pulled onto the same spot, so a cylinder in the corner of a box came out in its middle, also on a larger plate. All copies now move together by the same 12 mm, wherever they lie; "Paste in the middle and drop" was not affected.