Discussion: Arch generators - naming

A forum dedicated to the Draft, Arch and BIM workbenches development.
User avatar
yorik
Site Admin
Posts: 11574
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Discussion: Arch generators - naming

Postby yorik » Wed May 08, 2019 4:21 pm

As we discussed already in other threads, everybody around here seems to agree it would be a good idea to separate the arch tools from their semantics. That means, the way you build a wall, by giving a thickness to a baseline then extruding it upwards, would not be called a wall anymore. This is because you can use that tool not only to build a wall, but to build just any other BIM object that would be practical to build that way: A beam, for example.

This is exactly how the IFC format is meant to be used (any kind of shape can be any BIM object), and it already works like that in FreeCAD too: After you build a wall, you can change its type to anything else.

So what I'm proposing here is twofold:

1) In Arch workbench: tools that have the same name as a building element, for ex. wall, are renamed to something else that is not a building element.
2) In BIM workbench, we will still have a wall tool, a beam tool, a window tool, etc... This is important so users coming from other classical BIM paradigms don't feel lost. But this would only be a thin layer on top of the Arch tools. Underneath, thr BIM tool would use the corresponding, appropriate arch tool.

So this is the list I'm thinking of, and I'd be glad to get some help to find better names. The idea is that the new names talk only about the geometry, and not about buildings:

Axis -> Axis (no change)
Building -> removed (it's a buildingpart)
BuildingPart -> Container? ArchPart? Stays like that?
Equipment -> Equipment (no change)? Or something else? The word "Equipment" is not part of IFC, so it could stay...
Fence -> ? no idea... Could stay like that, but if we're going to use it for curtain walls too, might be a better name...
Floor -> removed (it's a buildingpart)
Frame -> Frame (no change)
Panel -> Panel (no change)? Or something else? It could be merged with something else, but it has this additional code to produce waves..
Pipe -> Pipe (no change)
Pipe connector -> Pipe connector (no change)
Rebar -> ?? I can't think of anything else...
Roof -> Sloped extrusion?
Site -> ??
Space -> ??
Stairs -> ??
Structure -> Structure (no change)? Profile extrusion?
Wall -> Linear extrusion?
Window -> Embedded? Embeddable?

In the BIM workbench, on the contrary, we should have more and more specific tools, ex:

Wall
Curtain Wall

Column
Beam
Slab
Truss
Beam system

Site
Building
Level/Floor/Storey

Window
Door

Furniture/Appliance

Stairs
Railing

In the future we could think of even wilder things, such as having only one single BIM object class, and be able to change its geometry generator above on-the-fly...
User avatar
bitacovir
Posts: 724
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Discussion: Arch generators - naming

Postby bitacovir » Thu May 09, 2019 12:59 am

My suggestions:

Rebar ->Cylinbar
Roof -> covering
Site -> ?? Area, Sector, square, block
Space -> ?? volume,
Stairs -> ?? zigzag, Patern, waveform, steps
Wall -> Partition, VertPart
Window -> Hole, cavity, gap, outlet
::bitacovir::
===================================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

My Blog
Mini Airflow Tunnel Project
Roy_043
Posts: 525
Joined: Thu Dec 27, 2018 12:28 pm

Re: Discussion: Arch generators - naming

Postby Roy_043 » Thu May 09, 2019 8:03 am

I don't know how abstract the Arch element types can/should be.
If you accept that a fence and a curtain wall share characteristics, then it may make sense to include windows, frames and panels in that same category.

An embeddable part could be an abstract container. It may contain a window, but also a fence (grating) or nothing. It may or may not create a hole in the hosting element.
User avatar
yorik
Site Admin
Posts: 11574
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Discussion: Arch generators - naming

Postby yorik » Thu May 09, 2019 4:08 pm

This is a complicated question actually. How do you describe a stairs geometry without referring to the concept of a stair... It would take great extent to explain what you are trying to do without saying the word "stairs", when actually saying "stairs" would make everybody immediately understand what you are doing.

Maybe some should actually keep their current word...
carlopav
Posts: 352
Joined: Mon Dec 31, 2018 1:49 pm

Re: Discussion: Arch generators - naming

Postby carlopav » Sat May 11, 2019 6:14 am

some spare thoughts from me too:

Drawing aids/Groups/whatever: :)
Site
Arch Part (or building part, floor, can contain also the site?)
Space
Axis


Creation tools:
EXTRUSION:
Profile extrusion (Wall - what about when more wall are joint? should we add a fusion tool? how do we deal with nested objs)
Face extrusion (Wall from face, like trimex, but only the extrusion part)
Vertical profile extrusion (Pillar (same as path extrusion, but with less options))
Path Profile extrusion (Pipe, beam, frame(?))
Sloped extrusion (Roof, but simpler than the actual roof creation tool, maybe it could just produce an inclined extruded plane from a flat face and inclination)
ARRAYS:
Path Multi Array - Baseline multi array (Fence, curtain wall, maybe if we envision the behaviour of that tool in the future, that would be helpful for the name)
Face array, divide face, divide surface, surface subdivision (Curtain wall on face? a tool that generates rectangular(?) grid on a face, so the grid can be used by profile extrusion(?))
CONVERT Part/PartDesign/sheetmetal object to "arch something"?:
- so we dont have to duplicate part primitive creation (cube, cone, sphere, revolution, subtraction, ), subtraction, etc
- so we can assign ifc properties to other wb created objects, or to arch created ones.


Draft modifiers that could have a special behaviour on arch objects:
Fillet (create parametric curve element on pipes and beams joints)
Trimex (?)
Draft Edit (can be improved to handle more parameters editing, for ex. could improve the rotation of extruded solid along their extrusion axis)

Arch Components (tool that could keep the name because they produce a too peculiar object and first of all they are not used i think to produce other geometry than the one they are expected to generate):
Profile importer (import profiles to be used by the tools)
Stair (stairs)
Window or embedded component (Windows- ?if embeddable/embedded, what is it supposed to be other than a window/door?)
Panel tools (Panel, Automatic Light Gauge Steel Frame Creator And Panelizer, wow!)
Component (Equipment, Furniture, whatever is standalone and cloned inside an arch model)
chrisb
Posts: 19484
Joined: Tue Mar 17, 2015 9:14 am

Re: Discussion: Arch generators - naming

Postby chrisb » Sat May 11, 2019 8:40 am

I'm not a big friend of searching for general names in order to make functions globally usable. In some cases it seems sensible - i can imagine immediately what multi path array does - but in others distinguishability is lost.

Let's take the wall as an example: We have already an Extrude in Part and a Pad in PartDesign and it is not always easy for newbies to distinguish between them. Creating a wall from a line is very intuitive and it doesn't need renaming to be used in other workbenches. It merely needs examples of convincing use cases.

Arch names follow rather describing the result - a wall, a window, a roof - than the process like in other workbenches. There is nothing wrong with keeping this.
User avatar
yorik
Site Admin
Posts: 11574
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Discussion: Arch generators - naming

Postby yorik » Sun May 12, 2019 1:02 am

chrisb wrote:
Sat May 11, 2019 8:40 am
Arch names follow rather describing the result - a wall, a window, a roof - than the process like in other workbenches. There is nothing wrong with keeping this.
That's the main reason why we think it might need to change: You can now use the wall tool to build a window, or a beam, or just anything else. In some other BIM apps, you MUST use the wall tool to build a wall, which brings a lot of problems when importing models from other apps. This is not a problem anymore in FreeCAD, but maybe the naming should change to reflect that and not have people still think only the wall tool can be used to make walls.

But I'm not sure about this either...
paullee
Posts: 1826
Joined: Wed May 04, 2016 3:58 pm

Re: Discussion: Arch generators - naming

Postby paullee » Mon May 20, 2019 5:55 pm

yorik wrote:
Wed May 08, 2019 4:21 pm
As we discussed already in other threads, everybody around here seems to agree it would be a good idea to separate the arch tools from their semantics. That means, the way you build a wall, by giving a thickness to a baseline then extruding it upwards, would not be called a wall anymore. This is because you can use that tool not only to build a wall, but to build just any other BIM object that would be practical to build that way: A beam, for example.

Stairs -> ??
How about a 'Hybrid Approach' without Renaming anything to confuse / complicate users?

Currently ArchStairs produce a hybrid of objects:-
  1. A compound of Stairs (flights), 'Multi-Segment' Landing
  2. A pair of (Part::Feature) Wires Objects representing the Railing path - ArchStairs is already a 'Profile Generator' of some kind
  3. A pair of ArchPipe based on the Wires Objects
Proposal : ArchStairs to Create BIM Object and/or Profile and/or Extrusion as 'selected'
  1. Default ArchStairs Still produce 'BIM Object' of ArchStairs
  2. Added StructureProfileOrBimObject property - Then user if desirable can select whether to produce a 'Profile' (Part::Feature) also, a Profile + Stairs BIM Object, or BIM Object (or just 'extrusion')...
  3. Then, user can use the Profile to do custom extrusion as needed...
Icon for 'Profile Generator'
  1. Maybe the 'Icon' in the Model Tree can become a 'Wireframe' / ' Profile' of stairs if only 'Profile' output is selected for the object by user
Plan : Sketch for User Editing of Profile
  1. Tried to use Draft.MakeSketch for the profile, but find at one occasion the sketch is in right disposition, but another occasion wrong disposition
  2. Then user can further edit the Sketch profile - the profile generated by the ArchStairs tool - before further extrusion
https://forum.freecadweb.org/viewtopic. ... eb#p298097
https://forum.freecadweb.org/viewtopic.php?f=23&t=34106

A 'mock-up':-
Screenshot from 2019-05-21 01-41-29.png
Screenshot from 2019-05-21 01-41-29.png (220.96 KiB) Viewed 310 times
Screenshot from 2019-05-21 01-25-14.png
Screenshot from 2019-05-21 01-25-14.png (201.25 KiB) Viewed 310 times
Screenshot from 2019-05-21 01-40-28.png
Screenshot from 2019-05-21 01-40-28.png (250.47 KiB) Viewed 310 times
Attachments
ArchStairs.py
(71.35 KiB) Downloaded 11 times
Test_ ArchStairs_ code revision test_ 18_ SimpleStairs_StructureProfile.fcstd
(128.11 KiB) Downloaded 9 times
Last edited by paullee on Mon May 20, 2019 6:08 pm, edited 3 times in total.
paullee
Posts: 1826
Joined: Wed May 04, 2016 3:58 pm

Re: Discussion: Arch generators - naming

Postby paullee » Mon May 20, 2019 6:05 pm

Another test ...
Screenshot from 2019-05-21 02-03-36.png
Screenshot from 2019-05-21 02-03-36.png (265 KiB) Viewed 306 times
Screenshot from 2019-05-21 02-00-28.png
Screenshot from 2019-05-21 02-00-28.png (221.05 KiB) Viewed 306 times
User avatar
Moult
Posts: 223
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: Discussion: Arch generators - naming

Postby Moult » Mon May 20, 2019 10:47 pm

My two cents...

I think that there should be "modeling tools" and "information tools".

Modeling tools include:
- Vector drafting & linework (wire, line, arc... names remain the same)
- 3D modeling (edge extrude, face extrude, cut, union, fillet ... names remain the same)
- 2D & 3D modifiers: Move, Rotate, Scale, Copy, Array, Clone, Offset ...

These names are industry standard CAD / 3D names.

Information tools include:
- Project (MapConversion, etc)
- Site, Building, BuildingStorey (spatial containers)
- Element (Wall, Slab, Column ...)
- Relationships
- Material

These names are taken as closely as possible from IFC and bsDD. These information tools do _not_ modify geometry. They only add IFC data and relationships.

Finally, there are "presets": Wall, Stair, Column, Door, Window. The presets are preset parametric 2D profiles or parametric 3D objects that already have their information filled out that is also perhaps semi-parametric (e.g. height dimension can be parametric). These names can be whatever that is most sensible. It is perfectly OK to have a "Wall" preset and an "IfcWall" information button, as long as the icons are different and they are distinguished in the UI. Note that the preset "generates" a geometry and automatically assigns an information type, depending on the preset. E.g. a stair preset will generate a stair profile, extrude it, and then add BIM information of IfcStair.

This approach allows users who want to quickly throw something together to easily click a bunch of presets and get the job done. If they then change their mind, they can change the BIM information type to something else, or they can simply modify the underlying geometry, or swap the geometry out to something else completely.

This adds flexibility of both worlds :)

Hope it helps :)
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.