Freecad finally scratched that itch I had for so long.

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
sanderboer
Posts: 26
Joined: Fri Aug 30, 2019 9:47 am

Freecad finally scratched that itch I had for so long.

Post by sanderboer »

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:
phpBB [video]

(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):

Image
Image

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
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.
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Freecad finally scratched that itch I had for so long.

Post by bitacovir »

sanderboer wrote: Mon Sep 09, 2019 8:30 pm So what I want to say is:
THANK YOU !
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
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: Freecad finally scratched that itch I had for so long.

Post by carlopav »

Really interesting to have you here!
dimitar wrote: Wed Aug 14, 2019 10:17 pm dimitar also could be interested
follow my experiments on BIM modelling for architecture design
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Freecad finally scratched that itch I had for so long.

Post by Kunda1 »

These guys as well!
paullee wrote: Thu Sep 05, 2019 11:34 pm
regis wrote: Thu Mar 14, 2019 2:59 am
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
paullee
Veteran
Posts: 5116
Joined: Wed May 04, 2016 3:58 pm

Re: Freecad finally scratched that itch I had for so long.

Post by paullee »

Yes, this is impressive!

A tutorial on how to do this would be appreciated :D
sanderboer
Posts: 26
Joined: Fri Aug 30, 2019 9:47 am

Re: Freecad finally scratched that itch I had for so long.

Post by sanderboer »

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
User avatar
dimitar
Posts: 229
Joined: Thu Jun 13, 2019 6:10 am
Contact:

Re: Freecad finally scratched that itch I had for so long.

Post by dimitar »

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
User avatar
saso
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Freecad finally scratched that itch I had for so long.

Post by saso »

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 :)
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Freecad finally scratched that itch I had for so long.

Post by bitacovir »

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

Thanks for sharing. I hope someone can take that macro to develop a nice tool in FreeCAD to build this kind of structures.
::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
paullee
Veteran
Posts: 5116
Joined: Wed May 04, 2016 3:58 pm

Re: Freecad finally scratched that itch I had for so long.

Post by paullee »

Trying to understand the Macro.

It is cool!

Any yes, if anyone can push it further to make a kind of parametric CurtainWall object :D
Post Reply