Better algorithm for creating pitched roof (probably)?
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Better algorithm for creating pitched roof (probably)?
In a different Arch_Roof related topic this was mentioned:
- ebrahim raeyat
- Posts: 621
- Joined: Sun Sep 09, 2018 7:00 pm
- Location: Iran
- Contact:
Re: Better algorithm for creating pitched roof (probably)?
- ebrahim raeyat
- Posts: 621
- Joined: Sun Sep 09, 2018 7:00 pm
- Location: Iran
- Contact:
Re: Better algorithm for creating pitched roof (probably)?
I worked a little with this tool, but it seems also it has some bug that i can't find why this happens, but by using my algorithm, we can quickly create a roof with no error, if the user want to open the above of roof, we can cut the roof with plan.
Re: Better algorithm for creating pitched roof (probably)?
Where can I download your code? I looked on your Git but couldn't find it there.
- ebrahim raeyat
- Posts: 621
- Joined: Sun Sep 09, 2018 7:00 pm
- Location: Iran
- Contact:
Re: Better algorithm for creating pitched roof (probably)?
I created the repo:
https://github.com/ebrahimraeyat/PitchedRoof
- ebrahim raeyat
- Posts: 621
- Joined: Sun Sep 09, 2018 7:00 pm
- Location: Iran
- Contact:
Re: Better algorithm for creating pitched roof (probably)?
I changed the base of roof to sketch, now if user input polygon as base of roof, i convert it to sketch and set it as base of roof:
Re: Better algorithm for creating pitched roof (probably)?
Wow, that looks impressive... I'm really grateful for people wanting to develop stronger basic algorithms That's really something sorely needed in many areas of BIM/Arch...
-
- Posts: 6
- Joined: Mon May 06, 2019 8:49 am
Re: Better algorithm for creating pitched roof (probably)?
Hi,
I am Ebrahim's development partner in this tool!
What we are aiming to do is create a comprehensive tool for creating all types of roofs. The code is available on the repo Ebbrahim has created for it. When it's all done, we hope for it to be considered for inclusion in the Arch/BIM workbench.
At the moment we are working on a way to "split" the roof to achieve different pitching points, and eave overhangs.
We want this to be achieved with the miniumum of user imput.
the best I can come up with is this workflow:
The user traces the RED outline;
The nominates the green "splits":
The tool creates the BLUE outline, which the skeleton script uses to create the roof:
The script then extends the roof planes down to the RED outline.
This is the best I can think of. Any Ideas?
I am Ebrahim's development partner in this tool!
What we are aiming to do is create a comprehensive tool for creating all types of roofs. The code is available on the repo Ebbrahim has created for it. When it's all done, we hope for it to be considered for inclusion in the Arch/BIM workbench.
At the moment we are working on a way to "split" the roof to achieve different pitching points, and eave overhangs.
We want this to be achieved with the miniumum of user imput.
the best I can come up with is this workflow:
The user traces the RED outline;
The nominates the green "splits":
The tool creates the BLUE outline, which the skeleton script uses to create the roof:
The script then extends the roof planes down to the RED outline.
This is the best I can think of. Any Ideas?
Last edited by Andrew Haas on Mon Dec 07, 2020 12:44 pm, edited 2 times in total.
-
- Posts: 6
- Joined: Mon May 06, 2019 8:49 am
Re: Better algorithm for creating pitched roof (probably)?
The other way of doing it, would be to have the user trace the "Blue" line, and create a tool to extend the roof planes where required.
I don't like this option because it requires too much knowledge to accurately determine the pitching point on complex roofs.
I don't like this option because it requires too much knowledge to accurately determine the pitching point on complex roofs.
- ebrahim raeyat
- Posts: 621
- Joined: Sun Sep 09, 2018 7:00 pm
- Location: Iran
- Contact:
Re: Better algorithm for creating pitched roof (probably)?
Thanks, @yorik, I have been to use this python library for recognizing edges:
https://github.com/Botffy/polyskel
seems it's not supported different angle for each edge, but there is a library that do it, I mentioned in this post:
https://forum.freecadweb.org/viewtopic. ... 91#p441891