#!/usr/bin/env python3 import pathlib import sys import bpy def main(output: pathlib.Path) -> None: bpy.ops.wm.read_factory_settings(use_empty=True) mesh = bpy.data.meshes.new("WebGapBevelMesh") mesh.from_pydata( [(-1.0, -1.0, -1.0), (1.0, -1.0, -1.0), (1.0, 1.0, -1.0), (-1.0, 1.0, -1.0), (-1.0, -1.0, 1.0), (1.0, -1.0, 1.0), (1.0, 1.0, 1.0), (-1.0, 1.0, 1.0)], [], [(0, 1, 2, 3), (4, 7, 6, 5), (0, 4, 5, 1), (1, 5, 6, 2), (2, 6, 7, 3), (4, 0, 3, 7)], ) mesh.update() obj = bpy.data.objects.new("WebGapBevelObject", mesh) bpy.context.collection.objects.link(obj) modifier = obj.modifiers.new(name="WebGapBevel", type="BEVEL") modifier.width = 0.2 modifier.segments = 3 modifier.profile = 0.35 modifier.limit_method = "ANGLE" modifier.angle_limit = 0.5 modifier.show_viewport = True modifier.show_render = True modifier.show_in_editmode = False modifier.show_on_cage = False bpy.context.view_layer.objects.active = obj obj.select_set(True) bpy.ops.wm.save_as_mainfile(filepath=str(output.resolve()), check_existing=False, compress=True) if __name__ == "__main__": arguments = sys.argv[sys.argv.index("--") + 1 :] if len(arguments) != 1: raise SystemExit("usage: blender -b --python M16-GAP-00032.py -- OUTPUT") main(pathlib.Path(arguments[0]))