Skip to content

Releases: Sorbiers/3DFastCraft

3DFastCraft 1.4.0

Choose a tag to compare

@Sorbiers Sorbiers released this 07 Sep 15:14

In loving memory of Windows 3D Builder. Rest in peace.

Two things were built with this release before it was cut: an architectural model of a house at
1:87, and a box with a hinged lid. Everything below is what those two models needed, or what
they found broken.

Download

3DFastCraft.exe — a single self-contained file. No installer, no .NET runtime needed.
Download it, double-click it. Windows 10/11, 64-bit.

Windows SmartScreen will warn about an unsigned executable the first time — More info
Run anyway.

New in 1.4.0

Brick on a wall that already has windows in it

Previously a raised pattern needed a face that filled its own rectangle, so cladding had to go on
before the openings were cut — an order nobody would guess, and one that means a wall can
never be re-clad once it has windows.

The face's boundary is now walked as several loops: the widest is the outline, the rest are
holes. Each hole's own edges become grid lines, so the courses meet the reveal exactly and a
brick standing at the edge of an opening gets its return while the flat face beside it does not.

Four more patterns

Roof tiles, Tiles and Planks join Brick, Wood grain and Stripes — and each starts at
its own proportions, because a brick is not shaped like a roof tile. Brick 3 : 1, roof tile
1.5 : 1, wall tile 1 : 1, plank 8 : 1, and Shape n : 1 to change it. The first roof built
here came out with 39 × 13 cm tiles because it was laid as brick.

Repeat, Stair, and knowing what a millimetre means

  • Repeat... — the selection stepped n times along a line, optionally growing as it goes.
    One operation, one undo. A flight of steps, a row of dowels, a run of courses.
  • Stair... — rise, run, width and risers, built as one swept profile rather than a stack of
    boxes, with the riser and going reported in real units and a plain word when the result is not
    climbable.
  • Scale 1: on the View tab — 1:87, 1:160, 1:1 or anything typed. No geometry changes; the
    properties panel just tells you the part is 9.57 × 7.83 × 2.61 m.

Does it actually fit?

Fit check on the Align tab measures two parts against each other and changes neither:
overlap by 6 × 3 × 16 mm, 0.047 cm³ of shared material, or how far apart they are. Watertight
says a part will print; it says nothing about whether two parts go together. It caught a lid
resting on its own hinge knuckles in a model that looked perfectly right on screen.

Align to, beside it, is the one that moves things: the first object picked is centred on
the second.

Back, Left and Bottom views

With only Front, Right and Top, two walls of any building could not be brought to face the
camera, so cladding them meant turning the object half round and back — which bakes the rotation
into the mesh and shifts its centre a little each time.

Hollow with one side open

A shell whose cavity reaches daylight — the underside of a roof, the back of a façade. The walls
round the open side stand; a part too thin for the wall thickness is still handed back untouched.

The tabs are grouped by what a tool changes

Object is what a thing is made of, Edit is its surface, Align is where it sits. Drop
to plate, Mirror and Lay on face moved to Align; Smooth and Round moved to Edit. The Object tab
went from nineteen buttons to nine.

Smaller things

  • Import takes a .3dfc project, joining the plate rather than replacing it.
  • Ctrl+D duplicates and Ctrl+Shift+D duplicates in place — deselect all moves to
    Ctrl+Shift+A. Every shortcut is named in its button's tooltip.
  • Either end of the measuring tape can be dragged after it is down.
  • An About box: version, licence, and a Copy details button for bug reports.
  • Zoom to fit no longer blanks the viewport in Top view. Looking straight down, the camera's
    up vector and its view direction were the same line, and the renderer drew nothing at all.
  • Enter commits a field. The last box anyone fills in is the one they do not tab out of.
  • Two shells sharing a face no longer report themselves watertight — the health check welds
    before judging.
  • Selecting several objects in the object list works through UI Automation, which is the only
    route a screen reader has: the viewport exposes nothing. Adding a second row used to replace
    the first while the list went on reporting that it could select several.

The engine

CsgPlane.Epsilon was documented as 1e-4 and written as 1e-6. At 90 mm a float steps by 7.6e-6,
so the tolerance sat below the noise floor and coplanar faces classified at random. Every
staircase tore. It is 1e-4 now, as it always said it was.

Known limits

  • A face with a round hole in it cannot take a pattern — holes have to be rectangles. Pattern
    a wall before merging a boss or a peg onto it.
  • The Front view lights the model from behind, so a front elevation renders nearly black
    while the left and right ones are lit. Cosmetic, but it is the drawing anyone asks for first.
  • Selecting several objects through automation stops working after an export within a
    session. Ctrl+click in the object list is unaffected, and so is everything done with a mouse.
  • Boolean operations on imported meshes above ~200k triangles are slow. The GPU renders them
    fine; the BSP tree is the bottleneck.
  • Engraving and lettering are refused outright rather than applied badly whenever the result
    would not be watertight. The object is never left in a worse state than it started.
  • No 3MF, and no printer integration.

Free for personal, non-commercial use. Models you make with it are your own.

3DFastCraft 1.3.0

Choose a tag to compare

@Sorbiers Sorbiers released this 06 Sep 17:53

In loving memory of Windows 3D Builder. Rest in peace.

A house has four walls, and until now you could only brick three of them. This release stops
sending face patterns through the boolean engine at all, and stamps drawings as well as words.

Download

3DFastCraft.exe — a single self-contained file. No installer, no .NET runtime needed.
Download it, double-click it. Windows 10/11, 64-bit.

Windows SmartScreen will warn about an unsigned executable the first time — More info
Run anyway.

New in 1.3.0

All four walls

Putting a raised pattern on the fourth face of a box used to tear it open, every time, at most
sizes. The cause was not the pattern: a boolean's cutting planes are infinite, so patterning one
wall quietly split geometry all over the rest of the model, and by the fourth face the new
pattern had three walls' worth of mismatched edges to land on.

A raised pattern is no longer a boolean. The face's own triangles are thrown away and laid again
around the pattern — a frame joining it to the face's real outline, the pattern itself at two
levels, and a wall where the two meet. Every vertex on the outline is one the model already had,
so nothing else in the object is touched. The result is watertight by construction rather than
by repair, and because nothing accumulates the fourth wall is no harder than the first.

Four walls of brick on a 60 mm cube: three walls and a tear before, four walls now, and three
and a half times faster.

Grain, at last

Raised instead of cut now offers wood as well as brick and boards — the grain lines stand
proud, like the hard rings of a weathered plank. Grain is curves rather than rectangles, so it
takes a second decomposition, and it gains the most from it: four walls of grain on a 60 mm cube
used to give out on the third after thirty-nine seconds, and now all four go on in half a second.

Raised lettering on a plain flat face takes the same road, so a stamp is exact rather than lucky
and cannot dice the object on its way through.

Stamp a drawing

Drawing... in the Emboss panel stamps the filled shapes of an SVG file — a logo, a badge,
an icon — and shows you the shape it read, so you can see the holes came out right before
committing to it.

A drawing becomes exactly what typed letters become: an outline and the loops inside it. So
everything else in the panel works on it unchanged — size, depth, bevel, wrap around a barrel or
a ball, the handles on the face, and cut or raised.

Paths, rectangles, circles, ellipses, polygons and polylines are read, transform is followed
down the tree, and curves and arcs are flattened. Minified exports are read properly — those
write an arc's flags with nothing between them, which most readers choke on.

Where things are

  • Text... is now Emboss..., since it stamps drawings too.
  • Emboss and Engrave have moved from the Object tab to the Edit tab.
  • Buttons inside the side panels have their own style, instead of the ribbon's — which kept a
    square for an icon they never had.

Known limits

  • Cut patterns still go through the boolean, because a cut groove is allowed to run off the
    edge of its face and a raised one is not. A fine pattern cut into a face that has been cut
    about already can still refuse to go on; raised has no such trouble.
  • A drawing whose shapes overlap each other is stamped the slow way and may not go on at all.
    Which loops are holes is decided by asking whether one lies inside another, and for outlines
    that cross, that question has no answer. Merge overlapping shapes in the drawing program first.
  • Text inside an SVG is not read — there is no way to know you have the same fonts. Turn it
    into paths in the drawing program. use and symbol references are not resolved either.
  • A bevel means sloping walls, which the retiling has no way to express, so bevelled lettering
    still goes through the boolean.
  • Letters with an enclosed middle — O, B, A, D — wrapped round a barrel remain past what the
    boolean will do. They are refused rather than shipped broken.
  • Boolean operations on imported meshes above ~200k triangles are slow. The GPU renders them
    fine; the BSP tree is the bottleneck.
  • No 3MF, and no printer integration.

Free for personal, non-commercial use. Anything you model with it is yours.

3DFastCraft 1.2.0

Choose a tag to compare

@Sorbiers Sorbiers released this 06 Sep 05:30

In loving memory of Windows 3D Builder. Rest in peace.

A reliability release. Snapping parts together, booleans on rounded shapes, and turning and
resizing anything that has been rotated all worked approximately before, and now work exactly.

Download

3DFastCraft.exe — a single self-contained file. No installer, no .NET runtime needed.
Download it, double-click it. Windows 10/11, 64-bit.

Windows SmartScreen will warn about an unsigned executable the first time — More info
Run anyway.

New in 1.2.0

Parts that actually meet

Stop on contact is measured on the shapes themselves rather than the boxes round them. A ball
brought up to a cone now stops touching the slope instead of a base radius short of it, and a part
that has been turned stops where it really meets rather than where its box does. A drag works its
answer out once on the way down, so nothing is measured while the mouse moves.

Booleans that come back printable

About one rounded-box boolean in five used to come back reported as broken, and no amount of
repairing would mend it. The damage was a T-junction — a long edge on one side facing two shorter
ones, with a vertex partway along it. The surface was closed to look at and printed perfectly; it
simply was not closed as a list of triangles, which is why Repair could see nothing wrong. Those
edges are now stitched, and the booleans mend their own results. Across a sweep of 432 cases, all
92 that used to come back torn now come back sound, with no change in shape.

Turning and resizing

  • Rotation follows the ring you grabbed — on the second turn as much as the first. Only one
    of the three stored angles ever lined up with the world, so anything already turned went
    somewhere else entirely.
  • Resize works on the object's own box, turned with it, because the size boxes give the
    object's own width, height and depth. The arrows used to point along the world while the drag
    stretched the object along its own.
  • Align to axes sets the three angles back to zero without moving the object — the turn is
    folded into the geometry. For when a part has been turned into place and now needs resizing
    along the plate.
  • Readouts fill in for several objects at once: position gives the middle of the lot, rotation
    what they have in common, size how far the whole selection reaches.

Lay on face

Click the face you want on the bed and the object tips over onto it and settles — the printing
question of which way up to lay a part, answered by pointing at the answer.

Fixed

  • Grouping no longer loses where a thing is. Anything built from geometry already in plate
    coordinates — a group, a boolean, a split, an import — used to read 0, 0, 0 whatever corner of
    the bed it sat on, so typing a coordinate measured from the wrong place.
  • The engraved pattern no longer vanishes when its placement grip is let go.
  • Engraving retries from a slightly different pattern when a cut will not go through, and says
    so when it had to.
  • Snapping in millimetres only appears while moving; the manipulator bar and its handles stand
    down while Split, Engrave, Text or Lay on face have the object; the rotate icon reads as a turn;
    the selection tools moved to the right-hand panel; positions read to a hundredth of a millimetre
    in both places rather than disagreeing; a numeric field selects itself when you reach it.
  • The version now shows in the title bar.

Known limits

A fine pattern on a face that has been cut about already can still refuse to go on. Every earlier
pattern left a notch wherever a groove met an edge, and where two faces meet exactly rather than
crossing, the boolean tears. It is retried from a slightly different pattern first, but does not
always get through — a coarser pattern, a shallower depth, or nudging Shift across by a tenth
of a millimetre usually does. Nothing is ever applied unless it would print.

Letters with an enclosed middle — O, B, A, D — still will not wrap round a barrel.

Licence

Proprietary, free for personal non-commercial use. Models you make with it are entirely
yours, including commercially — see LICENSE.