Skip to content

LEparagliding Studio 0.4.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 10:22
· 14 commits to main since this release

LEparagliding Studio is a free, cross-platform design tool for paragliders — a modern Qt / Open CASCADE port of Pere Casellas' LEparagliding 3.28. Draw your wing with live curve editors, preview the exact 3D shape (NURBS/STEP, DXF, STL), analyse airfoils with the built-in XFLR5, test the design in the Playground's soft-body wind tunnel — and now take it to the workshop: 0.4.0 turns your design into cut-ready parts.

What's new in 0.4.0

A new Print/Cut tab that takes the design's 2D flat patterns, nests them, and lays them out either for printing at 1:1 across tiled paper or for cutting on a machine bed.

Real parts, not a drawing

The 2D plan has always been a single flat DXF — tens of thousands of unlabelled line segments spread over a grid of drawing boxes, with no notion of "part" anywhere in it. The engine now tags its drawing as it happens and exports lep-2d-parts.json: every piece of fabric as a separate outline in its own frame, with its cut edge, stitch line and marks distinguished.

Twelve categories are recognised — extrados and intrados panels, ribs, middle unloaded ribs, mini-ribs, V-ribs (types 2, 3, 5 and 6), VH-ribs, H-ribs and straps, nylon rod pockets and nose mylars. Panels split chordwise into their real pieces, and a part's marks follow it: anchor points, air intakes, V-rib positions and equidistant seam marks all land on the part they belong to.

None of this changes a single number the engine calculates.

Packing

  • Pick what you want — a part tree grouped by category with counts and true sizes; select a category, a handful of parts, or everything.
  • Press Pack and watch it work — nesting runs on a worker thread and the layout fills in live, page count dropping as the search finds better arrangements. It keeps improving for as long as you let it and stops when you say so, keeping the best layout found.
  • Page count is the objective, not density: a tiled canvas rounds up in both directions, so the search weighs canvas width against height rather than chasing local tightness.
  • Machine-bed mode — set a custom bed (a 3 × 6 m laser, say) and no part will cross a bed boundary, because a bed is cut in one pass and a part spanning two loads is cut in half.
  • Rotation is a fabric decision. Quarter turns keep the weave square to the part. Any other angle lays it on the bias, where woven fabric stretches — so free rotation is offered, clearly marked as suitable for paper templates only.
  • Scale the output — as a percentage, or by naming the flat area you want (type 22 m² and it works out ×1.106). Useful for RC-scale prints and test sheets; for a genuinely larger wing, set Wing scale in Section 1 and rebuild so the engine recomputes allowances and line lengths properly.

Known limitation, stated plainly

The original core records no fabric grain. Parts are drawn wherever the plan's layout puts them, so the exported orientation says nothing about which way the weave should run. Quarter-turn packing reliably avoids bias, but it cannot establish that a part is oriented the way the designer intended. The export marks its orientation field as assumed rather than measured, and docs/flat-part-orientation.md sets out what a future C++ core needs to provide — including a proposed editor for drawing the fibre direction on each piece.

Tiling to PDF with registration marks is the next step; this release gets the parts, the nesting and the layout right first.

Elsewhere

  • The window now opens maximised.

Install

Platform How
Windows Download LEparagliding_v0.4.0_winx64.zip, unzip anywhere, run LEparagliding.exe. Everything is bundled — no installer, no Qt to install.
Linux Download LEparagliding_v0.4.0_linux-x86_64.AppImage, then chmod +x it and run it.
macOS Download LEparagliding_v0.4.0_macos-universal.dmg, open it and drag the app to Applications. The build is unsigned, so the first launch needs right-click → Open rather than a double-click.