[Solved] How to create an irregular polar array

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
theber
Posts: 92
Joined: Tue Aug 06, 2019 5:44 am
Location: Germany

[Solved] How to create an irregular polar array

Post by theber »

Code: Select all

OS: Manjaro Linux (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.21.31109 (Git) AppImage
Build type: Release
Branch: master
Hash: c23ee7ad88433a0f00e84afae0a62fe738be0c09
Python 3.10.8, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods: 
  * Assembly4 0.12.4
  * fasteners 0.4.15
  * Assembly3 0.11.3
  * temp_renamed_by_me_A2pConstraintDiagnostics
  * BIM 2021.12.0
  * A2plus 0.4.55
  * BIM.backup1662190127.9032624
I need some help with two steps in this construction.

1. The attached sketch is a flange with - so far - one block (not yet threaded). There should be 20 such blocks around the perimeter, but I cannot simply use Draft Polar Array, because the angles between blocks are not all the same. Most of the angles are 18°, but there are also angles of 16, 17, 19, and 20°. Is there a way to do this without using Draft Polar Array so many times?

2. When the 20 blocks are all in position, I would like to join (Boolean?) everything together so that I have one "item" to use with the Assembly 4 workbench. I tried this with Partdesign Boolean, but the Arrays did not show up in the list of bodies to add. I thought that I did this once before, but I'm not sure. Is there a different tool for this?
Attachments
Shell_for_Forum.FCStd
(30.36 KiB) Downloaded 33 times
Last edited by theber on Tue Jan 31, 2023 3:24 pm, edited 1 time in total.
...alles ist fertig. es muss nur noch gemacht werden...
...that would be the easy way, but it wouldn't be the cowboy way...
User avatar
papyblaise
Veteran
Posts: 7878
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: How to create an irregular polar array

Post by papyblaise »

for this kind of operation PartDesign is not competent
use Draft Wb > polar Array , degrade the array (big blue arrow down) you will have the list of all the solids created choose those that must be moved in "Placement"
this is only possible if the others are still at 20° from the origin
merge all the blocks and introduce them into the body of the ring as a basefeature
Attachments
Shell_for_Forum PPB.FCStd
(120.53 KiB) Downloaded 17 times
Shell_for_Forum PPB.JPG
Shell_for_Forum PPB.JPG (41.02 KiB) Viewed 1027 times
theber
Posts: 92
Joined: Tue Aug 06, 2019 5:44 am
Location: Germany

Re: How to create an irregular polar array

Post by theber »

Thanks, papyblaise, after what I have been trying that was pretty easy.

One odd thing I noticed: I adjusted the rotation of all the blocks in numerical order, starting with the original block on the bottom as 0°. So the final rotations are 18°, 34°, 52°, ... 214°, 232°, and then suddenly 110°, 92°, and so on for the last 6 blocks. FreeCAD decided to measure the Z-rotation of the last 6 blocks clockwise from 0°, instead of counter-clockwise. Seems counterintuitive, but I can live with it.

The modified file is attached.
Attachments
Shell_for_Forum_modified.FCStd
(38.21 KiB) Downloaded 27 times
...alles ist fertig. es muss nur noch gemacht werden...
...that would be the easy way, but it wouldn't be the cowboy way...
theber
Posts: 92
Joined: Tue Aug 06, 2019 5:44 am
Location: Germany

Re: How to create an irregular polar array

Post by theber »

I guess I spoke too soon. The 20 blocks and the ring are only visible at the same time if the Draft Compound is visible. But the Compound is not part of the Body_MainRing. (See the file in my previous post.)
This kind of makes sense, because the Revolution is the tip of the Body_MainRing. How can I merge the BaseFeature with the Revolution?
...alles ist fertig. es muss nur noch gemacht werden...
...that would be the easy way, but it wouldn't be the cowboy way...
User avatar
papyblaise
Veteran
Posts: 7878
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: How to create an irregular polar array

Post by papyblaise »

by dragging it inside the tip of the mouse, in the tree structure
I'm not sure, but I believe that Fc refers to the X axis, so at some point the orientation is 0
theber
Posts: 92
Joined: Tue Aug 06, 2019 5:44 am
Location: Germany

Re: How to create an irregular polar array

Post by theber »

Thanks for your reply, papyblaise.

I got it sorted out, based on your first reply. When I first upgraded the modified array in the Draft workbench, the blocks became a "Compound", and this "Basefeature" could not be merged with the main ring.
I then deleted this first "Basefeature" and tried upgrading the "Compound" in the Draft workbench, and then it became a "Solid". Then I moved this into the main body as a "Basefeature", and then the ring and the block array were merged as desired.
Thanks for the tips.
...alles ist fertig. es muss nur noch gemacht werden...
...that would be the easy way, but it wouldn't be the cowboy way...
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: [Solved] How to create an irregular polar array

Post by Shalmeneser »

Your 1st sketch is too complex.
Try to use relative dimensions.
Attachments
Shell_for_Forum_SHALM.FCStd
(23.46 KiB) Downloaded 25 times
Capture d’écran 2023-01-31 182150.jpg
Capture d’écran 2023-01-31 182150.jpg (41.46 KiB) Viewed 815 times
theber
Posts: 92
Joined: Tue Aug 06, 2019 5:44 am
Location: Germany

Re: [Solved] How to create an irregular polar array

Post by theber »

Indeed I do still have a lot to learn about sketching. Your method is a very good solution for such a case, where the part is so far from the origin.
I often go back and redo older drawings when I learn better methods.
...alles ist fertig. es muss nur noch gemacht werden...
...that would be the easy way, but it wouldn't be the cowboy way...
chrisb
Veteran
Posts: 53951
Joined: Tue Mar 17, 2015 9:14 am

Re: [Solved] How to create an irregular polar array

Post by chrisb »

Draft->PolarLinkArray has a property ExpandArray which can be set to true. This reveals the subelements, including their Placement. This looks very promising, alas, I cannot get it to work. Although I can change the value for the angle from 72 in the example to 90, it does nothing. To show that it works for other properties, I changed the scale:
SnipScreenshot-5e8615.png
SnipScreenshot-5e8615.png (53.08 KiB) Viewed 789 times
Is it possible to make this work?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 53951
Joined: Tue Mar 17, 2015 9:14 am

Re: [Solved] How to create an irregular polar array

Post by chrisb »

chrisb wrote: Tue Jan 31, 2023 5:48 pm Is it possible to make this work?
Update on this: The Placement works, including the angle, but it is around the own axis of the subobject, and as it was y cylinder, I missed to see it.
Sou you could use this expanded array, with the advantage of being parametric, and the disadvantage that you have to calculate the position yourself.
This shows the array from above with a cube instead of the cylinder:
Attachments
SnipScreenshot-01c0fb.png
SnipScreenshot-01c0fb.png (8.6 KiB) Viewed 770 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply