Freecad finally scratched that itch I had for so long.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 26
- Joined: Fri Aug 30, 2019 9:47 am
Freecad finally scratched that itch I had for so long.
Hi all,
As an architect I am quite proficient in organic architecture and I have coded my fair share in Catia, Grasshopper, pythonocc and none really scratched that itch until I finally got back around to freecad.
To be precise, that itch is that Rhino does not have a reliable tangency constrained surfacing system, this limits the possibilities of the topology. For instance, when I worked for Mecanoom, the WeiWuYing project has a very subd-esque topology and I had to resort to Catia/Digital Project. I designed the shape as a parametric model that was built as a splinecage with surfaces that were tangency-symetric on both sides of the spline:
(I rendered this in blender 2.4 I think, maybe 2.5)
Back then I already knew about opencascade and the methods that support constraining the curvature of a surface at the edges, but I never got further than a few prototypes in c++ and pythonocc. I noticed I like geometry, but boy do I hate coding a UI.
So, last week I decided to give FreeCAD a better look and whipped up a nice macro that populates a 3 curve lofted surface (which incidentally is only available in python):
The windows are actual Arch windows, but the structure is not realistic in detailing. I should do this structure I designed when I worked at ONL:
image c/o ONL,
So what I want to say is:
THANK YOU !
And the added bonus of being on Linux full-time is sweet too, big thanks for that to you and the good people at blender, scribus and inkscape.
As an architect I am quite proficient in organic architecture and I have coded my fair share in Catia, Grasshopper, pythonocc and none really scratched that itch until I finally got back around to freecad.
To be precise, that itch is that Rhino does not have a reliable tangency constrained surfacing system, this limits the possibilities of the topology. For instance, when I worked for Mecanoom, the WeiWuYing project has a very subd-esque topology and I had to resort to Catia/Digital Project. I designed the shape as a parametric model that was built as a splinecage with surfaces that were tangency-symetric on both sides of the spline:
(I rendered this in blender 2.4 I think, maybe 2.5)
Back then I already knew about opencascade and the methods that support constraining the curvature of a surface at the edges, but I never got further than a few prototypes in c++ and pythonocc. I noticed I like geometry, but boy do I hate coding a UI.
So, last week I decided to give FreeCAD a better look and whipped up a nice macro that populates a 3 curve lofted surface (which incidentally is only available in python):
The windows are actual Arch windows, but the structure is not realistic in detailing. I should do this structure I designed when I worked at ONL:
image c/o ONL,
So what I want to say is:
THANK YOU !
And the added bonus of being on Linux full-time is sweet too, big thanks for that to you and the good people at blender, scribus and inkscape.
Re: Freecad finally scratched that itch I had for so long.
I think Yorik is traveling at this moment. He is one of the main developers of FreeCAD for Architecture.
But it is interesting to know more architects working on FreeCAD in real cases. Please, consider supporting Yorik's dedication in Patreon. Another developer with Patreon account is Kremitzki.
https://www.patreon.com/yorikvanhavre
https://www.patreon.com/kkremitzki
Also, you could make a tutorial to teach other architects on how to produce those designs.
Regards.
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
Re: Freecad finally scratched that itch I had for so long.
Really interesting to have you here!
follow my experiments on BIM modelling for architecture design
Re: Freecad finally scratched that itch I had for so long.
These guys as well!
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: Freecad finally scratched that itch I had for so long.
Yes, this is impressive!
A tutorial on how to do this would be appreciated
A tutorial on how to do this would be appreciated
-
- Posts: 26
- Joined: Fri Aug 30, 2019 9:47 am
Re: Freecad finally scratched that itch I had for so long.
I am quite busy right now for a fully fleshed out tutorial, not in the least because I am diving head first in with freecad for a project.
But I added the files I made above images with in my github:
https://github.com/sanderboer/FreeCAD/t ... scratchpad
The macro is a nurbs population script and the selection of the base surface is hardcoded in the macro:
surf = doc.Shape001
But after that, it is off to the races. The script loops through the U and V topology of the surface, gets a point and a normal on that surface at regular intervals and connects them in triangles, which is boring, but structurally sound and each triangle is always flat. Triangles are the most structurally sound and are guaranted flat, so in principle we can use regular building methods. Each triangle is different in dimensions, but they all have the same detail. One building, one detail as we liked to say in the ONL days.
Now the base surface is a Part.makeLoft, because this type of surface is untrimmed. Untrimmed surfaces allows for us to use the UV coordinates of the surface for mapping the construction on. I did try out an edge constrained surface, but that is almost always a trimmed surface and then I need to externally map a grid onto the surface which is very hard to formalise and is very dependent on the design intent.
cheers, sander
But I added the files I made above images with in my github:
https://github.com/sanderboer/FreeCAD/t ... scratchpad
The macro is a nurbs population script and the selection of the base surface is hardcoded in the macro:
surf = doc.Shape001
But after that, it is off to the races. The script loops through the U and V topology of the surface, gets a point and a normal on that surface at regular intervals and connects them in triangles, which is boring, but structurally sound and each triangle is always flat. Triangles are the most structurally sound and are guaranted flat, so in principle we can use regular building methods. Each triangle is different in dimensions, but they all have the same detail. One building, one detail as we liked to say in the ONL days.
Now the base surface is a Part.makeLoft, because this type of surface is untrimmed. Untrimmed surfaces allows for us to use the UV coordinates of the surface for mapping the construction on. I did try out an edge constrained surface, but that is almost always a trimmed surface and then I need to externally map a grid onto the surface which is very hard to formalise and is very dependent on the design intent.
cheers, sander
Re: Freecad finally scratched that itch I had for so long.
This looks great! And it is exactly the type of flexibility that Freecad is missing at the moment. But Freecad definitely has all the right ingredients.
Seems something like Catia's knowledge patterns.
FYI: I've started collecting inspiration from elsewhere (mostly Catia) on another thread here: https://forum.freecadweb.org/viewtopic.php?f=23&t=38510
Seems something like Catia's knowledge patterns.
FYI: I've started collecting inspiration from elsewhere (mostly Catia) on another thread here: https://forum.freecadweb.org/viewtopic.php?f=23&t=38510
Re: Freecad finally scratched that itch I had for so long.
Hot
... creating most of it from the script is however not very much in the "fully parametric spirit" (but I am not saying that it is bad ), however if we take the above example for scriptable distribution of components + this example for fully parametric surface control https://forum.freecadweb.org/viewtopic. ... 26#p325226 + this example for fully parametric custom components https://forum.freecadweb.org/viewtopic. ... 97#p325613 + get some control over U-V, then we can probably already do something very close to this https://www.youtube.com/watch?time_cont ... 8F_RBj1nnM
... on the other hand microelly2 is probably able to take the above macro, break it down in to simple generic "basic blocks", turn them in to nodes and reimplement this in his node workflow https://forum.freecadweb.org/viewtopic. ... 9&start=70
... creating most of it from the script is however not very much in the "fully parametric spirit" (but I am not saying that it is bad ), however if we take the above example for scriptable distribution of components + this example for fully parametric surface control https://forum.freecadweb.org/viewtopic. ... 26#p325226 + this example for fully parametric custom components https://forum.freecadweb.org/viewtopic. ... 97#p325613 + get some control over U-V, then we can probably already do something very close to this https://www.youtube.com/watch?time_cont ... 8F_RBj1nnM
... on the other hand microelly2 is probably able to take the above macro, break it down in to simple generic "basic blocks", turn them in to nodes and reimplement this in his node workflow https://forum.freecadweb.org/viewtopic. ... 9&start=70
Re: Freecad finally scratched that itch I had for so long.
Thanks for sharing. I hope someone can take that macro to develop a nice tool in FreeCAD to build this kind of structures.sanderboer wrote: ↑Wed Sep 11, 2019 8:43 am But I added the files I made above images with in my github:
https://github.com/sanderboer/FreeCAD/t ... scratchpad
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
Re: Freecad finally scratched that itch I had for so long.
Trying to understand the Macro.
It is cool!
Any yes, if anyone can push it further to make a kind of parametric CurtainWall object
It is cool!
Any yes, if anyone can push it further to make a kind of parametric CurtainWall object