Arch Frame

Info about new community or project announcements, implemented features, classes, modules or APIs. Might get technical!
PLEASE DO NOT POST HELP REQUESTS OR OTHER DISCUSSIONS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Arch Frame

Post by yorik »

This will be especially useful to rockn...
I finally found a simple and powerful way to make all kinds of frame-based objects in the Arch module. There is now a new Frame tool, that produces Frame objects. These objects can be used for example, for:
- frame walls, where the inner part of the wall is a structure made of several pieces of wood or aluminium
- railings, where you want to make an object out of a repetition of tubes
- roof structures
etc, etc...

It is pretty simple to use:
1) select a 2D object that is the "layout" of the frame. That can be for example a sketch, or a Draft line repeated with Draft array. Each edge of that layout object will become a structural member.
2) Ctrl+select a profile, that can be any extrudable 2D object, such as a sketch or a face (doesn't need to have a face, but then it must be a closed wire)
3) press the "frame" tool

There are a couple of properties to adjust:
- Align, if you want the profile to be rotated perpendicularly to each edge before extruding
- Offset, that can be an offset vector between the base layout and the final frame
- Rotation, if you want to give a rotation to the profile around the edge before extruding

It'll surely need refinements, but it already allows for some amusement...

Image

The code is in git commit 90a80da
Attachments
test.fcstd
(49.85 KiB) Downloaded 268 times
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Arch Frame

Post by rockn »

Hell Yeah ! Thanks Yorik ! It's Christmas before time. I will try it asap.
Formations - Assistance - Développement : https://freecad-france.com
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Arch Frame

Post by jmaustpc »

This is impressive Yorik.

How did you make Array001, it has no adjustable attributes?

The roof in your example made me think of something. I was wondering if you might think it a useful feature if you could set a profile as being the material (for example a 90x45 rectangle) with its normal in line with the path and then create the angled beginning and end points intelligently?

Not that I have a clue as to how you would code such a thing. :)

Jim
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Arch Frame

Post by yorik »

Ah I see... Array001 was object Array that I copied with the Draft move tool... It then lost its parametrics... Wrong design decision :)

You mean the start and end angle of the wood pieces would be different? Hm yes I thought about that already, might be useful for structural members too, but I haven't found an easy way to do that yet...
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Arch Frame

Post by jmaustpc »

yorik wrote:Ah I see... Array001 was object Array that I copied with the Draft move tool... It then lost its parametrics... Wrong design decision :)

You mean the start and end angle of the wood pieces would be different? Hm yes I thought about that already, might be useful for structural members too, but I haven't found an easy way to do that yet...
Yes and no, I did think of that as well but what I was specifically talking about here was simply doing what you did for the roof where the beams have parallel ends ...but defining the cross section but its material size. For example you buy timber dressed size as 90 by 45 or similar (nominal dressed size of the old 3 by 2 in inches). So if the cross section could be defined as 90 by 45 I thought that would be an enormous convenience. In your example the cross section of the roof is defined by the shape at the end...but since the end is at an angle to to the path (not 90 degrees), if you want the beam to be 90x45 you have to calculate what the end would be using trigonometry (e.g the end would be something like 110 x 45 to give you a material size of 90 x45, depending on the amount by which it varies from 90 degrees to the path).

Jim
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Arch Frame

Post by yorik »

aah i see...
indeed that is an interesting point.
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Arch Frame

Post by rockn »

I played with the tool, it's great. I try to make some use of the tool. See attachements. I am often use a sketch applied to a face because it make automatic adjustement when you change geometry of the parent, but i'm not sure it's a good idea ;) However freecad lag to return to editing the sketch.
It would be great if the profile followed the path of its normal.
Regarding the angles at the ends of the pieces, I think we should see it more broadly. I think we should add one or more property "type end" to elements Arch. This property could help define the types of cuts such as for example, a section of plumbing, a horizontal section, or more advanced cuts. This could also be the type of attachment (for clogs metal, welding or with bolts), and later this property could help publishing plan fittings and calculations supply requirements.
I tried to achieve something with Subtraction property but I got nothing conclusive.

Good christmas parties !
ArchFrame_Roof.fcstd
(19.87 KiB) Downloaded 243 times
ArchFrame_Trusse.fcstd
(28.96 KiB) Downloaded 216 times
ArchFrame_Wall.fcstd
(39.4 KiB) Downloaded 232 times
Formations - Assistance - Développement : https://freecad-france.com
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Arch Frame

Post by yorik »

Ah thanks a lot for testing! Indeed seeing this there are many little problems to solve...
Jim's suggestion makes a lot of sense now, indeed with the current system it is hard to control the section of the roof pieces. As for the start/end cut, I must think to a solution that would work for all arch objects, whatever the profile behind...
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Arch Frame

Post by rockn »

Hey Yorik,
I fork FreeCAD in github and make my first commit. :D
https://github.com/wood-galaxy/FreeCAD_sf_master
I add a Property to Frame that I called Basepoint.
This property when is set to another than 0 place the basepoint of the profile to the different point of the wire.
Later I will add the middle of edges.
It's a feature that Cadwork have and I like it because the path is often an edge of the beam.
Formations - Assistance - Développement : https://freecad-france.com
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Arch Frame

Post by yorik »

Cool! On your way to become an official FreeCAD developer :)
Couple of things for your consideration:
1) your commit seems incomplete? I don't see the Basepoint property being added: https://github.com/wood-galaxy/FreeCAD_ ... cd9e317212
2) I would call it BasePoint instead of Basepoint, so the two words are separated on the freecad interface
3) if you intend to submit your work to be included in the FreeCAD master code, it is best to create a new branch to put your work. It is easier for us to merge (all your changes are together in the branch) and also you don't "block" your own master branch, and can still sync it with the official master repo.
Post Reply