Si no me equivoco hubo una gran actualización en las funciones de python de la versión 2.7 a la 2.8 y algunos cambios más que han ido haciendo. Lo cual quiere decir que se necesitaría una refactorización del plugin para que funcione en las versiones modernas de blender desafortunadamente.
Viendo el código y la imagen, se puede saber que objetos y modificadores usa para crear cada tipo de anillo:
Código:
def basicRingFor3DPrint(objName, v, d): # crea una primitiva círculo v: nº de vertices d: diámetro bpy.ops.mesh.primitive_circle_add(
vertices=v,
radius=mmToUnit(d)/2,
enter_editmode=False,
)
ob = bpy.context.active_object
ob.name = objName
me = ob.data
me.name = objName + 'Mesh'
bpy.ops.object.mode_set( mode = 'EDIT' )
bpy.ops.mesh.select_mode( type = 'VERT' )
bpy.ops.mesh.select_all( action = 'SELECT' )
bpy.ops.mesh.extrude_region_move( # extrude 0.005
TRANSFORM_OT_translate={"value":(0, 0, 0.005)}
)
bpy.ops.object.mode_set( mode = 'OBJECT' )
bpy.ops.object.modifier_add(type = 'SOLIDIFY') # añade un modificador solidify con "0.002" en thickness
ob.modifiers['Solidify'].thickness = 0.002
bpy.ops.object.modifier_add(type = 'BEVEL') #añade un modificador de bevel con 2 segmentos y 0.0003 de distancia
ob.modifiers['Bevel'].width = 0.0003
ob.modifiers['Bevel'].segments = 2
return ob
# crea una primitiva círculo v: nº de vertices por defecto usa 64, d: diámetro usa los diferentes diámetros que ves en la imagen
# extrude 0.005 (edit: me lo había dejado XD)
# añade un modificador solidify con "0.002" en thickness
#añade un modificador de bevel con 2 segmentos y 0.0003 de distancia
Puedes probar con geometry nodes a insertar estas 3 operaciones y exponer el diámetro. Y luego vas duplicando con copia el objeto y cambiando los radios.
Para los curiosos: el resto del código es para crear el panel, y cada botón con cada tamaño.
Un saludo.