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

1356726

Comments

  • "But wait there's more!"

    By default the topologist script assumes all the cells are 'living room', but now I created a set of widgets that you can drop into the cells to indicate what kind of room they are:

    Amongst other things, this controls where doors are placed, and what kind of doors and windows to use. The circulation graph gets pruned to only show links where there are doors and stairs (note this particular image shows that this building doesn't have a viable circulation graph, there are several unconnected zones - you can blame the architect):

    It draws stairs (sort-of, this is a bit broken for now as it doesn't account for the exact location of doors):

    Doors varied by room 'type':


    This is still a proof of concept, ultimately this whole thing wants to be an interactive tool where the IFC result is updated in place, that doesn't involve exporting and importing geometry. So all cells would automatically gain a widget where you can set parameters, or view suggestions or information about the room.

    topologicMoultbasweinJesusbillarquitextonicacarlopavpaullee
  • @brunopostle Very cool. I just wish you were able to try Topologic in this environment. It has all you are trying to do built-in including room content, dictionaries to store not only space types but all sorts of other information. You would not have to invent bespoke functionality and you would not need file export/import. We are looking at Topologic->IFC. Maybe in a couple of months we can have an initial implementation. Any advice on how to deal with IFC would be much appreciated.

    arquitextonica
  • @topologic I looked at writing a SWIG wrapper for Topologic, as this would potentially generate both a Perl and Python API, but this is beyond my C++ capabilities.

    IfcOpenShell seems like a very capable library, though presumably you would want to create the actual geometry in a node editor like grasshopper/dynamo/sverchok.

    topologic
  • @topologic I can also offer some advice on supporting IFC. @brunopostle has his own Perl-based IFC library, which is one option, and FreeCAD, BIMServer, and the BlenderBIM Add-on use the C++ / Python binded IfcOpenShell library. There is also XBim, which is .NET based, but perhaps if you want to have easier / out-of-the-box cross platform support considering the portability issues with Topologic, it might be a good idea to stick to IfcOpenShell.

    topologiccarlopav
  • Do you think topologic could work with sorcar or sverchock for blender?

    arquitextonica
  • edited September 2020

    @JQL at risk of answering out of turn, I would say yes. Remember that Sorcar and Sverchok is just a particular UI approach to programming (a very powerful and complex one, to be sure, but scoped to UI) - so as a general statement Sorcar, Sverchok, or DynamoBIM, etc, can all be plugged into practically any other system.

  • edited September 2020

    @JQL said:
    Do you think topologic could work with sorcar or sverchock for blender?

    I think this would be doable, but you need the Python API for Topologic. Has anybody tried generating IFC metadata in Sverchok output? Or would there need to be some blenderbim integration?

  • For the record, @mostapha and I are meeting up soon on integrating Ladybug with Blender, and I've been putting together more util functions for querying the schema itself. Put these together, and I suspect we could quite easily generate a set of IFC Sverchok nodes, similar to how GeometryGym's IFC system works.

    JanFJesusbillcarlopav
  • @brunopostle said:
    ... presumably you would want to create the actual geometry in a node editor like grasshopper/dynamo/sverchok.

    Topologic can readily read in OCCT BREP so FreeCAD can be used as the editor and then we can simply adapt “Topology.ByImportedBREP” and “Topology.ExportToBREP” to move geometry back and forth. For Blender we would have to rewrite Topology.ByGeometry and Topology.Geometry. We have the templates for Dynamo and Grasshopper/Rhino and we support complex geometry so should be straightforward, but a bit time consuming. Easier if we just support flat-faced polyhedra.

  • I've been investigating OSArch resources lately and trying to understand a lot that I never dealt with before. So I will keep on asking basic and sometimes stupid stuff if you don't mind:

    What is topologic used for exactly?

    For geometry generation? Based on which principles?

    For querying geometry generated by other software? How do those queries get inserted into final output? Schedules? Drawing labels?

    To run engineering analysis? Do we have to create our own calculation methods or are the methods included? Is the graphical output automatically generated?

    I'm honestly mostly interested in the conceptual and query part of the equation as my architectural practice still is very independent from the engineers I collaborate with and most of them are not very far from this kind of processes.

  • personally I'm a fan of AGPL3 and GPL3, but I don't know Sverchok with its GPL3 license is suitable for Ladybug or not?
    It's up to Mostapha and his friends
    However, I saw some performance issues on Sverchok and if someday want to develop my solution on Blender, my choice would be Animation Nodes

  • @JQL Please be patient with me as I explain the story behind topologic. Topologic was the result of a three year £300,000 grant from the Leverhulme Trust. The project was lead by me (Wassim Jabi) at Cardiff University and Robert Aish (UCL). The main proposal was to conceptualise, model and analyse buildings in a more useful and richer manner. To do that we needed a better representation for buildings and especially the spaces in a building. But also their relationships and adjacencies. We settled on non-manifold topology as the best way to represent the conceptual model. We can then use that model to ask useful questions in any stage of the design, but mainly in the early stages. Let me list some simple examples/questions that topologic is good at answering:

    1. What is the surface area of the internal (or external) walls of my building?
    2. Wall A: what are the rooms that use you as a boundary? If one of them is a radio studio, please put on yourself some extra sound insulation.
    3. What is the glazing ratio on this building and what is the average cooling loaf?
    4. I am deciding where to put the water cooler: what space is the most central in this building?
    5. How long will it take me to reach the nearest fire exit from the furthest and most isolated office?
    6. Which of these 20,000 configurations has the most efficient circulation path?
    7. What node design should I use for a particular junction
    8. How can I optimise the HVAC system?
    9. Which rooms in my hotel have the best views?
    10. How many desks can I place to maintain the 2m 6ft rules?
      If everyone in the open office plan gets up to go to the conference room, will they run into each other?

    So if some of these examples intrigue you, then topologic can be of help.

    JQLbasweinpaulleeCGR
  • I think both Topologic and Bruno's project are invaluable and have developed based on two different goals
    Topologic with a focus on topology and non-manifolds, and to answer some needs in the industry
    And Bruno's project with the goal of investigating pattern language and be "SOMEWHAT" procedural

  • @topologic said:
    So if some of these examples intrigue you, then topologic can be of help.

    Stating it that way, looks simple. I guess every question is of interest to me. I also guess that's the kind of questions we use our intuition, intelligence, experience and hardwork to answer when we design.

    The thing is that answering them through topologic isn't about pressing a button is it?

    What skills and software do I need to have to work with that? Do you see a small studio using it? Do you think you need a dedicated programmer to work with it? Or do you think a general architect can deal with it? Can it be used as complementary to other modelling tool's or should you have a specific workflow made for it for it to work?

    Sorry for insisting...

    topologic
  • @JQL Glad you are insisting! Of course they are not push buttons. Topologic is a foundation on which one can build very sophisticated tools and workflows similar to what @brunopostle has shown here. You will have to follow one or more of these paths:
    1. Find existing workflows that you can use as is (open source is best). This is limited of course if you cannot modify them.
    2. Learn parametric design, algorithmic thinking, and then the specific API methods provided in the tool and make your own workflow.
    3. Work with a computational designer either in-house or outsourced. This is why I direct an MSc in Computational Methods in Architecture at Cardiff University.
    4. Join an academic research project where your office can benefit from the outcome.

  • @JQL Regarding the other questions: As it exists now, Topologic can read and write to Revit (through Dynamo), Rhino (through Grasshopper) FreeCAD (through BREP) and through them to a large variety of other formats and software.
    As it exists at this moment, the most convenient way to use Topologic is through Dynamo or Grasshopper on a Windows PC. I came to this group because I needed help to make it truly platform agnostic and compatible with FreeCAD and Blender. We are in conversation with Hypar to make it run in a web browser on Linux.

    As in other firms, they have programmers who create workflows and architects who use them. This line is getting blurred with the passing of each day. We are graduating architects who can code or at least who can do visual programming.

    paullee
  • We can learn visual programming quite fast as we did it with substance tools, which we use to iterate through facades (and archviz materials).

    I'm in the process of choosing either sverchock or sorcar for doing visual modelling. We do not use rhino, nor revit, but SketchUp.

    Is it possible to use a blend of manual modelling and visual programming and then integrate topologic in the workflow with real benefit?

    And if you're using grasshopper or dynamo, why do you need topologic?

  • @JQL said:
    And if you're using grasshopper or dynamo, why do you need topologic?

    @JQL Topologic adds functionality that is very unique and not found in either Dynamo or Grasshopper. Mainly, it is in its name: linked entities in Topologic (eg CellComplex) know about each other. As an example, not only can you ask a Cell (solid) for its Faces (Surfaces), you can ask a Face for the Cells (plural) that have it as a boundary. Plus Topologic implements dictionaries, contents, apertures, and graph theory in robust and unique ways.

    As to your question about hybrid workflows. Yes. You can model in Sketchup or AutoCAD for example, output to OBJ or STEP or something else. Use a converter software or FreeCAD to convert to BREP or anything that can be loaded into Dynamo or Grasshopper. Then apply a Topologic workflow. Take the result and continue working on it in other software.

    I also encourage you to look at the work of Michal Dengusiak with SAM/Topologic integration at Hoare Lea. He is on LinkedIn and YouTube. Also Sean Fruin and Aussie BIM Guru 🙂

  • @JQL I created a quick short video on a trivial example of moving geometry from FreeCAD to Topologic, doing some modification or analysis and moving the result back to FreeCAD. And before anyone says anything, yes I am aware I could've accomplished this example in FreeCAD alone. This is JUST an example! I am happy to do something more ambitious in the near future.
    https://youtu.be/ZcHNW-LoCTg

    paulleeJQL
  • I understood by reading past posts and these latest that Topologic assumes the cell as central unit.
    That is one of my barriers with BIM. BIM seems to work with elements like columns, windows, doors and walls for modelling and rooms are a result. I like modelling rooms, not walls. The frame of mind is very different and Topologic could fit that frame of mind nicely.

    Is it easy to convert a room/cell model into a BIM model using Topologic?

    And would it be easy to have Topologic find the best fit for rooms in a project and have the ideal "gap" between rooms (where walls will be placed) varying depending on factors?

    Would topologic help place rooms right within constrains and variables? Is it possible to create a workflow around those concepts easily? Or would I have to dwelve deeply into intrincate experiments?

    arquitextonica
  • Oh and sorry for my increased bluntness. Thanks for your consideration, answers and even putting up this video.

    And sorry for even more questions:
    Is dynamo a standalone app that could be used without the need for revit? Is it free or paid software?

  • @JQL I don’t like to describe workflows as easy or difficult because it depends on the level of skills and available resources. Instead, I like to think whether something is feasible or not or a good fit for the software or not. @brunopostle has shown the best proof of concept to date that I have seen that a conceptual non-manifold model can be converted into a very detailed and believable BIM model. Cesar Escalante of Autodesk recently showed a video of how he uses Topologic as part of an optimisation workflow for packing programme elements/spaces through Cell subdivision. I helped with that part of the workflow. We have also demonstrated how a conceptual TestFit model can be converted to a Revit model through Topologic.

    To answer your second question: Yes Dynamo can run independent of Revit but has no geometry. It is open source in that incarnation. An intrepid soul could conceivably bolt on OCCT as a geometry engine instead of ASM. It won’t be me 😅 What I will try is to run FreeCAD from Dynamo in python and pass it breps from Topologic To display! That could be quite amazing as it would be fully free and open source but only available on Windows.

  • @topologic said:
    @JQL I don’t like to describe workflows as easy or difficult because it depends on the level of skills and available resources. Instead, I like to think whether something is feasible or not or a good fit for the software or not. @brunopostle has shown the best proof of concept to date that I have seen that a conceptual non-manifold model can be converted into a very detailed and believable BIM model. Cesar Escalante of Autodesk recently showed a video of how he uses Topologic as part of an optimisation workflow for packing programme elements/spaces through Cell subdivision. I helped with that part of the workflow. We have also demonstrated how a conceptual TestFit model can be converted to a Revit model through Topologic.

    Understood. I'd have to dive into the thing to see what I could use it for. The potential is there though. Thanks!

    @topologic said:
    To answer your second question: Yes Dynamo can run independent of Revit but has no geometry. It is open source in that incarnation. An intrepid soul could conceivably bolt on OCCT as a geometry engine instead of ASM. It won’t be me 😅 What I will try is to run FreeCAD from Dynamo in python and pass it breps from Topologic To display! That could be quite amazing as it would be fully free and open source but only available on Windows.

    Like this?

    https://community.osarch.org/discussion/205/dynamo-and-freecad#latest

    Moult
  • Comments here all are about this topic:
    3: Top-Down Causation via Adoptive Selection
    Which is a basic and preliminary topic and solution today

  • @JQL I would be happy to meet and show you what Topologic can do first hand and go through some workflows.

  • @topologic that is very generous of you, however, at the basic state of knowledge I'm at the moment I would be wasting your time.

    I'm a Sketchup user without access to dynamo. I've started by testing freecad and blender... that's the most I can achieve for now.

    I'd have to first understand how to use dynamo with freecad, which I can't even figure out how to install and then topologic on top of dynamo to be able to start trying stuff and make the meeting with you worthwhile.

    Please don't get me wrong, I'd love to see what could be done, but you definetely deserve and should have a better audience than myself. Maybe at OSArch a meeting with more people could be organized and that would make your time better spent. I would definetely participate.

    I can't thank you enough for your offer though. I really appreciate it.

    topologic
  • In Ray Tracing, there are two different methods for subdividing/partitioning:
    1. Spatial/Space subdivision method
    2. Object subdivision method
    @brunopostle And I'm still can't realize why Dual Graphs? Which based on my understanding I categorize it in the Space subdivision league
    Which mainly work with planes, and don't support geometry well, and are static, I mean don't deal with dynamic geometries and topologies

  • @JQL said:
    I understood by reading past posts and these latest that Topologic assumes the cell as central unit.
    That is one of my barriers with BIM. BIM seems to work with elements like columns, windows, doors and walls for modelling and rooms are a result. I like modelling rooms, not walls.

    This is the main point of my PhD research right now. BIM is originated and built for construction-management but not for space design. Space (IMHO) can/should be something prior to built-architecture and designing spatial entities with software is almost impossible, specially if we take into consideration that as soon as we model a "cell" as a BRep, we are modelling a "solid" object (all normals facing outwards) which in its natural state is "invisible" from its inside space (though it can be "tricked").

    Here my shoutout to @brunopostle and any others if interested in how to conceive and design the cognitional structures that can lead to the conversion of the meshes and topologies into construction-bim elements.

    JQL
  • @ReD_CoDE with a building plan, the graph of walls and the adjacency graph of rooms are 'dual' of each other. There is an equivalent relationship for 3D cells in these non-manifold meshes.

    But in my code these graphs are assembled separately, as this is easy and the 'dual' nature isn't that important to the things we want to do with the graphs.

    ReD_CoDE
  • @arquitextonica said:
    This is the main point of my PhD research right now. BIM is originated and built for construction-management but not for space design. Space (IMHO) can/should be something prior to built-architecture and designing spatial entities with software is almost impossible, specially if we take into consideration that as soon as we model a "cell" as a BRep, we are modelling a "solid" object (all normals facing outwards) which in its natural state is "invisible" from its inside space (though it can be "tricked").

    Here my shoutout to @brunopostle and any others if interested in how to conceive and design the cognitional structures that can lead to the conversion of the meshes and topologies into construction-bim elements.

    That's cool. My workflow with SketchUp revolves around a base schematic plan for program organization, this plan is a face that is being split and sits at each floor level, then there is an envelope which is the building volume and consists only on façades, roof and base or footprint. At a later stage when the plans are settled and match the volume, or vice versa, we then extruding the spaces of the plan into cells/rooms/spaces, whatever you want to call them. We do reverse these faces so the normals are facing the interior. The resulting model is a facade box, facing the exterior with empty cells inside facing the interior. We can keep a model like this 80% of a conceptual stage time. Only when we start needing to create interior visuals we start adding other elements. All the exterior can be done by modelling and texturing the façade volume.

    I was hoping I could use this volume as an IFC entity and the interior cells or rooms as IfcSpaces.

    I've been looking for a facade IFC classification, but there is none, only walls.

    I'm thinking topologic could then be used to fill the spaces between cells with structure and walls, slabs, floors and ceilings.
    We would use the cell model as input and would set constrains for rooms and façade box and then state the walls and slab thickness and it would fit together?

    Would this be a viable process, for topologic?

Sign In or Register to comment.