[PR] [0.18-0.21_pre] Arch Stair - More Geometry Control? Profile Generator

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by paullee »

dimitar wrote: Fri Jul 12, 2019 12:28 am Have you looked at the wall creation in Blender with the architools addon? It's not 100% intuitive, but it does a pretty decent job.

Image
Thanks again for the images.

I am not an experienced user of blender, just tested playing around importing Obj, texture mapping, simlle rendering .

Any video tutorial you remember ... or any feature / workflow you think worth implementing... ?
User avatar
dimitar
Posts: 229
Joined: Thu Jun 13, 2019 6:10 am
Contact:

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by dimitar »

paullee wrote: Fri Jul 12, 2019 1:41 pm
I am not an experienced user of blender, just tested playing around importing Obj, texture mapping, simlle rendering .

Any video tutorial you remember ... or any feature / workflow you think worth implementing... ?
Not sure about implementing, but i always find it interesting to research other people's take on the same challenges. With Architectural objects, there seem to be plenty.

In case you would like to try the archipack stair generator, I've recorded a video that shows how to use it:

phpBB [video]


a few more useful references:

Archicad is meant to have a very good stair design tool, much better than Revit's. I haven't used it yet, but here is the documentation - https://helpcenter.graphisoft.com/user-guide/64747/

phpBB [video]


phpBB [video]


Catia has pretty good tools in all areas which I will be referencing constantly, but i am struggling to find videos of their stair generator.

Hope this is useful
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by paullee »

Thanks, the ability to 'draw' a staircase, like ArchWall be drawn is good :)

Unfortunately I do not have enough knowledge to implement this - anybody? :lol:

It is inspiring what can/should be done though
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by carlopav »

paullee wrote: ping
Nice, so this is a further level: let me repeat to check if I understand you.
The interesting part in wall extrusion is the base profile generation, so this is what should be extracted first (eventually adding an extrusion option ?).
I'm not for making over complicated object, I think it's better to split them into several different objects that do just one specific task.
Instead we can make more complicated gui tools that group the possibility to generate different objects.
So here for example we can have one Gui Profile tool generato that can produce:
- a thin element profile object;
- a stair profile object;
- a window profile object;
- a steel profile (IPE HE UNP);
- a pipe profile;

what do you think?
follow my experiments on BIM modelling for architecture design
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by paullee »

There are a few discussion so may be I just outline my own thinking.

Currently, Arch Object give you the solid geometry with some parameters which make up the BIM objects, Wall, Window, Stairs.

This is somehow hard for customisation of the form or the code will be more and more complicated (@Yorik explain this problem found in Revit). Stairs apparently is one which is complex in forms, so how do you model a stairs not Stairs, a curve auditorium etc.?

So, e.g. in this post [EDIT] https://forum.freecadweb.org/viewtopic. ... 40#p317816 , an option is added so Stair just return the Face or even Profile of the Steps, then one could Revolve to get a shape required. Even better if a Step Profile (e.g. in Sketch) is return, one can based on this step profile add details, then extrude into solid.

Instead of make a Gui tool just to generate a Stair Profile, Face etc, I am adding option to let Stairs to return a Profile, Faces, Solid object etc. This complicate the Stairs object in fact. I am not sure if a separate tool sharing similar code but just return the outline / profile is better solution - so a simple Stairs Profile / Geometry Object, then subClassing it to make the Arch Stair objects? Difficult for me to express due to my very limited knowledge in programming and python :)
Last edited by paullee on Sat May 23, 2020 5:47 pm, edited 1 time in total.
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by carlopav »

I'll keep thinking about it... perhaps what is simpler is also right! :)
follow my experiments on BIM modelling for architecture design
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by paullee »

paullee wrote: Tue Apr 28, 2020 1:40 pm There are a few discussion so may be I just outline my own thinking.

Currently, Arch Object give you the solid geometry with some parameters which make up the BIM objects, Wall, Window, Stairs.

This is somehow hard for customisation of the form or the code will be more and more complicated (@Yorik explain this problem found in Revit). Stairs apparently is one which is complex in forms, so how do you model a stairs not Stairs, a curve auditorium etc.?

So, e.g. in this post [EDIT] https://forum.freecadweb.org/viewtopic. ... 40#p317816 , an option is added so Stair just return the Face or even Profile of the Steps, then one could Revolve to get a shape required. Even better if a Step Profile (e.g. in Sketch) is return, one can based on this step profile add details, then extrude into solid.

Instead of make a Gui tool just to generate a Stair Profile, Face etc, I am adding option to let Stairs to return a Profile, Faces, Solid object etc. This complicate the Stairs object in fact. I am not sure if a separate tool sharing similar code but just return the outline / profile is better solution - so a simple Stairs Profile / Geometry Object, then subClassing it to make the Arch Stair objects? Difficult for me to express due to my very limited knowledge in programming and python :)
Just realize, after busy for almost a year, the test codes have not been further discussed here https://forum.freecadweb.org/viewtopic. ... 40#p317816[/b]

The crux of codes are as below, see anyone would like to comment the approach.

Code: Select all


    def setProperties(self,obj):
    ...
        if not "StructuresOutput" in pl:
            obj.addProperty("App::PropertyEnumeration","StructuresOutput","Structure","Profile, Face, Solid (Bim Object) or None to be created for Structures")
            obj.StructuresOutput = ["None","Profile","Face","Solid"]
        if not "StepsOutput" in pl:
            obj.addProperty("App::PropertyEnumeration","StepsOutput","Structure","Profile, Face, Solid (Bim Object) or None to be created for Steps")
            obj.StepsOutput = ["None","Profile","Face","Solid"]

Code: Select all

    def execute(self,obj):

        "constructs the shape of the stairs"

        ...

        self.steps = []
        self.risers = []
        self.pseudosteps = []
        self.structures = []

        ## TODO - 2019.5.20
        self.structuresProfiles = []
        self.stepsProfiles = []
        self.risersProfiles = []
Screenshot from 2019-06-29 23-29-23.png
Screenshot from 2019-06-29 23-29-23.png (271.94 KiB) Viewed 2463 times
Screenshot from 2019-06-29 23-31-24.png
Screenshot from 2019-06-29 23-31-24.png (290.15 KiB) Viewed 2463 times
Attachments
ArchStairs_WIP_ clean.py
(75.91 KiB) Downloaded 144 times
jahwobble
Posts: 51
Joined: Sat Sep 21, 2019 1:05 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by jahwobble »

Just popping in to say brilliant work on the stairs. They are fiendishly difficult - Revit stairs, for example, are mind-bogglingly complex and have given me many a headache - and this work is very impressive.
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by paullee »

jahwobble wrote: Thu Nov 19, 2020 12:15 am Just popping in to say brilliant work on the stairs. They are fiendishly difficult - Revit stairs, for example, are mind-bogglingly complex and have given me many a headache - and this work is very impressive.

Thanks, had been busy on work and focus developing tools to ease and facilate floor layout development using Sketch as base for Arch Wall.

If you have any idea on Arch Stairs, you may comment here :D

There have been a few area needs to be improved, like the base for which to build the Stairs which is not very handy currently.
jahwobble
Posts: 51
Joined: Sat Sep 21, 2019 1:05 pm

Re: [PR] [0.18] [0.19_pre] Arch Stair - More Geometry Control? Profile Generator

Post by jahwobble »

If you have any idea on Arch Stairs, you may comment here :D
I am, of course, constantly comparing with the BIM software I use for work. With Revit stairs, different nosing profiles can be used, the nosing can wrap around the front and sides of the tread, the riser can be sloped. The tread and riser can be different materials. Customized railings with fancy balusters can be used, so many balusters per step can be specified etc etc. This may give you some ideas of what you would like to do with Arch stairs but on the other hand, you may say "the hell with that!" :D

I quite like the relatively simple nature of Arch stairs - I actually find a stair case quicker and easier to build this way.

One question I would ask is "is it possible to create my own rail type and set that as the stair rail instead of the single, simple rail type". It would be good to be able to set railing with balusters, but I suppose that is getting into Arch Fence territory.
There have been a few area needs to be improved, like the base for which to build the Stairs which is not very handy currently.
Using a wire as a base reminds me of one of the Revit methods - stair by component. The user sets the top and bottom level parameters, along with the maximum riser height at minimum tread depth then dynamically sketches the path for each flight. I actually prefer the Arch stairs method because the base wire is placed before the stairs are created and can be tweaked to adjust the stairs afterwards. In Revit, I would have to go back and manually adjust each flight while playing with the step and level parameters, and it can be quite fiddly to do so.

The wire base method strikes me as quicker and more flexible so i would't be too harsh on it. ;)
Post Reply