3
$\begingroup$

What would be the best way to achieve a quad mesh model of this kind of surface: reference image

The object has 12 circular arrays, with 6 holes on the innermost ring, then 12, 18, 24 ... plus 6 per each ring. Please note that the hole diameter is constant.

Modeling each ring with an polar array is possible, but this results in a heavy workload of retopo. I also tried the tissue addon, but could not manage to get clean meshes at a glance.

$\endgroup$

2 Answers 2

7
$\begingroup$

If you run this baby script:

import bpy

idx = 1
vtx = 6
rad = 0.25
inc = 0.25

while (idx < 14):
    bpy.ops.mesh.primitive_circle_add(vertices=vtx, radius=rad)
    rad += inc
    vtx += 6
    idx += 1 

It will create a series of concentric circles with the right number of vertices. (I'm sure a proper Pythonista could do it in one line, and automate some of the steps which follow...)

  • CtrlJ Join the circles into one object
  • CtrlE > Bridge Edge Loops each pair of loops in turn, and F..AltP, fan-fill the center.
  • You wind up with a mesh with one or two diagonals out of place. I'm not sure it would matter, but I cut 1/6 out as shown, corrected the edges, and arrayed it back to a full circle)
  • Select all vertices except those on the perimeter, and CtrlShiftB bevel them, and switch to Face mode. The future holes should be selected.
  • Loop-Tools or Space-Bar > 'Circle' with a radius setting, on the selected hole-faces.
  • Delete the faces
  • Extrude or add a Solidify modifier, and throw on a Subdivision modifier.

enter image description here

The holes aren't perfectly circular but maybe good enough?

enter image description here

$\endgroup$
3
  • $\begingroup$ Hmm, it's not quad... but it is after one level of subdiv.... $\endgroup$
    – Robin Betts
    Nov 26, 2018 at 0:40
  • $\begingroup$ Reminds me of the stretching and Shirley mappings blender.stackexchange.com/a/93180/15543 $\endgroup$
    – batFINGER
    May 30, 2020 at 8:17
  • $\begingroup$ @batFINGER Could that have been a way through, I wonder.. I wasn't very Pythonic in those days, was I? Only a little more now, to tell the truth.. $\endgroup$
    – Robin Betts
    May 30, 2020 at 8:33
6
$\begingroup$

Thanks to all of you for your support. After some thinking, i came up with this method: enter image description here

enter image description here

[enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Doing this manually is not the fastest method, but i think in terms of topology this is the best result. Maybe someone can do a script to perform the steps.

$\endgroup$
1
  • $\begingroup$ Very nice... :) I can't help thinking there's a neater way than both of these... $\endgroup$
    – Robin Betts
    Nov 26, 2018 at 19:23

You must log in to answer this question.

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