BlenderBIM: UI for switching views

edited September 5 in General

@Moult
Per our UI conversation, in addition to switching views, when the name is clicked on, it would be nice if it selected the camera as well. Will help quickly go to the 'object data properties' of the camera, to change parameters, etc.

«1

Comments

  • ... on second thought, that might be a problem, as it would deselect a selection set that a user might want to be maintain while switching between views.

  • ..maybe right click on name to go to 'object data properties' of the camera?

  • edited September 7

    Now it is accessible from the 3D view properties tab (use "n" key to toggle). You can filter, and a single click will change the view.

    https://github.com/IfcOpenShell/IfcOpenShell/commit/36bd903736a491b5690bc841094553f2c2746723

    JanFbitacovir
  • @Moult awesome, really need to see a walkthrough of all these new 2D view/drawing features

    MoultBedsonCadGiru
  • edited September 7

    @brunopostle, In the following video, Dion was able to provide us with a walkthrough on a number of documentation features. My understanding, was that he would eventually put this on peertube/youtube.
    https://www.dropbox.com/s/hiflaeo55koyp8y/2020-09-04_17-58-20.mp4?dl=0
    fyi, I had the incorrect recording settings so my audio was not recorded, so there's silence when I was talking... which is probably best. ha :)

    brunopostleJQL
  • Nice seeing what's the state of these features. It's a bit scary atm between blender UI, CSS text editing and a lot of manual work, but it's actually not very different to what I have to do in SketchUp. With a little more point and and click, some more automation and less bugs, this would be excellent already. Maybe it's also viable for trying out in one of my next smaller projects.

    Some questions for @Moult . In the future do you guess it would be possible to:

    • Represent contours on plan view?
    • Have room volumes automatically found?
    • Have demolition parts be represented in some drawings but be excluded from viewports for working on the rest of the building?
    • have exported linework in vector instead of raster?
    • Have texts exported as texts?
    • replace svg/jpg/png for dxf or DWG?
    • Assign layers for AutoCAD drawings (tags, walls, windows, structure, sections,...)?
  • Answering the questions:

    1. Can be done manually now, but plan to automate in the future.
    2. Need to automate this. It's on the roadmap.
    3. Already possible.
    4. Already possible for the majority of lines that matter. Unlikely to have an easy solution for the lines in elevation.
    5. Texts are already exported as text.
    6. Not "replace", but do plan to provide better support.
    7. Already possible.
    JQL
  • This is much more evolved than I thought it was then. Count me in. I'll try doing something real with it in the near future.

  • Hi guys, really like the blenderbim addon; step by step i understand how it works. But a have some doubts about on how use it correctly and i would like to know if you can help me. BTW, i already read the tutorials on the website and follow the Doin's youtube chanel but even so i still have some troubles.

    First.- Can any method be used to draw the building and its components? for example use the archimesh addon or archipack to draw, and later used the blenderbim for apply atributes Bim? or is necesary draw all with poligons(traditional way) so as not to affect the capabilities and properties of blenderbim?

    Second.-How can i make inkscape not open every time i press the "create draw" button?

    And third.- Where i can check which drawings have already been added to my sheet?

    thanks a lot

  • @Darth_Blender

    1) Yes, any method can be used
    2) At the moment, the default program associated with SVGs will launch. Change your OS file association preferences. I will add an option to let you configure this.
    3) You can't. Open the sheet in Inkscape and see what's on it :) I know, I know. It's on the todo list.

    Darth_Blender
  • hi @Moult
    Thank you very much for the answers and for the software.
    I'm currently not doing any work that involves drawing plans, but between blender and blenderbim I have all my free time trying to learn how to use them well.

    Greetings and thanks

  • Here's an updated video showing drawing creation with the latest version:

    brunopostlebitacovirCyrilbasweinReD_CoDEDarth_BlenderJesusbillJQLcarlopavrodtxrand 1 other.
  • @Moult said:
    Here's an updated video showing drawing creation with the latest version:

    Holy shit! O_o

    JesusbillMoultJQLcarlopav
  • @Moult are these dumb walls new and part of blenderbim as distinct from similar tools in other add-ons? I can't access the attributes, I can see that the dumb stair has 'number of steps' attribute, but I see no way of altering it.

  • @brunopostle these dumb walls have been part of the BlenderBIM Add-on for two version, and distinct from other add-ons. Correct - you cannot access the attributes, because they are, well, dumb :) If you wish to edit, look in the modifier stack, because that's all the dumb generators are - a few lines and modifiers. I plan to keep them dumb, and leave smart parametric stuff to other add-ons.

    A little note that you don't need to use the dumb walls / doors / stairs etc. They are simply there as a lowest common denominator in case the user wants something almost vanilla out of the box. You can model vanilla manually if you prefer, use Archipack if you wish for smarter parametric objects, use Archimesh for something in-between, import from FreeCAD, whatevever - the BlenderBIM Add-on is agnostic of how you create your geometry.

    brunopostle
  • @Moult said:
    You can model vanilla manually if you prefer, use Archipack if you wish for smarter parametric objects, use Archimesh for something in-between, import from FreeCAD, whatevever

    I'm sorry if I keep asking dumb questions but:

    If you would use FreeCAD to model your building why would you want to send it to Blender to work on BlenderBIM?

    I was thinking the choice would be mainly between FreeCAD and BlenderBIM, not that they would be complementary.

    I had understand I would bet on experimenting these two possible workflows:
    1 - Concept and massing study, BIM modelling, documentation and classification with BlenderBIM, presentation in Blender using it's native features, and only condoc in FreeCAD.
    2 - or main modelling, BIM classification documentation and condoc in FreeCAD and presentation in Blender without needing BlenderBIM

    How come, if you model in FreeCAD you would have advantage in moving to BlenderBIM?

  • @JQL Blender and FreeCAD are good at modeling different types of shapes - this is regardless of the design stage (concept vs construction). They use different paradigms for modeling, and there is no saying that one is better than the other. Rather, you need to consider the shape on a case by case. There is no need for a BIM model to be authored from a single application, we can have some objects coming from FreeCAD and some from Blender, or really any other software - SketchUp, Rhino, ZBrush, MeshLab reconstructions of point clouds... Another aspect to consider is the IFC geometry that can be produced: FreeCAD is very good at creating IFC parametric shapes, whereas Blender is very good at creating IFC meshes.

    Once the IFC geometry is created, then comes the question of IFC data management. Right now, I think that the BlenderBIM Add-on is more advanced than FreeCAD for this purpose. For example, the BlenderBIM Add-on packages tools like IFC CSV, IFC Diff, IFC Clash, IFC COBie, BIM Tester, IFC Patch, and also supports more control over representation contexts, material properties, and even owner history. Last I checked, FreeCAD also didn't have much support for IFC type objects, which are vital for larger jobs, but that might've changed. For basic attributes and properties, I think FreeCAD and the BlenderBIM Add-on are both roughly equal, though. My experience in FreeCAD on this could be a bit outdated, so someone please correct me if I'm wrong.

    Once you have geometry and data, then comes construction documentation. Again, there are two different paradigms at play: FreeCAD produces documentation based on FreeCAD objects, whereas the BlenderBIM Add-on produces documentation based on IFC + SVG. FreeCAD has had much longer to develop their drawing platform, so I suspect it is quite a bit more advanced - but really you need to consider the fundamental difference in approach and which appeals to you.

    JQL
  • edited September 13

    To me, freecad is a design package - like archicad, revit or allplan. Blenderbim is BIM authoring software, based around ifc, but with added capacity of 2D drawing generation (which no-one else has), in these areas it actually mostly operates independent of blender. And another capability is exporting blender geometry to ifc, which opens the possibility of using it as a design package as well - if you are comfortable with using blender tools for design. If not, you can use anything else for this part.
    The thing is, right now, there is no way to store project scale 2d documentation in ifc, which seems to be a fundamental problem for a lot of people. If we could generate it directly from ifc, it would make life a lot easier for many - mostly investors and facility management.
    Edit: not like solibri, solibri only checks bi models, does not create them.

    JQL
  • To me, Blender is a design package :)

    By the way, FreeCAD has 2D drawing generation, and has had it much longer than the BlenderBIM Add-on.

    IFC can indeed store project scale 2D documentation. See the TargetScale attribute here. Admittedly, TargetScale itself is not yet implemented in the BlenderBIM Add-on, but there are plans to do so. All the 2D annotation is stored in the IFC file - this includes door swings, grids, dimensions, RL tags, etc.

    JQL
  • I belive this paragraph in the Wiki tells everything :

    "A small commercial building project was first designed in Blender. We were then faced with the task of remodeling it in Autodesk Revit. We figured it would be easier to build an entire BIM application and construction documentation tool from scratch rather than face the pain of remodeling it in Revit. It turned out that it was.

    I have learned that Blenderbim will be a solution for blender users that allows any 3d model made with blender (regardless of the tools you use to do it), can be used efficiently in the generation of a Bim project and that the modeling time used in Blender is not only used for the generation of archviz images. I think its purpose is not focused on being an architectural modeling suite within blender as archipack or archimesh are, but on being a set of complement tools for blender that give us a 2d, 4d and 5d information of a 3d model(thing blender do it great by itself).
    Or i am wrong?

    JQL
  • @Moult said:
    FreeCAD is very good at creating IFC parametric shapes, whereas Blender is very good at creating IFC meshes.

    So, in your perspective, why is this relevant?

    Is parametrics a requirement or is it simply a good thing to have for when things change?

    I had a brief look at FreeCAD and the modelling seemed awkward to me. It is simple to understand how to model in the viewport, but it was very hard to change the model afterwards. I had to input numeric values for a slab to stretch and I rather do it visually. I must be failing to find the right methods...

    And what about visual programming modelling instead of parametric geometry? What would be the best package to consider it?

    Blender has sorcar and sverchock which seem cool, but there are no nodes for BIM classification and I am afraid that they might stall development at some point.

    FreeCAD seems to be getting the dynfreecad into play which depends on dynamo development which seems to have more guaranteed continuity.

    But then FreeCAD lacks good support of texturing workflows and those are key for presentations. Our work is very dependent of presentations and I always feel that moving between software packages breaks things so having blender doing presentations for FreeCAD models seems working in two branches of the same project that will be hard to keep in sync.

    Finally my main problem is having a good workflow between 3d design iteration, presentations and 2d documentation.

    I really love what you recently showed for BlenderBIM documentation. I don't know if those dimensions lines were in sync with model changes but the hatching was great and the process of getting automatic drawings is very appealing.

    I feel that blender and blenderbim comes closer to a full package, honestly.

    If I include in this workflow BIM classification which seems very robust in blenderBIM (though I still know very little about BIM and blender and blenderBIM) I think I would have a winner.

    How easy is it to produce quantity take offs from BlenderBIM? Is it possible at all? Will it be? Is there any software capable of doing that from an IFC model?

    Sorry for my continuous inquisition and thanks in advance for your reply.

  • edited September 13

    @JQL said:
    I feel that blender and blenderbim comes closer to a full package, honestly.

    If I include in this workflow BIM classification which seems very robust in blenderBIM (though I still know very little about BIM and blender and blenderBIM) I think I would have a winner.

    Are you waiting for a single open source program to do EVERYTHING for BIM?
    Please consider, that level of performance is far for what these projects can do with their community of few free-time developers and zero budget. I just read in FreeCAD Forum about better texture features for visualisation and developers point that is more realistic and priority a better interoperability with Blender. It is not about what is an ideal, It is about what is achievable in the current context.
    Rather than to look for BIM done with a only program, I think here the goal is to do BIM with open source resources. That is an achievable goal right now.
    But this is open source, if you want to change that, just start coding... :)

  • @bitacovir said:
    Are you waiting for a single open source program to do EVERYTHING for BIM?

    I was, more or less trying to find something that could have the widest possible scope, yes. But I know that I can keep waiting if I'm expecting a full package for everything. That doesn't exist even in proprietary software with other kind of resources. So I know what you mean...

    I'm just trying to understand if my options can be around what you guys are doing. I'm also trying to figure out what would I need to learn in order to get going or where should I focus my attention for a given task.

    @bitacovir said:
    But this is open source, if you want to change that, just start coding... :)

    Looking at me from the outside I certainly seem a spoiled brat, but I'm just someone looking for the most info I can to see what is the most viable course of action. I'm learning a lot too, and trying to learn how to navigate around here. I'm also willing to help once I figure out how to do that or where can I help. I even started learning python to know if I could but I don't think I will be much help on that side, honestly. There's just a few hours in a day and in the end I'm just an architect looking for options for producing better work and futureproofing my practice. At the same time, I already have my own workflow where some stuff works very well and other stuff does not. Ideally I should keep what works and ditch what doesn't, while leveraging the future.

    The best plan I can think of from the point I stand right now, is to ask noob questions, hoping I will find something to work with, so I can manage to use some of this software effectively. At a later moment I intend to share my experience with it, helping other users that way, reporting bugs and feature requests for that software.

    I hope that might be good enough and thanks for your patience.

  • @Moult said:
    By the way, FreeCAD has 2D drawing generation, and has had it much longer than the BlenderBIM Add-on.

    IFC can indeed store project scale 2D documentation. See the TargetScale attribute here.

    Yeah it does, but Blenderbim operates directly on ifc, independent of blender model, right? So developing a standalone viewer with a simple ui to set a section and the ability to generate 2d plans should be possible.
    Even the Building Smart Austria EIR template apparently still suggests 2d plans in pdf and dwg (double handed facepalm) as a standard delivery. Perhaps if employers had a tool like that, it would be easier to convince them to ditch 2d documentation.

    I was told that there's no way to store 2d plans in an ifc (by that I mean a section through the whole house or a detail section) at a course on BIM a few days ago, it is not from my head. We discussed the representations there, but even after reading the article you linked I am not certain it is possible - representations refer to a single element don't they? The only way I can think of would be creating something like a blender empty object and assigning it a 2d section representation with the detail drawing. (Which would again of course have the issue of being completely independent of the 3d model)

  • @JanF Correct, the BlenderBIM Add-on operates directly on the IFC, so it is possible to develop a standalone viewer ... with one issue which needs to be resolved: objects in the background (i.e. not cut) are rendered as raster. Currently, that uses the Blender OpenGL renderer, so a standalone one would have to recreate an OpenGL renderer... which is a bit of work, but not a huge amount, especially for someone who knows their C++ and OpenCASCADE.

    It is certainly possible to store 2D plans. Maybe what the course on BIM meant was that most vendors don't support it - the BlenderBIM Add-on is an exception to the rule, but is not the only one, but they are certainly rare. I can think of three ways:

    1. Fully linked to the 3D model, by storing element-by-element representations that are geometric context specific, as well as IfcAnnotation elements for all annotation, associated by IfcGroup and presentation layers (like CAD layers). This is how the BlenderBIM Add-on achieves it.
    2. Not linked to the 3D model, but stored in the IFC - this is the same as above, but instead you may group into a single IfcAnnotation if you wish, or also separate to any arbitrary number of IFC elements, but as there is no need to associate with the 3D model, you do not need to store the Model context on any of these elements. This is a bit similar to your "Blender empty object" example, but it wouldn't be an empty - it'd be something a little advanced that contains a lot of vector and style info that I'm not quite sure how to represent in Blender's UI yet, but certainly is possible in IFC.
    3. Associated as an externally referenced document file, with some metadata for positioning in 3D space. This achieves an effect similar to what tools like Revizto and construction overlay offerings provide when associating drawings with the model.
  • @Moult said:
    @JanF Correct, the BlenderBIM Add-on operates directly on the IFC, so it is possible to develop a standalone viewer ... with one issue which needs to be resolved: objects in the background (i.e. not cut) are rendered as raster.

    Is the Blender Freestyle renderer suitable for generating these background objects?

  • edited September 14

    @brunopostle in my tests half a year ago, the HLR calculation was too costly (i.e. took too long) to be practical with Freestyle.

    Keep in mind that since it's simply a background layer created by Blender's render output, you could totally use freestyle if you wanted to. Nothing in the add-on forces you to only use a raster image as the background.

    For those who have seen the Sverchok vector drawings, they simply pile 2D polygons on top of one another with Z layering, so although it's much faster to compute, you end up with SVGs with very huge filesizes. I've tested this approach too with OpenCASCADE but the drawing sizes were too huge to be convenient.

    Tough nut to crack.

    brunopostle
  • edited September 14

    @Moult there are some 2D drawings where the 'background' is the drawing and the section cuts are secondary (elevations, reflected ceiling plans), in these cases we need to render the background as vector. I'm suprised that opencascade doesn't have some kind of efficient hidden line removal built-in. Obviously this is a hard problem, AutoCAD PDF output rasterises hidden line views too. [edit] the AutoCAD SOLPROF command does an almost perfect job with ACIS solids for orthogonal views, so it can be done.

  • @Moult I assume you are familiar with this paper?
    It seems to be pretty exhaustive on the different methods of generating the curves.

  • @brunopostle yes - agreed. In fact, a lot of drawings are pure elevation, especially in fabrication stage. I'm still searching for a better solution. I'm unfortunately not an expert in this - I don't have a training in algorithms for computer graphics, or really much computer science at all, and a lot of this is usually in C++, which I don't know how to code in. I hope someone can help solve it, but until then, I do what I can with the best of my ability :)

    As for OpenCASCADE, it does have a whole section on HLR: https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_hlrbrep.html

    I definitely investigated it many moons ago when I was starting to tackle this problem, but from memory (memory fades!) I think it only addressed lines, whereas I needed to know face areas - since in a lot of these elevation drawings, you often want to shade the surface, not just the lines. But there's a huge list on that page I linked to, and I think I only investigated a few, so I perhaps missed something. In fact, I hope I missed something and perhaps it's actually very easy :)

    Also, I think the solution is much easier with solids, since there are rules around each type of solid - in IFC, where you get meshes, solids, and even parametric I-Beams as a primitive shape, things become a little be hairier.

    @JanF - I'm not familiar with that paper unfortunately. I had a skim through and it looks excellent, and hopefully there is a solution buried there somewhere. I'm a little tied up at the moment, but hopefully I can revisit this thread in the future. However, if someone wants to jump in, the shopping list is as follows:

    1. Fast
    2. Needs to extract edge vectors, not pixels (there are lots of pixel based algorithms, which is similar to what I'm doing now with Blender's OpenGL wireframe render)
    3. Needs to extract faces - and even more particularly, know when to join faces into a shaded whole, or maybe this is too hard (from memory, I think Revit's shaded faces
    4. Needs to correlate extracted edge / face back to the original object (so that semantic styles can be applied)
    5. Ideally, something that isn't too much of a pain to work with OpenCASCADE shapes
    brunopostle
Sign In or Register to comment.