That’s the beauty of it. All the code in TopologicSverchok can potentially be ported almost as is to FreeCAD.
As to processing speed, I have not done any comparisons. If you do tests and timings, please share. Thanks.
@paullee said:
Further test with Boolean Fragment, generating 'internal faces' :D
Just the tip of the iceberg. I can add all the sverchok code, but two things are standing in my way that perhaps someone here can help with:
1. I don’t know how to get and display alphanumeric values from and to dialog boxes etc in FreeCAD.
2. I don’t know how to pass output (including topologies) from one button push to the other. Does everything in FreeCAD pass through the viewer or can we stash objects in other data structures?
Thanks for any help you can offer.
@topologic said:
Just the tip of the iceberg. I can add all the sverchok code, but two things are standing in my way that perhaps someone here can help with:
1. I don’t know how to get and display alphanumeric values from and to dialog boxes etc in FreeCAD.
2. I don’t know how to pass output (including topologies) from one button push to the other. Does everything in FreeCAD pass through the viewer or can we stash objects in other data structures?
Hope FreeCAD expert comes in (maybe posting in FreeCAD forum?), I have not much idea about GUI things in FreeCAD.
For item 2, my 2 cents (as Python and FreeCAD coding beginner :) ), maybe :
instead of "f = doc.addObject("Part::Feature", sel.Name+"_"+names[i]) " for every 'outputs'
create a Part:Feature with App::PropertyLink to 'Source Object' to make thing parametric
then create a few Part::PropertyPartShape to contain the Shape of the 'outputs'
if not hasattr(fp,"output1"):
fp.addProperty('Part::PropertyPartShape', 'output1', 'vert_faces', "xxx"),8)
if not hasattr(fp,"output2"):
fp.addProperty('Part::PropertyPartShape', 'output2', 'hor_faces', "xxx"),8)
''' Add self.properties '''
fp.Proxy = self
if not hasattr(fp,"SourceObject"):
fp.addProperty("App::PropertyLink","SourceObject","xxx","yyy")
if not hasattr(fp,"output1"):
fp.addProperty('Part::PropertyPartShape', 'output1', 'vert_faces', "xxx"),8)
if not hasattr(fp,"output2"):
fp.addProperty('Part::PropertyPartShape', 'output2', 'hor_faces', "xxx"),8)
def execute(self, fp):
''' Features to Run (extract codes from your exsiting library)'''
# algorithm to find the external vertical faces ...etc.
inputShape = fp.SourceObject.Shape
...
fp.output1 = output1
fp.output2 = output2
...
fp.Shape = (can chose to 'display' which output, e.g. depends on a switch)
''' make a FreeCAD 'document object' '''
tpObj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython","TpObj")
''' 'apply' the class / create an TpFcObject 'instance' passing the 'document object' to it '''
tpObjInstance = TpFcObject(tpObj)
''' pass the selected obj to the Topologic Object for execution '''
tpObj.SourceObject = Gui.Selection.getSelection()[0]
Hi OSARCH, sorry for being quiet here. Just wanted to let you know that a new version of Topologic has been released. With it comes the addition of node classification for graph machine learning. Imagine you have a graph of your building where a node represents either a space/room or a building component (wall, window etc). Imagine then that some nodes are fully known as what they are, but others are not yet fully specified (what kind of window or door? What room function?). Topologic can now fill in the blanks which means, theoretically, you can pull in the full BIM details of the missing component and auto-complete your project.
None of this has been tested yet. I would love to collaborate if you are interested and have a dataset that can be encoded as a graph. We need at least 500 graphs to get going (or one graph with 500 nodes)
@brunopostle said:
Basically, it is a 'package repository' in addition to the default fedora repositories, so it isn't intended for direct download, enable it like this:
dnf copr enable bpostle/IfcOpenShell
>
Hi, thanks for your Copr works and I have been using it on Fedora.
I have upgraded to Fedora 36 for a few weeks and would like to install the Topologic support. Is there any plan to include in the Copr the support for Fedora 36 ? Thanks :D
@paullee I'm packaging these as if they were normal fedora packages, so I'm linking to system libraries wherever possible, so on fedora 35 & 36 it is linked with python 3.10.
@topologic does it make sense to keep this or have you considered just redirecting to this osarch forum? https://topologic.app/community/
I just had a colleague posting internally wondering where the community was and where they could read about what people are using it for. This forum seems like the place for that.
@duncan said: @topologic does it make sense to keep this or have you considered just redirecting to this osarch forum? https://topologic.app/community/
I just had a colleague posting internally wondering where the community was and where they could read about what people are using it for. This forum seems like the place for that.
I agree. The community page on http://topologic.app never took off. These pages is where the discussion about Topologic is. When I have a few minutes, I will edit that web page to include a link to these pages. Thank you for the suggestion.
@topologic said:
I agree. The community page on http://topologic.app never took off. These pages is where the discussion about Topologic is. When I have a few minutes, I will edit that web page to include a link to these pages. Thank you for the suggestion.
Please feel free (encouraged) to use OSArch branding/logo and say something more general about what this OSArch project is about :-)
By-the-way ... I really think it's time to stop keeping the whole discussion of topologic in one thread. It's almost useless to anyone searching for a specific answer.
@topologic said:
I agree. The community page on http://topologic.app never took off. These pages is where the discussion about Topologic is. When I have a few minutes, I will edit that web page to include a link to these pages. Thank you for the suggestion.
Please feel free (encouraged) to use OSArch branding/logo and say something more general about what this OSArch project is about :-)
This is done! Please check and let me know if you are happy with how it looks and what it says: https://topologic.app/community/
I am not a Linux expert, but it seems that the bundled version of topologic is not compatible with your system. If you can get your hands on a compiled and compatible version of topologic for Linux (eg from homemaker) just drop it in the bin/Linux/topologic folder inside topologicpy
Comments
That’s the beauty of it. All the code in TopologicSverchok can potentially be ported almost as is to FreeCAD.
As to processing speed, I have not done any comparisons. If you do tests and timings, please share. Thanks.
Works as advertised :D
Further test with Boolean Fragment, generating 'internal faces' :D
Just the tip of the iceberg. I can add all the sverchok code, but two things are standing in my way that perhaps someone here can help with:
1. I don’t know how to get and display alphanumeric values from and to dialog boxes etc in FreeCAD.
2. I don’t know how to pass output (including topologies) from one button push to the other. Does everything in FreeCAD pass through the viewer or can we stash objects in other data structures?
Thanks for any help you can offer.
Hope FreeCAD expert comes in (maybe posting in FreeCAD forum?), I have not much idea about GUI things in FreeCAD.
For item 2, my 2 cents (as Python and FreeCAD coding beginner :) ), maybe :
create a Part:Feature with App::PropertyLink to 'Source Object' to make thing parametric
then create a few Part::PropertyPartShape to contain the Shape of the 'outputs'
then, contain the output in this 'properties'
Now, other object can refer to these as
p.s.
Questions related to python in FreeCAD can goes here :D
https://forum.freecadweb.org/viewforum.php?f=22
See wiki on Scripted Objects for details and available properties :D
(and the thread on Differences between Part::Feature, Part::FeaturePython and App::FeaturePython objects )
I just use Part::FeaturePython
Some codes not tested for reference, rename the attached *.txt to *.py :)
Hi OSARCH, sorry for being quiet here. Just wanted to let you know that a new version of Topologic has been released. With it comes the addition of node classification for graph machine learning. Imagine you have a graph of your building where a node represents either a space/room or a building component (wall, window etc). Imagine then that some nodes are fully known as what they are, but others are not yet fully specified (what kind of window or door? What room function?). Topologic can now fill in the blanks which means, theoretically, you can pull in the full BIM details of the missing component and auto-complete your project.
None of this has been tested yet. I would love to collaborate if you are interested and have a dataset that can be encoded as a graph. We need at least 500 graphs to get going (or one graph with 500 nodes)
>
Hi, thanks for your Copr works and I have been using it on Fedora.
I have upgraded to Fedora 36 for a few weeks and would like to install the Topologic support. Is there any plan to include in the Copr the support for Fedora 36 ? Thanks :D
@paullee oops I forgot, fixed
Found and try using, just to report below :D
FreeCAD latest release 0.20 is still using Python 3.9

FC36 : Topologic-python3-0.0-0.20220131git.fc36.x86_64.rpm provides support to Python 3.10

FreeCAD does not find the Python 3.10 site package upon importing topologic
Thanks
@paullee I'm packaging these as if they were normal fedora packages, so I'm linking to system libraries wherever possible, so on fedora 35 & 36 it is linked with python 3.10.
So you can either force install the old rpm for 3.9 support, or use the portable version in the Homemaker add-on zip which has Topologic compiled for 3.7, 3.8, 3.9 and 3.10, or you can install a freecad snapshot built for fedora 36 and python 3.10 from this freecad fedora copr repository.
Today's progress. Topologic is interactive on the web! Try it for yourself at: https://wassimj-topologicst-plotly-test01-yul95o.streamlitapp.com/

@topologic does it make sense to keep this or have you considered just redirecting to this osarch forum?
https://topologic.app/community/
I just had a colleague posting internally wondering where the community was and where they could read about what people are using it for. This forum seems like the place for that.
I agree. The community page on http://topologic.app never took off. These pages is where the discussion about Topologic is. When I have a few minutes, I will edit that web page to include a link to these pages. Thank you for the suggestion.
Please feel free (encouraged) to use OSArch branding/logo and say something more general about what this OSArch project is about :-)
By-the-way ... I really think it's time to stop keeping the whole discussion of topologic in one thread. It's almost useless to anyone searching for a specific answer.
This is done! Please check and let me know if you are happy with how it looks and what it says: https://topologic.app/community/
For those of you who have not yet heard :)
pip install topologicpy
https://github.com/nortikin/sverchok/blob/master/index.yaml
there is change in menu approach.
Please, grub your menu to that to make it work.
https://github.com/nortikin/sverchok/commit/8192dcdd6de89908e2541432f688949a13ca252a also changes influence on registration. please, follow also sverchok chat https://t.me/sverchok_3d
@paullee topologicpy works perfectly well in FreeCAD 0.20 on Windows. Here is what I did to make it work:
10 20 30

Hmmm, searched on my Fedora 36 and seems found it under .local/lib/python3.10/site-packages ...
I am not a Linux expert, but it seems that the bundled version of topologic is not compatible with your system. If you can get your hands on a compiled and compatible version of topologic for Linux (eg from homemaker) just drop it in the bin/Linux/topologic folder inside topologicpy
One test would be to delete the files in bin/linux/topologic and try again. It might find the one you got working from homemaker
It seems:-
FC_0.20, with Python 3.9 + Brunopostle's packages for Fedora 36
= import topologic : OK
FC_0.21_pre, with Python 3.10 + Brunopostle's packages for Fedora 36
= import topologic : Not OK
= import topologicpy : Not OK
What about import topologicpy with FC_0.20 with Python 3.9?
@paullee I'm> @paullee said:
my rpms of blenderbim and topologic use the system python. freecad downloads come with their own python interpreter (like blender), surely?
It is not supposed to work - as it seems installed under python 3.10 ?
However in FC 0.20 python console (using 3.9 python version), forcing it to look into python 3.10 location :-
No Vertex etc. directly under topologicpy, but under topologicpy.topologic ....