OSArch Community

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

  1. N
  2. T
  3. I

    @ReD_CoDE said:

    @duncan I'm not active in BlenderBIM community, because I think I'm in the wrong room, these guys need 3-5 years time to understand my comments

    @ReD_CoDE , I don't think you are in the wrong room. You simply have a different way of looking at things. Which is ok. However, you should understand that in a community, clashing of ideas is necessary for growth. But we need to respect each other. In the end, the most efficient idea will be adopted. BTW you have a community responsibility to ensure that we catch up with you by patiently guiding some of us. I have learnt a lot from you, @duncan , @Moult , @DADA_universe @Jesusbill and others. I am still learning.

  4. T

    Proof of Life.

  5. S

    @duncan said:

    @Sabufrancis is this all something that makes sense to your approach?

    Pardon my tardiness. Got stuck in some personal matters. I need to go thru this in detail before giving a useful reply. The only point I can say for now is that there is a strong linguistic basis for representing architecture inside TAD. So when learning lessons from others efforts; I usually look for mapping other work to what is happening in TAD.

    Crudely speaking; one learns more when we compare one human language; say Hindi -- and then see how sentence construction happens in another language; say English. In English a simple sentence is S-V-O (Subject- Verb-Object) but in Hindi it is S-O-V (Of course there may not be something called a "sentence construction" directly in architecture representations) Sometimes that broad conceptual comparison gives good insight on what can be done in one approach, and not so much in another.

    The other point in architecture representation -- which I think TAD does quite well -- is the handling of the "figure-ground" confusion. Architecture and Music has this intricate representation complexity which is not seen in other specialties. In Music, it is not just the sequence of the notes themselves that give meaning; but also the periods of the silent gaps in-between ... and the timing of the notes also. On roughly similar lines, it is not just the built matter but the spaces too (emptiness of built matter) BOTH go into creating meaning in architecture -- so my eye gets drawn into whether that interplay is represented in other systems.

    More later...

  6. N

    @Sabufrancis said:

    More later...

    is it about topology?

  7. T

    Hi everyone. Just to let you know that we managed to get TopologicPy running on MacOS. The instructions are at http://github.com/wassimj

    As usual, it is not for the faint of heart.

  8. T

    Here are the images from MacOS. If anyone is interested in testing this, please get in touch, I am happy to walk you through it.

  9. D

    @Sabufrancis said:

    Pardon my tardiness.

    Tardiness assumes expectations - there is no expectation here until someone promises something. I was just checking in to make sure you were still with us :-)

  10. P

    @topologic said:

    On many occasions while developing Topologic we would ask ourselves: Is this what the user would expect to get? A simple example are the edges of the CellComplex. We could’ve asked each Cell in the CellComplex to give us its faces and each face to give us its wire and each wire to give us it edges. That is computational recursive thinking. But a designer would expect the clean list of unique edges that are the constituent members of the CellComplex.

    Hi, made similar model built on the Villa Savoye :D

    See below model structure - can you build a Graph ('bubble digram') with below the model ?

    • Model file .FCStd renamed to .zip

    YouTube Video - https://youtube.com/watch?v=0bnQZ473R7A

    • (can show here directly inline ?)

    1 Sketch to build

    • ArchWall

    • ArchSpace / CellComplex (rooms)

    CellComplex

    • Built on same Sketch as ArchWall

    • Share same faces beteen Cells

    • Cell faces have no thickness

    ArchWall

    • Built on same Sketch but has thickness (width)

    ArchWindow/Door

    • 'Attach' to ArchWall

    • 'Grouped' under ArchSpace as well

    • So 2 ArchSpace / Cells with same ArchWindow/Door is interconnected

    See FC Forum Discussion -

    https://forum.freecadweb.org/viewtopic.php?f=23&t=47905&start=70

  11. T

    You mean like this? :)

  12. P

    @topologic said:

    You mean like this? :)

    Thanks :)

    Something more in my mind - the doors indicates connection between spaces, so there should only be lines if 2 cells are connected by a door rather than .sharing common face :D

  13. T

    @paullee said:

    Thanks :)

    Something more in my mind - the doors indicates connection between spaces, so there should only be lines if 2 cells are connected by a door rather than .sharing common face :D

    Yes all possible through adding aperture faces to the CellComplex. I will let you explore that one on your own. ?

  14. B

    I feel I ought to post an update on the status of the Homemaker-Topologise tool, it has been ported to use the @topologic Python library and has more-or-less the same functionality (with a couple of interesting new features) as my September proof of concept, though it still needs a whole lot of work to move it entirely from Perl to Python:

    @brunopostle said:

    Currently the Topologise tool is six things strung together:

    1. A simple python blender add-on that has just one function that feeds any and all selected meshes to the other tools and displays the output. This structure is very limiting, the add-on should allow the user to assign properties such as room types, wall types and styles; it should be able to display feedback from processing; and it should understand enough about the model to only regenerate IFC entities for parts of the building that have changed (otherwise it won't scale).

    This is exactly how it was before, though you can now assign styles to different parts of buildings, previously the style was fixed for the entire building. In this screenshot the outside walls of the middle floor have been given the 'fancy' style, the rest of the building is 'default':

    1. A Perl library that analyses a non-manifold mesh to identify cells and build a model where nodes, faces, edges and cells can be queried as network graphs. This is loosely based on some of the functionality of the C++ Topologic library;

    This has been entirely ported to topologicPy. Topologic is much faster, and has more functionality. An unanticipated benefit is that whereas before I had to be very careful defining the input geometry, producing clean meshes where vertices aligned perfectly, now I can just sketch walls and floors, and so long as they enclose space, these are converted to cells and rooms. This is a great way to define a building, a lot of fun and easy to play around and change anything easily. This is a loosely defined geometry definition, and the resulting building:

    Another interesting feature of this method is that it is really easy to generate some quite sophisticated roof geometry (previously the add-on just applied a default hipped roof to all roofs). A picture is needed, this roof was defined entirely by specifying some planes and pitch angles, then topologic figured out the intersections and exposed the shell:

    1. Some Perl code that searches the graphs in the topology model for rooms, walls, eaves, floors etc.. This isn't very sophisticated and could be easily rewritten in Python, though ultimately it wants to be able to identify parts of the building that have changed (see above).

    This has been ported to python by overloading a collection of specialised methods on top of the topologicPy library

    1. A Perl library for assembling IFC data. There is nothing special here, if everything else was Python, this could be replaced by the IfcOpenShell Python library.

    This is all TODO, I need to figure out how to generate IFC entities within blenderbim, so far it looks reasonably easy (though I haven't started yet).

    1. Another Perl library that actually generates the IFC geometry, places windows and doors etc.. this is a bit more of a problem as this is about 1500 lines of complicated code.

    This is a big job, not least because I want to change a lot of functionality: currently 3D entities such as doors and windows are loaded as DXF files, these need to pulled out of some kind of IFC library. I also intend to turn the style definition inside-out, which will enable a huge range of different buildings.

    1. Finally Topologise uses blenderbim to import the IFC into blender.

    The add-on is still creating external IFC files and importing them with blenderbim, for now.

    Here's another example, this collection of buildings, with each room assigned a usage (bedroom, retail, kitchen etc..), was drawn in about 20 minutes. First image shows sketch geometry, and the second image shows the IFC result:

    I'm interested in comments and ideas, the way that assets are handled needs some careful thought, and I'm not at all decided how to handle the various extruded profiles (currently they are extracted from 2D DXF detail drawings, but there are other ways this could be done).

  15. B

    @brunopostle said:

    I'm interested in comments and ideas, the way that assets are handled needs some careful thought, and I'm not at all decided how to handle the various extruded profiles (currently they are extracted from 2D DXF detail drawings, but there are other ways this could be done).

    Also I'm just starting with python, so if you look through the Homemaker add-on code and think WTF, then I definitely need correcting - pull requests with explanations welcome.

  16. T

    @brunopostle All I can say is WOW. I am glad you found topologicPy to be helpful. This is by far the most sophisticated use of the library that I have seen to date. Congratulations and I look forward to what more you will do with it.

  17. M

    This is amazing work. Kudos. Let me know when I can help on how to call the BlenderBIM Add-on for any IFC manipulation needs.

  18. B

    @Moult said:

    This is amazing work. Kudos. Let me know when I can help on how to call the BlenderBIM Add-on for any IFC manipulation needs.

    Thanks, I definitely will.

  19. P

    @topologic said:

    Yes all possible through adding aperture faces to the CellComplex. I will let you explore that one on your own. ?

    Probably needs a few more tips from you to move on testing :)

    1. So should I in FC build Shell rather than Solid for each 'Cell', and then punch holes with the doors in the Faces of the Shell (Cell)

    2. Topologic could identify a room / Cell from all those Faces even with with aperture (rather than Solid) ?

    Thanks in advance for enlightening.

  20. T

    @paullee said:

    Probably needs a few more tips from you to move on testing :)

    1. So should I in FC build Shell rather than Solid for each 'Cell', and then punch holes with the doors in the Faces of the Shell (Cell)

    Solids are fine. They became Cells in Topologic and I built a CellComplex out of them. I am talking about the ones you named Space. Do NOT punch holes. This is not how Topologic works. Instead add a zero thickness face representing the door coplanar with the wall it is supposed to sit within.

    1. Topologic could identify a room / Cell from all those Faces even with with aperture (rather than Solid) ?

    There are a couple of ways to build a CellComplex. You either build it by Cells that happen to touch each other. Or you can give it a whole group of faces that are intersecting and form closed volumes. Another way is to start with a large volume and set of faces that slice it.

    Thanks in advance for enlightening.

    No problem

  21. P

    @topologic said:

    1. So should I in FC build Shell rather than Solid for each 'Cell', and then punch holes with the doors in the Faces of the Shell (Cell)

    Solids are fine. They became Cells in Topologic and I built a CellComplex out of them. I am talking about the ones you named Space. Do NOT punch holes. This is not how Topologic works. Instead add a zero thickness face representing the door coplanar with the wall it is supposed to sit within.

    Hope I get it right currently:D Now, in FreeCAD it should be mostly automatic to create Space / Cell whilst architect draw Walls and create a Plane whilst adding Doors. See if you can have a look if the Solids and Planes in the Folder BldgPart__1F_Cells is what Topologic can understand, and create the 'bubble diagram' / graph representing the spatial relationship.

    One additional question is what is proper way to model a flat roof space / terrace / courtyard in a building for Topologic to understand ? The 'Cell__1F_Room-008' is in fact a terrace on on a flat roof of the building.

    Thanks again !

  22. T

    As I say often, a cell in Topologic is space. It makes no assumption what that space is filled with: air, water, concrete, metal etc. So if you need to spatially compute “voids” then model them as cells as well.

    I am tempted to work on the new model you provided, but I really think you should try to download Topologic and try it on your own and then ask questions. This is the way to move forward. Best wishes.

  23. P

    @topologic said:

    As I say often, a cell in Topologic is space. It makes no assumption what that space is filled with: air, water, concrete, metal etc. So if you need to spatially compute “voids” then model them as cells as well.

    Good to know that :D

    I am tempted to work on the new model you provided, but I really think you should try to download Topologic and try it on your own and then ask questions. This is the way to move forward. Best wishes.

    Indeed thanks taking so much time in answering all the questions. Had tried download but compiling is a real hurdle for me :oops The best thing for me for the moment is probably creating tools to automate generation of objects Topologic understand when modeling traditional Walls, Slabs, Doors

    Looking forward to someone build complied Topologic package for use in FreeCAD + Linux hopefully in near future :D

  24. L

    Something different: about graphs and Co.. https://community.osarch.org/discussion/comment/6024#Comment_6024

    Is topologic also good for this kind of mindmap/diagrams graphs? keep the relation intelligence between nodes. Topologic as a rdf/ontology/ifc organisation tool (before the geometry integration which is in fact what it is for..so kind of under-usage).

  25. T

    @lukas said:

    Something different: about graphs and Co.. https://community.osarch.org/discussion/comment/6024#Comment_6024

    Is topologic also good for this kind of mindmap/diagrams graphs? keep the relation intelligence between nodes. Topologic as a rdf/ontology/ifc organisation tool (before the geometry integration which is in fact what it is for..so kind of under-usage).

    Topologic has a 'graph' class, and can embed dictionaries in its vertices and edges and do some computations on it (or augmented by extra python custom programming), but it does not have a full-fledged diagramming/mindmap functionality. @arquitextonica recently showed me how he is integrating yED (https://www.yworks.com/products/yed) with Topologic in Grasshopper.

  1. Page 1
  2. 2
  3. 3
  4. 14
  5. 15
  6. 16
  7. 17
  8. 18
  9. 29
  10. 30
  11. 31

Login or Register to reply.