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

12021232526

Comments

  • @paullee said:
    Random test other some other methods, seems working

    tcc1s
    ... topologic.Cell object at 0x7f7518266a70
    tcc1s.Cells
    ... bound method PyCapsule.Cells of <topologic.Cell object at 0x7f7518266a70
    topologic.CellUtility.Volume(tcc1s)
    ... 999.9999999999998

    Yes. Most methods didn’t change so they would work. But don’t let that deceive you. You are 100% using an obsolete version of Topologic

  • edited April 2022

    @topologic said:
    Now I am 100% convinced that you are using the obsolete version of Topologic. Has nothing to do with OCC or python. Just your Topologic version is several months old.

    I see. This is somehow 'extracted' from Brunopostle Copr seems 'incorrectly', seem I needs to do good housekeeping on that part first :D

    But it is good news, seems things are working :D

  • It seems I found the correct Fedora 34 version from Brunopostle finally :D

    topologicbrunopostle
  • @paullee said:
    It seems I found the correct Fedora 34 version from Brunopostle finally :D

    Excellent!!

  • Dear OSArch community,
    I am happy to announce that I have added to Topologic the ability to communicate with Speckle from within sverchok. I know they have a Blender connector, but it is not expressed as svertchok nodes and has some serious limitations (e.g. user-defined custom attributes are not included)
    This means that we can now send Revit objects right through Sverchok. I will be posting more about the use case scenario over the next few days and weeks.

    paulleeAcebruno_perdigaobasweingokermudimitar
  • @paullee said:
    It seems I found the correct Fedora 34 version from Brunopostle finally :D

    There is regression in my FreeCAD version, upgraded and all works as expected :D

    topologicdimitar
  • OK, tested a basic workflow as proof-of-concept.
    The python script to find internal and external faces (walls) works as expected :D

    • Create a 'single-line sketch' layout with an ArchSketch on FreeCAD
    • It automatically generate a series of Solids as volume of spaces
    • Convert the Solids into CellComplex in Topologic
    • Find the external and internal faces of the CellComplex by Topologic method
    • Based on same ArchSketch layout, it can create ArchWall in FreeCAD as well

    'ArchSketch Single-Line Layout' -

    Auto-generated Solids as spaces; Convert to CellComplex in Topologic -

    Found External faces -

    Found Internal faces -

    Build ArchWall based on same ArchSketch -

    brunopostleAcedimitarJanF
  • Great stuff, @paullee !

  • Thanks, would like to try later to automatically place windows and doors based on the external / internal faces/walls found :D

  • edited April 2022

    @paullee said:
    Thanks, would like to try later to automatically place windows and doors based on the external / internal faces/walls found :D

    Done testing :D

    • Create a 'single-line sketch' layout
    • Based on same ArchSketch layout, it can create walls and slab
    • Automatically find external walls by Topologic and place window instances

    'ArchSketch Single-Line Layout'

    'ArchWall and Slab'

    'Automatic Placement windows at found external walls' - no window at internal wall

    With shadow on Link Branch of FreeCAD

    topologicbrunopostlelukas
  • edited April 2022

    @topologic said:
    Ping

    There is a question in FreeCAD forum about 'incorporating' Topologic into FreeCAD, any comment ? :) -

    https://forum.freecadweb.org/viewtopic.php?f=22&p=589131#p589131

    "
    Re: Anyone interested in bringing Topologic to FreeCAD?

    Would doing this open FreeCAD to any automatic internet access or IP? It sounds like low level stuff but I would like to know, if anyone knows. :?
    Thanks
    "

  • Dear OSArch community,
    I kindly need your help. I (think I) managed to build TopologicSverchok for Blender 3.1 against OCCT 7.7. If you are a Linux user (especially Ubuntu 20.10) and you are using the latest Blender and Sverchok, please download, test, and report success or issues. Many thanks!

    https://github.com/wassimj/TopologicSverchok/releases/tag/v0.8.1.2-alpha-linux

    paullee
  • @paullee and others who use FreeCAD. I just downloaded FreeCAD 0.19 and then 0.20 and I am encountering the same problem: The Part module is failing to load:
    08:36:26 Unknown command 'Part_SectionCut'
    08:36:34 DLL load failed while importing PartGui: The specified procedure could not be found.
    08:36:34 Traceback (most recent call last):
    File "", line 43, in Initialize
    File "C:\Program Files\FreeCAD 0.20\bin\Lib\site-packages\shiboken2\files.dir\shibokensupport__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)

    Anyone have any ideas why that is happening? Thanks!

  • @topologic said:
    @paullee and others who use FreeCAD. I just downloaded FreeCAD 0.19 and then 0.20 and I am encountering the same problem: The Part module is failing to load:

    What is your windows version, FreeCAD version ?

    I am on Fedora only, I'll see if there have been help in FC forum on similar problem.

    0.20 release version is on the way, so it is good to debug :D

  • There is one exactly describing the same problem - see if below trick helps :D

    https://forum.freecadweb.org/viewtopic.php?p=579308#p579308

  • @paullee said:
    There is one exactly describing the same problem - see if below trick helps :D

    https://forum.freecadweb.org/viewtopic.php?p=579308#p579308

    Thanks. I solved this issue by compiling Topologic against OCCT 7.5 and python 3.8 and then not using any of the OCCT DLLs. Just the topologic pyd and dll files. I just created a Topologic workbench and it relies on the OCCT dll files already included with FreeCAD. Works perfectly!

    paulleedimitar
  • The initial commit of a Topologic Workbench for FreeCAD is now on github! It has one command: "TPVertices". It takes one or more selected Parts and returns their Vertices. Now is the time for you to contribute!
    https://github.com/wassimj/TopologicFC

    carlopavpaullee
  • @topologic Super exciting news and it's fanastic to see incorporation into Freecad, where Topologic's capabilities are badly needed for basic room-based layouts
    @paullee Thanks for all the tests!!!
    What's the way to start to play? Download the workbench and then do a sketch?

    Separately, is topologic available in some form in Blender outside of sverchok?

    topologic
  • @dimitar said:
    @topologic Super exciting news and it's fanastic to see incorporation into Freecad, where Topologic's capabilities are badly needed for basic room-based layouts
    @paullee Thanks for all the tests!!!
    What's the way to start to play? Download the workbench and then do a sketch?

    Separately, is topologic available in some form in Blender outside of sverchok?

    Thanks! Yes download the folder and install in Mod and start adding new functionality. Right now it has trivial functionality. It is more of a workbench template.

    Topologic is a python module so you can call it from Blender’s console. You can also write a different plug-in in Blender that uses it (eg @brunopostle Homemaker)

    paullee
  • edited April 2022

    @dimitar said:
    @topologic Super exciting news and it's fanastic to see incorporation into Freecad, where Topologic's capabilities are badly needed for basic room-based layouts

    With Dr. Wassim's guidance, I tested Topologic's functionality to identify a face is 'internal' or 'external' only.

    What is your idea of functionalities / workflow for 'room-based layout' in FreeCAD ?

  • @paullee said:
    What is your idea of functionalities / workflow for 'room-based layout' in FreeCAD ?


    This looks quite powerful in Snaptrude. Each room is based on a rectangle and once automated, with naming and adjacencies, the system know which walls are external.

    paullee
  • Topologic can potentially do all that (in snaptrude). We just don't have the powerful UI to do it. But the data structures etc are all there and very powerful. We have been able to generate a full Revit/BIM model and a full IFC model from the Topologic CellComplex. There is a great opportunity for a snaptrude type startup based on topologic ;-)

    dimitar
  • This looks quite powerful in Snaptrude. Each room is based on a rectangle and once automated, with naming and adjacencies, the system know which walls are external.

    Snaptrude - "406 Not Acceptable" ?

  • @topologic said:
    Topologic can potentially do all that (in snaptrude). We just don't have the powerful UI to do it. But the data structures etc are all there and very powerful. We have been able to generate a full Revit/BIM model and a full IFC model from the Topologic CellComplex. There is a great opportunity for a snaptrude type startup based on topologic ;-)

    Is Homemaker though not based on a Sketch doing something similar ? It also remind me of TED.

    The Snaptrude workflow sounds quite familiar.

    In fact, as demonstrated as proof-of-concept in FreeCAD, a similar Sketch can generate the CellComplex to identify the external/internal faces with Topologic, and build ArchWall and Slab (Structure) based on same Sketch.

    topologic
  • @paullee said:
    In fact, as demonstrated as proof-of-concept in FreeCAD, a similar Sketch can generate the CellComplex to identify the external/internal faces with Topologic, and build ArchWall and Slab (Structure) based on same Sketch.

    Yes exactly. You have demonstrated that all that is available. The issue is only one of interface and bells and whistles. Snaptrude looks very slick and seems quite interactive and easy to use.
    What we need in addition to what you have achieved is to allow the user to specify 'rules' or 'shape grammars' to specify how the topologic entities of a CellComplex should be transformed into 'thickened' BIM entities (e.g. what wall thickness and construction to use for external and internal walls, what offset to use, what windows to put in the apertures etc).

    paulleedimitar
  • @topologic said:
    The initial commit of a Topologic Workbench for FreeCAD is now on github! It has one command: "TPVertices". It takes one or more selected Parts and returns their Vertices. Now is the time for you to contribute!

    Tested on linux, seems it is not supporting at the moment right? :)

    Should I open an issue at github ? :D

  • @paullee said:

    @topologic said:
    The initial commit of a Topologic Workbench for FreeCAD is now on github! It has one command: "TPVertices". It takes one or more selected Parts and returns their Vertices. Now is the time for you to contribute!

    Tested on linux, seems it is not supporting at the moment right? :)

    Should I open an issue at github ? :D

    Yes sorry, the release is only for windows. You can try to take your linux topologic.pyd and replace the on in the Topologic folder with that.

    paullee
  • edited April 2022

    @topologic said:
    Yes exactly. You have demonstrated that all that is available. The issue is only one of interface and bells and whistles. Snaptrude looks very slick and seems quite interactive and easy to use.
    What we need in addition to what you have achieved is to allow the user to specify 'rules' or 'shape grammars' to specify how the topologic entities of a CellComplex should be transformed into 'thickened' BIM entities (e.g. what wall thickness and construction to use for external and internal walls, what offset to use, what windows to put in the apertures etc).

    Yes, GUI and interactive tools are something must have to allow more users to use it intuitively - hope there are volunteers experienced FC coders jump in. Coding GUI is something far from my competence.

    In fact I have ideas to make things easier before GUI tools :

    • ArchSketch get a Switch :-
    • To turn its shape into a CellComplex (In fact done) : Currently is another object in SketchArchWorkbench link to the ArchSketch
    • To turn its shape into an ArchWall : Currently another ArchWall Object is required to build walls based on the ArchSketch

    So instead of 3 objects in hierarchical relationship, the ArchSketch perform as all of them :D

    'Shape Grammars' is something sounds interesting. But my idea is not to dictate e.g. the placement of windows (this should be architect's call), but e.g. to calculate the minimum size of a Window for natural lighting and/or ventilation based on local code.

  • edited April 2022

    This is amazing! Thrilled to see more...
    What I personally would like to see/do with Topologic in FreeCAD is basically "put order in the mess". FreeCAD is extremely free-form ans free-method regarding BIM modeling, compared to BlenderBIM. You don't need to structure anything, or relate anything. Most people just model a bunch of objects and place them into groups. This makes it hard, for example, to extract an energy analysis model from a BIM model.
    Some things I imagine Topologic could greatly help:

    • Find the "median face" of walls and slabs, or, a face that would be the division between two spaces on each side of the wall
    • Find all "reasonably enclosed" spaces in a model (thinking there can be small openings or "unknown objects" in the way), or, build spaces automatically
    • Find all windows inserted into a wall, even if these windows weren't "declared" as belonging to that wall

    In sum, build a proper energy analysis model (spaces + walls + openings) out of a "junk" model which is geometrically correct but where users didn't set up all the proper relationships themselves: They didn't create spaces, the walls and slabs are all unrelated or even generic objects (cubes, whatever), or even one object that represents several walls! and openings are not always clearly defined or related.

    I'd be interested in helping there... It might be useful to have a couple of test files with these cases above, I'll build some

    topologicpaulleedimitar
  • @topologic said:

    Should I open an issue at github ? :D

    Yes sorry, the release is only for windows. You can try to take your linux topologic.pyd and replace the on in the Topologic folder with that.

    Not sure I understand - I previously installed Brunopostel's Topologic and Topologic-python packages for Fedora, but find no topoligic.pyd, e.g.

    [paullee@fedora ~]$ rpm -qa | grep -i topologic
    Topologic-0.0-0.20220131git.fc34.x86_64

    [paullee@fedora ~]$ rpm -ql Topologic-0.0-0.20220131git.fc34.x86_64
    /usr/lib/.build-id
    /usr/lib/.build-id/13
    /usr/lib/.build-id/13/e45ca75d67f9e7deb61f4095d0a163a9599c47
    /usr/lib64/libTopologicCore.so.0
    /usr/lib64/libTopologicCore.so.0.0.0
    /usr/share/doc/Topologic
    /usr/share/doc/Topologic/README.md

Sign In or Register to comment.