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

1679111226

Comments

  • I agree. The program conceptualization of space is never exclusive to the building experience. Architecture lives from aspects that aren't dealt with software. Getting program, technical and constructive questions solved fast is what software is here for. Freeing ourselves from what can be dealt with by machines and software is the next big step that technology can offer to Architecture.

  • @topologic can it be used to find intersections between planar shapes, like a wall and a floor, and return the topology of the intersection? (could be a single point, a line, or another planar shape if they overlap)

  • I just wanna add that I can't wait to test this in Blender!

    CGR
  • @Jesusbill said:
    @topologic can it be used to find intersections between planar shapes, like a wall and a floor, and return the topology of the intersection? (could be a single point, a line, or another planar shape if they overlap)

    Yes it can.

  • Great! I will be very interested in this, especially for use in back-end

  • @bruno_perdigao said:
    I just wanna add that I can't wait to test this in Blender!

    I am happy for @brunopostle and @yorik to post instructions here on how to install it for those wishing to test it, but please know the current version is not for the faint of heart and is not supported and will be eclipsed with the official version in a few weeks. But if you want to try it today, I am happy for them to post instructions here.

  • @Jesusbill said:
    Great! I will be very interested in this, especially for use in back-end

    Is this what you mean? In one case it returns an edge, in the other a vertex, but all the same operation (intersect)

  • Yes exactly, great.

  • Hi everyone. For those of you not following the latest on twitter (@topologicBIM). I just made the TopologicPy for Linux and Python public and available at http://github.com/wassimj/topologicPy. We managed to get it working in Blender, and we are starting to work on adding it to sverchok. This is all very preliminary alpha code.

    brunopostleCGRtheoryshawcarlopavbruno_perdigaoJesusbillMoultpaulleeLaurensJNCyriland 3 others.
  • ..and I'm slowly porting my Topologise blender add-on to python here (using the new @topologic library): https://github.com/brunopostle/homemaker-addon

    Tips and suggestions welcome, I'm no python expert

    topologicJQLcarlopavMoultduncanCGRDADA_universe
  • Congratulations!

  • An not to leave FreeCAD behind, topologic also works in it. We now need four things to move forward:
    1. Bruno's effort to connect Topologic to Topologise
    2. Embed Topologic in sverchok and/or create a topologic add-on for Blender
    3. Create a Topologic workbench in FreeCAD
    4. Re-create the above for Blender/FreeCAD on Windows and Mac

    carlopavJQLJesusbillbrunopostleMoulttheoryshawCGRDADA_universepaulleebitacovir
  • Here's the topologicPy python bindings to the TopologicCore c++ library being used to process a blender mesh and identify external wall axis paths (work in progress).

    All this code is here on GitHub, hardly any of this is blender specific, so it should be straightforward to use in freecad.

    topologiccarlopavJesusbillarquitextonicaCGRtlangJanFJQLtheoryshawDADA_universeand 3 others.
  • Far from understanding the technicality of the discussions. Seems lots of progress :D

    If something is ready for use or test in FreeCAD, would like to try :D

    topologicJQLbitacovir
  • @paullee said:
    Far from understanding the technicality of the discussions. Seems lots of progress :D

    If something is ready for use or test in FreeCAD, would like to try :D

    Hi @paullee Are you looking to try Topologic or Homemaker/Topologise in FreeCAD? If the former: coding Topologic in FreeCAD can now be tested by installing it from http://github.com/wassimj/topologicPy
    I am happy to jump on a zoom meeting to walk you through it.

    JQL
  • First success with @topologicBIM in #sverchok on @Blender #b3d in #Linux. This creates two Vertices by Coordinates --> creates an Edge by these two Vertices --> computes the Centroid of the Edge --> and outputs the coordinates of the Centroid.

    JanFbrunopostleCGRtheoryshawcarlopavJQLbitacovir
  • @topologic said:
    Hi @paullee Are you looking to try Topologic or Homemaker/Topologise in FreeCAD? If the former: coding Topologic in FreeCAD can now be tested by installing it from http://github.com/wassimj/topologicPy
    I am happy to jump on a zoom meeting to walk you through it.

    Many thanks !
    Not aware what is Homemaker/Topologise :)
    I am on Fedora 31, just follow the instruction on github ? (not much idea what each line means :D )

    topologicJQL
  • @paullee said:

    @topologic said:
    Hi @paullee Are you looking to try Topologic or Homemaker/Topologise in FreeCAD? If the former: coding Topologic in FreeCAD can now be tested by installing it from http://github.com/wassimj/topologicPy
    I am happy to jump on a zoom meeting to walk you through it.

    Many thanks !
    Not aware what is Homemaker/Topologise :)
    I am on Fedora 31, just follow the instruction on github ? (not much idea what each line means :D )

    I understand. This effort thus far is not at the point where it is a user-friendly piece of software with a graphical user interface. @brunopostle has it installed on Fedora 32. I have it on Ubuntu 2.10 Groovy Gorilla and Python 3.8. If you are interested, my offer stands for a Zoom meeting to walk you through it. You (or anyone reading this) can book a time using http://jabiw.ycb.me

    paulleearquitextonicacarlopavJesusbillCGR
  • I would love to attend that meeting, or any other around Topologic, even if I'm a windows user waiting for a dumb UI.

    carlopavtlangCGR
  • @topologic said:
    I understand. This effort thus far is not at the point where it is a user-friendly piece of software with a graphical user interface. @brunopostle has it installed on Fedora 32. I have it on Ubuntu 2.10 Groovy Gorilla and Python 3.8. If you are interested, my offer stands for a Zoom meeting to walk you through it. You (or anyone reading this) can book a time using http://jabiw.ycb.me

    Seems quite some peoples would be interested.
    Would it be better if this is a short presentation in the Monthly Meetup ? :D
    Probably becoming a series of updates and/or discussion on the usage, direction of development, features etc. ?

    JanFCGR
  • @paullee I think once we progress with the work a bit more, @brunopostle and I could perhaps give a joint talk and field questions.

    paulleebrunopostlecarlopavJQLtlangCGRduncan
  • edited February 2021

    Here's a bit more work in progress, I've ported my Homemaker Topologise add-on code that identifies floors and internal/external walls to use the topologicPy python classes (that use the Topologic C++ library behind the scenes). Then, so there is something to see, I've used Dion's 'dumb wall' to draw the results in blender - This is just temporary code, I intend to reintegrate the old 'Molior' system that generates IFC entities for windows and doors etc..

    As you can see, using Topologic to segment some quite roughly drawn geometry into cells is really easy and very fast - with my Perl code in the old add-on I had to ensure that all the vertices in the mesh aligned perfectly, now all that is necessary is that the faces overlap.

    CGRtopologicJQLpaulleebruno_perdigaotheoryshawbasweinJesusbilltlang
  • Woahh.. is this what I think it is? I am wishing an IFC-repairing Tool. We get Revit IFCs from architects that do not respect the state-of-the-art rules. Very often the IFCspaces are not well declared. Then I need to import those IFC to the next tool (DDS-CAD or DIalux Evo) and of course it fails because of wrong IFcSpaces or Spaces-geometry descritpion. So what I see is that this combination of Topologic/Topologise can recognise volumes and declare them back to a clean IFC entity ? This is my repairing Tool ?
    Any Building in Blender (IFC or not..) can be scanned and given back as an IFC Model !! Since it is topologised and topologic.ised , it is also open for different geometry descriptions... Cyril may want only internal walls descriptions, Jesusbill only a kind of wireframe.. sounds very cool..

    topologic
  • @lukas said:
    So what I see is that this combination of Topologic/Topologise can recognise volumes and declare them back to a clean IFC entity ? This is my repairing Tool ?
    Any Building in Blender (IFC or not..) can be scanned and given back as an IFC Model !! Since it is topologised and topologic.ised , it is also open for different geometry descriptions...

    There is still the problem that the raw geometry may have gaps, so two cells can 'leak' into each other. The other issue is complexity, Topologic identifies a cell complex in a mesh with 600 faces in about three seconds (on my ancient laptop), which is incredibly fast; a normal bim model may have hundreds of thousands of faces, plus the resulting cells would have too much detail.

    This is why I suggested a two part approach: you convert the raw geometry into voxels to fill the gaps and reduce the resolution; then use this to identify cells, walls and floors; then you use this Topologic model to go back and classify the building elements properly.

  • What if topologic would ignore cells that are too thin and would then find the average axis between the thinner distance. That would allow us to turn walls into axis instead of cells. From those axis we could then auto remodel spaces. Far fetched?

  • @JQL I'm not sure, what about walls that are drawn as studs and panels? or openings that are modelled rather than cut with ifcopening* elements?

  • @JQL said:
    What if topologic would ignore cells that are too thin and would then find the average axis between the thinner distance. That would allow us to turn walls into axis instead of cells. From those axis we could then auto remodel spaces. Far fetched?

    Ever since we published Topologic, people ask us if they can use it to go from existing BIM models to conceptual models to add information, or fix them or analyse them. Our original vision was always to do the exact opposite and we need to change people's minds about this: Start with a simple conceptual model (e.g. a CellComplex), stay with it for as long as possible to analyze it, optimize it etc and when ready, use shape-grammar rules to 'thicken' it and create very well-formed BIM/IFC models. If I understand the video, this is what @brunopostle is doing. He is creating a Cell, slicing it with Faces and when done, creating a CellComplex and then 'thickening' it into a wall,floor, ceiling type of model.
    Going from Complexity to Simplicity is always going to be fraught with errors. Having said that, we are doing some interesting things with grouping rooms in a Revit model into apartments by creating the graph and checking for islands in the graph. It took a 5-day job and reduced to mere minutes.

    bruno_perdigaoJQLpaulleeCGR
  • Once everybody is opensourced, sure the simple to complex way is the right choice.. but for now, we have to deal with BIM-unaware/incomplete/mismanaged models and try to use them.. so the correction/repair tool is a kind of go in between as long as the world is not openBIMed. I do not get any chance to experiment myself.. think I need 3 weeks holiday to install and learn. I pay a xxxx.-€ to Osarch for a tutorial and workflow that would bring me the one revit-ifc here to a usable DDS-CAD model that would also go into Dialux-Evo. Probably not enough.. need to deal with import-capabilities of DDS-CAD and Dialux-Evo. But in fact I should ask these companies to pay. That is why I xx.ed the amount. Should go for xxxxx . This IFC-compatibility tool would be a runner to my opinion. (just walls, doors, windows, stairs and 2nd-ceilings)

    CGR
  • @topologic said:

    @JQL said:
    What if topologic would ignore cells that are too thin and would then find the average axis between the thinner distance. That would allow us to turn walls into axis instead of cells. From those axis we could then auto remodel spaces. Far fetched?

    Ever since we published Topologic, people ask us if they can use it to go from existing BIM models to conceptual models to add information, or fix them or analyse them. Our original vision was always to do the exact opposite and we need to change people's minds about this: Start with a simple conceptual model (e.g. a CellComplex), stay with it for as long as possible to analyze it, optimize it etc and when ready, use shape-grammar rules to 'thicken' it and create very well-formed BIM/IFC models. If I understand the video, this is what @brunopostle is doing. He is creating a Cell, slicing it with Faces and when done, creating a CellComplex and then 'thickening' it into a wall,floor, ceiling type of model.
    Going from Complexity to Simplicity is always going to be fraught with errors. Having said that, we are doing some interesting things with grouping rooms in a Revit model into apartments by creating the graph and checking for islands in the graph. It took a 5-day job and reduced to mere minutes.

    And that's exactly why I think topologic is the way to go. However the opposite would be an interesting possibility nonetheless.

    @brunopostle said:
    @JQL I'm not sure, what about walls that are drawn as studs and panels? or openings that are modelled rather than cut with ifcopening* elements?

    Maybe the threshold for how thin would ignore the thickness of those altogether?

  • @JQL said:
    Maybe the threshold for how thin would ignore the thickness of those altogether?

    The problem is if the model is like the picture below, the wall lines wouldn’t close and different rooms will blend into each other as one cell.

Sign In or Register to comment.