A conversation about Topologic

Hi everyone,
Over the past couple of years, Topologic’s functionality and connection to other software such as machine learning, speckle, pollination cloud, streamlit, has grown. In addition, I am refactoring the code by disassociating Topologic from sverchok and Blender; not to abandon them! On the contrary: to make the topologic code more sustainable and versatile. Once the refactoring is done, under the name topologicpy, the code for TopologicSverchok will be updated to use topologicpy. I am still planning to write an article about the new architecture for osarch.
So what is this post about? In the spirit of open source, I would like to have a conversation with (rather than a lecture to) the osarch community to discuss the current state of Topologic and collectively discuss possible future work as well as strategies to ensure its sustainability. Before this conversation can take place, I would like to use this forum to set the agenda for it. We will make room for free-form discussion, but a skeleton agenda will help us focus and be productive.
So I will start: One of the issues I would like to discuss is Topologic’s ambiguous relationship with IFC. This forum, if you agree, is heavily invested in IFC. Topologic is not built on IFC, but can certainly interact with it. What should the future relationship be between Topologic and IFC?
That’s it from me. Please do reply and suggest agenda items or any issues on your mind regarding Topologic so that this upcoming conversation can benefit all of us. Thank you.

Tagged:
paulleetobenzAcebitacovirpeperibera

Comments

  • I think Ifc is a growing ecosystem, but It was a big decision for moult to rebuild BlenderBim to be Ifc native. For myself I see topologic alongside these other tools on OSArch, But it' doesn't have to be built as ifc only, but it would give it a unique position. I see BlenderGis + BlenderBim + Topologic + HomeMaker as an incredible workflow Anything that makes that seamless would be better, and in this case BlenderGis has nothin to do with Ifc

    topologic
  • Thinking that Topologicpy should have minimal dependencies, or only dependencies that have raw geometry/topology functionality, ie. It shouldn't require IfcOpenShell, whereas the sverchock nodes need to interact with everything possible.

    topologicMoult
  • @brunopostle said:
    Thinking that Topologicpy should have minimal dependencies, or only dependencies that have raw geometry/topology functionality, ie. It shouldn't require IfcOpenShell, whereas the sverchock nodes need to interact with everything possible.

    Topologicpy replicates all of TopologicSverchok, but will segment it into core, ifc, dgl, honeybee etc etc

  • ..also I have a bunch of extra methods in the 'topologist' namespace in the Homemaker add-on, some of which can transfer to Topologicpy so they are more generally useful.

    (also Topologic doesn't build with current pybind, we need to fix this, and the CMake build system was never finished, we could really use some CMake help here)

  • @brunopostle said:
    ..also I have a bunch of extra methods in the 'topologist' namespace in the Homemaker add-on, some of which can transfer to Topologicpy so they are more generally useful.

    Yes, I am planning on generalising and integrating your code into tooologicpy. Very useful stuff in there.

    (also Topologic doesn't build with current pybind, we need to fix this, and the CMake build system was never finished, we could really use some CMake help here)

    Yes, this is infrastructural work on the bottom layer of Topologic, but I don’t want people to think it is seriously broken. It builds fine with the current CMake configuration and with the previous version of pybind. The core is quite static so the current binaries have not changed in months if not a year or more and they don’t need to be rebuilt to add functionality to topologicpy (the advantage of python). But certainly there is needed help to fix these issues at the core level.

  • @topologic
    Where can i find a really simple example script in python to create one IfcSpace with bounded IfcSlabs and IfcWalls? for aboslute beginners like me

  • @Coen said:
    @topologic
    Where can i find a really simple example script in python to create one IfcSpace with bounded IfcSlabs and IfcWalls? for aboslute beginners like me

    I kindly ask that this thread stays focused on the request for agenda items. I feel it is starting to drift. @Coen please DM me for help.

  • @topologic said:

    (also Topologic doesn't build with current pybind,

    The core is quite static so the current binaries have not changed in months if not a year or more and they don’t need to be rebuilt to add functionality to topologicpy (the advantage of python).

    I'm just repeating it so I remember. For Linux distributions these things need to be rebuilt all the time, currently it doesn't build for fedora 37 which is the current release

    topologicpaullee
  • Agenda item 1: Getting resources to update the build mechanism.

  • edited November 2022

    I have a glance at previous threads and understand I am using @brunopostle 's repo (e.g. Topologic-python3-0.0-0.20220131git.fc34.x86_64.rpm) on my fedora 36, and there is discussion on developing workbench on FreeCAD, so items below ? :D

    1. Topologicpy on Linux / Fedora
    2. FreeCAD Topologic Worbench

    https://forum.freecadweb.org/viewtopic.php?style=4&t=68255
    https://forum.freecadweb.org/viewtopic.php?style=3&t=49253&start=20

    topologic
  • edited November 2022

    I like your open attitude to talk and share input about your project with the community. I think is an interesting case for study about open collaboration network and its benefits.
    About Topologic and IFC. I think maybe Topologic is a strategy to work with design in the field of "analysis" rather than "construction" where IFC makes more sense. Topologic should be a strong tool for areas like Architectural Science or Building Science. Now we need to analyse, test and validate quickly scientific aspects of buildings (during design stage or post construction stage). And topologic's approach for abstract representation is very good for these tasks.
    The fact that Topologic can operate in a platform like Blender or FreeCAD where constructive design is made, it is already an excellent way to engage with building workflow. So, IFC maybe is better for Topologic to interact with BIM only when the information is coming from BIM resources: BIM data -> Topologic -> Analyses. And its only objective is to allow Topologic to build easily an abstract and basic representation of the case. Maybe it is not so important for Topologic to generate IFC files. Construction is not its business.

    topologicpaullee
  • @bitacovir I couldn’t agree more. You put it very clearly. Topologic is a design and analysis tool. Yet, with the addition of grammar rules and machine learning it could be a powerful openBIM generator as @brunopostle has clearly proven with homemaker.

    paulleebitacovir
  • Totally agree with @bitacovir - the strength of FOSS is the diversity, the ability to "do one thing, and do it well", and integrate through agreed interfaces, so it makes total sense to make an agnostic Topologicpy that does one thing, and does it well, and then have dedicated adaptors to various other technologies, be it node-like on Sverchok or FreeCAD, or even another data schema like IFC. So the future relationship I would imagine is Topologic fundamentally is separate from IFC, yet still can be used to aid analysis in an IFC context, and also vice versa, IFC fundamentally is agnostic of Topologic, yet can use Topologic as a backend for various forms of analysis and cleanup.

    topologicpaulleebitacovir
  • Agenda items:

    What design process stage(s) is Topologic most suited for?
    How should Topologic interact with IFC?

    paullee
  • may be is my view is not really right:
    I see Homemaker as an automatic Building-maker: using the grammars in topologic to optimise the spaces within the building.
    A Quartier-maker, City-maker would do the levels above.. one defines grammars, topologic optimises . Budget rules may be an optimisation figure, but a second set of rules coming from energy considerations would extend the decision criteria, a third set of rules could be some fire-security criteria (rules given by the local legislations). And so on.. Topologic always verifies the grammars are respected, some other engine does the mixing of configurations, another one assesses the results from some criteria. All those three engines are included in topologicpy today? the AI/ML would be the next engine that anticipates optimal configurations.
    Then some Light-maker, Heating-maker, Plumbing-maker and Electric-maker would take care of the levels downward for a building... The rules of water, heat, power distribution are define by the normativ-grammars of legislations and/or physics.. topologic takes care that these grammars are sent to some simulator to verify the norm-conformity (Ladybug tools or so..)..
    Then comes the geometry builders .. afterwards this geometry is then squeezed into blenderBIM for an ifc result.
    The last two steps, are probably one, now that BlenderBIM is a direct ifc-geometry maker.
    And also here topologic can take care of the ifc-grammars.. a building is a ifc-tree, a ifc-graph ruled by the BIM-norm (ifc-grammar).
    So a merging of graphs can be held clean by topologic?
    The electrical example: a room needs a light-bulb in the ceiling middle, the switch next to the entrance door, a plug probably under it. would it be a sleeping-room, some more plugs next to the bed. So are all rooms defined; topologic would also have the rules for the wirings, knows which room contains the central-dispatcher. The whole electric installation moves automatically with the different apartment configurations, gives a total cable length, a whole bill-of-materials, and a 3D electrical installation with 2D-plan and schematics (hopefully with the help of Qelectrotech) and assessment of light-level (radiance) , energy consumption (energy+) .
    TIme for me to start using the whole set of wonders you guys are setting up.

    topologic
  • Thanks @lukas There is a lot there to discuss. I will just answer about my plans for topologicpy:
    1. It is still in progress. I am cleaning the code, adding documentation strings and adding new useful methods.
    2. When phase 1 is done, I hope it will replicate the core functionality of topologicsverchok that does not require 3rd party libraries (except numpy and a couple of other basic python libraries)
    3. Phase2: All of topologicsverchok: Energy Analysis (openstudio, E+), HBJSON, Speckle, ML (DGL), IFC
    Beyond that is homemaker and all the features you mention.

    Agenda item: Topologic’s roadmap

  • The discussion has quieted and I think there are some great suggestions. Thanks to everyone who contributed. So, I looked back and here is a possible agenda for this upcoming conversation about Topologic:

    1. Introductions
    2. Introduction to and update on Topologic and topologicpy
    3. Round table discussion. Some questions to instigate a discussion:
      a. What design process stage(s) is Topologic most suited for?
      b. How should Topologic interact with IFC?
      c. Is Topologic a building graph editor?
      d. What is Topologic’s roadmap?
      e. How can we support Topologic?
      . Update the build mechanism.
      . Topologicpy on Linux / Fedora / Mac
      . FreeCAD Topologic Workbench
      . Documentation / Tutorials
    4. Any other business.

    I think the format should be a moderated round table open discussion. If the numbers are relatively large (eg more than 10) then perhaps we can choose a panel of 5 people and we open the discussion at certain points to the larger group.

    Thanks everyone for your support and interest. It is such a pleasure being part of this community.

    Acebrunopostlebitacovirpaulleebruno_perdigaoNigelJesusbill
Sign In or Register to comment.