2
$\begingroup$

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?

$\endgroup$
8
  • 1
    $\begingroup$ to fake the pattern use a texture with an alpha channel to control the transparency. Something like this: blender.stackexchange.com/a/50672/1853 $\endgroup$
    – user1853
    Jul 8, 2017 at 16:52
  • $\begingroup$ That seems to be a nice workable solution unless you want some thickness in the hole punched object. $\endgroup$ Jul 8, 2017 at 17:11
  • $\begingroup$ 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. $\endgroup$ Jul 8, 2017 at 18:12
  • $\begingroup$ Also related: blender.stackexchange.com/questions/40997/… $\endgroup$
    – user1853
    Jul 8, 2017 at 18:19
  • 1
    $\begingroup$ There are a few techniques listed here blender.stackexchange.com/questions/58811/… $\endgroup$
    – aliasguru
    Jul 8, 2017 at 18:30

2 Answers 2

1
$\begingroup$

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

$\endgroup$
1
$\begingroup$

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.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .