Skip to content

Releases

3DCraft 0.1.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 13:05

A fix for the Windows packages. On Linux, macOS and the web, 0.1.1 is 0.1.0 with a new version number.

Fixed

  • The Windows programs no longer need Microsoft's Visual C++ runtime. In 0.1.0 both of them, the window and craft3d-cli, needed it, and many computers do not have it: on such a PC 3DCraft stopped at once with "The code execution cannot proceed because VCRUNTIME140.dll was not found". They now carry that runtime inside them. If you have 0.1.0 on Windows, install 0.1.1 over it: the new .msi removes 0.1.0 by itself and installs 0.1.1 in its place, and the new zip unpacks into a folder of its own, named with the new version, from which you start craft3d.exe (the guide's Installing a newer version).

Known limitations

  • Windows: a console window opens beside 3DCraft's window. Leave it open: closing it closes 3DCraft.
  • The known limitations of 0.1.0 still hold.

The installers are not signed yet; the install guide says what your system shows and how to open them anyway.

3DCraft 0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 07:24

Windows: use 0.1.1. On a Windows PC without Microsoft's Visual C++ runtime, 3DCraft 0.1.0 does not start: Windows says VCRUNTIME140.dll was not found. 0.1.1 fixes this; install it over 0.1.0. On Linux, macOS and the web, 0.1.1 is 0.1.0 with a new version number.

The first release for people outside the project. 3DCraft is a parametric 3D CAD modeller built with and for AI: you describe a part, an AI agent builds it through 3DCraft's commands, and you watch it appear in the window, point at faces and check the result. Ready-made designs called Jigs need no AI at all: set their sizes in a form and export. Everything can also be done from the command line or a script, and 3DCraft runs in the browser too.

Modelling

  • A history that rebuilds. Variables with units and formulas, and an ordered list of features: change a value and the model rebuilds, only from the feature that changed. Undo and redo, roll back to any step, suppress, edit, move, rename and delete features; insert a feature in the middle and the ones after it follow. A feature that fails says why (often with the largest size that fits) and can be repaired; features made from it name it as the cause.
  • Features. Blocks, cylinders, cones, spheres and tori; extrude, revolve, sweep (along a path, a helix, or two rails that carry and scale the profile, also closed into a ring) and loft from sketches; patterns, mirror and move; shell, draft, offset, move and delete faces, thicken; ISO metric threads (cosmetic or modelled); datum planes, axes, points and helices; sheet bodies; several bodies in one document.
  • Fillets and chamfers on edges, chosen by name, by description or by pointing at them.
  • Names that stay put. Faces and edges are named by how they were made, so a fillet does not jump to another edge when an earlier feature changes, and a face that is gone is reported instead of silently replaced.
  • Units. Millimetres, inches and the other length units per document, angles in degrees or radians; the length unit can be changed later while keeping the sizes. Mass, time, force, pressure and stress, moment and energy in expressions (1000 N / (100 * (1 mm)^2) is 10 MPa), so a design rule can say "max": "235 MPa"; an output can carry a label and the unit it is shown in. Named sets can pick flat faces by their plate thickness (thickness). Litres (L, mL) for volumes. A document's tolerance can be set (document.setTolerance).
  • Colours and materials per body and per face, with metallic and roughness, following the face through later edits and kept in 3MF, OBJ and STEP exports. A face's own colour wins over its body's; the button on a body's card that clears its face colours (face.appearance with clear) takes them all away in one step.

Sketches

  • Sketches with a constraint solver. Lines, arcs, circles, rectangles, paths, splines (also through computed points, and closed splines that stay smooth where they close) and patterns, held by dimensions and geometric constraints and solved by 3DCraft's own solver; coordinates can be formulas.
  • Clear diagnostics. A sketch that cannot be solved names the constraint at fault and the ones it contradicts; a line squeezed to nothing and a sketch with freedom left are reported.
  • Curves from formulas (sketch.curve): x(t) and y(t) in the variables, fitted again whenever they change, as in the involute gear example; points on them and tangents to them can be constrained.
  • Sketches on a face, with the x axis turned to a direction you choose.

Text

  • Text in sketches (sketch.text), straight or along a curve (sketch.textOnCurve): a template that can hold formulas, cap height or em size, anchor, alignment, rotation, line spacing and wrapping to a width, as closed profiles of exact curves with kerning, ready to extrude, emboss or engrave. Text and any sketch wrap onto a cylinder or a cone (feature.extrude with wrap), embossed or engraved along the surface at true size. Letters are named by glyph, so a feature on one fails by name instead of jumping to another.
  • Fonts. Noto Sans, JetBrains Mono and a single-stroke font drawn for 3DCraft are built in and carried by the installers (fetched when first needed on the web); font.add keeps another font in the document when its licence allows it. The measure textExtent gives a text's size.

Booleans

  • Union, subtract and intersect between bodies of any shape, including curved and freeform faces, and cuts by sheets and between sheets.
  • Sew (feature.boolean with op: sew): sheets that meet along their edges, even tangent or in curvature, joined into one sheet or a closed solid without cutting them.
  • When an operation cannot be done exactly it refuses with a clear message instead of producing a broken solid.

Sheets, plates, sheet metal and origami

  • Plates. Give faces (flat, developable or freeform) a thickness, inside, outside or in the middle, with square, bevel, mitre, touch and over/under joints between neighbouring plates.
  • Developable surfaces and unfolding. A developable surface between two curves, unfolded flat at true size with a map between the pattern and the part, and a measure of how developable a face is. Rails with corners (a fan from the corner, a crease where both rails turn) and closed rails (a tube), such as a sea kayak's sheer panels.
  • Sheet metal. A base with flanges, bent by inner radius and K-factor, with rectangular, round and tear corner reliefs; corners closed by overlap, butt or mitre; holes and cut-outs on any flat; a bend table; checks for bend radius, flange length, hole-to-bend distance and relief; the flat pattern exported with its bend lines. Holes across a bend, and a later through cut carried back onto the flat pattern. Flanges inset on an edge (several tabs), on a flange's side, on a hole's edge or with an outline of their own, with bend reliefs at their ends. A press-brake check (sheetMetal.bendSequence) that searches an order of bends and proves the punch and die clear the part, or checks an order you give, also for parts with holes across their bends. Louvres and tabs: a flange on the edge of a cut-out in any flat. The measures flatExtent and flatArea for a flat pattern's size. Sharp bends (an inner radius of 0); curved flanges along arcs and circles of the base (a round pan, a tray with rounded corners), with the stretch of their approximated flat pattern proven (bendStrain); jogs that step a flat; formed louvres pressed by a tool (louvreStretch); and hems (flanges bent 180 degrees), which the press-brake check presses flat in two strokes.
  • Cutting. Plates and sheet-metal parts recognised for cutting: a cut list grouped by thickness and material, identical parts counted and sizes given to the document's tolerance (cut.list, JSON or CSV), and every part's outline to DXF or SVG, per part or on one sheet, with a kerf (cut.export).
  • Origami. A crease pattern of mountains, valleys and cuts folded by angles that follow variables, or folded flat with the order of the layers worked out; Kawasaki and Maekawa checks; the crease pattern exported to SVG and DXF. Thick panels on a membrane, slits and slots, a flat-folded stack folded on, and patterns of thousands of creases.

Freeform surfacing

  • Analysis. Zebra stripes, highlight lines, a curvature map and a draft check drawn on the exact surfaces, curvature combs on edges and iso-curves, and the measures draft and curvature at a point (the Analysis toggle in the window).
  • Surfaces from curve networks. Gordon surfaces through crossing u and v curves (feature.surface.network), Coons patches (feature.surface.coons) and lofts with guide curves, as exact B-splines.
  • Continuity across seams. An edge held in position, tangent (G1) or in curvature (G2) to a plane, cylinder, cone, sphere or a spline face, and measure.continuity, which proves G0, G1 or G2 with bounded gaps (also as an assertion). A curvature seam spreads its change over the sheet with the least variation of curvature, so the surface stays fair beside the seam.
  • Trimmed faces and N-sided fills. A face cut out of an existing surface by curves on it, drawn on it or projected onto it, such as an opening or a label area (feature.surface.trim), and a loop of 3 to 6 curves filled with a smooth sheet that meets its neighbours tangent or in curvature (feature.surface.nsided).
  • Zebra stripes and highlight lines stay clean where they are finer than a pixel: they fade to grey instead of breaking into moiré.

Assemblies and motion

  • Assemblies as their own documents (.3dcraftasm): instances of other .3dcraft files by reference (the assembly follows the part when you edit it) or packed into one file, configurations by a part's public parameters, one body picked from a multi-body part, and rigid or flexible subassemblies. A part whose feature fails marks its instance with the reason and fails the assembly's check.
  • Mates, joints and couplings, solved by 3DCraft's own solver: fixed, revolute and the other mates between named faces of instances (a face that is gone fails its mate by name), free joints set by value or dragged, gears, racks and screws coupling two mates (a screw can also tie a cylindrical mate's slide to its own turn, as a thread), and linear couplings of any number of motions (a planetary stage). A joint's solved value and an instance's pose as measures, usable in checks and formulas (measure.joint, measure.pose). A part drawn in another length unit keeps its size. Measures and checks name an instance's bodies by path (Instance/Body, also into subassemblies); clearance, overlap and mass per instance; STEP export with the assembly's structure.
  • Motion over a timeline t. Play a mechanism in the window, see collisions in red, draw the trace of a point (and export it ...
Read more