Repository navigation
Releases: IPedrax/BIMCraft
Release list
BIMCraft v0.6.0
Full Changelog: v0.5.0...v0.6.0
BIMCraft v0.5.0
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
.jsonfile, 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:
WidthandHeightsize the hole,Sill Heightis a window's sill, and formulas can readWall 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, andbimcraft-clikeeps using them unless a command gives afamily. - 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
exteriorand aninteriorface, a floor, roof or ceiling atopand abottom. - 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
bimcraftandbimcraft-clion the path, add BIMCraft to the applications menu and open.bimcraftand.ifcfiles 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
SHA256SUMSfor all its files. The Release workflow builds every package for any commit (Actions > Release > Run workflow), and the scripts behind them are inpackaging/. - 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-cliand 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,openand 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) andfavorite: 58 in all.materialtakes atexture;doorandwindowtake afamily;familyforms take anaxiswithfromandtodegrees, can be avoid, and a door's or window's family takessymbolsfor 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
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_Phasingproperty 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
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
.jsonfiles. 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
.bimcraftprojects and offers BIMCraft for.ifcfiles. 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
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.
flipturns 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
Full Changelog: https://github.com/IPedrax/bimcraft/commits/v0.1.0