Arrays, snap and origins

A forum for research and development of the user interface of FreeCAD

Moderator: agryson

nohspamjose
Posts: 5
Joined: Wed May 02, 2018 12:58 pm

Arrays, snap and origins

Postby nohspamjose » Mon Jul 08, 2019 11:30 pm

Hi,

Having used FreeCAD 0.18 to fairly comprehensively CAD my bathroom, I have come across at least three issues for which I'd like to propose enhancements. It's entirely possible that some/all of these are possible but even if they are, the usability is impenetrable to me.

Arrays
  • When I want to tile something (ceramic tiles), I created a prototype tile, copied it and then created a rectangular array, separating the tiles by the grouting distance. There are several shortcomings
  • The array of tiles (like the real thing), is highly likely to extend beyond the boundaries of the surface, particularly for non rectangular shapes, such as a floor - I suggest being able to use a shape that shares the tiled plane, as a clipping mask for the array.
  • The array should include and visually differentiate the original prototype item being cloned in the array - modifications to that original should be propagated across the array.
  • Options, such as space between (in x, y or z dimensions) could be specified as a fixed, proportional or calculated value, so that the recalc on the mod of the original item can be achieved dynamically.
  • The array of items should include a relative offset or a means to centre a space or an item relative to another shape in one or more of the x, y and z dimensions) - like tiling a bathroom.
  • 3D arrays. This may already be available.
Snap & Origin
  • When creating or adding/importing an item, I really want to be able to snap it to another item
  • This leads me to the origin. I really need to be able to specify an item's origin and it should be easy to specify it in terms of an intersection, centre of a selected edge, centre of gravity, a universal drawing origin, another item's origin (particularly useful for an assembly, I think) or presumably a bunch of others.
  • An ability to programatically rationalise the various different origins in an assembly or group, to share a single origin. If I construct an engine block, for example, I should be able to assign a common origin to a group of primitives, while I'm working on them as a sub-part of the block and do that for all the groups but at the end consolidate the origin for the whole engine block
chrisb
Posts: 16330
Joined: Tue Mar 17, 2015 9:14 am

Re: Arrays, snap and origins

Postby chrisb » Mon Jul 08, 2019 11:52 pm

Hi and welcome to the forum!

Some of your proposals are already implemented:
nohspamjose wrote:
Mon Jul 08, 2019 11:30 pm
The array of tiles (like the real thing), is highly likely to extend beyond the boundaries of the surface, particularly for non rectangular shapes, such as a floor - I suggest being able to use a shape that shares the tiled plane, as a clipping mask for the array.
You can extrude a clipping sketch and use a boolean common operation to clip.
nohspamjose wrote:
Mon Jul 08, 2019 11:30 pm
The array should include and visually differentiate the original prototype item being cloned in the array - modifications to that original should be propagated across the array.
You should use the tree view for that: The original prototype is the element below the array item in the tree. Edit it and the changes will be propagated across the array.
nohspamjose wrote:
Mon Jul 08, 2019 11:30 pm
3D arrays. This may already be available.
It is available. You can array an object in X, Y, and Z dimension.
nohspamjose
Posts: 5
Joined: Wed May 02, 2018 12:58 pm

Re: Arrays, snap and origins

Postby nohspamjose » Tue Jul 09, 2019 10:54 pm

Many thanks for the update. The one that isn't implemented; offsetting an array would be very useful. Using the tiling example, it would allow me to accurately plan the tile arrangement and also align tiles on the floor plane and wall planes.
User avatar
Kunda1
Posts: 4581
Joined: Thu Jan 05, 2017 9:03 pm

Re: Arrays, snap and origins

Postby Kunda1 » Tue Jul 09, 2019 11:33 pm

nohspamjose wrote:
Tue Jul 09, 2019 10:54 pm
Many thanks for the update. The one that isn't implemented; offsetting an array would be very useful. Using the tiling example, it would allow me to accurately plan the tile arrangement and also align tiles on the floor plane and wall planes.
Please check the bugtracker to see if this feature request exists, if not then create it and link to this thead (and x-post back to the ticket)
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features