How to make an array of holes?
 1-20  21-24

Next
 From:  nycL45
2434.1 
A two-parter:
1/ I am modeling a kitchen tool, a long handled shallow bowl-shaped strainer, and it has lots of holes (1/16"/1.5mm dia., 1/4"/6mm o.c.). There is a center hole surrounded by a hexagonal group (6) and then hexagonal-based concentric rings of holes thereafter with a wedge of holes in the left over spaces. Of course these holes follow the surface of the shallow bowl. How do I go about creating an array of booles and then mass-boole based on this hole pattern in MoI3D?

2/ These holes, on the handle side, have eased (convexed) edges. So, whatever is used to boole the holes, should flair out to ease the edges. Does that sound right?

Leonard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2434.2 In reply to 2434.1 
Hi Leonard,

> There is a center hole surrounded by a hexagonal
> group (6) and then hexagonal-based concentric rings
> of holes thereafter with a wedge of holes in the left
> over spaces.

It's a bit hard to follow this just from a text description, do you possibly have a drawing or sketch or something that you could post to illustrate?


> Of course these holes follow the surface of the shallow bowl.

Normally to make an array of holes, you would make an array of circles, using any of the Transform/Array commands, then do a boolean command and pick the circles as the cutting objects.

However, it sounds like you want these holes to not be aligned to a single direction and instead change orientation to hug the contours of a surface?

If so then that is a lot more difficult, MoI does not currently have any specialized tool to replicate an object along a surface while changing orientation. Depending on what you need, you may be able to project some curves on to the surface and then use the Array curve command, there is a sample of that method here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=2262.6

Otherwise if there is no automatic array command that does what you need you will need to place each hole individually by rotating it into place.


> 2/ These holes, on the handle side, have eased (convexed) edges. So,
> whatever is used to boole the holes, should flair out to ease the edges.

You might approach this by doing a chamfer operation on the top edge of the hole after you cut it.

That produces an effect like this:



Or if you want a rounded piece in there then you do the same thing but with the Fillet command instead of Chamfer.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.3 In reply to 2434.2 
Hi Michael,

Thanks for the quick reply.

>However, it sounds like you want these
>holes to not be aligned to a single direction
>and instead change orientation to hug the
>contours of a surface?

Yes.

>Depending on what you need, you may be able to
>project some curves on to the surface and then use
>the Array curve command, there is a sample of that method here:
>http://moi3d.com/forum/index.php?webtag=MOI&msg=2262.6

This will likely work with the concentric hexagonal layout but much more
difficult with the areas between. See the attached pic, specifically the
black filled circles.

Regarding the chamfer, that is what I thought. All 169 holes.

I will give the curve projection a go.

Thanks again.

Leonard
Image Attachments:
Size: 163.1 KB, Downloaded: 47 times, Dimensions: 694x691px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2434.4 In reply to 2434.3 
Hi nycL45,
I thought about doing it with a 2 step array. If you have the curve that revolved the bowl you could do a curve array of the first hole to get the orientation, then do a circle array to fill the bowl.

Though a single circle array would produce multiple bottom center circles and you would have to edit them out, I did this with 3 steps, thinking you would not want the holes to be symmetrical I was going to suggest doing a second curve with a new set of holes at a different interval then rotate it a bit to get the random holes.

I noticed you demoed a symmetrical set of holes, so I will need to fool with this a bit to see if you can make the numbers add up to be symmetrical.

EDITED: 19 Jun 2012 by BURRMAN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2434.5 In reply to 2434.3 
Hi Leonard, I think Burr may be on to something there - there does seem to be a radial pattern there, so possibly if you get one row set up along a curve, then Transform/Array/Circular may be able to create the rest for you. Although maybe not... I guess it would do the spokes of your hexagon but not automatically the parts interior to those spokes.

> Regarding the chamfer, that is what I thought. All 169 holes.

Actually that part will probably not be too hard - you don't necessarily have to pick each edge individually, you can either pick one edge and then do a window select to capture more within the rectangle you drag out, or also you can instead select a face to fillet and all the edges connected to it will be targeted for chamfering or filleting.

For example, if I select just this outer face:



Then doing a chamfer will process all these edges connected to it:



Sometimes that can be an easier way to target what you want to have processed with the chamfer or fillet.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.6 In reply to 2434.4 
Hi BurrMan and Michael,

Nice idea. The curve array lacks the (near) uniformity that my layout has but, I am willing to look at changing the pattern. It appears that 2-3 different arrangements will be necessary to control the density/separation from top to bottom using the curve array.

Your chamfer suggestion Michael would be a real time saver. (Sorry if my comment was terse. It was not meant to be critical.)

Thanks for the help, guys.

Leonard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Nick (BODINI)
2434.7 In reply to 2434.6 
How bout this?

1. Make 1 circle


2. Array direction for a base line (either 'direction' or 'curve')


3. Circular array each tier. The first tier is 6, each one after has 6 more. (6,12,18,24,30,etc)


4. Viola! (that is a joke)


5. Also shown on curve (like the curve of a strainer)


3dm below.

EDITED: 21 Feb 2009 by BODINI


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2434.8 In reply to 2434.7 
Aha, Nick that is sure looking like the right pattern, cool!!


Leonard wrote:
> Your chamfer suggestion Michael would be a real
> time saver. (Sorry if my comment was terse. It was
> not meant to be critical.)

Don't worry, I would not be particularly overjoyed at the idea of selecting hundreds of little things one-by-one either! :)

An additional thing that could potentially help with this part, is this following script which you can set up on a keyboard shortcut (go to Options / shortcut keys) (may require the v2 beta, not quite sure if it works in v1):

script:var gd = moi.geometryDatabase; var faces = gd.getSelectedObjects().getFaces(); gd.deselectAll(); for ( var i = 0; i < faces.length; ++i ) { var face = faces.item(i); face.getEdges().setProperty( 'selected', true ); }

That will look at any faces that are currently selected and switch the selection to the edges that belong to those faces. This is the same thing that the Fillet or Chamfer command can do itself with a face selection, but by having the selection done separately like this it may be useful because you can then modify it slightly like deselect the outer edge if you don't want that one to be processed.

To deselect something, you can just click it while it is selected and it will deselect or also if you do a window select (where you click in an empty area and drag to get that selection rectangle) you can hold down the Ctrl key while doing the window to de-select things captured by the window.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2434.9 In reply to 2434.7 
Looks like nick hit the pattern, It's exactly the pattern in the picture.

EDITED: 19 Jun 2012 by BURRMAN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.10 
Nick did it. Nick, how did you do the holes between the arms radiating out from the first hexagon group? I know that you can make the first group and then array it around at 60deg but how did you make that first group? The "group" are the black filled holes in my illustration above.

Michael, I like the script idea since it answers the question about deselecting edges that would not be chamfered. Also, it will take my skill level up a notch; I have not tried using Moi3D scripts. Thanks.

BurrMan, one thing about your hole pattern illustration, the first ring out from the center would have six holes. Having twelve results in one less outer ring and too many holes in the "group". Thanks for helping out.

As it is said, "The proof is in the pudding." I will put this to use and post what I come up with.

Thanks,

Leonard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Nick (BODINI)
2434.11 In reply to 2434.10 
>Nick did it. Nick, how did you do the holes between the arms
>radiating out from the first hexagon group? I know that you
>can make the first group and then array it around at 60deg
> but how did you make that first group? The "group" are
>the black filled holes in my illustration above.

I'm not sure I follow you... but I think, that you might be trying to hard (I let MoI do the thinking :) ). The only thing I did is what you see in the screen shots. I just used Array>Circular for everything and added 6 to the "Item Count" field each time. Thats it! I never concentrated on the white or blacks, just the # in each tier and where the base line was. :)

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.12 In reply to 2434.11 
You are so right, "trying to hard". And, it can make my head ache. :) I now understand you; the key: "...just the # in each tier..." So simple!

Brilliant, Nick. And brilliant, Michael!! Really!

Thanks,

Leonard

Edit: it took about two minutes to complete the hole layout! A note for others struggling with this in the future: in the # field of the circular array info, the first tier number would be 6 (holes) and each successive tier, n+6, where n is the previous tier's number of holes.

Thanks again all.

Leonard

EDITED: 22 Feb 2009 by NYCL45

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.13 In reply to 2434.12 
Here is the kitchen utensil.

Michael, I tried the surface and hole selection but the fillet did not work. It remained in calculation for a long time and then ceased without applying a fillet. I tried several times.

Leonard






  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2434.14 In reply to 2434.13 
Hi Leonard, it is looking really great so far!

re: Failed fillet - it looks like the object has a pretty small thickness in that area.

That will limit the fillet radius or chamfer distance to need to be a really pretty small value in order to fit within that small area, like maybe something around the range of 0.01 or so?

If you can post the .3dm model file here, or send it to me at moi@moi3d.com (if you wish to keep it private), I can take a closer look at it.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2434.15 In reply to 2434.13 
Something to grab "Malasada's" out of the fryer.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
2434.16 In reply to 2434.13 
The trick would be to pick just one hole and get the value right, then do the surface slection and wait it out.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Nick (BODINI)
2434.17 In reply to 2434.16 
Try something like 1/3 of the thickness of the hole (can a hole have a thickness? there you go thinking too much again :) ).
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.18 
Thanks for the cheer, Michael.

Yep, I had the value set at 0.01. So, I will go with 0.007 and smaller.

BurrMan, "Malasada's". Like our doughnuts? Yum!

Good point: do one hole and then surface selection. I am still newish to this compact but elaborate toolset that makes the workflow so easy.

Hey Nick. Hole thickness? I will think about it.

Thanks,

Leonard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2434.19 In reply to 2434.18 
Hi Leonard, I also sent you this info through e-mail but I also wanted to mention it here.

When you start to approach radius values around 0.001 units, that will start to run into different problems there, since the fitting tolerance for the fillet operation is 0.001 units in size.

So currently when you want to go much under about 0.01 you may need instead to scale up your object (to do this select it, go to Transform/Scale and type 0 <enter> to place the origin at 0,0,0 and type 100 <enter> to scale up by 100 times).

I'm going to take a look today to see if I can tune this up for the next v2 beta, to make sure that the fitting tolerance is adjusted to be tighter if your fillet radius is approaching too close to it.

Then the other problem that you will probably run into is adding in a few hundred fillets is going to increase the complexity (in data size and memory consumption) of the model by quite a lot, you'll need to set MoI up in "large model mode" for that to avoid consuming a lot of memory. To do this means to adjust the display mesh density to be coarser - that's under Options / View / Meshing parameters . Switch the "Mesh angle" to 20 degrees (from the default of 10), and uncheck the "Add detail to inflections" button.

With those settings some of your objects will have a less smooth appearance, but it will help to greatly reduce the amount of memory consumption, since otherwise there will be a zillion little polygons made on all those little fillets.

You'll probably want to adjust these display mesh settings before doing the fillet.


- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nycL45
2434.20 In reply to 2434.19 
Hi Michael,

Scaling up: my metal thickness is 1/32", or 0.031". Are you suggesting I scale up 100 times? If I scale that up 100 times my metal thickness will be 3.125" thick. Am I right on that?

Got you on the "large model mode". I did experience slowdown. Do I change those settngs back prior to exporting?

Leonard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-20  21-24