Page 1 of 1

Tube Sheet - plate with 9,000 holes

Posted: Tue Oct 26, 2021 11:11 pm
by JoeB
FreeCAD is awesome. I don't post very often but this one took some tinkering and maybe this will help the next person:
1) Trying to make a solid disk and using Part Design boolean cut for each hole will take a long time.
2) Didn't know that Daft downgrade will work on arrays so that individual items could be deleted.
3) Didn't know that Draft > Draft to Sketch works backwards in case corrections need to be made to the sketch
4) Forgot about "record macro". Recording a macro when a extruding a sketch in Part workbench shows how to make a script to do this.
I ran this on a Dell Latidue 5410 with an I5 @ 1.7 GHz and it takes about about 5 minutes to:
1) Read in the coordinates
2) Draw all the circles using Draft.makeCircles
3) Make the sketch using Draft.make_sketch
4) Extruding the sketch


OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.23141 (Git)
Build type: Release
Branch: master
Hash: 0eba78d40096720f7a637a9a73c382a08b820bca
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)

Re: Tube Sheet - plate with 9,000 holes

Posted: Wed Oct 27, 2021 7:16 am
by M4x

Re: Tube Sheet - plate with 9,000 holes

Posted: Wed Oct 27, 2021 11:17 pm
by chrisb
Thanks for sharing!
Suggestions: Draft downgrade is not parametric. Another possibility should be a Link Array, where you can set ExpandArray=True. You can then access individual Elements of the array. I could move the unwanted elements out of sight, but I was not able to deactivate them. Does anyone else know how to do that?

Re: Tube Sheet - plate with 9,000 holes

Posted: Fri Oct 29, 2021 10:42 pm
by JoeB
No I did not consider Lattice2 - but I will and see how that works.
I disagree that Draft is not parametric, because that is exactly what I did to to build this.
I had two concerns with this problem:
1) Can FreeCAD handle this in a reasonable amount of time? And yes it can!
2) How to make this object - for which I have some additional comments

The Draft array of circles has to be downgraded twice, the first time it gets downgraded to a compound, the second time, the compund gets downgraded to faces, and these faces can be be selected and then "draft to Sketch" something along this:
objs = FreeCAD.ActiveDocument.Objects #assuming all the circles are to be in the sketch, if not a routine to select desired elements would be req'd
Draft.make_sketch(objs, autoconstraints=False, addTo=None, delete=True, name="tsht", radiusPrecision=-1)
doc.recompute()
Selecting 9,000 elements manually like "select all" takes a while and is easy to lose them when "draft to sketch" is selected
Using the "delete=true" above deletes the individual faces.
Thank you for your comments

Re: Tube Sheet - plate with 9,000 holes

Posted: Tue Nov 23, 2021 10:08 pm
by Ozymandias
How did you do that nice tube sheet?

I'm struggling with it for a while. I'm new with this whole CAD scene.

Could you show me some tutorial to get this done?

(I'm an NDT guy, I have a lot of tubesheet to test. I just get a drawing but that is always filled with another text and to book the welding defects would be difficult..)

Thank you all.

Re: Tube Sheet - plate with 9,000 holes

Posted: Wed Nov 24, 2021 1:26 am
by freedman
Hit the tutorials and ask some questions in the Help section. These are fairly easy to model because you can work off of a standard XY plane. It looks like the only issue to learn about is how to trim away some holes.