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

1141517192026

Comments

  • Topologic will just discard the stub walls and any other bits that don't enclose a cell

  • @brunopostle said:
    Topologic will just discard the stub walls and any other bits that don't enclose a cell

    Not quite. It will keep them. That is the beauty of non-manifold topology :)
    The breps converted to a CellComplex with no problems at all. I get 12 cells, there is one big cell in the middle, but also a column will be a Cell so you have to count that as well. Stub walls stay with the Cell and with the CellComplex. It simply doesn't care :)



    paullee
  • Here is the Cell analysis of one of the Cells and a visual of its faces exploded out so you can see them clearer.

    paullee
  • edited October 2021

    @topologic said:
    The breps converted to a CellComplex with no problems at all. I get 12 cells, there is one big cell in the middle, but also a column will be a Cell so you have to count that as well. Stub walls stay with the Cell and with the CellComplex. It simply doesn't care :)

    Thanks taking time to test :) Glad to hear those walls won't disturb Topologic analysis !

    The 'CellComplex' can be made by a few steps in python from a 'complex' single-line Sketch object in FreeCAD, it is simple enough :D

    The concerned 'cells' topology would be reported as 'invalid' in FreeCAD though it can be created without problem. So if this is fine with Topologic, it reduce further effort to find algorithm to remove them before extruding to form the CellComplex.

    topologic
  • Just for fun, building 'CellComplex' for Entrance / Ground of the building - if you can recognise it, the Villa Savoye floor layout :D

    The upper floor 'CellComplex' should be sharing some faces with the lower floor.


  • We are making good progress on the #pybind11 python bindings. If you are willing to beta-test privately, please DM me. Requirements are: Windows 10, python 3.9.X. No prior or a de-activated installation of topologic python bindings. Installation and Testing are trivial.

    paulleeNigelcarlopav
  • Hi everyone,
    I have a rough-edged & incomplete beta of cppyy-free Topologic for sverchok that can be installed simply like any other Blender add-on (download ZIP, install add-on). The requirements are: Windows 10, #b3d 2.93, sverchok, python 3.9.X (included with Blender). If you wish to test, download from this link.
    Please do not report any bugs related to "cppyy" these are simply incomplete nodes.

    paulleeAceJanFNigelGorgiouscarlopavJQLMoult
  • Hi everyone. If you are using Blender 2.93 and sverchok on Linux, can you please test this new version of topologic?
    Go to http://topologic.app
    Click on Software
    Click on Download
    Search for the Linux zip file (second link)
    Please report back success or failure. Thanks!

    paulleebitacovir
  • Also if you are on Windows a much improved version is available from the same location on https://topologic.app. Topologic Sverchok has the following optional python libraries dependencies:
    ifcopenshell (install and activate the latest developer release of BlenderBIM first)
    ipfshttpclient
    web3
    openstudio
    The last three can be installed via pip and copied to the site-packages folder.
    Topologic Sverchok also requires numpy to be pre-installed.
    Lastly, if you have installed homemaker, you must activate Topologic BEFORE homemaker since the latter is using a slightly older version of Topologic. In the near future we will both use the same version and ask the user to first download “topologic” or “topologicBIM” via a pip install

    Nigelpaulleebitacovir
  • Hi topologic
    noob question...
    what does the following sentence mean?
    The last three can be installed via pip and copied to the site-packages folder.
    thanks in advance...

  • @Nigel said:
    Hi topologic
    noob question...
    what does the following sentence mean?
    The last three can be installed via pip and copied to the site-packages folder.
    thanks in advance...

    We are all noobs. These pieces of software (ipfshttpclient, web3 are for blockchain stuff) and openstudio (for energy analysis) use the python language. Python software can sometimes be installed from the command line using another piece of software called pip. So, for example, you open one of those black command window and at the prompt you type: pip install web3 and it will automatically find web3 on remote servers, find all its dependencies and will install it for you.
    The software usually ends up inside the system’s python folder in a folder usually called site-packages or site/packages. You will then need to copy them manually out of there and paste them either in Blender’s site-packages folder or Topologic’s own site-packages folder.

    NigelAce
  • Hi topologic, just followed your 'Topologic Sverchok: Finding Adjacent Cells in a CellComplex' Youtube video. It works as demonstrated on Windows 10 without the "cppyy" errors I was previously getting. Nice!

    topologic
  • A new release of Topologic for Sverchok. This release marks the completion of the transition of all visual nodes to the new method of python binding. It is extremely easy to install (download ZIP and install in Blender/Sverchok) and it is much faster.
    https://github.com/wassimj/topologicsverchok/releases/tag/v0.6.0.0

    JQLbitacovirJanF
  • Hi Wassim, does this mean that I can install TopologicSverchok on Windows by just downloading the zip and install in Blender as any other blender plugin and it will work as long as Sverchok is installed too?

    topologic
  • @JQL said:
    Hi Wassim, does this mean that I can install TopologicSverchok on Windows by just downloading the zip and install in Blender as any other blender plugin and it will work as long as Sverchok is installed too?

    YES

    JQLbitacovirNigel
  • YES!!!!

    topologic
  • @JQL said:
    YES!!!!

    Did you try it? Did it work? :)

  • Not yet. I'm doing something else and I need some time to dedicate to this.

  • A new tutorial for TopologicSverchok: Filtering Faces and Removing Collinear Edges. https://youtu.be/EKCJCobfg5o

    paulleebruno_perdigao
  • I have added a proper infobox to the wiki page https://wiki.osarch.org/index.php?title=Topologic
    Still, I can't find a good concise description of the project - not even on the website. Maybe someone could look into that.

    topologic
  • @duncan said:
    I have added a proper infobox to the wiki page https://wiki.osarch.org/index.php?title=Topologic
    Still, I can't find a good concise description of the project - not even on the website. Maybe someone could look into that.

    Thank you. I added a few words. I will keep updating.

    duncan
  • From what I learnt from topologic I understand most of what is written in that introductory page. However, if users are to be attracted to the project and use it, there should be other ways for them to understand what it is. The best way is probably to understand what they can do with it.

    Many of us are architects. For me, as an architect, the thing I like the most with Topologic is the possibility to develop a schematic design as 3D cells and use topologic's abilities to automate the process of adding complexity based in a ruleset we create.

    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;
    • Add 20cm thickness to all inner walls;
    • Add a 50cm slab to all roof;
    • Add a 30 cm slab to all floors.

    Then I'd love to see how to tag openings on the schematic design and see how to convert these openings to the walls and slabs.

    With this we can already do so much with Topologic between testing our schematic designs against energy analysis tools as well as have a base model we could start refine either with direct modelling or, as we advanced, with topologic itself or Sverchok/BlenderBIM.

    I think such a pragmatic example or something along this lines could really allow us to take the first steps and that is what I intend to do as soon as I have some time.

    Does this make any sense?

    topologicJanFduncan
  • @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
Sign In or Register to comment.