[Topologic] Redefining BIM through Spatial Topology, Information, and Grammars

1151618202126

Comments

  • @JQL: Makes a lot of sense. And we have the exact same goal. The main issue is that I do not have the 'glue' software that converts Topologic entities to IFC. @brunopostle has done that. His approach is domain-specific or style-specific, but also rule-specific in that he has invented the language (shape grammar) of how a conceptual model should be translated into a BIM model. But his software layer can be learned from to add a more general translator from Topologic to IFC. Using the existing Topologic nodes, it is quie straightforward to 'thicken' the CellComplex as you have described. The end result will also have full semantic information that will help the next node to assign the correct IFC attributes. But someone has to do all this software development and it is not trivial. So, if you like, I can create a tutorial that thickens the CellComplex, adds all the windows and doors and assigns all the dictionaries. The model will then be ready for conversion to IFC. At this point, you can bake the geometry and use BlenderBIM to manually convert to IFC. So, if you like me to proceed, I need a few more pieces of information:
    1. Is it correct that outer walls will be thickened to the interior of the CellComplex?
    2. Is it correct that inner walls will be thickened centered on the face of the CellComplex?
    3. Is it correct that ground floors and roof slabs will be thickened to the interior of the CellComplex?
    4. Is it correct that any interior dividing slabs will be thickned centered on the face of the CellComplex?
    5. What should one do about intersections? Leave as is for now?
    6. Would you want the outer walls to be made of several entities (per room outer wall) or merged into one entity per facade?
    Answering the above is basically creating a shape grammar :)

    paullee
  • JQLJQL
    edited November 2021

    Honestly, I'm not into BIM at all at this moment. It's far from being a requirement at this point for most my clients and projects. Everything else is what I really want to try out so, if you're available for that tutorial, I'd be thrilled to help out along the way, the best I can.

    Answers:
    1. Yes
    2. Yes
    3. and 4. I believe all should be thickened down so all slabs would work as levels. The roof is to the bottom/interior of the cell complex, all floor slab faces would represent their floor level and, therefore thickened down and the ground floor slab would thicken down outside of the cell complex. Hope this makes sense.
    5. Maybe we should see as it is being developed. Overlapping is not good, but at this point it might be wise to avoid thinking about that. Maybe this has to do with some extra hierarchy of wall types that we could only figure out later on a project.
    6. Maybe a mix. It should probably be a layered wall composed of inner wall, which is similar to all other inner walls and a whole entity for external façade. I'll attach a drawing in a moment.

    PS the drawing above has given me some clues on how to deal with walls and their layers by configuring a core that is related with the cell face and finishes that are related to the cell/room properties

  • @JQL said:
    I'd love to have a simple example there, or a stepped tutorial, on how to feed topological with a schematic design made of adjoined cells and tag all inner walls, exterior walls, roof slabs, interior slabs and ground slabs as IFC objects.
    Then

    • Add 40cm thickness to all outer walls;

    @topologic said:
    1. Is it correct that outer walls will be thickened to the interior of the CellComplex?

    This discussion looks interesting :) Is this what Homemaker is doing behind the scene?

    In fact, I am thinking the other way. In FreeCAD, I can do a Sketch with 'single-line' floor plan, and this could build all walls of the full floor plan with a click, and also generate 'CellComplex' from this sketch. I am thinking if Topologic could provide information to help e.g. identifying which walls are external for FreeCAD to calculate the wall area including deduction of the window area, identifying and calculating escape distance to nearest exit / staircase etc.

    JQL
  • edited November 2021

    ok. Here is the first step. I just released a new version of topologicsverchok at https://github.com/wassimj/topologicsverchok (Look on the right for Releases and choose the newest one by date to download). In this release, I added a new node called CellComplex.Decompose. It takes as input a CellComplex and outputs: outer walls, inner walls, roofs, (ground) floors, and slabs. These can be piped into Cell.ByThickenedFace, but I am reading above that more intelligence in thickening the faces is needed. Will give it a thought.

    JQL
  • Hi everyone,
    A while ago, I tried the workflow that @JQL suggested in a previous post. The basic shapes are two schematic floor plans and a shell. The dimensions and shapes are not from o a real project, it was just for testing purpose. I used Topologic to find interior edges and Sverchok to extrude them. I also used Topologic boolean nodes to get the intersections. It's not perfect, and I think there is an easier way to do it. But it was I nice way to learn and see what I can do with Topologic.
    I would love to see this new tutorial and see how I can improve this.


    topologicpaulleeJQL
  • Here is the next step. Thickening the faces per the instructions of @JQL

    bruno_perdigaopaulleeJQL
  • edited November 2021

    The third step would then be to boolean the cells in a logical manner. In the images below, the exterior walls and the ground floor slab stay as is, I then subtract the outer wall from the roof slabs, the inner walls, and the inner slabs. I then subtract the inner slabs from the inner walls. We can optionally remove co-planar faces (Topologic's method is slow, but we can use decimate in Blender).



    bruno_perdigaoJQL
  • Amazing advances @topologic and @JQL .
    If I may interject here, and regarding the particular development by @brunopostle, my process regarding this very same objective (turn a topological space complex into "built architecture") was built on non-open-source BIM software and therefore I had to cope with its strengths and weaknesses.
    Strength: I could refrain from implying constructive concepts in topologic. Space and topology remained space related and "pure".
    Weakness: I had to "extract" the base geometry to feed the BIM elements generator. It is clumsy in that i.e. these softwares want "lines and height" to create a wall element, whereas we humans know a wall should be created with just a surface.
    But this weakness allowed, as said before, the spatial knowledge of the model to remain space related, and the construction knowledge to be added in a separate "operational layer" that made everything "freer".
    Doesn't the IFC addon in Blender enable this kind of geometry-based creation? If so, the creation rules would be transparent and out of the black box...

    topologicJQL
  • edited November 2021

    @arquitextonica 100% agreed. The above is really just a proof-of-concept, but building the spatial structures through IFC and maintaining the full semantic graph is the correct way to proceed. It just requires some serious thought and programming.

  • I haven´t gotten too deep in the semantic graph of IFC, but I´m afraid it is more a tree (am I wrong?) than a network and that if we transform the network graph of topologic into a tree graph on IFC a lot of information would be lost.

    JQLtopologic
  • I don’t know enough about IFC to comment. But yes if it is strictly a hierarchy then we will lose a lot of information. Below is the dual graph of the final resolved CellComplex. You can see the complexity of the relationships and all of them can be queried and reflected on.
    (Note: The central node from which many edges radiate is the exterior wall which ends up being a single Cell so represented by a single Vertex).

  • This new node is amazing!

    topologic
  • JQLJQL
    edited November 2021

    This is really great Wassim!
    I think BlenderBIM could take objects from topologic and, still in svershok, assign them IFC properties, right?
    We could, therefore, create a whole geometric workflow that is automated by a set of topologic rules and then finish it off to send to another BIM package.

    I understand that this is what homemaker is doing, but it’s ruleset is extensive and somewhat rigid, in the sense that it’s complying with a certain way of thinking. Having topological at a root level approach would allow any of us to create our own set of rules to generate building elements automatically. We could then decide which parts to model with this rule set and which parts to model directly or with other software and combine all conceptual processes more loosely.

    If this was streamlined enough, I could see topologic being able to develop the main conceptual stages until the project is stable enough for detailing. In blender it would have the added advantage of being integrated with a highly flexible presentation tool, so it’s the right environment.

    topologicarquitextonica
  • @arquitextonica said:
    I haven´t gotten too deep in the semantic graph of IFC, but I´m afraid it is more a tree (am I wrong?) than a network and that if we transform the network graph of topologic into a tree graph on IFC a lot of information would be lost.

    For what I understand it is a tree, but for topologic it doesn’t really matter, if you have geometry that is aware of its own relations with each other, you can present it in any way you wish, you can comply with any graph semantic right?

    So, with topological, you can organize geometry by floors, buildings, zones, or anything else you wish for any purpose. From a conceptual model, you could generate any kind of export you need or any kind of report on the model.

    topologic
  • @bruno_perdigao that model is really interesting. It would be nice to have your 2D plans being clipped to the outer shell bounds. That way one could control better stuff like areas or floor layout.

    bruno_perdigao
  • @JQL said:
    For what I understand it is a tree, but for topologic it doesn’t really matter, if you have geometry that is aware of its own relations with each other, you can present it in any way you wish, you can comply with any graph semantic right?

    So, with topological, you can organize geometry by floors, buildings, zones, or anything else you wish for any purpose. From a conceptual model, you could generate any kind of export you need or any kind of report on the model.

    I agree that topologic can send the needed information to IFC, but the return trip is not guaranteed to be lossless. But yes, this is consistent with our original vision of Topologic as a driver model that has the lightest possible ‘weight’ and the largest possible amount of information. This ends up being Topologic = Space x Information. (Not an addition, but a multiplication). This model can then drive other models.

  • @JQL said:
    in the sense that it’s complying with a certain way of thinking. Having topological at a root level approach would allow any of us to create our own set of rules to generate building elements automatically. We could then decide which parts to model with this rule set and which parts to model directly or with other software and combine all conceptual processes more loosely.
    If this was streamlined enough, I could see topologic being able to develop the main conceptual stages until the project is stable enough for detailing. In blender it would have the added advantage of being integrated with a highly flexible presentation tool, so it’s the right environment.

    You described my doctorate research...

    @topologic said:
    Topologic = Space x Information.


    Coined some time ago... space to the power of information multiplied by control...

    topologic
  • Hi Wassim @topologic ,
    I was watching your tutorial about Custom Properties and I couldn't find the node that you mention: Topology.TransferCustomProperties. I installed the latest version from today. Is this node available in this version? I found a DictionaryByCustomPropeties but it doesn't seem to work the same way.

  • @bruno_perdigao said:
    Hi Wassim @topologic ,
    I was watching your tutorial about Custom Properties and I couldn't find the node that you mention: Topology.TransferCustomProperties. I installed the latest version from today. Is this node available in this version? I found a DictionaryByCustomPropeties but it doesn't seem to work the same way.

    Ah you caught that! Yes I changed the design so now you get the dictionary created from the custom properties and you can assign them to the topology (or any other topology). Feedback welcome on GitHub if not working well for you.

  • Ok, I was able to transfer, but the array from the Color property came like this:

    Maybe the problem is related to the way I created the custom properties?

  • Oh I probably didn’t accommodate the Color custom attribute correctly. Will look at it tomorrow

  • @topologic said:
    Oh I probably didn’t accommodate the Color custom attribute correctly. Will look at it tomorrow

    Thanks!


  • further to @topologic questions
    1. Is it correct that outer walls will be thickened to the interior of the CellComplex? Best to have an option to vary the centreline to internal face as this would allow external walls to be thicker than internal walls
    2. Is it correct that inner walls will be thickened centered on the face of the CellComplex? Generally Yes, although answer to 1. could apply
    3. Is it correct that ground floors and roof slabs will be thickened to the interior of the CellComplex? It would be best that the floor surface defines the FL (floor level) and the slab/floor thickens towards the exterior, same should apply to the roof
    4. Is it correct that any interior dividing slabs will be thickened centered on the face of the CellComplex?
    5. What should one do about intersections? Leave as is for now? Yes
    6. Would you want the outer walls to be made of several entities (per room outer wall) or merged into one entity per facade? Outer walls one entity and separate to the inner walls

    topologic
  • @bruno_perdigao Hi. Topologic has been updated and this bug has been fixed. Please let me know if it working better for you.

  • @topologic Thanks, Wassim, the bug is fixed. However, I have another question regarding the tutorial. I managed to color my cells, but the order does not follow the text location. Even when I change the position of the texts, the colors remain the same. Anything missing in this setup?

  • @bruno_perdigao said:
    @topologic Thanks, Wassim, the bug is fixed. However, I have another question regarding the tutorial. I managed to color my cells, but the order does not follow the text location. Even when I change the position of the texts, the colors remain the same. Anything missing in this setup?

    Send me the blender file

  • @bruno_perdigao This has been fixed in the newest release. I will upload a new Youtube tutorial.

  • Hi @arquitextonica, I was playing with @topologic new nodes to try to replicate your demonstration. In this demo each cell has an information (the name of the room) and based on that I can create a different kind of outer wall. The ones that belong to the living room are blue, the rest is green. Is that the basics of what you showed? Am I getting it right? By the way, I'm very curious about your thesis. Great work.
    PS - Thanks Wassim for fixing the nodes

    paulleetopologicbrunopostle
  • @bruno_perdigao that is impressive, I'm not at that level yet. I am interested in orientation, relationships, and adjacencies so rules can be set for what rooms can connect to what other rooms and what rooms can share a wall or not and their orientation to North (for us at the bottom of the world) or South.

    topologicbruno_perdigao
  • edited November 2021

    I’m thinking it might be time for a live Topologic workshop where we work together on a couple of interesting problems and create a working interactive demo.
    Is there interest in this? And if so, please reply with a fairly specific/detailed design problem that Topologic can help solve. We can then vote on and choose two that are workable and I can test and prepare the initial workflows. We can do a morning and an afternoon session to accommodate different time zones. I’d rather not just demo them one-sided though, but we work together and brainstorm ideas on how it can be solved. We can share screen and offer screen control for participants to drag and drop nodes and test them. Could be messy and fun ?
    If so, ideas please?

    brunopostleNigelpaulleetheoryshawJQLJanFLaurensJNjchkoch
Sign In or Register to comment.