FreeCAD Arch development news - October 2017

Hi there,

Time for a new report on the development of Architecture and BIM tools for FreeCAD. Remember, you can help me to spend more time working on this, by sponsoring me on Patreon, Librepay or directly (ask me for a PayPal email or bitcoin address).

Campain and future development

Since I just recently opened the Librepay account, and the Patreon campaign is progressing much (I'm receiving above US$ 600/month already, thanks so much everybody!) I think it's time to be a little more serious and transparent about it, and give you guys some more "accountable" feedback on how the money is used. I'll start using this report to give a sum of how much I receive each month, all crowdfunding accounts together, and also make a bit of a better plan.

As you know if you read my last article, I just returned from the US, and we are also now finishing the WikiLab project (Grand opening is on next friday, november 10th). So I have been a bit away from FreeCAD coding for some time. But I've been saving the money from this campaign, and I'm now getting back to it, and it's quite refreshing! I have many ideas to work on, that I'm in the process of classifying. Basically I am currently working on two main ones (see below), and I'll also start attacking my overdue issue queue on the FreeCAD tracker, and I also have this "small" list of smaller items/issues that have either to be checked further or solved or implemented:

  • Publish FreeCAC manual as a printed book (it's reviewed already, almost ready)
  • Add visual feedback to rectangle, circle, polygon Draft tools when entering dimensions via keyboard
  • Fix IV mode in Sketchfab exporter
  • Allow to draw a beam/column directly, like walls
  • Add option to make Length autofocused when drawing line/walls, so one can indicate a direction with the mouse and type a length, same as AutoCAD does
  • Move back the Arch Floor concept to Arch Cell (like it was before), so the floor object (the name is wrong anyway) can be used to stack objects together in any form youmight think, not only by level/floor
  • Xrefs/lightweight embed objects from same file or other files - experiment further
  • Add a command to move selected objects to construction group
  • Work further on PropertySet type (a property that can contain other properties, tremendously useful for IFC property sets)
  • Allow to auto make a Window from solids (auto recreate base wires and extrusions)
  • Selection view - When typing in the search box, add an option to change selection on Enter only, otherwise, starting to type the first letters makes huge (and slow) changes in the selection
  • SArch materials library - A software-agnostic table of materials used in construction, with properties, color, generic textures, etc
  • Refine material editor - allow easy and proper editing of material properties with appropriate widgets (QItemDelegate)
  • Parking slot object and maybe develop a framework for all that category of custom, mostly-2D-but-not-necessarily-only-2D objects used in BIM work: parking slots, rainwater grids, etc...
  • Section/elevation symbol - Allow to easily add these symbols on a TechDraw sheet manually
  • Align TechDraw views - add a way to align different TD views made with Arch Section Planes
  • Experiment with Coin-based 2D views
  • Make all window parameters accessible in the property editor (O1, O2, W1, etc..)
  • Experiment using App::Part in Arch Cells
  • Better multi-dimensions like in Revit - refine the coin representation to reflect multiple dimensions
  • Level marks
  • Door/Window marks
  • Room finish marks
  • Auto section/elev marks from section plane
  • RCP plan
  • Allow to convert multilayer wall to multiple walls and vice-versa
  • Make all Roles available to all Arch objects
  • Allow to change Draft Label's target object
  • Add Rebar length property
  • Solve "length not working" in walls
  • Addon manager - allow to update all installed addons at once
  • Export meshes to IFC and handle hi-res objects
  • Task panel for Draft Clones (allow to add/remove objects)
  • Add "fill shape" to arch sections
  • Taper for structural objects
  • Remove background from offlinedoc css

I should really transfer all this to the bug tracker...

Current work

I'm currently working on two things, that are not finished yet and therefore not ready to be used:

One is a new FreeCAD importer for Blender, that allows Blender to import FreeCAD files. A prototype exists already, but the Python3 version of FreeCAD that is needed by this importer still gives me problems (crashes on opening, etc). But once that is solved, we should have a proper importer again. And it will have a couple of more advanced features too, such as Cycles support and the ability to re-import a FreeCAD file later, and keep all your existing materials (only update the geometry of existing objects).

The other feature I'm working on (I have no code that is good enoough to test to share yet) is adding Appleseed as a new renderer to the Raytracing workbench. In a first step I am simply looking at producing an .appleseed file from FreeCAD, that can be fed to the renderer externally (same as we do with PovRay and LuxRender), but Appleseed has a powerful and elegant python (and C++) API too, that can in the futre allow a much more seamless integration, and litterally control and display the rendering progress within FreeCAD. But first things first. I'm also extending a bit the Raytracing workbench code, which is currently C++ only, to allow to add new renderers in python code, which will make it much easier for other people to help and add more renderers.

That's it for this month I'm afraid, thanks once again to everybody who helps me with money, and for your patience with me this last months during the WikiLab construction, I'll make sure it was not lost and reverts into concrete, usable material to push the development of BIM projects with FreeCAD closer to what we all wish it to become!

By the way, if you haven't yet, check the amazing work that Regis is doing with recreating one of Aravena/Elemental open-sourced projects in FreeCAD...