2

I am creating a hole pattern in this flattened cube using an object to subtract it with (boolean modifier) consisting of a lot of cylinders.

flattened cube with a double array of cylinders

The cylinders uses two array modifiers, one that iterates in one width and one in another, creating a matrix of objects.

153 seconds after I added the boolean modifier, I got control back. (When I have been running a similar scene on a macbook pro, blender crashed).

Applying the modifier takes the same amount of time. When the cylinders has been removed, the scene seems to be workable. Manipulating it will not cause wait time.

Is there an alternative method of achieving a hole pattern like this?

People have talked about faking the pattern with a shader. Is that the way to do it? How would I do that?

Anders Lindén
  • 361
  • 1
  • 2
  • 11
  • 1
    to fake the pattern use a texture with an alpha channel to control the transparency. Something like this: https://blender.stackexchange.com/a/50672/1853 –  Jul 08 '17 at 16:52
  • That seems to be a nice workable solution unless you want some thickness in the hole punched object. – Anders Lindén Jul 08 '17 at 17:11
  • If the geometry to punch out is more complex than this flattened cube, a bent surface maybe, the operation could fail because the continous triangulation that blender does when applying a modifier creates really weird triangles, being in the way for smooth subtractions. – Anders Lindén Jul 08 '17 at 18:12
  • Also related: https://blender.stackexchange.com/questions/40997/how-can-i-make-a-hexagonal-grill/41007#41007 –  Jul 08 '17 at 18:19
  • 1
    There are a few techniques listed here https://blender.stackexchange.com/questions/58811/how-to-create-a-circular-shaped-grid-similar-to-a-manhole-cover/58814#58814 – aliasguru Jul 08 '17 at 18:30
  • It depends on the profile complexity but you could try using only several lines of cylinders, using Boolean on them and only then adding Array to achieve the pattern. – Mr Zak Jul 08 '17 at 19:03
  • I am not sure what you mean. The "holes" are plugs that go through the box (all the way, its a flattened cube or a thick plane if you want), which maybe does not show well in the picture. – Anders Lindén Jul 09 '17 at 07:36
  • Wow, I can use this! Thanks! Can you make it an answer? @Edgel3D – Anders Lindén Jul 11 '17 at 08:44

2 Answers2

1

I think you need to try out a specific add-on for your task. I have seen one called Box Cutter and its demoed on youtube, it probably has better code to handle the boolean operations than standard blender, lets hope.

sono
  • 11
  • 1
1

Edit 7th Oct 2019 - replaced link at bottom.

Please note, the results below are only available when rendered using OpenGL. (Top left of window --> 'Render')

When topology or even inconvenience becomes a nuisance factor or hurdle, the inviso effect in Blender can often save the day. (See below)

The project - several hundred holes are to be inserted into a slab of 'concrete'.

Make the slab, get it's texture etc settled. Then make just one cylinder. When there's a large number of cylinders, and the view isn't going to be up too close, reduce the walls to about 8.

Texture the sides to match the material they're to go through.

Assign the cylinder ends a separate material slot and set the opacity to 0.008, both speculars to 0. (main and transparency specular sliders.

Organise the ends to become inviso surfaces and make sure they don't render the cyl walls invisible. If they do, it's bound to be both end and side geometry in the cylinder holding each other's material slot in the Outliner panel. Get rid of any strips in there that don't belong.

When the cylinder can be peered through and still see it's sides, but not the slab of concrete, the inviso factor is working ok.

Insert the cylinder EXACTLY as required with the minimum amount protruding through the slab's surfaces.

Check that the cylinder has indeed become a 'hole' drilled right through the slab.

When all is ok, apply an array modifier to the cylinder. Duplicate the result and patterns as required.

The slab's topography has been left alone, so whatever is down the track shouldn't mind the presence of inviso holes because slab modifiers etc, wouldn't see them. Real holes however could pose a problem, particularly when they are large in number.

-=====-

Inviso

The full explanation has overwhelmed one at least, but in a nutshell set the surface's speculars to zero and the Opacity to 0.008. Deslect all with A to see it working. The Inviso's Transparency box (properties panel) in the "Display" tab may have to be ticked or unticked as explained in the "Thesis". You may also have to temporarily parent the cube to the cylinder in order to get it to peer through the cube. Unparent it again immediately and remove any strips in the Outliner panel that don't belong to the cube or cylinder. (Material links particularly)

How to put a mask into 3d space

Edgel3D
  • 3,915
  • 1
  • 14
  • 15