Skip to content

Releases: IPedrax/BIMCraft

BIMCraft v0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:43

BIMCraft 0.8.0

Linked models, plan views of a level, line weights as pens, Visibility/Graphics as a table, the start page, and the desktop in Simplified Chinese.

Project files

  • Project files are format 4. A file from 0.7.x opens (a line weight it kept in pixels becomes the nearest pen) and saves as format 4; 0.7.x cannot open format 4 files, so keep a copy if you still use 0.7.x.

Views and documentation

  • Linked models (Manage > Link Model, LK): another project, a BIMCraft file or an IFC, shown in yours as a reference that can't be edited. It draws halftone under your own lines in plans, sections and 3D, you can snap to it, and the schedules, the checks and the IFC export never see it. A level of it at the same height as one of yours stands on it. The Project Browser lists the links (right click to reload or remove); link and reload are commands too.
  • Duplicate View (View tab, DP, or a right click in the Project Browser): a second plan of a level with annotation of its own, with detailing, or as a dependent that follows its parent's range and graphics.
  • Every view has a scale, and lines are pens. Line weights are widths on paper at the view's scale (pens 1 to 16, and pen 0, a hairline at any scale); Manage > Line Weights sizes them per scale, in millimetres. Imperial projects get architect's and engineer's scales.
  • Object Styles (Manage > Object Styles): the pen each model category draws its lines in, seen and cut, in every plan and section.
  • Visibility/Graphics is a table, as Revit's: each cell overrides its own part (lines, patterns, transparency, cut, halftone).
  • Cut outlines are inked over the grey fill and join square at corners, and the default pens are lighter (what's seen 0.18 mm, what's cut 0.35 mm at 1 : 100).
  • The plan's own name is no longer lettered over it in the window: the tab says it. PNG and SVG exports still letter it.

The project

  • Delete a type or a family from the Project Browser (refused while something uses it), and Purge Unused (PU).
  • A start page: New, Open, and your recent projects as tiles with pictures.
  • Tabs mould out of what they open, Ctrl+D goes back to the project, and Undo lists its steps.
  • The window remembers its size, file dialogs no longer freeze it, a file dropped on it opens, and a narrow window scrolls the ribbon sideways instead of cutting buttons off.
  • A file with fields this version doesn't know opens, leaves them out and names them.

Interoperability and agents

  • Bridge mode: bimcraft-cli mcp --connect lets an agent work on the project a window has open.
  • Point clouds: PTS, XYZ, PLY and LAS.
  • Revit import: the report has a Copy Report button, and a door or window in a wall at an angle takes its width from its box.
  • Scripts can run all or nothing as one undo step (script {atomic: true}).
  • CI validates the IFC it writes with IfcOpenShell.

The desktop

  • Simplified Chinese (File > Settings; it needs a font with Chinese characters on the system).
  • The 3D view on the graphics card (opt-in, File > Settings > Performance) now draws surfaces seen through, and its frames cost less.
  • A redrawn icon set: one pen at every size.

Not yet: linked models' shared coordinates, per-view visibility and overrides of a link, hosting on a linked wall, and nested links. See the roadmap.

Still true

  • The Windows installer and the macOS app are not code-signed or notarized yet (Windows SmartScreen: More info, then Run anyway; macOS: System Settings > Privacy & Security > Open Anyway).
  • Revit's .rvt is read, never written; IFC is the way out.

Every file has a checksum in SHA256SUMS.

BIMCraft v0.7.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 21:12

BIMCraft 0.7.0

Changes you will notice

Project files and ids

  • Every element, and every type, material, family and other library entry, has a six-digit id (from 100000) and a GUID that never changes, as Revit's ElementId and UniqueId. Things that point at something hold its GUID, so a new id breaks nothing.
  • IFC writes each element's GUID as its GlobalId and reads it back, so GlobalIds survive an import and an export.
  • Insert from File, Manage > Inquiry (Select by ID, IDs of Selection), and the insert, select_by_id and ids_of commands.
  • Project files are format 3. A file from 0.6.x opens (it is migrated, its ids move up to six digits) and saves as format 3; 0.6.x cannot open format 3 files.

Revit files

  • Open .rvt and .rfa files (releases 2015 to 2027), read only, from File > Open, the command line (run, convert, info) and the MCP server: levels, walls (straight and curved, with layers), floors and ceilings, doors and windows, columns, rooms and roofs. What the reader cannot decode is left out and listed, never guessed. The reader is BIMCraft's own, ported in part from rvt-rs (Apache-2.0, see NOTICE and docs/rvt-provenance.md).

Desktop

  • Palettes dock left, right or bottom, stack as tabs, or float; views float; the ribbon folds; File > Settings (Ctrl+,); a Project Browser with tabs and search.
  • Background autosave with Recover, Discard or Postpone when something is left to recover.
  • File > Open Recent.
  • Tags on any element, by any field of it (a wall's type, a room's area), with a Label field in the Options Bar.
  • Unhide Element (EU) and Unhide Category (VU) for what Reveal Hidden Elements shows.
  • A right-click menu in every view; levels as planes with grips in sections and 3D; the selection stays as views change.

Performance

  • Plans redraw about 51 times faster and the 3D view about 2 to 3 times faster on the 20-storey benchmark tower (bimcraft --highrise, 9,521 elements), still on the processor. Thanks to @dansity for the pull request.
  • The 3D view can be drawn on the graphics card: File > Settings > Performance > Draw the 3D view on the graphics card, off until you turn it on. On the tower at 1920 × 1080 a changed frame took 1.3 ms on an NVIDIA RTX 3060 against 108 ms on the processor. It draws what the processor draws (lighting, textures, edges, level lines). Surfaces seen through, hidden line, wireframe, sections and sheets are still drawn on the processor, and so is everything if the card fails, if the window runs on OpenGL (the card is for Vulkan, Metal and DirectX 12) or if there is none. It has only been tried on one NVIDIA card on Linux so far: tell us how it goes on yours.

Windows

  • The installer's folder page lets you install to any folder or drive, and an upgrade keeps it (a copy outside Program Files is told of new versions with a Download button).
  • A portable zip, bimcraft-0.7.0-windows-x64-portable.zip, for PCs where you cannot install software.
  • If a start fails, BIMCraft says why (a message box and bimcraft.log beside your favorites), and one that dies without a word is noticed at the next start, which tries other graphics (Vulkan, DirectX 12, OpenGL). WGPU_BACKEND is still yours to set.

macOS

  • The disk image is no longer signed ad hoc, which made macOS refuse to open it. The app inside is still not notarized: the first launch needs System Settings > Privacy & Security > Open Anyway. 0.6.1 updates itself to this; 0.6.0's updater will probably refuse the update, so download the DMG by hand once.

Still true

  • The Windows installer and the macOS app are not code-signed or notarized yet (Windows SmartScreen: More info, then Run anyway).
  • Revit's .rvt is read, never written; IFC is the way out.

Every file has a checksum in SHA256SUMS.

BIMCraft v0.6.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 02:46

Full Changelog: v0.6.0...v0.6.1

BIMCraft v0.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 19:39

Full Changelog: v0.5.0...v0.6.0

BIMCraft v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 22:40

BIMCraft 0.5.0: families done (a Family Editor, revolves, voids, doors and windows as families), textures and Paint, favorites kept for every project, packages for Linux and macOS, and an app that checks for new versions and updates itself.

Families

  • The Family Editor (Manage > New Family, or Edit Family on what's selected or being placed). A family's parameters, types, forms and a door's or window's plan symbols are edited as text, with a preview you can turn by dragging. Apply makes it the project's family in one undo step, Save Family and Load Family use a .json file, and Add to Favorites keeps it. What's wrong with it is said inside the window, beside the field.
  • Revolves. A form can be turned about an axis in its own plane, from one angle to another, up to a full turn. A part turn is closed by two caps and shows as a slice in plan.
  • Voids. A void form cuts the solid forms listed before it, exactly and in any shape: a hole, a notch, a sink's bowl, a sash round its pane. It is built so that a hostile or enormous shape ends with an error, never a hang.
  • Doors and windows are families. They are hosted in walls: Width and Height size the hole, Sill Height is a window's sill, and formulas can read Wall Thickness. Frame, leaf, handle, sashes and panes are forms drawn in the opening; a door's swing goes with it as a plan symbol, and a flip mirrors all of it. A new project comes with a Single Door, a Double Door, a Fixed Window and a Casement Window, the sample house is built of them, and the Door and Window tools place them. The project's own door and window types still work, and bimcraft-cli keeps using them unless a command gives a family.
  • IFC export writes each form of a family as a closed face set in its material's colour, named Family:Type.

Textures and Paint

  • A material can have a texture: a pattern drawn in code (brick, block, boards, concrete, plaster, tile, roof, fabric, metal, insulation) or a picture of your own, a PNG or a JPEG, which the project keeps as a PNG of at most 1024 pixels (up to 24 a project). The 3D view lays it on each face at its real size, by the tile's width and height, angle and offset, so brick comes out in courses and a board is as wide as you said. Manage > Materials sets all of it, with a swatch.
  • Paint (Modify > Paint, PT) lays a material over one face of a wall, floor, roof, ceiling or other element, as Revit's Paint does; Remove Paint takes it off the face clicked. A wall has an exterior and an interior face, a floor, roof or ceiling a top and a bottom.
  • Textures and paint show in the 3D view only. Plans, sections and elevations keep their patterns, and IFC carries a material's colour, not its texture or paint.

Favorites

  • Manage > Favorites keeps the materials and families you want in every project in a file of your own, in your configuration folder. Save to Favorites (Materials window) or Add to Favorites (Family Editor) puts one there; Add to Project brings it into the open project, under another name if the project already has that one. A material comes with the picture its texture is made of, and a family with the materials it uses.

Packages for Linux and macOS

  • Linux: an AppImage, a Flatpak, a deb, an rpm, an Arch package and a tarball, each for x86_64 and aarch64, and a deb, an rpm and a tarball for riscv64. They need glibc 2.35 or later (Ubuntu 22.04, Debian 12, Fedora 36), riscv64 glibc 2.39 or later. The deb, the rpm and the Arch package put bimcraft and bimcraft-cli on the path, add BIMCraft to the applications menu and open .bimcraft and .ifc files in it. The AppImage needs nothing installed, not even FUSE.
  • macOS: a universal disk image (Apple silicon and Intel, macOS 11 or later) and the command-line tool as a zip. They are signed ad hoc, so macOS asks the first time: Control-click BIMCraft, then Open.
  • Windows: the MSI, as before. It upgrades 0.4 in place, and isn't code-signed yet, so SmartScreen asks first: More info, then Run anyway.
  • Every release now lists a SHA256SUMS for all its files. The Release workflow builds every package for any commit (Actions > Release > Run workflow), and the scripts behind them are in packaging/.
  • The Linux and macOS packaging is @dansity's (#2); the Flatpak, Arch and riscv64 builds were added to it.
  • Tried: the deb, rpm, tarball, AppImage and Arch package were installed in clean Ubuntu 22.04, Debian 12, Fedora and Arch containers, where the app opened its window; the riscv64 build ran the command-line tool under emulation. Not tried: the macOS app on a Mac, a riscv64 window, the Flatpak's window.

Updates

  • The desktop checks GitHub for a newer release when it starts, on a thread of its own, so the window never waits for it. A banner offers it: Update now, Later, or Skip this version. File > Check for Updates Now looks by hand, and File > Check for updates at startup switches the check off (so does the environment variable BIMCRAFT_NO_UPDATE_CHECK, which stops every request). bimcraft-cli and the MCP server never connect to anything.
  • Update now downloads the file for this kind of install and replaces the app in place, after asking to save: the copy the Windows installer made, an AppImage in a folder you can write to, and the macOS app in a folder you can write to. A package from your distribution, a tarball, a build from source and a Windows copy running as administrator are told of the newer release, with a Download button; a Flatpak has no network and never checks.
  • What comes from the network is treated as hostile. Only this repository's releases on github.com and GitHub's release CDN are fetched, over HTTPS; a file is taken only if it is named exactly for the version and kind of install, and its SHA-256 must equal the digest GitHub lists and the release's SHA256SUMS, when it arrives and again just before it is installed. Nothing runs that failed a check, and if a step fails the old copy stays in place and a note says why.
  • This is the first release with the updater, so 0.4 and earlier can't update themselves: install 0.5.0 by hand once.
  • None of the three install paths has run for real, on Windows, on a Mac or with a real AppImage runtime. In the tests, shell scripts stand in for msiexec, hdiutil, ditto, codesign, open and the AppImage, and the README says what that leaves open. If an update fails for you, the issue form is the way to say so.

For scripts and agents

  • Two new commands, paint (PT) and favorite: 58 in all. material takes a texture; door and window take a family; family forms take an axis with from and to degrees, can be a void, and a door's or window's family takes symbols for its plan. The MCP server's ten tools are the same.

Also

  • A bug report form on GitHub Issues asks for the version, the system and what happened.
  • ROADMAP.md lays out the releases to 1.0, by @dansity (#3).
  • The README has a Downloads section for each system, an Updates section, new screenshots of textures, Paint, the Family Editor and the Materials window, and a redrawn sample house.

Known limits

  • Projects from 0.4 open in 0.5. A project saved by 0.5 doesn't open in 0.4, which refuses a file with fields it doesn't know: the file format has no version yet.
  • The Family Editor edits text, not a sketch. Sections and elevations show a family's door or window beyond their line and never cut it.
  • Textures and paint are for the 3D view; fill patterns of your own, perspective views and a section box are next.

Full Changelog: v0.4.0...v0.5.0

BIMCraft v0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 04:23

BIMCraft 0.4.0: visibility and graphics, phases and design options, a Demolish tool, smoother curves in 3D, and clicks that keep up with a fast hand.

Visibility and graphics

  • Every plan, section, elevation and 3D view can hide whole categories or single elements and override lines and fills by category, by element and by view filter: colour, weight and dash for what the view cuts and what it sees, the cut's poche or a 3D view's surface colour, halftone, and transparency in 3D (a see-through element can still be picked).
  • View filters pick elements with schedule-style rules on chosen categories. View templates keep a view's categories, filters and a plan's view range under a name for other views to follow.

Phases and design options

  • A project has phases in order (Existing and New Construction to start). Each element is made in one and may be taken down in a later one, so a view shows it new, existing, demolished or temporary, or not at all, as the view's phase and phase filter say. Doors and windows follow their wall, and sheets print each view in its phase.
  • Design options are sets of options; a view shows the option it chooses of each set, else the set's primary. Accepting a set keeps the primary's elements and takes the rest away.
  • Modify > Phasing > Demolish (DW) takes down what you click in a plan, a section or the 3D view, in the view's phase; click it again to put it back.
  • Schedules sort and group phases in the project's order, not by name.
  • IFC export and import carry phases and design options, in a BIMCraft_Phasing property set on each element and on the project.

3D

  • Curved walls, round forms and imported meshes shade as one smooth curve instead of a step per facet, and their creases keep their edges.

Clicks

  • Fast drawing no longer drops or misplaces clicks. A click is made where the button went down even if the hand has moved on by the time the window gets to it, and two quick clicks are two clicks. A click made while the mouse is moving counts in every tool but Modify.
  • In Modify and in the 3D view, a press you let go within a fifth of a second is a click wherever the hand went: it selects, instead of moving, drawing a selection box or orbiting. A slower drag moves, boxes and orbits as before.

The installer upgrades earlier versions in place. It isn't code-signed yet, so SmartScreen asks first: More info, then Run anyway.

Full Changelog: v0.3.0...v0.4.0

BIMCraft v0.3.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 22:42

BIMCraft 0.3.0: materials and layered floors, roofs and ceilings, BIMCraft's own parametric families, project parameters and schedules with formulas, snaps with angle guides and a ruler, and Revit's keyboard shortcuts.

Materials

  • Each project has a library of materials, each with a shading colour, a cut pattern and a surface pattern. Wall, floor, roof and ceiling types are built of layers, each with a function, a material from the library and a thickness. Manage > Materials edits the library.

Families

  • BIMCraft's own parametric components, never Autodesk's .rfa: parameters, types that set them, and forms swept from profiles, every size a number or a formula as Revit's are (Width / 2, if(Depth > 600, 4, 2)).
  • A new project comes with ten: tables, chairs, beds, sofas, desks, wardrobes, base cabinets, WCs, washbasins and bathtubs. More load from .json files. The Component tool places them, turned and mirrored.
  • Plans show them from above, sections and elevations beyond their line, and the 3D view in their materials' colours. IFC export writes them as furniture, sanitary terminals and the like, and import reads such elements back as families.

Project parameters and schedules

  • Values of your own on elements (text, numbers, lengths, yes or no), set in Properties and kept in IFC property sets. Manage > Project Parameters makes them.
  • Schedules of rooms, doors, windows, walls, floors, ceilings, roofs, columns, components, stairs, ramps, railings or levels, with the fields you choose, calculated fields (Area * 120), filters, sorting, grouping and totals. They go on sheets and out as CSV. View > Schedules makes one, and Schedule Properties edits it.

Snaps, angle guides and a ruler

  • Points picked while drawing stick to the ends, middles and centres of what's drawn, to crossings, to the foot of a perpendicular and to a wall's centre line, each marked and named. Manage > Snaps switches them, and SE, SM, SI, SC, SP and SN take one alone for the next point (SO none, SS puts them back).
  • A direction sticks to multiples of an angle (15° by default) from east and from the line before it, with a dashed guide, so a 60° corner comes out exact. The line being drawn wears a ruler with its length and angle, and at a corner the angle between the two walls.
  • Annotate > Measure (ME) lays a ruler between two points. A selected wall's ends are grips to drag (Ctrl keeps its length), and the angle beside each end can be typed to turn the wall about that end.

Shortcuts

  • CS (Create Similar), SA (select every one of the same type), PP (Properties), ZA (zoom all), CR (Section) and ME (Measure), with the snap ones above. KS lists every shortcut.

Properties

  • A length or number left at zero shows 0, as in Revit, and a long label no longer pushes its field out of the palette. A section's far clip clears from Properties.

Windows

  • The installer is a setup wizard: it adds BIMCraft to the Start menu with its icon, offers a desktop shortcut, opens .bimcraft projects and offers BIMCraft for .ifc files. It needs no Visual C++ runtime.

The installer upgrades 0.1.0 and 0.2.0 in place. It isn't code-signed yet, so SmartScreen asks first: More info, then Run anyway.

Full Changelog: v0.2.0...v0.3.0

BIMCraft v0.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:48

BIMCraft 0.2.0: real walls, sloped floors and ceilings, stairs that turn at landings, roofs over any footprint, project units, and the desktop in Portuguese and Spanish.

Walls

  • Compound wall types, layered from the exterior in (structure, substrate, thermal, membrane, finish), on any of six location lines. flip turns a wall round.
  • Walls meet in mitred corners at any angle and stop at the face of a wall they end on. They can curve (arc), and their top or base can attach to a roof or a floor.

Floors, ceilings and shafts

  • A floor can slope along a slope arrow. Ceilings fill a room out to its walls or follow a boundary, tiled if their type says so, and every level has a reflected ceiling plan.
  • Shaft openings cut every floor, ceiling and roof they reach.
  • Floors and ceilings take openings, and placed from the walls they leave courtyards open.

Stairs, ramps and railings

  • Stairs climb in several runs, with landings where the next run goes straight on, turns, or comes back.
  • Ramps (1 in 12 by default) turn at landings the same way. Railings follow a stair, a ramp or a path.

Roofs

  • A roof by footprint pitches over any outline, its hips, valleys and ridges the outline's straight skeleton, with gable ends, a base offset, openings and joins to other roofs. It slopes round courtyards too, and over the walls it finds them itself.
  • Roofs by extrusion, and dormers.

Views and notes

  • View ranges and crop regions, text notes, spot elevations, and dimensions to wall ends and to door and window centres and jambs, angular and radial too. Schedules and the 3D view go on sheets.

Units and languages

  • Project units: millimetres, centimetres, metres, inches, decimal feet, or feet and inches. Files and commands stay in millimetres.
  • The desktop speaks English, Brazilian Portuguese and Spanish, and starts in the system's language. A project names and prints things in its own language.

IFC

  • Export writes the new elements, and import reads walls, floors, ceilings, shafts, stairs, ramps, railings and roofs back. Importing the same file twice now gives the same model.

Windows

  • bimcraft.exe shows the BIMCraft icon in Explorer.

The installer upgrades 0.1.0 in place. It isn't code-signed yet, so SmartScreen asks first: More info, then Run anyway.

Full Changelog: v0.1.0...v0.2.0

BIMCraft v0.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 14:35