Anton: an open-source generative design framework built on Blender

Hey everyone! I’m currently working on an open-source generative design framework that uses a density-based topology optimization methodology as a design generator and implicit surfaces for mesh generation. Do give it a try!

Github: https://github.com/blender-for-science/anton
Documentation: https://anton.readthedocs.io/en/latest/

I would love to collaborate with like-minded developers on this project. Let’s build an open-source generative design framework together!

Join Blender for Science: https://discord.gg/tpq7Yuv

9 Likes

Good.
immagine

Looks interesting for sure, but for me I need some more documentation.
For example when you start with Define and onwards > Specify the number of forces acting on the object.
It’s a bit guessing what the workflow is. Tooltips doesn’t make me wiser either. Could you show us how you use it?

I’m working on a illustrative video, will post it soon.

4 Likes

Please have a look at fusion 360’s way of implementation of generative design

That sounds sexy as hell, but I have no idea what it means. :crazy_face:

Hey Arkoprobho_Gupta! Fusion 360’s Generative design is a cloud-based solution that is also built on topology optimization methodologies and uses machine learning. Anton is in its early stage of development as stated in the documentation (https://anton.readthedocs.io/en/latest/), and has no intelligence as of now. I’m currently working on implementing a level-set topology optimization method.

1 Like

Going to try this, looks interesting. I’d have to use a specific standalone Blender version, just for this tool, as it overwrites the default numpy, which can be dangerous. A lot of tools rely on numpy in Blender, and then can go awry if numpy version is bumped up.
Trying with 2.83, I’ve received some errors, but probably made some mistakes. I’ll retry that. By the way, does it work with 2.90?
Thank you

EDIT: the errors appears only if you click on Shape and Hull and then Initialize without an object in the scene…
Anyway I’m not able to go on, I always get an “ill posed problem” and “missing .inp file”
HTH

I’ll remove the numpy installation in dependency. Did you assign direction for each applied force? Directions are assigned via vertex groups, select an edge and assign it to a vertex group and then click the “Expand” button next to each force’s magnitude. You’ll see arrows that correspond to each force’s direction. (You can reverse the direction by toggling).

https://anton.readthedocs.io/en/latest/quickstart.html#define

Ok, some step forward.
Now I’ve created all forces and directions:

now on clicking “define” I get:

Info: Fixed: {9, 10, 11, 12}, Non Design Space: {5, 6}, Force: ['FORCE_1', 'FORCE_2']
Error: Traceback (most recent call last):
  File "/Users/max/Library/Application Support/Blender/2.83/scripts/addons/anton-0-1-0/definer.py", line 294, in execute
    gmsh.initialize()
  File "/Users/max/.local/lib/python3.7/site-packages/gmsh_api/gmsh.py", line 195, in initialize
    lib.gmshInitialize(
  File "/Users/max/Developer/Tools/Blender/blender-2.83/Blender.app/Contents/Resources/2.83/python/lib/python3.7/ctypes/__init__.py", line 377, in __getattr__
    func = self.__getitem__(name)
  File "/Users/max/Developer/Tools/Blender/blender-2.83/Blender.app/Contents/Resources/2.83/python/lib/python3.7/ctypes/__init__.py", line 382, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, gmshInitialize): symbol not found

I noticed your python installation ends up in $HOME/.local/lib/python3.7/site-packages, interestingly. Didn’t know it was possible for Blender to read it. I’d expect those libraries to be in ${yourblenderdir}/blender-2.83/Blender.app/Contents/Resources/2.83/python/lib/python3.7…

HTH

EDIT: forgot to say I’m using Mac Os. It may be this…

Looks like an issue within gmsh-api, working on it.

Looks like it. The error on Windows, maybe more descriptive:

Error: Traceback (most recent call last):
  File "C:\Users\kabukunz\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\anton-0-1-0\definer.py", line 205, in execute
    import gmsh_api.gmsh as gmsh
  File "C:\Users\kabukunz\AppData\Roaming\Python\Python37\site-packages\gmsh_api\gmsh.py", line 39, in <module>
    lib = CDLL(libpath)
  File "C:\Program Files\Blender Foundation\Blender 2.83\2.83\python\lib\ctypes\__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
TypeError: LoadLibrary() argument 1 must be str, not None

location: <unknown location>:-1

Packages installation looks ok. HTH

Sorry for the delayed response. Wasn’t able to figure out the issue on Windows/MacOs, You can try installing the python module: gmsh-api: https://pypi.org/project/gmsh-api/ manually.

Continuing the discussion from Anton: an open-source generative design framework built on Blender:

Mr. Senthur .
Many of us, like me, we experiment and we are not experts.
Please, to avoid many troubles downloading extra libraries by the user no expert.
why don´t you put everything in the software carpet.
You made new versions for linux, and windows users ???
We ned to try this ambitious software. thanks a lot for your work.

Dear Senthur,

Thank you for your wonderful Work!
For many years I have dreamed about the possibility of topological optimization in Blender…

I am working on a technology that will enable to construction the parametric designs based on topological optimization… Please, take a look:



So, I installed your Addon. And I’m stuck at this stage:

How to fix this? I would be very grateful for your help!