Skip to content

layerling 1.146.0

Choose a tag to compare

@henmedia henmedia released this 06 Nov 09:05
· 356 commits to main since this release
  • Print check: thin walls, floating parts, small contact with the plate, overhangs and open meshes in one click (PR #1371): Before slicing, a design could still hide what only shows on the printer. Print check in Combine, beside Check clearance, looks at the selection or every visible object (as an export takes them, overlapping bodies joined as the slicer joins them) and gives five lines, green when all is well and orange with what and where: walls thinner than two lines of the nozzle (0.8 mm with 0.4; the nozzle is set in the window and kept in the browser), painted on the body; parts that rest on nothing that stands; parts that touch the plate with too little first layer for their height, such as a sphere or a slender pin; overhangs; and meshes that are not closed. The command search finds it by print check, thin wall, nozzle and the like, and MCP has it as layerling_check_print. Built by @marcus040473.
  • Printer play: a fit test measures it once, and new parts start from it (PR #1374): Every printer makes holes a little smaller and pins a little thicker than drawn, so every clearance started from a guess. Make fit test in the settings puts a plate with seven holes for a 5 mm pin (0.05 to 0.40 mm of play per side, each marked) and the pin beside it on the plate. Print it, find the snuggest hole the pin still turns in, and type that play under Printer play. From then on a new lid's gap and hinge pin play, a new dovetail's and snap-fit's clearance, a new nut's or tapped hole's clearance and Check clearance's minimum gap start from it, with a hint where a value came from the fit test. The play is kept in the browser, not in the design, since it belongs to the machine; MCP reads and sets it with layerling_printer_play. Built by @marcus040473.
  • Resizing a group can keep its holes and small parts at their size (Discussion #526, PR #1372): A group or bundle has a new setting When resized: Stretch everything (as before, the default) or Keep holes and small parts. With the second, every resize of the group (handles, size fields, Scale by percent, MCP) builds it again from its parts: a part reaching across nine tenths of the group or more (the plate, a wall) grows with it and keeps its distance to both sides, so walls keep their thickness; every other part keeps its own size and its distance to the nearer side, and a centred one stays centred. A plate with a 6 mm hole 5 mm in from each corner keeps round holes 5 mm from the corners however long it is made. Mirrored, tapered or bent groups and groups with their own fillets or textures fall back to stretching, with a hint. Saved in the .lyl file; groupResize in MCP. Built by @marcus040473, asked for in #526.
  • Tape measure: snaps to the centre of a face or a hole (Discussion #610, PR #1375): Click the centre of one body, then of another, type a distance, and the second body moves, the Tinkercad way. Over a body the tape measure now offers the middle of the flat face under the pointer (the centre of a cylinder's top, of what is left of a face with a hole) and the centre of a round edge nearby (a hole's rim, a cylinder's or a boss's), each marked with a cross in a circle and named in the hint (Centre of face, of hole, of circle). Built by @marcus040473.
  • Tape measure: a typed length along one axis, and the label says which body moves (Discussion #610, PR #1373): The field that opens on a measurement across two or three axes now has a box for each axis (ΔX, ΔY, ΔZ) under the length: a number typed there moves the body along that axis only, 0 lines the two points up. Pointing at the number names the body that moves, or says why none can (a locked body, two points on one body, no body); after the move a message says how far, with Undo. MCP's layerling_measurements can type a length too. Built by @marcus040473.
  • Rib: an oval foot (Discussion #1307, PR #1370): The foot under a rib can now be Oval as well as Square (the default, so saved ribs stay as they were). A square corner is where the first layer lifts off the bed as the plastic shrinks; the oval has none. It is as wide as Foot width and just long enough that the rib's ends still stand on it. ribFootShape in MCP. Built by @marcus040473.
  • Insert from the server (Discussion #1378): "Insert into this design" only offered the file picker of the computer, so a design kept on the server could not be added to the open one. The import window now has Insert from the server (shown when the installation has a server store): pick the folder, click the design, and its bodies come into the open design, with its notes and reference points, as with a file.
  • SBC board: Button reach: On every board with buttons, a new Button reach (0 at first, up to 100 mm; buttonReach in layerling_create_sbc_board and on the body) makes RESET, BOOT and power reach the way they are pressed, grown by the clearance like the connectors: up through a lid, or out through the wall for a button pressed from the side - the Raspberry Pi 5's power button (left end) and the D1 mini's RESET (back, into its notch). The card offers it only on boards with buttons, in all its languages, and guide chapter 9 explains it.
  • SBC board: Adafruit ESP32-S3 Feather, Arduino UNO R3, Arduino Nano and LOLIN (WEMOS) D1 mini V4.0.0 (Discussions #1098, #1149, #1260, PR #1377): Four microcontroller boards join the list after the ESP32-C6 Super Mini (featherEsp32s3, arduinoUno, arduinoNano, wemosD1Mini). Each keeps the view of the maker's own PCB file, checked against the maker's picture of the top so none is a mirror image: the USB socket at the left end, where the clearance and the reach work on it. The Feather comes from Adafruit's EagleCAD file (50.8 x 22.86 mm, corners 2.54 mm round, two plated 2.5 mm holes and two bare 2.2 mm ones - a hole may now carry its own diameter) and every part's box and height from Adafruit's 3D model: USB-C with its outline, the battery and STEMMA QT connectors, RESET and BOOT, the ESP32-S3 module and its antenna, the NeoPixel and the two LEDs, and the 16 and 12 pin pads. The UNO and the Nano come from Arduino's Eagle files (UNO-TH_Rev3e.brd, NanoV3.3.brd): the UNO is 68.58 x 53.34 mm with its stepped right edge and the back corner cut at 45° (a board can now have its own outline, boxes and squares turned 45° added to and cut from the rounded plate), four 3.2 mm holes, USB-B, the power jack, the four female headers (8.5 mm, as the file names them), both ICSP headers, the ATmega328P in its socket and the larger parts; the Nano is 43.18 x 17.78 mm with four 1.651 mm holes, mini-USB, the ATmega328P, RESET, the four LEDs and the pin and ICSP pads. Arduino's files give no heights, so those, and the boards' thickness, are estimated. The D1 mini follows Wemos's dimension drawing (dim_d1_mini_v4.0.0.pdf): 25.4 x 34.3 mm, laid with USB-C at the left end, the antenna end's corners 4 mm round (a corner can now be rounded further than the board's corner radius, as a quarter round beside the cut plate), the notch at the RESET button with its slanting edge (a cut piece can now be turned at any angle), and the 2 x 8 pin pads; the drawing's two holes beside the antenna are left out, and the parts' sizes and heights are estimated (Wemos gives no drawing for the older V3.0.0). layerling_create_sbc_board takes the four, and guide chapter 9 (English, German, Spanish, Hungarian, Dutch, Russian, Czech) lists them.
  • Threads of several starts, for lead screws such as T8x8 (Discussion #1348): A thread had one start only, so a T8x8 lead screw - four threads side by side, 2 mm apart, each climbing 8 mm a turn - could not be made: a single thread of 8 mm pitch came out four times as deep, and the pitch stopped at 6 mm on an 8 mm rod. Threads now have Starts, 1 to 8 and a lead of at most half the circumference. The pitch stays the distance from one thread to the next and sets the profile's depth (with more than one start its field reads Pitch (thread to thread), in German Teilung), and the note under Starts gives the lead. Rods, screws, nuts and tapped holes, in every profile, as mesh and as exact body: the half turns of the exact body climb half a lead each, and with several starts both halves of the circle start and end on the same layer, as three and five starts would not close otherwise (threadSolid.ts). A size from the list and a tapered thread have one start; the MCP bridge takes threadStarts, and threadSize sets it back to 1. Names and notes in 18 languages, guide chapter 9 in 15 languages, README. Tests threadStarts.test.ts and cadThreadStarts.e2e.ts (the exact body against the mesh at points on the flanks, 2 to 4 starts, all roles). Suggested by @mrfoameruk.
  • Wrap around a cylinder for every body (Discussion #1354): The card was offered only for imported meshes, text and sketch bodies, so a shape from the library could not be wrapped from the panel, though the wrap works for any body and the MCP bridge took any: a round roof meant to sit on the wall of a round tower stayed straight and left a gap. The card, folded until opened, is now there for every body that can be wrapped (offersCylinderWrap); a locked, a wrapped or a bundled body and lines still have none. Guide chapter 3 in 15 languages says so. Asked about by @Cowski4444.
  • Size handles follow a workplane on a side face (Discussion #1351): With the workplane on a side of a box, the handles still lay on the box's own axes, at its base and top, so in a view from the side an exact size could not be dragged on the face you were working on. The corner and edge handles now lie on that face, as in Tinkercad, and each one writes its size to the box's own width, length or height that runs along it; the handle in the middle of the face changes the size across it, and Shift on a corner keeps all proportions. This applies to a plain box that stands upright; other shapes keep their own axes as before (#933).
  • Lid hinge: the pin stays in, and the click bumps' height can be set (Discussion #1220, PR #1369): A 1.75 mm filament pin slid out of the hinge, because every hole had the pin's play. Now the pin sits tight in the body's part of the hinge (0.05 mm per side, pressed in once printed) and only the lid's holes have the play, so the lid still turns; Pin play (per side) changes only those. The click bumps, which were a little tight on a small box, have a new Bump height from 0.2 to 0.8 mm (0.4 as before); clickBumpHeight in MCP. Built by @marcus040473, reported by @smussadi.
  • Bent tube: the opening runs out at both ends however the tube is turned (Discussion #1367): When a bent tube's bore cuts as a hole, the opening is a second, thinner bent tube. It was set into the middle of the pipe's box in height, which is the middle of the pipe only while it lies flat; stood up or tipped, the opening slid 0.75 mm along the pipe, stopped short of the top end and closed it, and thinned the wall of the bend. Its place is now worked out on the pipe lying flat and turned and mirrored as the pipe is. Reported by @The-Rocky.
  • Open group: Done keeps the group's Multicolor setting (#1323): A group cut into one body was rebuilt without its Multicolor choice on Done and turned one colour. The choice made on the group now carries over to the rebuilt group. Reported by @Elkniwt.
  • Danish and Brazilian Portuguese (PRs #1379, #1380, #1362, #1363, #1364): The what's-new cards in Danish, for 1.145.0 and the cards waiting for the next release; nine Danish corrections in the interface and guide chapters 02, 03, 05, 07 and 09, among them the start page's link, which led to the English guide instead of the Danish one. In Brazilian Portuguese the clearance check and the flexi joints are translated, and guide chapters 05 and 15 are up to date. Contributed by @Henrikth12 and @lmagalhaes.
  • An imported model under a sketch shows as it is seen from above (Discussion #1366): Sketching on the plate, an imported STL or OBJ was outlined by the triangles it stands on, so a body that stands on less than it covers showed as a small piece of itself: the 3DBenchy as the 39 x 16 mm strip of its keel with the CTRL-V letters, where the boat is 60 x 31 mm from above, and another Benchy as a speck. The outline is now the mesh seen from above, worked out by the kernel as the SVG export does (meshTopSilhouette in lib/meshSilhouette.ts), holes and all, once per mesh and size: about 1 s for the Benchy's 225 000 triangles the first time the sketch shows it; and points snap to it as before. A mesh the kernel does not take as closed keeps the face it stands on; on a workplane set on a face nothing changes. Test in sketchReferenceOutline.test.ts. Reported by @aloarjr810.
  • Surface texture: the pattern is chosen by its picture, from a grid with a search (PR #1368): The Pattern field was a plain list of 18 names, several of which say little until the pattern has been seen, so finding the right one meant choosing, applying and looking at the body. The field now shows the chosen pattern's picture beside its name. Opened, it shows all 18 patterns as pictures in a grid of two columns with the chosen one marked, and a search field above that finds a pattern by its name in the language of the interface. Arrow Down opens it, the arrow keys move through the grid, Enter takes a picture (in the search field the first match), Escape closes it; keys pressed in it stay in it, so Delete or Escape does not delete or deselect the body, and Ctrl/Cmd shortcuts such as undo still go through. Everything else in the card is as it was, and a pattern chosen still starts from its own values. In the dark themes the field is dark, like the number fields, while the card's selects stay light. The pictures are made with the texture code itself, at the patterns' starting values.
  • Scrollbars of the view: the wheel slides as far as it turned (Discussion #1361): The wheel over a bar moved the view by a fixed 6 % of what it shows for every wheel event, however small. A Magic Mouse sends dozens of tiny events from a finger resting on it, and a trackpad goes on sending them as the swipe glides out, so the view jumped off the screen as the pointer crossed a bar: forty events of 2 px, 80 px in all, moved it by 2.4 views. It now moves as far as the wheel turned, as a page does, a notch of 100 px by 100 px on the screen (lines and pages counted as Firefox sends them), at most a whole view per event (wheelScrollFraction in lib/viewScroll.ts). A drag whose pointer the bar loses without a release now ends there too. Test in viewScroll.test.ts. Reported by @MartinShake.
  • Dovetail: a neck up to 0.1 mm narrower than the wide end (#1360): The neck could be at most 95 % of the width, so a long, gently tapering tail of 146 mm with a neck of 145 mm came out with 138.7 mm. The neck may now be up to 0.1 mm narrower than the wide end, in the properties panel, in the default settings and through the MCP bridge (maxDovetailNeckWidth in dovetailGeometry.ts); a neck as wide as the wide end or wider still gives way to that. Reported by @UnintendedDeceleration.