I am trying to create an truck exhaust mesh with blender.

Truck Exhaust

Currently I am using a smaller size cylinder to cut inside and then using some other cylinders to cut every hole with boolean modifier.

Cutting Finished product


As you see, the original mesh has many holes and cutting every single one of them with this method will take forever and if suddenly I decide to change the amount of holes in perimeter or exhaust diameter , I have to restart.


Is there any easier way to do this?


2 Answers 2


For creating a real mesh you can use the array and boolean modifiers as follows :

  • create a cylinder 'C1' and put in the right position
  • add an empty 'E1' rotate it 36°
  • add an array modifier to C1 and use E1 as offset object, with a count of 5
  • add a second empty 'E2' and rotate it 18°
  • add array modifier to 'C1' and use 'E2' as offset object,with a count of 10 or more
  • create a cylinder 'C2' and put in the right size and pose
  • remove the top and bottom faces of 'C2'
  • add a boolean modifier with target set to 'C1' and type to 'Difference'
  • parent 'C2','E1' and 'E2' to 'C1' and hide them (so you don't need to apply the modifier until you are satisfied with the results)

enter image description here

Note : i have add Bevel modifier to 'C1' and subsurf and solidify to 'C2' to get the previous result

To avoid having a dense mesh and dealing with the boolean modifier you can use a texture and transparent material to achieve the same results :

  • use the following node setup for the material (you can replace the defuse with more complex shaders )
  • use Follow active quad to unwrap the cylinder and map it correctly on the texture
  • if the texture has an alpha channel use it instead of the RGB_BW converter in the material nodes

enter image description here

The result render :

enter image description here

  • $\begingroup$ I guess texture effect is much better solution, if I want to cut 236 holes in a cylinder, I will have over 10K faces on a single object. If I could I would accept your answer twice for explaining both ways. $\endgroup$
    – AaA
    Commented Apr 5, 2015 at 13:54
  • $\begingroup$ thanks , you are right the texture is better since you have no simulations ( smoke ) in there $\endgroup$
    – Chebhou
    Commented Apr 5, 2015 at 13:57

Add a Bezier Circle and a part of the truck exhaust profile mesh. They both should have the same origin point. enter image description here

Add the Array Modifier, increase the Count number, and check the Merge and First Last boxes. enter image description here

Add the Curve and Subsurf modifiers. enter image description here

Scale the profile a bit to close the cylinder. enter image description here

When it's closed, you may scale the holes size as you like. enter image description here

Select the edges of the holes and mark them as sharp Ctrl+E-->Mark Sharp. It will be usefull in the next stage. enter image description here

Apply the Array and Curve modifiers. Merge the vertices of the cylinder's closing edges (select the first, then last vertex and press Alt+M-->At Last). enter image description here

Now add the Array Modifier and increase the Count number to make the cylinder longer. Apply it, then, being in Edit Mode, remove doubles (hit W-->Remove Doubles). enter image description here

Add Solidify (increase the Thickness value) and Edge Split modifiers. enter image description here


You must log in to answer this question.

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