fake-bpy-module 20231205__py3-none-any.whl → 20231207__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- addon_utils/__init__.pyi +84 -0
- animsys_refactor/__init__.pyi +55 -0
- aud/__init__.pyi +1190 -0
- bgl/__init__.pyi +5084 -0
- bl_app_override/__init__.pyi +31 -0
- bl_app_override/helpers/__init__.pyi +42 -0
- bl_app_override/helpers/py.typed +0 -0
- bl_app_template_utils/__init__.pyi +36 -0
- bl_console_utils/autocomplete/__init__.pyi +8 -0
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +44 -0
- bl_console_utils/autocomplete/complete_calltip/py.typed +0 -0
- bl_console_utils/autocomplete/complete_import/__init__.pyi +28 -0
- bl_console_utils/autocomplete/complete_import/py.typed +0 -0
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +44 -0
- bl_console_utils/autocomplete/complete_namespace/py.typed +0 -0
- bl_console_utils/autocomplete/intellisense/__init__.pyi +20 -0
- bl_console_utils/autocomplete/intellisense/py.typed +0 -0
- bl_i18n_utils/__init__.pyi +11 -0
- bl_i18n_utils/bl_extract_messages/__init__.pyi +124 -0
- bl_i18n_utils/bl_extract_messages/py.typed +0 -0
- bl_i18n_utils/merge_po/__init__.pyi +12 -0
- bl_i18n_utils/merge_po/py.typed +0 -0
- bl_i18n_utils/settings/__init__.pyi +66 -0
- bl_i18n_utils/settings/py.typed +0 -0
- bl_i18n_utils/utils/__init__.pyi +338 -0
- bl_i18n_utils/utils/py.typed +0 -0
- bl_i18n_utils/utils_cli/__init__.pyi +52 -0
- bl_i18n_utils/utils_cli/py.typed +0 -0
- bl_i18n_utils/utils_languages_menu/__init__.pyi +12 -0
- bl_i18n_utils/utils_languages_menu/py.typed +0 -0
- bl_i18n_utils/utils_rtl/__init__.pyi +20 -0
- bl_i18n_utils/utils_rtl/py.typed +0 -0
- bl_keymap_utils/__init__.pyi +9 -0
- bl_keymap_utils/io/__init__.pyi +76 -0
- bl_keymap_utils/io/py.typed +0 -0
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +12 -0
- bl_keymap_utils/keymap_from_toolbar/py.typed +0 -0
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +12 -0
- bl_keymap_utils/keymap_hierarchy/py.typed +0 -0
- bl_keymap_utils/platform_helpers/__init__.pyi +20 -0
- bl_keymap_utils/platform_helpers/py.typed +0 -0
- bl_keymap_utils/versioning/__init__.pyi +12 -0
- bl_keymap_utils/versioning/py.typed +0 -0
- bl_math/__init__.pyi +52 -0
- bl_operators/__init__.pyi +49 -0
- bl_operators/add_mesh_torus/__init__.pyi +231 -0
- bl_operators/add_mesh_torus/py.typed +0 -0
- bl_operators/anim/__init__.pyi +1291 -0
- bl_operators/anim/py.typed +0 -0
- bl_operators/assets/__init__.pyi +586 -0
- bl_operators/assets/py.typed +0 -0
- bl_operators/bmesh/find_adjacent/__init__.pyi +76 -0
- bl_operators/bmesh/find_adjacent/py.typed +0 -0
- bl_operators/clip/__init__.pyi +1898 -0
- bl_operators/clip/py.typed +0 -0
- bl_operators/console/__init__.pyi +918 -0
- bl_operators/console/py.typed +0 -0
- bl_operators/constraint/__init__.pyi +745 -0
- bl_operators/constraint/py.typed +0 -0
- bl_operators/file/__init__.pyi +560 -0
- bl_operators/file/py.typed +0 -0
- bl_operators/freestyle/__init__.pyi +751 -0
- bl_operators/freestyle/py.typed +0 -0
- bl_operators/geometry_nodes/__init__.pyi +2553 -0
- bl_operators/geometry_nodes/py.typed +0 -0
- bl_operators/image/__init__.pyi +548 -0
- bl_operators/image/py.typed +0 -0
- bl_operators/mesh/__init__.pyi +566 -0
- bl_operators/mesh/py.typed +0 -0
- bl_operators/node/__init__.pyi +1814 -0
- bl_operators/node/py.typed +0 -0
- bl_operators/object/__init__.pyi +3212 -0
- bl_operators/object/py.typed +0 -0
- bl_operators/object_align/__init__.pyi +215 -0
- bl_operators/object_align/py.typed +0 -0
- bl_operators/object_quick_effects/__init__.pyi +777 -0
- bl_operators/object_quick_effects/py.typed +0 -0
- bl_operators/object_randomize_transform/__init__.pyi +199 -0
- bl_operators/object_randomize_transform/py.typed +0 -0
- bl_operators/presets/__init__.pyi +3776 -0
- bl_operators/presets/py.typed +0 -0
- bl_operators/rigidbody/__init__.pyi +566 -0
- bl_operators/rigidbody/py.typed +0 -0
- bl_operators/screen_play_rendered_anim/__init__.pyi +192 -0
- bl_operators/screen_play_rendered_anim/py.typed +0 -0
- bl_operators/sequencer/__init__.pyi +1001 -0
- bl_operators/sequencer/py.typed +0 -0
- bl_operators/spreadsheet/__init__.pyi +202 -0
- bl_operators/spreadsheet/py.typed +0 -0
- bl_operators/userpref/__init__.pyi +4701 -0
- bl_operators/userpref/py.typed +0 -0
- bl_operators/uvcalc_follow_active/__init__.pyi +212 -0
- bl_operators/uvcalc_follow_active/py.typed +0 -0
- bl_operators/uvcalc_lightmap/__init__.pyi +257 -0
- bl_operators/uvcalc_lightmap/py.typed +0 -0
- bl_operators/uvcalc_transform/__init__.pyi +501 -0
- bl_operators/uvcalc_transform/py.typed +0 -0
- bl_operators/vertexpaint_dirt/__init__.pyi +207 -0
- bl_operators/vertexpaint_dirt/py.typed +0 -0
- bl_operators/view3d/__init__.pyi +955 -0
- bl_operators/view3d/py.typed +0 -0
- bl_operators/wm/__init__.pyi +8409 -0
- bl_operators/wm/py.typed +0 -0
- bl_previews_utils/bl_previews_render/__init__.pyi +60 -0
- bl_previews_utils/bl_previews_render/py.typed +0 -0
- bl_rna_utils/data_path/__init__.pyi +25 -0
- bl_rna_utils/data_path/py.typed +0 -0
- bl_text_utils/external_editor/__init__.pyi +12 -0
- bl_text_utils/external_editor/py.typed +0 -0
- bl_ui/__init__.pyi +706 -0
- bl_ui/asset_shelf/__init__.pyi +202 -0
- bl_ui/asset_shelf/py.typed +0 -0
- bl_ui/generic_ui_list/__init__.pyi +629 -0
- bl_ui/generic_ui_list/py.typed +0 -0
- bl_ui/node_add_menu/__init__.pyi +260 -0
- bl_ui/node_add_menu/py.typed +0 -0
- bl_ui/node_add_menu_compositor/__init__.pyi +3739 -0
- bl_ui/node_add_menu_compositor/py.typed +0 -0
- bl_ui/node_add_menu_geometry/__init__.pyi +8520 -0
- bl_ui/node_add_menu_geometry/py.typed +0 -0
- bl_ui/node_add_menu_shader/__init__.pyi +2139 -0
- bl_ui/node_add_menu_shader/py.typed +0 -0
- bl_ui/node_add_menu_texture/__init__.pyi +1868 -0
- bl_ui/node_add_menu_texture/py.typed +0 -0
- bl_ui/properties_animviz/__init__.pyi +38 -0
- bl_ui/properties_animviz/py.typed +0 -0
- bl_ui/properties_collection/__init__.pyi +1051 -0
- bl_ui/properties_collection/py.typed +0 -0
- bl_ui/properties_constraint/__init__.pyi +29694 -0
- bl_ui/properties_constraint/py.typed +0 -0
- bl_ui/properties_data_armature/__init__.pyi +2274 -0
- bl_ui/properties_data_armature/py.typed +0 -0
- bl_ui/properties_data_bone/__init__.pyi +2087 -0
- bl_ui/properties_data_bone/py.typed +0 -0
- bl_ui/properties_data_camera/__init__.pyi +3004 -0
- bl_ui/properties_data_camera/py.typed +0 -0
- bl_ui/properties_data_curve/__init__.pyi +3164 -0
- bl_ui/properties_data_curve/py.typed +0 -0
- bl_ui/properties_data_curves/__init__.pyi +1247 -0
- bl_ui/properties_data_curves/py.typed +0 -0
- bl_ui/properties_data_empty/__init__.pyi +426 -0
- bl_ui/properties_data_empty/py.typed +0 -0
- bl_ui/properties_data_gpencil/__init__.pyi +3758 -0
- bl_ui/properties_data_gpencil/py.typed +0 -0
- bl_ui/properties_data_grease_pencil/__init__.pyi +632 -0
- bl_ui/properties_data_grease_pencil/py.typed +0 -0
- bl_ui/properties_data_lattice/__init__.pyi +637 -0
- bl_ui/properties_data_lattice/py.typed +0 -0
- bl_ui/properties_data_light/__init__.pyi +2111 -0
- bl_ui/properties_data_light/py.typed +0 -0
- bl_ui/properties_data_lightprobe/__init__.pyi +1264 -0
- bl_ui/properties_data_lightprobe/py.typed +0 -0
- bl_ui/properties_data_mesh/__init__.pyi +4052 -0
- bl_ui/properties_data_mesh/py.typed +0 -0
- bl_ui/properties_data_metaball/__init__.pyi +1047 -0
- bl_ui/properties_data_metaball/py.typed +0 -0
- bl_ui/properties_data_modifier/__init__.pyi +1741 -0
- bl_ui/properties_data_modifier/py.typed +0 -0
- bl_ui/properties_data_pointcloud/__init__.pyi +1045 -0
- bl_ui/properties_data_pointcloud/py.typed +0 -0
- bl_ui/properties_data_shaderfx/__init__.pyi +214 -0
- bl_ui/properties_data_shaderfx/py.typed +0 -0
- bl_ui/properties_data_speaker/__init__.pyi +1056 -0
- bl_ui/properties_data_speaker/py.typed +0 -0
- bl_ui/properties_data_volume/__init__.pyi +1652 -0
- bl_ui/properties_data_volume/py.typed +0 -0
- bl_ui/properties_freestyle/__init__.pyi +5309 -0
- bl_ui/properties_freestyle/py.typed +0 -0
- bl_ui/properties_grease_pencil_common/__init__.pyi +2780 -0
- bl_ui/properties_grease_pencil_common/py.typed +0 -0
- bl_ui/properties_mask_common/__init__.pyi +1554 -0
- bl_ui/properties_mask_common/py.typed +0 -0
- bl_ui/properties_material/__init__.pyi +3117 -0
- bl_ui/properties_material/py.typed +0 -0
- bl_ui/properties_material_gpencil/__init__.pyi +2086 -0
- bl_ui/properties_material_gpencil/py.typed +0 -0
- bl_ui/properties_object/__init__.pyi +2875 -0
- bl_ui/properties_object/py.typed +0 -0
- bl_ui/properties_output/__init__.pyi +3799 -0
- bl_ui/properties_output/py.typed +0 -0
- bl_ui/properties_paint_common/__init__.pyi +814 -0
- bl_ui/properties_paint_common/py.typed +0 -0
- bl_ui/properties_particle/__init__.pyi +10938 -0
- bl_ui/properties_particle/py.typed +0 -0
- bl_ui/properties_physics_cloth/__init__.pyi +2984 -0
- bl_ui/properties_physics_cloth/py.typed +0 -0
- bl_ui/properties_physics_common/__init__.pyi +277 -0
- bl_ui/properties_physics_common/py.typed +0 -0
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +5431 -0
- bl_ui/properties_physics_dynamicpaint/py.typed +0 -0
- bl_ui/properties_physics_field/__init__.pyi +2220 -0
- bl_ui/properties_physics_field/py.typed +0 -0
- bl_ui/properties_physics_fluid/__init__.pyi +7296 -0
- bl_ui/properties_physics_fluid/py.typed +0 -0
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +214 -0
- bl_ui/properties_physics_geometry_nodes/py.typed +0 -0
- bl_ui/properties_physics_rigidbody/__init__.pyi +1698 -0
- bl_ui/properties_physics_rigidbody/py.typed +0 -0
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +2734 -0
- bl_ui/properties_physics_rigidbody_constraint/py.typed +0 -0
- bl_ui/properties_physics_softbody/__init__.pyi +3198 -0
- bl_ui/properties_physics_softbody/py.typed +0 -0
- bl_ui/properties_render/__init__.pyi +12664 -0
- bl_ui/properties_render/py.typed +0 -0
- bl_ui/properties_scene/__init__.pyi +2872 -0
- bl_ui/properties_scene/py.typed +0 -0
- bl_ui/properties_texture/__init__.pyi +5470 -0
- bl_ui/properties_texture/py.typed +0 -0
- bl_ui/properties_view_layer/__init__.pyi +3493 -0
- bl_ui/properties_view_layer/py.typed +0 -0
- bl_ui/properties_workspace/__init__.pyi +630 -0
- bl_ui/properties_workspace/py.typed +0 -0
- bl_ui/properties_world/__init__.pyi +1478 -0
- bl_ui/properties_world/py.typed +0 -0
- bl_ui/space_clip/__init__.pyi +14313 -0
- bl_ui/space_clip/py.typed +0 -0
- bl_ui/space_console/__init__.pyi +1221 -0
- bl_ui/space_console/py.typed +0 -0
- bl_ui/space_dopesheet/__init__.pyi +5388 -0
- bl_ui/space_dopesheet/py.typed +0 -0
- bl_ui/space_filebrowser/__init__.pyi +5996 -0
- bl_ui/space_filebrowser/py.typed +0 -0
- bl_ui/space_graph/__init__.pyi +4053 -0
- bl_ui/space_graph/py.typed +0 -0
- bl_ui/space_image/__init__.pyi +14801 -0
- bl_ui/space_image/py.typed +0 -0
- bl_ui/space_info/__init__.pyi +1216 -0
- bl_ui/space_info/py.typed +0 -0
- bl_ui/space_nla/__init__.pyi +3460 -0
- bl_ui/space_nla/py.typed +0 -0
- bl_ui/space_node/__init__.pyi +6519 -0
- bl_ui/space_node/py.typed +0 -0
- bl_ui/space_outliner/__init__.pyi +2864 -0
- bl_ui/space_outliner/py.typed +0 -0
- bl_ui/space_properties/__init__.pyi +575 -0
- bl_ui/space_properties/py.typed +0 -0
- bl_ui/space_sequencer/__init__.pyi +15360 -0
- bl_ui/space_sequencer/py.typed +0 -0
- bl_ui/space_spreadsheet/__init__.pyi +226 -0
- bl_ui/space_spreadsheet/py.typed +0 -0
- bl_ui/space_statusbar/__init__.pyi +190 -0
- bl_ui/space_statusbar/py.typed +0 -0
- bl_ui/space_text/__init__.pyi +3223 -0
- bl_ui/space_text/py.typed +0 -0
- bl_ui/space_time/__init__.pyi +1472 -0
- bl_ui/space_time/py.typed +0 -0
- bl_ui/space_toolsystem_common/__init__.pyi +435 -0
- bl_ui/space_toolsystem_common/py.typed +0 -0
- bl_ui/space_toolsystem_toolbar/__init__.pyi +1671 -0
- bl_ui/space_toolsystem_toolbar/py.typed +0 -0
- bl_ui/space_topbar/__init__.pyi +5296 -0
- bl_ui/space_topbar/py.typed +0 -0
- bl_ui/space_userpref/__init__.pyi +17826 -0
- bl_ui/space_userpref/py.typed +0 -0
- bl_ui/space_view3d/__init__.pyi +51846 -0
- bl_ui/space_view3d/py.typed +0 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +18993 -0
- bl_ui/space_view3d_toolbar/py.typed +0 -0
- bl_ui/utils/__init__.pyi +40 -0
- bl_ui/utils/py.typed +0 -0
- bl_ui_utils/__init__.pyi +6 -0
- bl_ui_utils/bug_report_url/__init__.pyi +12 -0
- bl_ui_utils/bug_report_url/py.typed +0 -0
- bl_ui_utils/layout/__init__.pyi +12 -0
- bl_ui_utils/layout/py.typed +0 -0
- blend_render_info/__init__.pyi +24 -0
- blf/__init__.pyi +231 -0
- bmesh/__init__.pyi +51 -0
- bmesh/geometry/__init__.pyi +23 -0
- bmesh/geometry/py.typed +0 -0
- bmesh/ops/__init__.pyi +1935 -0
- bmesh/ops/py.typed +0 -0
- bmesh/types/__init__.pyi +1399 -0
- bmesh/types/py.typed +0 -0
- bmesh/utils/__init__.pyi +207 -0
- bmesh/utils/py.typed +0 -0
- bpy/__init__.pyi +18 -0
- bpy/app/__init__.pyi +247 -0
- bpy/app/handlers/__init__.pyi +151 -0
- bpy/app/handlers/py.typed +0 -0
- bpy/app/icons/__init__.pyi +42 -0
- bpy/app/icons/py.typed +0 -0
- bpy/app/timers/__init__.pyi +42 -0
- bpy/app/timers/py.typed +0 -0
- bpy/app/translations/__init__.pyi +107 -0
- bpy/app/translations/py.typed +0 -0
- bpy/msgbus/__init__.pyi +40 -0
- bpy/msgbus/py.typed +0 -0
- bpy/ops/__init__.pyi +81 -0
- bpy/ops/action/__init__.pyi +723 -0
- bpy/ops/action/py.typed +0 -0
- bpy/ops/anim/__init__.pyi +978 -0
- bpy/ops/anim/py.typed +0 -0
- bpy/ops/armature/__init__.pyi +858 -0
- bpy/ops/armature/py.typed +0 -0
- bpy/ops/asset/__init__.pyi +339 -0
- bpy/ops/asset/py.typed +0 -0
- bpy/ops/boid/__init__.pyi +127 -0
- bpy/ops/boid/py.typed +0 -0
- bpy/ops/brush/__init__.pyi +171 -0
- bpy/ops/brush/py.typed +0 -0
- bpy/ops/buttons/__init__.pyi +255 -0
- bpy/ops/buttons/py.typed +0 -0
- bpy/ops/cachefile/__init__.pyi +241 -0
- bpy/ops/cachefile/py.typed +0 -0
- bpy/ops/camera/__init__.pyi +60 -0
- bpy/ops/camera/py.typed +0 -0
- bpy/ops/clip/__init__.pyi +1782 -0
- bpy/ops/clip/py.typed +0 -0
- bpy/ops/cloth/__init__.pyi +31 -0
- bpy/ops/cloth/py.typed +0 -0
- bpy/ops/collection/__init__.pyi +95 -0
- bpy/ops/collection/py.typed +0 -0
- bpy/ops/console/__init__.pyi +370 -0
- bpy/ops/console/py.typed +0 -0
- bpy/ops/constraint/__init__.pyi +391 -0
- bpy/ops/constraint/py.typed +0 -0
- bpy/ops/curve/__init__.pyi +1052 -0
- bpy/ops/curve/py.typed +0 -0
- bpy/ops/curves/__init__.pyi +259 -0
- bpy/ops/curves/py.typed +0 -0
- bpy/ops/cycles/__init__.pyi +67 -0
- bpy/ops/cycles/py.typed +0 -0
- bpy/ops/dpaint/__init__.pyi +87 -0
- bpy/ops/dpaint/py.typed +0 -0
- bpy/ops/ed/__init__.pyi +276 -0
- bpy/ops/ed/py.typed +0 -0
- bpy/ops/export_anim/__init__.pyi +45 -0
- bpy/ops/export_anim/py.typed +0 -0
- bpy/ops/export_mesh/__init__.pyi +62 -0
- bpy/ops/export_mesh/py.typed +0 -0
- bpy/ops/export_scene/__init__.pyi +577 -0
- bpy/ops/export_scene/py.typed +0 -0
- bpy/ops/file/__init__.pyi +787 -0
- bpy/ops/file/py.typed +0 -0
- bpy/ops/fluid/__init__.pyi +224 -0
- bpy/ops/fluid/py.typed +0 -0
- bpy/ops/font/__init__.pyi +537 -0
- bpy/ops/font/py.typed +0 -0
- bpy/ops/geometry/__init__.pyi +219 -0
- bpy/ops/geometry/py.typed +0 -0
- bpy/ops/gizmogroup/__init__.pyi +52 -0
- bpy/ops/gizmogroup/py.typed +0 -0
- bpy/ops/gpencil/__init__.pyi +3247 -0
- bpy/ops/gpencil/py.typed +0 -0
- bpy/ops/graph/__init__.pyi +1392 -0
- bpy/ops/graph/py.typed +0 -0
- bpy/ops/grease_pencil/__init__.pyi +724 -0
- bpy/ops/grease_pencil/py.typed +0 -0
- bpy/ops/image/__init__.pyi +1261 -0
- bpy/ops/image/py.typed +0 -0
- bpy/ops/import_anim/__init__.pyi +58 -0
- bpy/ops/import_anim/py.typed +0 -0
- bpy/ops/import_curve/__init__.pyi +26 -0
- bpy/ops/import_curve/py.typed +0 -0
- bpy/ops/import_mesh/__init__.pyi +50 -0
- bpy/ops/import_mesh/py.typed +0 -0
- bpy/ops/import_scene/__init__.pyi +191 -0
- bpy/ops/import_scene/py.typed +0 -0
- bpy/ops/info/__init__.pyi +140 -0
- bpy/ops/info/py.typed +0 -0
- bpy/ops/lattice/__init__.pyi +153 -0
- bpy/ops/lattice/py.typed +0 -0
- bpy/ops/marker/__init__.pyi +238 -0
- bpy/ops/marker/py.typed +0 -0
- bpy/ops/mask/__init__.pyi +747 -0
- bpy/ops/mask/py.typed +0 -0
- bpy/ops/material/__init__.pyi +47 -0
- bpy/ops/material/py.typed +0 -0
- bpy/ops/mball/__init__.pyi +168 -0
- bpy/ops/mball/py.typed +0 -0
- bpy/ops/mesh/__init__.pyi +4168 -0
- bpy/ops/mesh/py.typed +0 -0
- bpy/ops/nla/__init__.pyi +756 -0
- bpy/ops/nla/py.typed +0 -0
- bpy/ops/node/__init__.pyi +1894 -0
- bpy/ops/node/py.typed +0 -0
- bpy/ops/object/__init__.pyi +5343 -0
- bpy/ops/object/py.typed +0 -0
- bpy/ops/outliner/__init__.pyi +1172 -0
- bpy/ops/outliner/py.typed +0 -0
- bpy/ops/paint/__init__.pyi +1067 -0
- bpy/ops/paint/py.typed +0 -0
- bpy/ops/paintcurve/__init__.pyi +148 -0
- bpy/ops/paintcurve/py.typed +0 -0
- bpy/ops/palette/__init__.pyi +123 -0
- bpy/ops/palette/py.typed +0 -0
- bpy/ops/particle/__init__.pyi +635 -0
- bpy/ops/particle/py.typed +0 -0
- bpy/ops/pose/__init__.pyi +763 -0
- bpy/ops/pose/py.typed +0 -0
- bpy/ops/poselib/__init__.pyi +173 -0
- bpy/ops/poselib/py.typed +0 -0
- bpy/ops/preferences/__init__.pyi +849 -0
- bpy/ops/preferences/py.typed +0 -0
- bpy/ops/ptcache/__init__.pyi +114 -0
- bpy/ops/ptcache/py.typed +0 -0
- bpy/ops/render/__init__.pyi +262 -0
- bpy/ops/render/py.typed +0 -0
- bpy/ops/rigidbody/__init__.pyi +244 -0
- bpy/ops/rigidbody/py.typed +0 -0
- bpy/ops/scene/__init__.pyi +675 -0
- bpy/ops/scene/py.typed +0 -0
- bpy/ops/screen/__init__.pyi +846 -0
- bpy/ops/screen/py.typed +0 -0
- bpy/ops/script/__init__.pyi +60 -0
- bpy/ops/script/py.typed +0 -0
- bpy/ops/sculpt/__init__.pyi +862 -0
- bpy/ops/sculpt/py.typed +0 -0
- bpy/ops/sculpt_curves/__init__.pyi +94 -0
- bpy/ops/sculpt_curves/py.typed +0 -0
- bpy/ops/sequencer/__init__.pyi +2165 -0
- bpy/ops/sequencer/py.typed +0 -0
- bpy/ops/sound/__init__.pyi +395 -0
- bpy/ops/sound/py.typed +0 -0
- bpy/ops/spreadsheet/__init__.pyi +76 -0
- bpy/ops/spreadsheet/py.typed +0 -0
- bpy/ops/surface/__init__.pyi +215 -0
- bpy/ops/surface/py.typed +0 -0
- bpy/ops/text/__init__.pyi +863 -0
- bpy/ops/text/py.typed +0 -0
- bpy/ops/text_editor/__init__.pyi +31 -0
- bpy/ops/text_editor/py.typed +0 -0
- bpy/ops/texture/__init__.pyi +68 -0
- bpy/ops/texture/py.typed +0 -0
- bpy/ops/transform/__init__.pyi +1545 -0
- bpy/ops/transform/py.typed +0 -0
- bpy/ops/ui/__init__.pyi +536 -0
- bpy/ops/ui/py.typed +0 -0
- bpy/ops/uilist/__init__.pyi +74 -0
- bpy/ops/uilist/py.typed +0 -0
- bpy/ops/uv/__init__.pyi +1251 -0
- bpy/ops/uv/py.typed +0 -0
- bpy/ops/view2d/__init__.pyi +329 -0
- bpy/ops/view2d/py.typed +0 -0
- bpy/ops/view3d/__init__.pyi +1392 -0
- bpy/ops/view3d/py.typed +0 -0
- bpy/ops/wm/__init__.pyi +4821 -0
- bpy/ops/wm/py.typed +0 -0
- bpy/ops/workspace/__init__.pyi +115 -0
- bpy/ops/workspace/py.typed +0 -0
- bpy/ops/world/__init__.pyi +19 -0
- bpy/ops/world/py.typed +0 -0
- bpy/path/__init__.pyi +194 -0
- bpy/path/py.typed +0 -0
- bpy/props/__init__.pyi +509 -0
- bpy/props/py.typed +0 -0
- bpy/types/__init__.pyi +131533 -0
- bpy/types/py.typed +0 -0
- bpy/utils/__init__.pyi +429 -0
- bpy/utils/previews/__init__.pyi +73 -0
- bpy/utils/previews/py.typed +0 -0
- bpy/utils/units/__init__.pyi +61 -0
- bpy/utils/units/py.typed +0 -0
- bpy_extras/__init__.pyi +18 -0
- bpy_extras/anim_utils/__init__.pyi +108 -0
- bpy_extras/anim_utils/py.typed +0 -0
- bpy_extras/asset_utils/__init__.pyi +39 -0
- bpy_extras/asset_utils/py.typed +0 -0
- bpy_extras/bmesh_utils/__init__.pyi +20 -0
- bpy_extras/bmesh_utils/py.typed +0 -0
- bpy_extras/extensions/junction_module/__init__.pyi +48 -0
- bpy_extras/extensions/junction_module/py.typed +0 -0
- bpy_extras/id_map_utils/__init__.pyi +28 -0
- bpy_extras/id_map_utils/py.typed +0 -0
- bpy_extras/image_utils/__init__.pyi +42 -0
- bpy_extras/image_utils/py.typed +0 -0
- bpy_extras/io_utils/__init__.pyi +165 -0
- bpy_extras/io_utils/py.typed +0 -0
- bpy_extras/keyconfig_utils/__init__.pyi +28 -0
- bpy_extras/keyconfig_utils/py.typed +0 -0
- bpy_extras/mesh_utils/__init__.pyi +91 -0
- bpy_extras/mesh_utils/py.typed +0 -0
- bpy_extras/node_shader_utils/__init__.pyi +562 -0
- bpy_extras/node_shader_utils/py.typed +0 -0
- bpy_extras/node_utils/__init__.pyi +28 -0
- bpy_extras/node_utils/py.typed +0 -0
- bpy_extras/object_utils/__init__.pyi +87 -0
- bpy_extras/object_utils/py.typed +0 -0
- bpy_extras/view3d_utils/__init__.pyi +90 -0
- bpy_extras/view3d_utils/py.typed +0 -0
- bpy_extras/wm_utils/progress_report/__init__.pyi +98 -0
- bpy_extras/wm_utils/progress_report/py.typed +0 -0
- bpy_restrict_state/__init__.pyi +24 -0
- bpy_types/__init__.pyi +5189 -0
- console_python/__init__.pyi +71 -0
- console_shell/__init__.pyi +44 -0
- fake_bpy_module-20231207.dist-info/METADATA +175 -0
- fake_bpy_module-20231207.dist-info/RECORD +610 -0
- freestyle/chainingiterators/__init__.pyi +306 -0
- freestyle/chainingiterators/py.typed +0 -0
- freestyle/functions/__init__.pyi +1270 -0
- freestyle/functions/py.typed +0 -0
- freestyle/predicates/__init__.pyi +535 -0
- freestyle/predicates/py.typed +0 -0
- freestyle/shaders/__init__.pyi +872 -0
- freestyle/shaders/py.typed +0 -0
- freestyle/types/__init__.pyi +2407 -0
- freestyle/types/py.typed +0 -0
- freestyle/utils/ContextFunctions/__init__.pyi +127 -0
- freestyle/utils/ContextFunctions/py.typed +0 -0
- freestyle/utils/__init__.pyi +246 -0
- gpu/capabilities/__init__.pyi +186 -0
- gpu/capabilities/py.typed +0 -0
- gpu/matrix/__init__.pyi +162 -0
- gpu/matrix/py.typed +0 -0
- gpu/platform/__init__.pyi +54 -0
- gpu/platform/py.typed +0 -0
- gpu/select/__init__.pyi +15 -0
- gpu/select/py.typed +0 -0
- gpu/shader/__init__.pyi +38 -0
- gpu/shader/py.typed +0 -0
- gpu/state/__init__.pyi +214 -0
- gpu/state/py.typed +0 -0
- gpu/texture/__init__.pyi +18 -0
- gpu/texture/py.typed +0 -0
- gpu/types/__init__.pyi +698 -0
- gpu/types/py.typed +0 -0
- gpu_extras/batch/__init__.pyi +25 -0
- gpu_extras/batch/py.typed +0 -0
- gpu_extras/presets/__init__.pyi +43 -0
- gpu_extras/presets/py.typed +0 -0
- graphviz_export/__init__.pyi +21 -0
- idprop/types/__init__.pyi +98 -0
- idprop/types/py.typed +0 -0
- imbuf/__init__.pyi +44 -0
- imbuf/types/__init__.pyi +70 -0
- imbuf/types/py.typed +0 -0
- keyingsets_builtins/__init__.pyi +4028 -0
- keyingsets_utils/__init__.pyi +116 -0
- mathutils/__init__.pyi +2917 -0
- mathutils/bvhtree/__init__.pyi +124 -0
- mathutils/bvhtree/py.typed +0 -0
- mathutils/geometry/__init__.pyi +526 -0
- mathutils/geometry/py.typed +0 -0
- mathutils/interpolate/__init__.pyi +16 -0
- mathutils/interpolate/py.typed +0 -0
- mathutils/kdtree/__init__.pyi +77 -0
- mathutils/kdtree/py.typed +0 -0
- mathutils/noise/__init__.pyi +342 -0
- mathutils/noise/py.typed +0 -0
- nodeitems_builtins/__init__.pyi +69 -0
- nodeitems_utils/__init__.pyi +86 -0
- rna_info/__init__.pyi +343 -0
- rna_keymap_ui/__init__.pyi +52 -0
- rna_prop_ui/__init__.pyi +109 -0
- rna_xml/__init__.pyi +53 -0
- sys_info/__init__.pyi +12 -0
- addon_utils/__init__.py +0 -84
- animsys_refactor/__init__.py +0 -55
- aud/__init__.py +0 -1190
- bgl/__init__.py +0 -5084
- bl_app_override/__init__.py +0 -31
- bl_app_override/helpers.py +0 -42
- bl_app_template_utils/__init__.py +0 -36
- bl_console_utils/autocomplete/__init__.py +0 -8
- bl_console_utils/autocomplete/complete_calltip.py +0 -44
- bl_console_utils/autocomplete/complete_import.py +0 -28
- bl_console_utils/autocomplete/complete_namespace.py +0 -44
- bl_console_utils/autocomplete/intellisense.py +0 -20
- bl_i18n_utils/__init__.py +0 -11
- bl_i18n_utils/bl_extract_messages.py +0 -124
- bl_i18n_utils/merge_po.py +0 -12
- bl_i18n_utils/settings.py +0 -66
- bl_i18n_utils/utils.py +0 -338
- bl_i18n_utils/utils_cli.py +0 -52
- bl_i18n_utils/utils_languages_menu.py +0 -12
- bl_i18n_utils/utils_rtl.py +0 -20
- bl_keymap_utils/__init__.py +0 -9
- bl_keymap_utils/io.py +0 -76
- bl_keymap_utils/keymap_from_toolbar.py +0 -12
- bl_keymap_utils/keymap_hierarchy.py +0 -12
- bl_keymap_utils/platform_helpers.py +0 -20
- bl_keymap_utils/versioning.py +0 -12
- bl_math/__init__.py +0 -52
- bl_operators/__init__.py +0 -49
- bl_operators/add_mesh_torus.py +0 -231
- bl_operators/anim.py +0 -1291
- bl_operators/assets.py +0 -586
- bl_operators/bmesh/find_adjacent.py +0 -76
- bl_operators/clip.py +0 -1898
- bl_operators/console.py +0 -918
- bl_operators/constraint.py +0 -745
- bl_operators/file.py +0 -560
- bl_operators/freestyle.py +0 -751
- bl_operators/geometry_nodes.py +0 -2553
- bl_operators/image.py +0 -548
- bl_operators/mesh.py +0 -566
- bl_operators/node.py +0 -1814
- bl_operators/object.py +0 -3212
- bl_operators/object_align.py +0 -215
- bl_operators/object_quick_effects.py +0 -777
- bl_operators/object_randomize_transform.py +0 -199
- bl_operators/presets.py +0 -3776
- bl_operators/rigidbody.py +0 -566
- bl_operators/screen_play_rendered_anim.py +0 -192
- bl_operators/sequencer.py +0 -1001
- bl_operators/spreadsheet.py +0 -202
- bl_operators/userpref.py +0 -4701
- bl_operators/uvcalc_follow_active.py +0 -212
- bl_operators/uvcalc_lightmap.py +0 -257
- bl_operators/uvcalc_transform.py +0 -501
- bl_operators/vertexpaint_dirt.py +0 -207
- bl_operators/view3d.py +0 -955
- bl_operators/wm.py +0 -8409
- bl_previews_utils/bl_previews_render.py +0 -60
- bl_rna_utils/data_path.py +0 -25
- bl_text_utils/external_editor.py +0 -12
- bl_ui/__init__.py +0 -706
- bl_ui/asset_shelf.py +0 -202
- bl_ui/generic_ui_list.py +0 -629
- bl_ui/node_add_menu.py +0 -260
- bl_ui/node_add_menu_compositor.py +0 -3739
- bl_ui/node_add_menu_geometry.py +0 -8520
- bl_ui/node_add_menu_shader.py +0 -2139
- bl_ui/node_add_menu_texture.py +0 -1868
- bl_ui/properties_animviz.py +0 -38
- bl_ui/properties_collection.py +0 -1051
- bl_ui/properties_constraint.py +0 -29694
- bl_ui/properties_data_armature.py +0 -2274
- bl_ui/properties_data_bone.py +0 -2087
- bl_ui/properties_data_camera.py +0 -3004
- bl_ui/properties_data_curve.py +0 -3164
- bl_ui/properties_data_curves.py +0 -1247
- bl_ui/properties_data_empty.py +0 -426
- bl_ui/properties_data_gpencil.py +0 -3758
- bl_ui/properties_data_grease_pencil.py +0 -632
- bl_ui/properties_data_lattice.py +0 -637
- bl_ui/properties_data_light.py +0 -2111
- bl_ui/properties_data_lightprobe.py +0 -1264
- bl_ui/properties_data_mesh.py +0 -4052
- bl_ui/properties_data_metaball.py +0 -1047
- bl_ui/properties_data_modifier.py +0 -1741
- bl_ui/properties_data_pointcloud.py +0 -1045
- bl_ui/properties_data_shaderfx.py +0 -214
- bl_ui/properties_data_speaker.py +0 -1056
- bl_ui/properties_data_volume.py +0 -1652
- bl_ui/properties_freestyle.py +0 -5309
- bl_ui/properties_grease_pencil_common.py +0 -2780
- bl_ui/properties_mask_common.py +0 -1554
- bl_ui/properties_material.py +0 -3117
- bl_ui/properties_material_gpencil.py +0 -2086
- bl_ui/properties_object.py +0 -2875
- bl_ui/properties_output.py +0 -3799
- bl_ui/properties_paint_common.py +0 -814
- bl_ui/properties_particle.py +0 -10938
- bl_ui/properties_physics_cloth.py +0 -2984
- bl_ui/properties_physics_common.py +0 -277
- bl_ui/properties_physics_dynamicpaint.py +0 -5431
- bl_ui/properties_physics_field.py +0 -2220
- bl_ui/properties_physics_fluid.py +0 -7296
- bl_ui/properties_physics_geometry_nodes.py +0 -214
- bl_ui/properties_physics_rigidbody.py +0 -1698
- bl_ui/properties_physics_rigidbody_constraint.py +0 -2734
- bl_ui/properties_physics_softbody.py +0 -3198
- bl_ui/properties_render.py +0 -12664
- bl_ui/properties_scene.py +0 -2872
- bl_ui/properties_texture.py +0 -5470
- bl_ui/properties_view_layer.py +0 -3493
- bl_ui/properties_workspace.py +0 -630
- bl_ui/properties_world.py +0 -1478
- bl_ui/space_clip.py +0 -14313
- bl_ui/space_console.py +0 -1221
- bl_ui/space_dopesheet.py +0 -5388
- bl_ui/space_filebrowser.py +0 -5996
- bl_ui/space_graph.py +0 -4053
- bl_ui/space_image.py +0 -14801
- bl_ui/space_info.py +0 -1216
- bl_ui/space_nla.py +0 -3460
- bl_ui/space_node.py +0 -6519
- bl_ui/space_outliner.py +0 -2864
- bl_ui/space_properties.py +0 -575
- bl_ui/space_sequencer.py +0 -15360
- bl_ui/space_spreadsheet.py +0 -226
- bl_ui/space_statusbar.py +0 -190
- bl_ui/space_text.py +0 -3223
- bl_ui/space_time.py +0 -1472
- bl_ui/space_toolsystem_common.py +0 -435
- bl_ui/space_toolsystem_toolbar.py +0 -1671
- bl_ui/space_topbar.py +0 -5296
- bl_ui/space_userpref.py +0 -17826
- bl_ui/space_view3d.py +0 -51846
- bl_ui/space_view3d_toolbar.py +0 -18993
- bl_ui/utils.py +0 -40
- bl_ui_utils/__init__.py +0 -6
- bl_ui_utils/bug_report_url.py +0 -12
- bl_ui_utils/layout.py +0 -12
- blend_render_info/__init__.py +0 -24
- blf/__init__.py +0 -231
- bmesh/__init__.py +0 -51
- bmesh/geometry.py +0 -23
- bmesh/ops.py +0 -1935
- bmesh/types.py +0 -1399
- bmesh/utils.py +0 -207
- bpy/__init__.py +0 -18
- bpy/app/__init__.py +0 -247
- bpy/app/handlers.py +0 -160
- bpy/app/icons.py +0 -42
- bpy/app/timers.py +0 -42
- bpy/app/translations.py +0 -107
- bpy/msgbus.py +0 -40
- bpy/ops/__init__.py +0 -81
- bpy/ops/action.py +0 -723
- bpy/ops/anim.py +0 -978
- bpy/ops/armature.py +0 -858
- bpy/ops/asset.py +0 -339
- bpy/ops/boid.py +0 -127
- bpy/ops/brush.py +0 -171
- bpy/ops/buttons.py +0 -255
- bpy/ops/cachefile.py +0 -241
- bpy/ops/camera.py +0 -60
- bpy/ops/clip.py +0 -1782
- bpy/ops/cloth.py +0 -31
- bpy/ops/collection.py +0 -95
- bpy/ops/console.py +0 -370
- bpy/ops/constraint.py +0 -391
- bpy/ops/curve.py +0 -1052
- bpy/ops/curves.py +0 -259
- bpy/ops/cycles.py +0 -67
- bpy/ops/dpaint.py +0 -87
- bpy/ops/ed.py +0 -276
- bpy/ops/export_anim.py +0 -45
- bpy/ops/export_mesh.py +0 -62
- bpy/ops/export_scene.py +0 -577
- bpy/ops/file.py +0 -787
- bpy/ops/fluid.py +0 -224
- bpy/ops/font.py +0 -537
- bpy/ops/geometry.py +0 -219
- bpy/ops/gizmogroup.py +0 -52
- bpy/ops/gpencil.py +0 -3247
- bpy/ops/graph.py +0 -1392
- bpy/ops/grease_pencil.py +0 -724
- bpy/ops/image.py +0 -1261
- bpy/ops/import_anim.py +0 -58
- bpy/ops/import_curve.py +0 -26
- bpy/ops/import_mesh.py +0 -50
- bpy/ops/import_scene.py +0 -191
- bpy/ops/info.py +0 -140
- bpy/ops/lattice.py +0 -153
- bpy/ops/marker.py +0 -238
- bpy/ops/mask.py +0 -747
- bpy/ops/material.py +0 -47
- bpy/ops/mball.py +0 -168
- bpy/ops/mesh.py +0 -4168
- bpy/ops/nla.py +0 -756
- bpy/ops/node.py +0 -1894
- bpy/ops/object.py +0 -5343
- bpy/ops/outliner.py +0 -1172
- bpy/ops/paint.py +0 -1067
- bpy/ops/paintcurve.py +0 -148
- bpy/ops/palette.py +0 -123
- bpy/ops/particle.py +0 -635
- bpy/ops/pose.py +0 -763
- bpy/ops/poselib.py +0 -173
- bpy/ops/preferences.py +0 -849
- bpy/ops/ptcache.py +0 -114
- bpy/ops/render.py +0 -262
- bpy/ops/rigidbody.py +0 -244
- bpy/ops/scene.py +0 -675
- bpy/ops/screen.py +0 -846
- bpy/ops/script.py +0 -60
- bpy/ops/sculpt.py +0 -862
- bpy/ops/sculpt_curves.py +0 -94
- bpy/ops/sequencer.py +0 -2165
- bpy/ops/sound.py +0 -395
- bpy/ops/spreadsheet.py +0 -76
- bpy/ops/surface.py +0 -215
- bpy/ops/text.py +0 -863
- bpy/ops/text_editor.py +0 -31
- bpy/ops/texture.py +0 -68
- bpy/ops/transform.py +0 -1545
- bpy/ops/ui.py +0 -536
- bpy/ops/uilist.py +0 -74
- bpy/ops/uv.py +0 -1251
- bpy/ops/view2d.py +0 -329
- bpy/ops/view3d.py +0 -1392
- bpy/ops/wm.py +0 -4821
- bpy/ops/workspace.py +0 -115
- bpy/ops/world.py +0 -19
- bpy/path.py +0 -194
- bpy/props.py +0 -509
- bpy/types.py +0 -131806
- bpy/utils/__init__.py +0 -429
- bpy/utils/previews.py +0 -73
- bpy/utils/units.py +0 -61
- bpy_extras/__init__.py +0 -18
- bpy_extras/anim_utils.py +0 -108
- bpy_extras/asset_utils.py +0 -39
- bpy_extras/bmesh_utils.py +0 -20
- bpy_extras/extensions/junction_module.py +0 -48
- bpy_extras/id_map_utils.py +0 -28
- bpy_extras/image_utils.py +0 -42
- bpy_extras/io_utils.py +0 -165
- bpy_extras/keyconfig_utils.py +0 -28
- bpy_extras/mesh_utils.py +0 -91
- bpy_extras/node_shader_utils.py +0 -562
- bpy_extras/node_utils.py +0 -28
- bpy_extras/object_utils.py +0 -87
- bpy_extras/view3d_utils.py +0 -90
- bpy_extras/wm_utils/progress_report.py +0 -98
- bpy_restrict_state/__init__.py +0 -24
- bpy_types/__init__.py +0 -5189
- console_python/__init__.py +0 -71
- console_shell/__init__.py +0 -44
- fake_bpy_module-20231205.dist-info/METADATA +0 -175
- fake_bpy_module-20231205.dist-info/RECORD +0 -356
- freestyle/chainingiterators.py +0 -306
- freestyle/functions.py +0 -1270
- freestyle/predicates.py +0 -535
- freestyle/shaders.py +0 -872
- freestyle/types.py +0 -2409
- freestyle/utils/ContextFunctions.py +0 -127
- freestyle/utils/__init__.py +0 -246
- gpu/capabilities.py +0 -186
- gpu/matrix.py +0 -162
- gpu/platform.py +0 -54
- gpu/select.py +0 -15
- gpu/shader.py +0 -38
- gpu/state.py +0 -214
- gpu/texture.py +0 -18
- gpu/types.py +0 -698
- gpu_extras/batch.py +0 -25
- gpu_extras/presets.py +0 -43
- graphviz_export/__init__.py +0 -21
- idprop/types.py +0 -98
- imbuf/__init__.py +0 -44
- imbuf/types.py +0 -70
- keyingsets_builtins/__init__.py +0 -4028
- keyingsets_utils/__init__.py +0 -116
- mathutils/__init__.py +0 -2917
- mathutils/bvhtree.py +0 -124
- mathutils/geometry.py +0 -526
- mathutils/interpolate.py +0 -16
- mathutils/kdtree.py +0 -77
- mathutils/noise.py +0 -342
- nodeitems_builtins/__init__.py +0 -69
- nodeitems_utils/__init__.py +0 -86
- rna_info/__init__.py +0 -343
- rna_keymap_ui/__init__.py +0 -52
- rna_prop_ui/__init__.py +0 -109
- rna_xml/__init__.py +0 -53
- sys_info/__init__.py +0 -12
- /bl_console_utils/{__init__.py → __init__.pyi} +0 -0
- /bl_operators/bmesh/{__init__.py → __init__.pyi} +0 -0
- /bl_previews_utils/{__init__.py → __init__.pyi} +0 -0
- /bl_rna_utils/{__init__.py → __init__.pyi} +0 -0
- /bl_text_utils/{__init__.py → __init__.pyi} +0 -0
- /bpy_extras/extensions/{__init__.py → __init__.pyi} +0 -0
- /bpy_extras/wm_utils/{__init__.py → __init__.pyi} +0 -0
- {fake_bpy_module-20231205.dist-info → fake_bpy_module-20231207.dist-info}/WHEEL +0 -0
- {fake_bpy_module-20231205.dist-info → fake_bpy_module-20231207.dist-info}/top_level.txt +0 -0
- /freestyle/{__init__.py → __init__.pyi} +0 -0
- /gpu/{__init__.py → __init__.pyi} +0 -0
- /gpu_extras/{__init__.py → __init__.pyi} +0 -0
- /idprop/{__init__.py → __init__.pyi} +0 -0
|
@@ -0,0 +1,4168 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import typing
|
|
3
|
+
import bpy.types
|
|
4
|
+
import bpy.ops.transform
|
|
5
|
+
|
|
6
|
+
GenericType = typing.TypeVar("GenericType")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def attribute_set(
|
|
10
|
+
override_context: typing.Optional[
|
|
11
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
12
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
13
|
+
undo: typing.Optional[bool] = None,
|
|
14
|
+
*,
|
|
15
|
+
value_float: typing.Optional[typing.Any] = 0.0,
|
|
16
|
+
value_float_vector_2d: typing.Optional[typing.Any] = (0.0, 0.0),
|
|
17
|
+
value_float_vector_3d: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
18
|
+
value_int: typing.Optional[typing.Any] = 0,
|
|
19
|
+
value_color: typing.Optional[typing.Any] = (1.0, 1.0, 1.0, 1.0),
|
|
20
|
+
value_bool: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
21
|
+
''' Set values of the active attribute for selected elements
|
|
22
|
+
|
|
23
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
24
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
25
|
+
:type undo: typing.Optional[bool]
|
|
26
|
+
:param value_float: Value
|
|
27
|
+
:type value_float: typing.Optional[typing.Any]
|
|
28
|
+
:param value_float_vector_2d: Value
|
|
29
|
+
:type value_float_vector_2d: typing.Optional[typing.Any]
|
|
30
|
+
:param value_float_vector_3d: Value
|
|
31
|
+
:type value_float_vector_3d: typing.Optional[typing.Any]
|
|
32
|
+
:param value_int: Value
|
|
33
|
+
:type value_int: typing.Optional[typing.Any]
|
|
34
|
+
:param value_color: Value
|
|
35
|
+
:type value_color: typing.Optional[typing.Any]
|
|
36
|
+
:param value_bool: Value
|
|
37
|
+
:type value_bool: typing.Optional[typing.Union[bool, typing.Any]]
|
|
38
|
+
'''
|
|
39
|
+
|
|
40
|
+
...
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def average_normals(
|
|
44
|
+
override_context: typing.Optional[
|
|
45
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
46
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
47
|
+
undo: typing.Optional[bool] = None,
|
|
48
|
+
*,
|
|
49
|
+
average_type: typing.Optional[typing.Any] = 'CUSTOM_NORMAL',
|
|
50
|
+
weight: typing.Optional[typing.Any] = 50,
|
|
51
|
+
threshold: typing.Optional[typing.Any] = 0.01):
|
|
52
|
+
''' Average custom normals of selected vertices
|
|
53
|
+
|
|
54
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
55
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
56
|
+
:type undo: typing.Optional[bool]
|
|
57
|
+
:param average_type: Type, Averaging method * ``CUSTOM_NORMAL`` Custom Normal -- Take average of vertex normals. * ``FACE_AREA`` Face Area -- Set all vertex normals by face area. * ``CORNER_ANGLE`` Corner Angle -- Set all vertex normals by corner angle.
|
|
58
|
+
:type average_type: typing.Optional[typing.Any]
|
|
59
|
+
:param weight: Weight, Weight applied per face
|
|
60
|
+
:type weight: typing.Optional[typing.Any]
|
|
61
|
+
:param threshold: Threshold, Threshold value for different weights to be considered equal
|
|
62
|
+
:type threshold: typing.Optional[typing.Any]
|
|
63
|
+
'''
|
|
64
|
+
|
|
65
|
+
...
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def beautify_fill(
|
|
69
|
+
override_context: typing.Optional[
|
|
70
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
71
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
72
|
+
undo: typing.Optional[bool] = None,
|
|
73
|
+
*,
|
|
74
|
+
angle_limit: typing.Optional[typing.Any] = 3.14159):
|
|
75
|
+
''' Rearrange some faces to try to get less degenerated geometry
|
|
76
|
+
|
|
77
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
78
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
79
|
+
:type undo: typing.Optional[bool]
|
|
80
|
+
:param angle_limit: Max Angle, Angle limit
|
|
81
|
+
:type angle_limit: typing.Optional[typing.Any]
|
|
82
|
+
'''
|
|
83
|
+
|
|
84
|
+
...
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def bevel(
|
|
88
|
+
override_context: typing.Optional[
|
|
89
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
90
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
91
|
+
undo: typing.Optional[bool] = None,
|
|
92
|
+
*,
|
|
93
|
+
offset_type: typing.Optional[typing.Any] = 'OFFSET',
|
|
94
|
+
offset: typing.Optional[typing.Any] = 0.0,
|
|
95
|
+
profile_type: typing.Optional[typing.Any] = 'SUPERELLIPSE',
|
|
96
|
+
offset_pct: typing.Optional[typing.Any] = 0.0,
|
|
97
|
+
segments: typing.Optional[typing.Any] = 1,
|
|
98
|
+
profile: typing.Optional[typing.Any] = 0.5,
|
|
99
|
+
affect: typing.Optional[typing.Any] = 'EDGES',
|
|
100
|
+
clamp_overlap: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
101
|
+
loop_slide: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
102
|
+
mark_seam: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
103
|
+
mark_sharp: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
104
|
+
material: typing.Optional[typing.Any] = -1,
|
|
105
|
+
harden_normals: typing.Optional[typing.Union[bool, typing.
|
|
106
|
+
Any]] = False,
|
|
107
|
+
face_strength_mode: typing.Optional[typing.Any] = 'NONE',
|
|
108
|
+
miter_outer: typing.Optional[typing.Any] = 'SHARP',
|
|
109
|
+
miter_inner: typing.Optional[typing.Any] = 'SHARP',
|
|
110
|
+
spread: typing.Optional[typing.Any] = 0.1,
|
|
111
|
+
vmesh_method: typing.Optional[typing.Any] = 'ADJ',
|
|
112
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
113
|
+
Any]] = False):
|
|
114
|
+
''' Cut into selected items at an angle to create bevel or chamfer
|
|
115
|
+
|
|
116
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
117
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
118
|
+
:type undo: typing.Optional[bool]
|
|
119
|
+
:param offset_type: Width Type, The method for determining the size of the bevel * ``OFFSET`` Offset -- Amount is offset of new edges from original. * ``WIDTH`` Width -- Amount is width of new face. * ``DEPTH`` Depth -- Amount is perpendicular distance from original edge to bevel face. * ``PERCENT`` Percent -- Amount is percent of adjacent edge length. * ``ABSOLUTE`` Absolute -- Amount is absolute distance along adjacent edge.
|
|
120
|
+
:type offset_type: typing.Optional[typing.Any]
|
|
121
|
+
:param offset: Width, Bevel amount
|
|
122
|
+
:type offset: typing.Optional[typing.Any]
|
|
123
|
+
:param profile_type: Profile Type, The type of shape used to rebuild a beveled section * ``SUPERELLIPSE`` Superellipse -- The profile can be a concave or convex curve. * ``CUSTOM`` Custom -- The profile can be any arbitrary path between its endpoints.
|
|
124
|
+
:type profile_type: typing.Optional[typing.Any]
|
|
125
|
+
:param offset_pct: Width Percent, Bevel amount for percentage method
|
|
126
|
+
:type offset_pct: typing.Optional[typing.Any]
|
|
127
|
+
:param segments: Segments, Segments for curved edge
|
|
128
|
+
:type segments: typing.Optional[typing.Any]
|
|
129
|
+
:param profile: Profile, Controls profile shape (0.5 = round)
|
|
130
|
+
:type profile: typing.Optional[typing.Any]
|
|
131
|
+
:param affect: Affect, Affect edges or vertices * ``VERTICES`` Vertices -- Affect only vertices. * ``EDGES`` Edges -- Affect only edges.
|
|
132
|
+
:type affect: typing.Optional[typing.Any]
|
|
133
|
+
:param clamp_overlap: Clamp Overlap, Do not allow beveled edges/vertices to overlap each other
|
|
134
|
+
:type clamp_overlap: typing.Optional[typing.Union[bool, typing.Any]]
|
|
135
|
+
:param loop_slide: Loop Slide, Prefer sliding along edges to even widths
|
|
136
|
+
:type loop_slide: typing.Optional[typing.Union[bool, typing.Any]]
|
|
137
|
+
:param mark_seam: Mark Seams, Mark Seams along beveled edges
|
|
138
|
+
:type mark_seam: typing.Optional[typing.Union[bool, typing.Any]]
|
|
139
|
+
:param mark_sharp: Mark Sharp, Mark beveled edges as sharp
|
|
140
|
+
:type mark_sharp: typing.Optional[typing.Union[bool, typing.Any]]
|
|
141
|
+
:param material: Material Index, Material for bevel faces (-1 means use adjacent faces)
|
|
142
|
+
:type material: typing.Optional[typing.Any]
|
|
143
|
+
:param harden_normals: Harden Normals, Match normals of new faces to adjacent faces
|
|
144
|
+
:type harden_normals: typing.Optional[typing.Union[bool, typing.Any]]
|
|
145
|
+
:param face_strength_mode: Face Strength Mode, Whether to set face strength, and which faces to set face strength on * ``NONE`` None -- Do not set face strength. * ``NEW`` New -- Set face strength on new faces only. * ``AFFECTED`` Affected -- Set face strength on new and modified faces only. * ``ALL`` All -- Set face strength on all faces.
|
|
146
|
+
:type face_strength_mode: typing.Optional[typing.Any]
|
|
147
|
+
:param miter_outer: Outer Miter, Pattern to use for outside of miters * ``SHARP`` Sharp -- Outside of miter is sharp. * ``PATCH`` Patch -- Outside of miter is squared-off patch. * ``ARC`` Arc -- Outside of miter is arc.
|
|
148
|
+
:type miter_outer: typing.Optional[typing.Any]
|
|
149
|
+
:param miter_inner: Inner Miter, Pattern to use for inside of miters * ``SHARP`` Sharp -- Inside of miter is sharp. * ``ARC`` Arc -- Inside of miter is arc.
|
|
150
|
+
:type miter_inner: typing.Optional[typing.Any]
|
|
151
|
+
:param spread: Spread, Amount to spread arcs for arc inner miters
|
|
152
|
+
:type spread: typing.Optional[typing.Any]
|
|
153
|
+
:param vmesh_method: Vertex Mesh Method, The method to use to create meshes at intersections * ``ADJ`` Grid Fill -- Default patterned fill. * ``CUTOFF`` Cutoff -- A cutoff at each profile's end before the intersection.
|
|
154
|
+
:type vmesh_method: typing.Optional[typing.Any]
|
|
155
|
+
:param release_confirm: Confirm on Release
|
|
156
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
157
|
+
'''
|
|
158
|
+
|
|
159
|
+
...
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def bisect(
|
|
163
|
+
override_context: typing.Optional[
|
|
164
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
165
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
166
|
+
undo: typing.Optional[bool] = None,
|
|
167
|
+
*,
|
|
168
|
+
plane_co: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
169
|
+
plane_no: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
170
|
+
use_fill: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
171
|
+
clear_inner: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
172
|
+
clear_outer: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
173
|
+
threshold: typing.Optional[typing.Any] = 0.0001,
|
|
174
|
+
xstart: typing.Optional[typing.Any] = 0,
|
|
175
|
+
xend: typing.Optional[typing.Any] = 0,
|
|
176
|
+
ystart: typing.Optional[typing.Any] = 0,
|
|
177
|
+
yend: typing.Optional[typing.Any] = 0,
|
|
178
|
+
flip: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
179
|
+
cursor: typing.Optional[typing.Any] = 5):
|
|
180
|
+
''' Cut geometry along a plane (click-drag to define plane)
|
|
181
|
+
|
|
182
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
183
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
184
|
+
:type undo: typing.Optional[bool]
|
|
185
|
+
:param plane_co: Plane Point, A point on the plane
|
|
186
|
+
:type plane_co: typing.Optional[typing.Any]
|
|
187
|
+
:param plane_no: Plane Normal, The direction the plane points
|
|
188
|
+
:type plane_no: typing.Optional[typing.Any]
|
|
189
|
+
:param use_fill: Fill, Fill in the cut
|
|
190
|
+
:type use_fill: typing.Optional[typing.Union[bool, typing.Any]]
|
|
191
|
+
:param clear_inner: Clear Inner, Remove geometry behind the plane
|
|
192
|
+
:type clear_inner: typing.Optional[typing.Union[bool, typing.Any]]
|
|
193
|
+
:param clear_outer: Clear Outer, Remove geometry in front of the plane
|
|
194
|
+
:type clear_outer: typing.Optional[typing.Union[bool, typing.Any]]
|
|
195
|
+
:param threshold: Axis Threshold, Preserves the existing geometry along the cut plane
|
|
196
|
+
:type threshold: typing.Optional[typing.Any]
|
|
197
|
+
:param xstart: X Start
|
|
198
|
+
:type xstart: typing.Optional[typing.Any]
|
|
199
|
+
:param xend: X End
|
|
200
|
+
:type xend: typing.Optional[typing.Any]
|
|
201
|
+
:param ystart: Y Start
|
|
202
|
+
:type ystart: typing.Optional[typing.Any]
|
|
203
|
+
:param yend: Y End
|
|
204
|
+
:type yend: typing.Optional[typing.Any]
|
|
205
|
+
:param flip: Flip
|
|
206
|
+
:type flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
207
|
+
:param cursor: Cursor, Mouse cursor style to use during the modal operator
|
|
208
|
+
:type cursor: typing.Optional[typing.Any]
|
|
209
|
+
'''
|
|
210
|
+
|
|
211
|
+
...
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def blend_from_shape(
|
|
215
|
+
override_context: typing.Optional[
|
|
216
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
217
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
218
|
+
undo: typing.Optional[bool] = None,
|
|
219
|
+
*,
|
|
220
|
+
shape: typing.Optional[typing.Union[str, int, typing.Any]] = '',
|
|
221
|
+
blend: typing.Optional[typing.Any] = 1.0,
|
|
222
|
+
add: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
223
|
+
''' Blend in shape from a shape key
|
|
224
|
+
|
|
225
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
226
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
227
|
+
:type undo: typing.Optional[bool]
|
|
228
|
+
:param shape: Shape, Shape key to use for blending
|
|
229
|
+
:type shape: typing.Optional[typing.Union[str, int, typing.Any]]
|
|
230
|
+
:param blend: Blend, Blending factor
|
|
231
|
+
:type blend: typing.Optional[typing.Any]
|
|
232
|
+
:param add: Add, Add rather than blend between shapes
|
|
233
|
+
:type add: typing.Optional[typing.Union[bool, typing.Any]]
|
|
234
|
+
'''
|
|
235
|
+
|
|
236
|
+
...
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
def bridge_edge_loops(
|
|
240
|
+
override_context: typing.Optional[
|
|
241
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
242
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
243
|
+
undo: typing.Optional[bool] = None,
|
|
244
|
+
*,
|
|
245
|
+
type: typing.Optional[typing.Any] = 'SINGLE',
|
|
246
|
+
use_merge: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
247
|
+
merge_factor: typing.Optional[typing.Any] = 0.5,
|
|
248
|
+
twist_offset: typing.Optional[typing.Any] = 0,
|
|
249
|
+
number_cuts: typing.Optional[typing.Any] = 0,
|
|
250
|
+
interpolation: typing.Optional[typing.Any] = 'PATH',
|
|
251
|
+
smoothness: typing.Optional[typing.Any] = 1.0,
|
|
252
|
+
profile_shape_factor: typing.Optional[typing.Any] = 0.0,
|
|
253
|
+
profile_shape: typing.Optional[typing.Union[str, int]] = 'SMOOTH'):
|
|
254
|
+
''' Create a bridge of faces between two or more selected edge loops
|
|
255
|
+
|
|
256
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
257
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
258
|
+
:type undo: typing.Optional[bool]
|
|
259
|
+
:param type: Connect Loops, Method of bridging multiple loops
|
|
260
|
+
:type type: typing.Optional[typing.Any]
|
|
261
|
+
:param use_merge: Merge, Merge rather than creating faces
|
|
262
|
+
:type use_merge: typing.Optional[typing.Union[bool, typing.Any]]
|
|
263
|
+
:param merge_factor: Merge Factor
|
|
264
|
+
:type merge_factor: typing.Optional[typing.Any]
|
|
265
|
+
:param twist_offset: Twist, Twist offset for closed loops
|
|
266
|
+
:type twist_offset: typing.Optional[typing.Any]
|
|
267
|
+
:param number_cuts: Number of Cuts
|
|
268
|
+
:type number_cuts: typing.Optional[typing.Any]
|
|
269
|
+
:param interpolation: Interpolation, Interpolation method
|
|
270
|
+
:type interpolation: typing.Optional[typing.Any]
|
|
271
|
+
:param smoothness: Smoothness, Smoothness factor
|
|
272
|
+
:type smoothness: typing.Optional[typing.Any]
|
|
273
|
+
:param profile_shape_factor: Profile Factor, How much intermediary new edges are shrunk/expanded
|
|
274
|
+
:type profile_shape_factor: typing.Optional[typing.Any]
|
|
275
|
+
:param profile_shape: Profile Shape, Shape of the profile
|
|
276
|
+
:type profile_shape: typing.Optional[typing.Union[str, int]]
|
|
277
|
+
'''
|
|
278
|
+
|
|
279
|
+
...
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
def colors_reverse(
|
|
283
|
+
override_context: typing.Optional[
|
|
284
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
285
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
286
|
+
undo: typing.Optional[bool] = None):
|
|
287
|
+
''' Flip direction of vertex colors inside faces
|
|
288
|
+
|
|
289
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
290
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
291
|
+
:type undo: typing.Optional[bool]
|
|
292
|
+
'''
|
|
293
|
+
|
|
294
|
+
...
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
def colors_rotate(
|
|
298
|
+
override_context: typing.Optional[
|
|
299
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
300
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
301
|
+
undo: typing.Optional[bool] = None,
|
|
302
|
+
*,
|
|
303
|
+
use_ccw: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
304
|
+
''' Rotate color attributes inside faces
|
|
305
|
+
|
|
306
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
307
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
308
|
+
:type undo: typing.Optional[bool]
|
|
309
|
+
:param use_ccw: Counter Clockwise
|
|
310
|
+
:type use_ccw: typing.Optional[typing.Union[bool, typing.Any]]
|
|
311
|
+
'''
|
|
312
|
+
|
|
313
|
+
...
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
def convex_hull(
|
|
317
|
+
override_context: typing.Optional[
|
|
318
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
319
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
320
|
+
undo: typing.Optional[bool] = None,
|
|
321
|
+
*,
|
|
322
|
+
delete_unused: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
323
|
+
use_existing_faces: typing.Optional[typing.Union[bool, typing.
|
|
324
|
+
Any]] = True,
|
|
325
|
+
make_holes: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
326
|
+
join_triangles: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
327
|
+
face_threshold: typing.Optional[typing.Any] = 0.698132,
|
|
328
|
+
shape_threshold: typing.Optional[typing.Any] = 0.698132,
|
|
329
|
+
uvs: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
330
|
+
vcols: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
331
|
+
seam: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
332
|
+
sharp: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
333
|
+
materials: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
334
|
+
''' Enclose selected vertices in a convex polyhedron
|
|
335
|
+
|
|
336
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
337
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
338
|
+
:type undo: typing.Optional[bool]
|
|
339
|
+
:param delete_unused: Delete Unused, Delete selected elements that are not used by the hull
|
|
340
|
+
:type delete_unused: typing.Optional[typing.Union[bool, typing.Any]]
|
|
341
|
+
:param use_existing_faces: Use Existing Faces, Skip hull triangles that are covered by a pre-existing face
|
|
342
|
+
:type use_existing_faces: typing.Optional[typing.Union[bool, typing.Any]]
|
|
343
|
+
:param make_holes: Make Holes, Delete selected faces that are used by the hull
|
|
344
|
+
:type make_holes: typing.Optional[typing.Union[bool, typing.Any]]
|
|
345
|
+
:param join_triangles: Join Triangles, Merge adjacent triangles into quads
|
|
346
|
+
:type join_triangles: typing.Optional[typing.Union[bool, typing.Any]]
|
|
347
|
+
:param face_threshold: Max Face Angle, Face angle limit
|
|
348
|
+
:type face_threshold: typing.Optional[typing.Any]
|
|
349
|
+
:param shape_threshold: Max Shape Angle, Shape angle limit
|
|
350
|
+
:type shape_threshold: typing.Optional[typing.Any]
|
|
351
|
+
:param uvs: Compare UVs
|
|
352
|
+
:type uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
353
|
+
:param vcols: Compare VCols
|
|
354
|
+
:type vcols: typing.Optional[typing.Union[bool, typing.Any]]
|
|
355
|
+
:param seam: Compare Seam
|
|
356
|
+
:type seam: typing.Optional[typing.Union[bool, typing.Any]]
|
|
357
|
+
:param sharp: Compare Sharp
|
|
358
|
+
:type sharp: typing.Optional[typing.Union[bool, typing.Any]]
|
|
359
|
+
:param materials: Compare Materials
|
|
360
|
+
:type materials: typing.Optional[typing.Union[bool, typing.Any]]
|
|
361
|
+
'''
|
|
362
|
+
|
|
363
|
+
...
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
def customdata_custom_splitnormals_add(
|
|
367
|
+
override_context: typing.Optional[
|
|
368
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
369
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
370
|
+
undo: typing.Optional[bool] = None):
|
|
371
|
+
''' Add a custom split normals layer, if none exists yet
|
|
372
|
+
|
|
373
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
374
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
375
|
+
:type undo: typing.Optional[bool]
|
|
376
|
+
'''
|
|
377
|
+
|
|
378
|
+
...
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
def customdata_custom_splitnormals_clear(
|
|
382
|
+
override_context: typing.Optional[
|
|
383
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
384
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
385
|
+
undo: typing.Optional[bool] = None):
|
|
386
|
+
''' Remove the custom split normals layer, if it exists
|
|
387
|
+
|
|
388
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
389
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
390
|
+
:type undo: typing.Optional[bool]
|
|
391
|
+
'''
|
|
392
|
+
|
|
393
|
+
...
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
def customdata_mask_clear(
|
|
397
|
+
override_context: typing.Optional[
|
|
398
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
399
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
400
|
+
undo: typing.Optional[bool] = None):
|
|
401
|
+
''' Clear vertex sculpt masking data from the mesh
|
|
402
|
+
|
|
403
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
404
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
405
|
+
:type undo: typing.Optional[bool]
|
|
406
|
+
'''
|
|
407
|
+
|
|
408
|
+
...
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
def customdata_skin_add(
|
|
412
|
+
override_context: typing.Optional[
|
|
413
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
414
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
415
|
+
undo: typing.Optional[bool] = None):
|
|
416
|
+
''' Add a vertex skin layer
|
|
417
|
+
|
|
418
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
419
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
420
|
+
:type undo: typing.Optional[bool]
|
|
421
|
+
'''
|
|
422
|
+
|
|
423
|
+
...
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
def customdata_skin_clear(
|
|
427
|
+
override_context: typing.Optional[
|
|
428
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
429
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
430
|
+
undo: typing.Optional[bool] = None):
|
|
431
|
+
''' Clear vertex skin layer
|
|
432
|
+
|
|
433
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
434
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
435
|
+
:type undo: typing.Optional[bool]
|
|
436
|
+
'''
|
|
437
|
+
|
|
438
|
+
...
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
def decimate(
|
|
442
|
+
override_context: typing.Optional[
|
|
443
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
444
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
445
|
+
undo: typing.Optional[bool] = None,
|
|
446
|
+
*,
|
|
447
|
+
ratio: typing.Optional[typing.Any] = 1.0,
|
|
448
|
+
use_vertex_group: typing.Optional[typing.Union[bool, typing.
|
|
449
|
+
Any]] = False,
|
|
450
|
+
vertex_group_factor: typing.Optional[typing.Any] = 1.0,
|
|
451
|
+
invert_vertex_group: typing.Optional[typing.Union[bool, typing.
|
|
452
|
+
Any]] = False,
|
|
453
|
+
use_symmetry: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
454
|
+
symmetry_axis: typing.Optional[typing.Union[str, int]] = 'Y'):
|
|
455
|
+
''' Simplify geometry by collapsing edges
|
|
456
|
+
|
|
457
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
458
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
459
|
+
:type undo: typing.Optional[bool]
|
|
460
|
+
:param ratio: Ratio
|
|
461
|
+
:type ratio: typing.Optional[typing.Any]
|
|
462
|
+
:param use_vertex_group: Vertex Group, Use active vertex group as an influence
|
|
463
|
+
:type use_vertex_group: typing.Optional[typing.Union[bool, typing.Any]]
|
|
464
|
+
:param vertex_group_factor: Weight, Vertex group strength
|
|
465
|
+
:type vertex_group_factor: typing.Optional[typing.Any]
|
|
466
|
+
:param invert_vertex_group: Invert, Invert vertex group influence
|
|
467
|
+
:type invert_vertex_group: typing.Optional[typing.Union[bool, typing.Any]]
|
|
468
|
+
:param use_symmetry: Symmetry, Maintain symmetry on an axis
|
|
469
|
+
:type use_symmetry: typing.Optional[typing.Union[bool, typing.Any]]
|
|
470
|
+
:param symmetry_axis: Axis, Axis of symmetry
|
|
471
|
+
:type symmetry_axis: typing.Optional[typing.Union[str, int]]
|
|
472
|
+
'''
|
|
473
|
+
|
|
474
|
+
...
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
def delete(override_context: typing.Optional[
|
|
478
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
479
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
480
|
+
undo: typing.Optional[bool] = None,
|
|
481
|
+
*,
|
|
482
|
+
type: typing.Optional[typing.Any] = 'VERT'):
|
|
483
|
+
''' Delete selected vertices, edges or faces
|
|
484
|
+
|
|
485
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
486
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
487
|
+
:type undo: typing.Optional[bool]
|
|
488
|
+
:param type: Type, Method used for deleting mesh data
|
|
489
|
+
:type type: typing.Optional[typing.Any]
|
|
490
|
+
'''
|
|
491
|
+
|
|
492
|
+
...
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
def delete_edgeloop(
|
|
496
|
+
override_context: typing.Optional[
|
|
497
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
498
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
499
|
+
undo: typing.Optional[bool] = None,
|
|
500
|
+
*,
|
|
501
|
+
use_face_split: typing.Optional[typing.Union[bool, typing.
|
|
502
|
+
Any]] = True):
|
|
503
|
+
''' Delete an edge loop by merging the faces on each side
|
|
504
|
+
|
|
505
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
506
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
507
|
+
:type undo: typing.Optional[bool]
|
|
508
|
+
:param use_face_split: Face Split, Split off face corners to maintain surrounding geometry
|
|
509
|
+
:type use_face_split: typing.Optional[typing.Union[bool, typing.Any]]
|
|
510
|
+
'''
|
|
511
|
+
|
|
512
|
+
...
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
def delete_loose(
|
|
516
|
+
override_context: typing.Optional[
|
|
517
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
518
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
519
|
+
undo: typing.Optional[bool] = None,
|
|
520
|
+
*,
|
|
521
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
522
|
+
use_edges: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
523
|
+
use_faces: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
524
|
+
''' Delete loose vertices, edges or faces
|
|
525
|
+
|
|
526
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
527
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
528
|
+
:type undo: typing.Optional[bool]
|
|
529
|
+
:param use_verts: Vertices, Remove loose vertices
|
|
530
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
531
|
+
:param use_edges: Edges, Remove loose edges
|
|
532
|
+
:type use_edges: typing.Optional[typing.Union[bool, typing.Any]]
|
|
533
|
+
:param use_faces: Faces, Remove loose faces
|
|
534
|
+
:type use_faces: typing.Optional[typing.Union[bool, typing.Any]]
|
|
535
|
+
'''
|
|
536
|
+
|
|
537
|
+
...
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
def dissolve_degenerate(
|
|
541
|
+
override_context: typing.Optional[
|
|
542
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
543
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
544
|
+
undo: typing.Optional[bool] = None,
|
|
545
|
+
*,
|
|
546
|
+
threshold: typing.Optional[typing.Any] = 0.0001):
|
|
547
|
+
''' Dissolve zero area faces and zero length edges
|
|
548
|
+
|
|
549
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
550
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
551
|
+
:type undo: typing.Optional[bool]
|
|
552
|
+
:param threshold: Merge Distance, Maximum distance between elements to merge
|
|
553
|
+
:type threshold: typing.Optional[typing.Any]
|
|
554
|
+
'''
|
|
555
|
+
|
|
556
|
+
...
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
def dissolve_edges(
|
|
560
|
+
override_context: typing.Optional[
|
|
561
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
562
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
563
|
+
undo: typing.Optional[bool] = None,
|
|
564
|
+
*,
|
|
565
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
566
|
+
use_face_split: typing.Optional[typing.Union[bool, typing.
|
|
567
|
+
Any]] = False):
|
|
568
|
+
''' Dissolve edges, merging faces
|
|
569
|
+
|
|
570
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
571
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
572
|
+
:type undo: typing.Optional[bool]
|
|
573
|
+
:param use_verts: Dissolve Vertices, Dissolve remaining vertices
|
|
574
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
575
|
+
:param use_face_split: Face Split, Split off face corners to maintain surrounding geometry
|
|
576
|
+
:type use_face_split: typing.Optional[typing.Union[bool, typing.Any]]
|
|
577
|
+
'''
|
|
578
|
+
|
|
579
|
+
...
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
def dissolve_faces(
|
|
583
|
+
override_context: typing.Optional[
|
|
584
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
585
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
586
|
+
undo: typing.Optional[bool] = None,
|
|
587
|
+
*,
|
|
588
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
589
|
+
''' Dissolve faces
|
|
590
|
+
|
|
591
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
592
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
593
|
+
:type undo: typing.Optional[bool]
|
|
594
|
+
:param use_verts: Dissolve Vertices, Dissolve remaining vertices
|
|
595
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
596
|
+
'''
|
|
597
|
+
|
|
598
|
+
...
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
def dissolve_limited(
|
|
602
|
+
override_context: typing.Optional[
|
|
603
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
604
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
605
|
+
undo: typing.Optional[bool] = None,
|
|
606
|
+
*,
|
|
607
|
+
angle_limit: typing.Optional[typing.Any] = 0.0872665,
|
|
608
|
+
use_dissolve_boundaries: typing.Optional[typing.Union[bool, typing.
|
|
609
|
+
Any]] = False,
|
|
610
|
+
delimit: typing.Optional[typing.Any] = {'NORMAL'}):
|
|
611
|
+
''' Dissolve selected edges and vertices, limited by the angle of surrounding geometry
|
|
612
|
+
|
|
613
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
614
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
615
|
+
:type undo: typing.Optional[bool]
|
|
616
|
+
:param angle_limit: Max Angle, Angle limit
|
|
617
|
+
:type angle_limit: typing.Optional[typing.Any]
|
|
618
|
+
:param use_dissolve_boundaries: All Boundaries, Dissolve all vertices in between face boundaries
|
|
619
|
+
:type use_dissolve_boundaries: typing.Optional[typing.Union[bool, typing.Any]]
|
|
620
|
+
:param delimit: Delimit, Delimit dissolve operation
|
|
621
|
+
:type delimit: typing.Optional[typing.Any]
|
|
622
|
+
'''
|
|
623
|
+
|
|
624
|
+
...
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
def dissolve_mode(
|
|
628
|
+
override_context: typing.Optional[
|
|
629
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
630
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
631
|
+
undo: typing.Optional[bool] = None,
|
|
632
|
+
*,
|
|
633
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
634
|
+
use_face_split: typing.Optional[typing.Union[bool, typing.
|
|
635
|
+
Any]] = False,
|
|
636
|
+
use_boundary_tear: typing.Optional[typing.Union[bool, typing.
|
|
637
|
+
Any]] = False):
|
|
638
|
+
''' Dissolve geometry based on the selection mode
|
|
639
|
+
|
|
640
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
641
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
642
|
+
:type undo: typing.Optional[bool]
|
|
643
|
+
:param use_verts: Dissolve Vertices, Dissolve remaining vertices
|
|
644
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
645
|
+
:param use_face_split: Face Split, Split off face corners to maintain surrounding geometry
|
|
646
|
+
:type use_face_split: typing.Optional[typing.Union[bool, typing.Any]]
|
|
647
|
+
:param use_boundary_tear: Tear Boundary, Split off face corners instead of merging faces
|
|
648
|
+
:type use_boundary_tear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
649
|
+
'''
|
|
650
|
+
|
|
651
|
+
...
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
def dissolve_verts(
|
|
655
|
+
override_context: typing.Optional[
|
|
656
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
657
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
658
|
+
undo: typing.Optional[bool] = None,
|
|
659
|
+
*,
|
|
660
|
+
use_face_split: typing.Optional[typing.Union[bool, typing.
|
|
661
|
+
Any]] = False,
|
|
662
|
+
use_boundary_tear: typing.Optional[typing.Union[bool, typing.
|
|
663
|
+
Any]] = False):
|
|
664
|
+
''' Dissolve vertices, merge edges and faces
|
|
665
|
+
|
|
666
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
667
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
668
|
+
:type undo: typing.Optional[bool]
|
|
669
|
+
:param use_face_split: Face Split, Split off face corners to maintain surrounding geometry
|
|
670
|
+
:type use_face_split: typing.Optional[typing.Union[bool, typing.Any]]
|
|
671
|
+
:param use_boundary_tear: Tear Boundary, Split off face corners instead of merging faces
|
|
672
|
+
:type use_boundary_tear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
673
|
+
'''
|
|
674
|
+
|
|
675
|
+
...
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
def dupli_extrude_cursor(
|
|
679
|
+
override_context: typing.Optional[
|
|
680
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
681
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
682
|
+
undo: typing.Optional[bool] = None,
|
|
683
|
+
*,
|
|
684
|
+
rotate_source: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
685
|
+
''' Duplicate and extrude selected vertices, edges or faces towards the mouse cursor
|
|
686
|
+
|
|
687
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
688
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
689
|
+
:type undo: typing.Optional[bool]
|
|
690
|
+
:param rotate_source: Rotate Source, Rotate initial selection giving better shape
|
|
691
|
+
:type rotate_source: typing.Optional[typing.Union[bool, typing.Any]]
|
|
692
|
+
'''
|
|
693
|
+
|
|
694
|
+
...
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
def duplicate(
|
|
698
|
+
override_context: typing.Optional[
|
|
699
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
700
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
701
|
+
undo: typing.Optional[bool] = None,
|
|
702
|
+
*,
|
|
703
|
+
mode: typing.Optional[typing.Any] = 1):
|
|
704
|
+
''' Duplicate selected vertices, edges or faces
|
|
705
|
+
|
|
706
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
707
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
708
|
+
:type undo: typing.Optional[bool]
|
|
709
|
+
:param mode: Mode
|
|
710
|
+
:type mode: typing.Optional[typing.Any]
|
|
711
|
+
'''
|
|
712
|
+
|
|
713
|
+
...
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
def duplicate_move(
|
|
717
|
+
override_context: typing.Optional[
|
|
718
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
719
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
720
|
+
undo: typing.Optional[bool] = None,
|
|
721
|
+
*,
|
|
722
|
+
MESH_OT_duplicate: typing.Optional['duplicate'] = None,
|
|
723
|
+
TRANSFORM_OT_translate: typing.
|
|
724
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
725
|
+
''' Duplicate mesh and move
|
|
726
|
+
|
|
727
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
728
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
729
|
+
:type undo: typing.Optional[bool]
|
|
730
|
+
:param MESH_OT_duplicate: Duplicate, Duplicate selected vertices, edges or faces
|
|
731
|
+
:type MESH_OT_duplicate: typing.Optional['duplicate']
|
|
732
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
733
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
734
|
+
'''
|
|
735
|
+
|
|
736
|
+
...
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
def edge_collapse(
|
|
740
|
+
override_context: typing.Optional[
|
|
741
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
742
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
743
|
+
undo: typing.Optional[bool] = None):
|
|
744
|
+
''' Collapse isolated edge and face regions, merging data such as UVs and color attributes. This can collapse edge-rings as well as regions of connected faces into vertices
|
|
745
|
+
|
|
746
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
747
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
748
|
+
:type undo: typing.Optional[bool]
|
|
749
|
+
'''
|
|
750
|
+
|
|
751
|
+
...
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
def edge_face_add(
|
|
755
|
+
override_context: typing.Optional[
|
|
756
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
757
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
758
|
+
undo: typing.Optional[bool] = None):
|
|
759
|
+
''' Add an edge or face to selected
|
|
760
|
+
|
|
761
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
762
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
763
|
+
:type undo: typing.Optional[bool]
|
|
764
|
+
'''
|
|
765
|
+
|
|
766
|
+
...
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
def edge_rotate(
|
|
770
|
+
override_context: typing.Optional[
|
|
771
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
772
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
773
|
+
undo: typing.Optional[bool] = None,
|
|
774
|
+
*,
|
|
775
|
+
use_ccw: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
776
|
+
''' Rotate selected edge or adjoining faces
|
|
777
|
+
|
|
778
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
779
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
780
|
+
:type undo: typing.Optional[bool]
|
|
781
|
+
:param use_ccw: Counter Clockwise
|
|
782
|
+
:type use_ccw: typing.Optional[typing.Union[bool, typing.Any]]
|
|
783
|
+
'''
|
|
784
|
+
|
|
785
|
+
...
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
def edge_split(
|
|
789
|
+
override_context: typing.Optional[
|
|
790
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
791
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
792
|
+
undo: typing.Optional[bool] = None,
|
|
793
|
+
*,
|
|
794
|
+
type: typing.Optional[typing.Any] = 'EDGE'):
|
|
795
|
+
''' Split selected edges so that each neighbor face gets its own copy
|
|
796
|
+
|
|
797
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
798
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
799
|
+
:type undo: typing.Optional[bool]
|
|
800
|
+
:param type: Type, Method to use for splitting * ``EDGE`` Faces by Edges -- Split faces along selected edges. * ``VERT`` Faces & Edges by Vertices -- Split faces and edges connected to selected vertices.
|
|
801
|
+
:type type: typing.Optional[typing.Any]
|
|
802
|
+
'''
|
|
803
|
+
|
|
804
|
+
...
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
def edgering_select(
|
|
808
|
+
override_context: typing.Optional[
|
|
809
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
810
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
811
|
+
undo: typing.Optional[bool] = None,
|
|
812
|
+
*,
|
|
813
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
814
|
+
deselect: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
815
|
+
toggle: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
816
|
+
ring: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
817
|
+
''' Select an edge ring
|
|
818
|
+
|
|
819
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
820
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
821
|
+
:type undo: typing.Optional[bool]
|
|
822
|
+
:param extend: Extend, Extend the selection
|
|
823
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
824
|
+
:param deselect: Deselect, Remove from the selection
|
|
825
|
+
:type deselect: typing.Optional[typing.Union[bool, typing.Any]]
|
|
826
|
+
:param toggle: Toggle Select, Toggle the selection
|
|
827
|
+
:type toggle: typing.Optional[typing.Union[bool, typing.Any]]
|
|
828
|
+
:param ring: Select Ring, Select ring
|
|
829
|
+
:type ring: typing.Optional[typing.Union[bool, typing.Any]]
|
|
830
|
+
'''
|
|
831
|
+
|
|
832
|
+
...
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
def edges_select_sharp(
|
|
836
|
+
override_context: typing.Optional[
|
|
837
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
838
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
839
|
+
undo: typing.Optional[bool] = None,
|
|
840
|
+
*,
|
|
841
|
+
sharpness: typing.Optional[typing.Any] = 0.523599):
|
|
842
|
+
''' Select all sharp enough edges
|
|
843
|
+
|
|
844
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
845
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
846
|
+
:type undo: typing.Optional[bool]
|
|
847
|
+
:param sharpness: Sharpness
|
|
848
|
+
:type sharpness: typing.Optional[typing.Any]
|
|
849
|
+
'''
|
|
850
|
+
|
|
851
|
+
...
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
def extrude_context(
|
|
855
|
+
override_context: typing.Optional[
|
|
856
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
857
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
858
|
+
undo: typing.Optional[bool] = None,
|
|
859
|
+
*,
|
|
860
|
+
use_normal_flip: typing.Optional[typing.Union[bool, typing.
|
|
861
|
+
Any]] = False,
|
|
862
|
+
use_dissolve_ortho_edges: typing.Optional[typing.Union[bool, typing.
|
|
863
|
+
Any]] = False,
|
|
864
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
865
|
+
''' Extrude selection
|
|
866
|
+
|
|
867
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
868
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
869
|
+
:type undo: typing.Optional[bool]
|
|
870
|
+
:param use_normal_flip: Flip Normals
|
|
871
|
+
:type use_normal_flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
872
|
+
:param use_dissolve_ortho_edges: Dissolve Orthogonal Edges
|
|
873
|
+
:type use_dissolve_ortho_edges: typing.Optional[typing.Union[bool, typing.Any]]
|
|
874
|
+
:param mirror: Mirror Editing
|
|
875
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
876
|
+
'''
|
|
877
|
+
|
|
878
|
+
...
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
def extrude_context_move(
|
|
882
|
+
override_context: typing.Optional[
|
|
883
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
884
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
885
|
+
undo: typing.Optional[bool] = None,
|
|
886
|
+
*,
|
|
887
|
+
MESH_OT_extrude_context: typing.Optional['extrude_context'] = None,
|
|
888
|
+
TRANSFORM_OT_translate: typing.
|
|
889
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
890
|
+
''' Extrude region together along the average normal
|
|
891
|
+
|
|
892
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
893
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
894
|
+
:type undo: typing.Optional[bool]
|
|
895
|
+
:param MESH_OT_extrude_context: Extrude Context, Extrude selection
|
|
896
|
+
:type MESH_OT_extrude_context: typing.Optional['extrude_context']
|
|
897
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
898
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
899
|
+
'''
|
|
900
|
+
|
|
901
|
+
...
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
def extrude_edges_indiv(
|
|
905
|
+
override_context: typing.Optional[
|
|
906
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
907
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
908
|
+
undo: typing.Optional[bool] = None,
|
|
909
|
+
*,
|
|
910
|
+
use_normal_flip: typing.Optional[typing.Union[bool, typing.
|
|
911
|
+
Any]] = False,
|
|
912
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
913
|
+
''' Extrude individual edges only
|
|
914
|
+
|
|
915
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
916
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
917
|
+
:type undo: typing.Optional[bool]
|
|
918
|
+
:param use_normal_flip: Flip Normals
|
|
919
|
+
:type use_normal_flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
920
|
+
:param mirror: Mirror Editing
|
|
921
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
922
|
+
'''
|
|
923
|
+
|
|
924
|
+
...
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
def extrude_edges_move(
|
|
928
|
+
override_context: typing.Optional[
|
|
929
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
930
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
931
|
+
undo: typing.Optional[bool] = None,
|
|
932
|
+
*,
|
|
933
|
+
MESH_OT_extrude_edges_indiv: typing.
|
|
934
|
+
Optional['extrude_edges_indiv'] = None,
|
|
935
|
+
TRANSFORM_OT_translate: typing.
|
|
936
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
937
|
+
''' Extrude edges and move result
|
|
938
|
+
|
|
939
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
940
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
941
|
+
:type undo: typing.Optional[bool]
|
|
942
|
+
:param MESH_OT_extrude_edges_indiv: Extrude Only Edges, Extrude individual edges only
|
|
943
|
+
:type MESH_OT_extrude_edges_indiv: typing.Optional['extrude_edges_indiv']
|
|
944
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
945
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
946
|
+
'''
|
|
947
|
+
|
|
948
|
+
...
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
def extrude_faces_indiv(
|
|
952
|
+
override_context: typing.Optional[
|
|
953
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
954
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
955
|
+
undo: typing.Optional[bool] = None,
|
|
956
|
+
*,
|
|
957
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
958
|
+
''' Extrude individual faces only
|
|
959
|
+
|
|
960
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
961
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
962
|
+
:type undo: typing.Optional[bool]
|
|
963
|
+
:param mirror: Mirror Editing
|
|
964
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
965
|
+
'''
|
|
966
|
+
|
|
967
|
+
...
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
def extrude_faces_move(
|
|
971
|
+
override_context: typing.Optional[
|
|
972
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
973
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
974
|
+
undo: typing.Optional[bool] = None,
|
|
975
|
+
*,
|
|
976
|
+
MESH_OT_extrude_faces_indiv: typing.
|
|
977
|
+
Optional['extrude_faces_indiv'] = None,
|
|
978
|
+
TRANSFORM_OT_shrink_fatten: typing.
|
|
979
|
+
Optional['bpy.ops.transform.shrink_fatten'] = None):
|
|
980
|
+
''' Extrude each individual face separately along local normals
|
|
981
|
+
|
|
982
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
983
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
984
|
+
:type undo: typing.Optional[bool]
|
|
985
|
+
:param MESH_OT_extrude_faces_indiv: Extrude Individual Faces, Extrude individual faces only
|
|
986
|
+
:type MESH_OT_extrude_faces_indiv: typing.Optional['extrude_faces_indiv']
|
|
987
|
+
:param TRANSFORM_OT_shrink_fatten: Shrink/Fatten, Shrink/fatten selected vertices along normals
|
|
988
|
+
:type TRANSFORM_OT_shrink_fatten: typing.Optional['bpy.ops.transform.shrink_fatten']
|
|
989
|
+
'''
|
|
990
|
+
|
|
991
|
+
...
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
def extrude_manifold(
|
|
995
|
+
override_context: typing.Optional[
|
|
996
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
997
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
998
|
+
undo: typing.Optional[bool] = None,
|
|
999
|
+
*,
|
|
1000
|
+
MESH_OT_extrude_region: typing.Optional['extrude_region'] = None,
|
|
1001
|
+
TRANSFORM_OT_translate: typing.
|
|
1002
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
1003
|
+
''' Extrude, dissolves edges whose faces form a flat surface and intersect new edges
|
|
1004
|
+
|
|
1005
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1006
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1007
|
+
:type undo: typing.Optional[bool]
|
|
1008
|
+
:param MESH_OT_extrude_region: Extrude Region, Extrude region of faces
|
|
1009
|
+
:type MESH_OT_extrude_region: typing.Optional['extrude_region']
|
|
1010
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
1011
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
1012
|
+
'''
|
|
1013
|
+
|
|
1014
|
+
...
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
def extrude_region(
|
|
1018
|
+
override_context: typing.Optional[
|
|
1019
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1020
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1021
|
+
undo: typing.Optional[bool] = None,
|
|
1022
|
+
*,
|
|
1023
|
+
use_normal_flip: typing.Optional[typing.Union[bool, typing.
|
|
1024
|
+
Any]] = False,
|
|
1025
|
+
use_dissolve_ortho_edges: typing.Optional[typing.Union[bool, typing.
|
|
1026
|
+
Any]] = False,
|
|
1027
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1028
|
+
''' Extrude region of faces
|
|
1029
|
+
|
|
1030
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1031
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1032
|
+
:type undo: typing.Optional[bool]
|
|
1033
|
+
:param use_normal_flip: Flip Normals
|
|
1034
|
+
:type use_normal_flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1035
|
+
:param use_dissolve_ortho_edges: Dissolve Orthogonal Edges
|
|
1036
|
+
:type use_dissolve_ortho_edges: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1037
|
+
:param mirror: Mirror Editing
|
|
1038
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1039
|
+
'''
|
|
1040
|
+
|
|
1041
|
+
...
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
def extrude_region_move(
|
|
1045
|
+
override_context: typing.Optional[
|
|
1046
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1047
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1048
|
+
undo: typing.Optional[bool] = None,
|
|
1049
|
+
*,
|
|
1050
|
+
MESH_OT_extrude_region: typing.Optional['extrude_region'] = None,
|
|
1051
|
+
TRANSFORM_OT_translate: typing.
|
|
1052
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
1053
|
+
''' Extrude region and move result
|
|
1054
|
+
|
|
1055
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1056
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1057
|
+
:type undo: typing.Optional[bool]
|
|
1058
|
+
:param MESH_OT_extrude_region: Extrude Region, Extrude region of faces
|
|
1059
|
+
:type MESH_OT_extrude_region: typing.Optional['extrude_region']
|
|
1060
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
1061
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
1062
|
+
'''
|
|
1063
|
+
|
|
1064
|
+
...
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
def extrude_region_shrink_fatten(
|
|
1068
|
+
override_context: typing.Optional[
|
|
1069
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1070
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1071
|
+
undo: typing.Optional[bool] = None,
|
|
1072
|
+
*,
|
|
1073
|
+
MESH_OT_extrude_region: typing.Optional['extrude_region'] = None,
|
|
1074
|
+
TRANSFORM_OT_shrink_fatten: typing.
|
|
1075
|
+
Optional['bpy.ops.transform.shrink_fatten'] = None):
|
|
1076
|
+
''' Extrude region together along local normals
|
|
1077
|
+
|
|
1078
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1079
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1080
|
+
:type undo: typing.Optional[bool]
|
|
1081
|
+
:param MESH_OT_extrude_region: Extrude Region, Extrude region of faces
|
|
1082
|
+
:type MESH_OT_extrude_region: typing.Optional['extrude_region']
|
|
1083
|
+
:param TRANSFORM_OT_shrink_fatten: Shrink/Fatten, Shrink/fatten selected vertices along normals
|
|
1084
|
+
:type TRANSFORM_OT_shrink_fatten: typing.Optional['bpy.ops.transform.shrink_fatten']
|
|
1085
|
+
'''
|
|
1086
|
+
|
|
1087
|
+
...
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
def extrude_repeat(
|
|
1091
|
+
override_context: typing.Optional[
|
|
1092
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1093
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1094
|
+
undo: typing.Optional[bool] = None,
|
|
1095
|
+
*,
|
|
1096
|
+
steps: typing.Optional[typing.Any] = 10,
|
|
1097
|
+
offset: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
1098
|
+
scale_offset: typing.Optional[typing.Any] = 1.0):
|
|
1099
|
+
''' Extrude selected vertices, edges or faces repeatedly
|
|
1100
|
+
|
|
1101
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1102
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1103
|
+
:type undo: typing.Optional[bool]
|
|
1104
|
+
:param steps: Steps
|
|
1105
|
+
:type steps: typing.Optional[typing.Any]
|
|
1106
|
+
:param offset: Offset, Offset vector
|
|
1107
|
+
:type offset: typing.Optional[typing.Any]
|
|
1108
|
+
:param scale_offset: Scale Offset
|
|
1109
|
+
:type scale_offset: typing.Optional[typing.Any]
|
|
1110
|
+
'''
|
|
1111
|
+
|
|
1112
|
+
...
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
def extrude_vertices_move(
|
|
1116
|
+
override_context: typing.Optional[
|
|
1117
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1118
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1119
|
+
undo: typing.Optional[bool] = None,
|
|
1120
|
+
*,
|
|
1121
|
+
MESH_OT_extrude_verts_indiv: typing.
|
|
1122
|
+
Optional['extrude_verts_indiv'] = None,
|
|
1123
|
+
TRANSFORM_OT_translate: typing.
|
|
1124
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
1125
|
+
''' Extrude vertices and move result
|
|
1126
|
+
|
|
1127
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1128
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1129
|
+
:type undo: typing.Optional[bool]
|
|
1130
|
+
:param MESH_OT_extrude_verts_indiv: Extrude Only Vertices, Extrude individual vertices only
|
|
1131
|
+
:type MESH_OT_extrude_verts_indiv: typing.Optional['extrude_verts_indiv']
|
|
1132
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
1133
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
1134
|
+
'''
|
|
1135
|
+
|
|
1136
|
+
...
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
def extrude_verts_indiv(
|
|
1140
|
+
override_context: typing.Optional[
|
|
1141
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1142
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1143
|
+
undo: typing.Optional[bool] = None,
|
|
1144
|
+
*,
|
|
1145
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1146
|
+
''' Extrude individual vertices only
|
|
1147
|
+
|
|
1148
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1149
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1150
|
+
:type undo: typing.Optional[bool]
|
|
1151
|
+
:param mirror: Mirror Editing
|
|
1152
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1153
|
+
'''
|
|
1154
|
+
|
|
1155
|
+
...
|
|
1156
|
+
|
|
1157
|
+
|
|
1158
|
+
def face_make_planar(
|
|
1159
|
+
override_context: typing.Optional[
|
|
1160
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1161
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1162
|
+
undo: typing.Optional[bool] = None,
|
|
1163
|
+
*,
|
|
1164
|
+
factor: typing.Optional[typing.Any] = 1.0,
|
|
1165
|
+
repeat: typing.Optional[typing.Any] = 1):
|
|
1166
|
+
''' Flatten selected faces
|
|
1167
|
+
|
|
1168
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1169
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1170
|
+
:type undo: typing.Optional[bool]
|
|
1171
|
+
:param factor: Factor
|
|
1172
|
+
:type factor: typing.Optional[typing.Any]
|
|
1173
|
+
:param repeat: Iterations
|
|
1174
|
+
:type repeat: typing.Optional[typing.Any]
|
|
1175
|
+
'''
|
|
1176
|
+
|
|
1177
|
+
...
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
def face_set_extract(
|
|
1181
|
+
override_context: typing.Optional[
|
|
1182
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1183
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1184
|
+
undo: typing.Optional[bool] = None,
|
|
1185
|
+
*,
|
|
1186
|
+
add_boundary_loop: typing.Optional[typing.Union[bool, typing.
|
|
1187
|
+
Any]] = True,
|
|
1188
|
+
smooth_iterations: typing.Optional[typing.Any] = 4,
|
|
1189
|
+
apply_shrinkwrap: typing.Optional[typing.Union[bool, typing.
|
|
1190
|
+
Any]] = True,
|
|
1191
|
+
add_solidify: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
1192
|
+
''' Create a new mesh object from the selected Face Set
|
|
1193
|
+
|
|
1194
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1195
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1196
|
+
:type undo: typing.Optional[bool]
|
|
1197
|
+
:param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier
|
|
1198
|
+
:type add_boundary_loop: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1199
|
+
:param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh
|
|
1200
|
+
:type smooth_iterations: typing.Optional[typing.Any]
|
|
1201
|
+
:param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt
|
|
1202
|
+
:type apply_shrinkwrap: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1203
|
+
:param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier
|
|
1204
|
+
:type add_solidify: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1205
|
+
'''
|
|
1206
|
+
|
|
1207
|
+
...
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
def face_split_by_edges(
|
|
1211
|
+
override_context: typing.Optional[
|
|
1212
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1213
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1214
|
+
undo: typing.Optional[bool] = None):
|
|
1215
|
+
''' Weld loose edges into faces (splitting them into new faces)
|
|
1216
|
+
|
|
1217
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1218
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1219
|
+
:type undo: typing.Optional[bool]
|
|
1220
|
+
'''
|
|
1221
|
+
|
|
1222
|
+
...
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
def faces_mirror_uv(
|
|
1226
|
+
override_context: typing.Optional[
|
|
1227
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1228
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1229
|
+
undo: typing.Optional[bool] = None,
|
|
1230
|
+
*,
|
|
1231
|
+
direction: typing.Optional[typing.Any] = 'POSITIVE',
|
|
1232
|
+
precision: typing.Optional[typing.Any] = 3):
|
|
1233
|
+
''' Copy mirror UV coordinates on the X axis based on a mirrored mesh :File: `startup/bl_operators/mesh.py\:132 <https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/mesh.py#L132>`__
|
|
1234
|
+
|
|
1235
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1236
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1237
|
+
:type undo: typing.Optional[bool]
|
|
1238
|
+
:param direction: Axis Direction
|
|
1239
|
+
:type direction: typing.Optional[typing.Any]
|
|
1240
|
+
:param precision: Precision, Tolerance for finding vertex duplicates
|
|
1241
|
+
:type precision: typing.Optional[typing.Any]
|
|
1242
|
+
'''
|
|
1243
|
+
|
|
1244
|
+
...
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
def faces_select_linked_flat(
|
|
1248
|
+
override_context: typing.Optional[
|
|
1249
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1250
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1251
|
+
undo: typing.Optional[bool] = None,
|
|
1252
|
+
*,
|
|
1253
|
+
sharpness: typing.Optional[typing.Any] = 0.0174533):
|
|
1254
|
+
''' Select linked faces by angle
|
|
1255
|
+
|
|
1256
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1257
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1258
|
+
:type undo: typing.Optional[bool]
|
|
1259
|
+
:param sharpness: Sharpness
|
|
1260
|
+
:type sharpness: typing.Optional[typing.Any]
|
|
1261
|
+
'''
|
|
1262
|
+
|
|
1263
|
+
...
|
|
1264
|
+
|
|
1265
|
+
|
|
1266
|
+
def faces_shade_flat(
|
|
1267
|
+
override_context: typing.Optional[
|
|
1268
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1269
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1270
|
+
undo: typing.Optional[bool] = None):
|
|
1271
|
+
''' Display faces flat
|
|
1272
|
+
|
|
1273
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1274
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1275
|
+
:type undo: typing.Optional[bool]
|
|
1276
|
+
'''
|
|
1277
|
+
|
|
1278
|
+
...
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
def faces_shade_smooth(
|
|
1282
|
+
override_context: typing.Optional[
|
|
1283
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1284
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1285
|
+
undo: typing.Optional[bool] = None):
|
|
1286
|
+
''' Display faces smooth (using vertex normals)
|
|
1287
|
+
|
|
1288
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1289
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1290
|
+
:type undo: typing.Optional[bool]
|
|
1291
|
+
'''
|
|
1292
|
+
|
|
1293
|
+
...
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
def fill(override_context: typing.Optional[
|
|
1297
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1298
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1299
|
+
undo: typing.Optional[bool] = None,
|
|
1300
|
+
*,
|
|
1301
|
+
use_beauty: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
1302
|
+
''' Fill a selected edge loop with faces
|
|
1303
|
+
|
|
1304
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1305
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1306
|
+
:type undo: typing.Optional[bool]
|
|
1307
|
+
:param use_beauty: Beauty, Use best triangulation division
|
|
1308
|
+
:type use_beauty: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1309
|
+
'''
|
|
1310
|
+
|
|
1311
|
+
...
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
def fill_grid(
|
|
1315
|
+
override_context: typing.Optional[
|
|
1316
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1317
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1318
|
+
undo: typing.Optional[bool] = None,
|
|
1319
|
+
*,
|
|
1320
|
+
span: typing.Optional[typing.Any] = 1,
|
|
1321
|
+
offset: typing.Optional[typing.Any] = 0,
|
|
1322
|
+
use_interp_simple: typing.Optional[typing.Union[bool, typing.
|
|
1323
|
+
Any]] = False):
|
|
1324
|
+
''' Fill grid from two loops
|
|
1325
|
+
|
|
1326
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1327
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1328
|
+
:type undo: typing.Optional[bool]
|
|
1329
|
+
:param span: Span, Number of grid columns
|
|
1330
|
+
:type span: typing.Optional[typing.Any]
|
|
1331
|
+
:param offset: Offset, Vertex that is the corner of the grid
|
|
1332
|
+
:type offset: typing.Optional[typing.Any]
|
|
1333
|
+
:param use_interp_simple: Simple Blending, Use simple interpolation of grid vertices
|
|
1334
|
+
:type use_interp_simple: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1335
|
+
'''
|
|
1336
|
+
|
|
1337
|
+
...
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
def fill_holes(
|
|
1341
|
+
override_context: typing.Optional[
|
|
1342
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1343
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1344
|
+
undo: typing.Optional[bool] = None,
|
|
1345
|
+
*,
|
|
1346
|
+
sides: typing.Optional[typing.Any] = 4):
|
|
1347
|
+
''' Fill in holes (boundary edge loops)
|
|
1348
|
+
|
|
1349
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1350
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1351
|
+
:type undo: typing.Optional[bool]
|
|
1352
|
+
:param sides: Sides, Number of sides in hole required to fill (zero fills all holes)
|
|
1353
|
+
:type sides: typing.Optional[typing.Any]
|
|
1354
|
+
'''
|
|
1355
|
+
|
|
1356
|
+
...
|
|
1357
|
+
|
|
1358
|
+
|
|
1359
|
+
def flip_normals(
|
|
1360
|
+
override_context: typing.Optional[
|
|
1361
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1362
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1363
|
+
undo: typing.Optional[bool] = None,
|
|
1364
|
+
*,
|
|
1365
|
+
only_clnors: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1366
|
+
''' Flip the direction of selected faces' normals (and of their vertices)
|
|
1367
|
+
|
|
1368
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1369
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1370
|
+
:type undo: typing.Optional[bool]
|
|
1371
|
+
:param only_clnors: Custom Normals Only, Only flip the custom loop normals of the selected elements
|
|
1372
|
+
:type only_clnors: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1373
|
+
'''
|
|
1374
|
+
|
|
1375
|
+
...
|
|
1376
|
+
|
|
1377
|
+
|
|
1378
|
+
def flip_quad_tessellation(
|
|
1379
|
+
override_context: typing.Optional[
|
|
1380
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1381
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1382
|
+
undo: typing.Optional[bool] = None):
|
|
1383
|
+
''' Flips the tessellation of selected quads
|
|
1384
|
+
|
|
1385
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1386
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1387
|
+
:type undo: typing.Optional[bool]
|
|
1388
|
+
'''
|
|
1389
|
+
|
|
1390
|
+
...
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
def hide(override_context: typing.Optional[
|
|
1394
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1395
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1396
|
+
undo: typing.Optional[bool] = None,
|
|
1397
|
+
*,
|
|
1398
|
+
unselected: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1399
|
+
''' Hide (un)selected vertices, edges or faces
|
|
1400
|
+
|
|
1401
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1402
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1403
|
+
:type undo: typing.Optional[bool]
|
|
1404
|
+
:param unselected: Unselected, Hide unselected rather than selected
|
|
1405
|
+
:type unselected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1406
|
+
'''
|
|
1407
|
+
|
|
1408
|
+
...
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
def inset(
|
|
1412
|
+
override_context: typing.Optional[
|
|
1413
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1414
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1415
|
+
undo: typing.Optional[bool] = None,
|
|
1416
|
+
*,
|
|
1417
|
+
use_boundary: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
1418
|
+
use_even_offset: typing.Optional[typing.Union[bool, typing.
|
|
1419
|
+
Any]] = True,
|
|
1420
|
+
use_relative_offset: typing.Optional[typing.Union[bool, typing.
|
|
1421
|
+
Any]] = False,
|
|
1422
|
+
use_edge_rail: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1423
|
+
thickness: typing.Optional[typing.Any] = 0.0,
|
|
1424
|
+
depth: typing.Optional[typing.Any] = 0.0,
|
|
1425
|
+
use_outset: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1426
|
+
use_select_inset: typing.Optional[typing.Union[bool, typing.
|
|
1427
|
+
Any]] = False,
|
|
1428
|
+
use_individual: typing.Optional[typing.Union[bool, typing.
|
|
1429
|
+
Any]] = False,
|
|
1430
|
+
use_interpolate: typing.Optional[typing.Union[bool, typing.
|
|
1431
|
+
Any]] = True,
|
|
1432
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
1433
|
+
Any]] = False):
|
|
1434
|
+
''' Inset new faces into selected faces
|
|
1435
|
+
|
|
1436
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1437
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1438
|
+
:type undo: typing.Optional[bool]
|
|
1439
|
+
:param use_boundary: Boundary, Inset face boundaries
|
|
1440
|
+
:type use_boundary: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1441
|
+
:param use_even_offset: Offset Even, Scale the offset to give more even thickness
|
|
1442
|
+
:type use_even_offset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1443
|
+
:param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry
|
|
1444
|
+
:type use_relative_offset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1445
|
+
:param use_edge_rail: Edge Rail, Inset the region along existing edges
|
|
1446
|
+
:type use_edge_rail: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1447
|
+
:param thickness: Thickness
|
|
1448
|
+
:type thickness: typing.Optional[typing.Any]
|
|
1449
|
+
:param depth: Depth
|
|
1450
|
+
:type depth: typing.Optional[typing.Any]
|
|
1451
|
+
:param use_outset: Outset, Outset rather than inset
|
|
1452
|
+
:type use_outset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1453
|
+
:param use_select_inset: Select Outer, Select the new inset faces
|
|
1454
|
+
:type use_select_inset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1455
|
+
:param use_individual: Individual, Individual face inset
|
|
1456
|
+
:type use_individual: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1457
|
+
:param use_interpolate: Interpolate, Blend face data across the inset
|
|
1458
|
+
:type use_interpolate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1459
|
+
:param release_confirm: Confirm on Release
|
|
1460
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1461
|
+
'''
|
|
1462
|
+
|
|
1463
|
+
...
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
def intersect(
|
|
1467
|
+
override_context: typing.Optional[
|
|
1468
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1469
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1470
|
+
undo: typing.Optional[bool] = None,
|
|
1471
|
+
*,
|
|
1472
|
+
mode: typing.Optional[typing.Any] = 'SELECT_UNSELECT',
|
|
1473
|
+
separate_mode: typing.Optional[typing.Any] = 'CUT',
|
|
1474
|
+
threshold: typing.Optional[typing.Any] = 1e-06,
|
|
1475
|
+
solver: typing.Optional[typing.Any] = 'EXACT'):
|
|
1476
|
+
''' Cut an intersection into faces
|
|
1477
|
+
|
|
1478
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1479
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1480
|
+
:type undo: typing.Optional[bool]
|
|
1481
|
+
:param mode: Source * ``SELECT`` Self Intersect -- Self intersect selected faces. * ``SELECT_UNSELECT`` Selected/Unselected -- Intersect selected with unselected faces.
|
|
1482
|
+
:type mode: typing.Optional[typing.Any]
|
|
1483
|
+
:param separate_mode: Separate Mode * ``ALL`` All -- Separate all geometry from intersections. * ``CUT`` Cut -- Cut into geometry keeping each side separate (Selected/Unselected only). * ``NONE`` Merge -- Merge all geometry from the intersection.
|
|
1484
|
+
:type separate_mode: typing.Optional[typing.Any]
|
|
1485
|
+
:param threshold: Merge Threshold
|
|
1486
|
+
:type threshold: typing.Optional[typing.Any]
|
|
1487
|
+
:param solver: Solver, Which Intersect solver to use * ``FAST`` Fast -- Faster solver, some limitations. * ``EXACT`` Exact -- Exact solver, slower, handles more cases.
|
|
1488
|
+
:type solver: typing.Optional[typing.Any]
|
|
1489
|
+
'''
|
|
1490
|
+
|
|
1491
|
+
...
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
def intersect_boolean(
|
|
1495
|
+
override_context: typing.Optional[
|
|
1496
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1497
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1498
|
+
undo: typing.Optional[bool] = None,
|
|
1499
|
+
*,
|
|
1500
|
+
operation: typing.Optional[typing.Any] = 'DIFFERENCE',
|
|
1501
|
+
use_swap: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1502
|
+
use_self: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1503
|
+
threshold: typing.Optional[typing.Any] = 1e-06,
|
|
1504
|
+
solver: typing.Optional[typing.Any] = 'EXACT'):
|
|
1505
|
+
''' Cut solid geometry from selected to unselected
|
|
1506
|
+
|
|
1507
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1508
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1509
|
+
:type undo: typing.Optional[bool]
|
|
1510
|
+
:param operation: Boolean Operation, Which boolean operation to apply
|
|
1511
|
+
:type operation: typing.Optional[typing.Any]
|
|
1512
|
+
:param use_swap: Swap, Use with difference intersection to swap which side is kept
|
|
1513
|
+
:type use_swap: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1514
|
+
:param use_self: Self Intersection, Do self-union or self-intersection
|
|
1515
|
+
:type use_self: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1516
|
+
:param threshold: Merge Threshold
|
|
1517
|
+
:type threshold: typing.Optional[typing.Any]
|
|
1518
|
+
:param solver: Solver, Which Boolean solver to use * ``FAST`` Fast -- Faster solver, some limitations. * ``EXACT`` Exact -- Exact solver, slower, handles more cases.
|
|
1519
|
+
:type solver: typing.Optional[typing.Any]
|
|
1520
|
+
'''
|
|
1521
|
+
|
|
1522
|
+
...
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
def knife_project(
|
|
1526
|
+
override_context: typing.Optional[
|
|
1527
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1528
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1529
|
+
undo: typing.Optional[bool] = None,
|
|
1530
|
+
*,
|
|
1531
|
+
cut_through: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1532
|
+
''' Use other objects outlines and boundaries to project knife cuts
|
|
1533
|
+
|
|
1534
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1535
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1536
|
+
:type undo: typing.Optional[bool]
|
|
1537
|
+
:param cut_through: Cut Through, Cut through all faces, not just visible ones
|
|
1538
|
+
:type cut_through: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1539
|
+
'''
|
|
1540
|
+
|
|
1541
|
+
...
|
|
1542
|
+
|
|
1543
|
+
|
|
1544
|
+
def knife_tool(
|
|
1545
|
+
override_context: typing.Optional[
|
|
1546
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1547
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1548
|
+
undo: typing.Optional[bool] = None,
|
|
1549
|
+
*,
|
|
1550
|
+
use_occlude_geometry: typing.Optional[typing.Union[bool, typing.
|
|
1551
|
+
Any]] = True,
|
|
1552
|
+
only_selected: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1553
|
+
xray: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
1554
|
+
visible_measurements: typing.Optional[typing.Any] = 'NONE',
|
|
1555
|
+
angle_snapping: typing.Optional[typing.Any] = 'NONE',
|
|
1556
|
+
angle_snapping_increment: typing.Optional[typing.Any] = 0.523599,
|
|
1557
|
+
wait_for_input: typing.Optional[typing.Union[bool, typing.
|
|
1558
|
+
Any]] = True):
|
|
1559
|
+
''' Cut new topology
|
|
1560
|
+
|
|
1561
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1562
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1563
|
+
:type undo: typing.Optional[bool]
|
|
1564
|
+
:param use_occlude_geometry: Occlude Geometry, Only cut the front most geometry
|
|
1565
|
+
:type use_occlude_geometry: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1566
|
+
:param only_selected: Only Selected, Only cut selected geometry
|
|
1567
|
+
:type only_selected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1568
|
+
:param xray: X-Ray, Show cuts hidden by geometry
|
|
1569
|
+
:type xray: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1570
|
+
:param visible_measurements: Measurements, Visible distance and angle measurements * ``NONE`` None -- Show no measurements. * ``BOTH`` Both -- Show both distances and angles. * ``DISTANCE`` Distance -- Show just distance measurements. * ``ANGLE`` Angle -- Show just angle measurements.
|
|
1571
|
+
:type visible_measurements: typing.Optional[typing.Any]
|
|
1572
|
+
:param angle_snapping: Angle Snapping, Angle snapping mode * ``NONE`` None -- No angle snapping. * ``SCREEN`` Screen -- Screen space angle snapping. * ``RELATIVE`` Relative -- Angle snapping relative to the previous cut edge.
|
|
1573
|
+
:type angle_snapping: typing.Optional[typing.Any]
|
|
1574
|
+
:param angle_snapping_increment: Angle Snap Increment, The angle snap increment used when in constrained angle mode
|
|
1575
|
+
:type angle_snapping_increment: typing.Optional[typing.Any]
|
|
1576
|
+
:param wait_for_input: Wait for Input
|
|
1577
|
+
:type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1578
|
+
'''
|
|
1579
|
+
|
|
1580
|
+
...
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
def loop_multi_select(
|
|
1584
|
+
override_context: typing.Optional[
|
|
1585
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1586
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1587
|
+
undo: typing.Optional[bool] = None,
|
|
1588
|
+
*,
|
|
1589
|
+
ring: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1590
|
+
''' Select a loop of connected edges by connection type
|
|
1591
|
+
|
|
1592
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1593
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1594
|
+
:type undo: typing.Optional[bool]
|
|
1595
|
+
:param ring: Ring
|
|
1596
|
+
:type ring: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1597
|
+
'''
|
|
1598
|
+
|
|
1599
|
+
...
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
def loop_select(
|
|
1603
|
+
override_context: typing.Optional[
|
|
1604
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1605
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1606
|
+
undo: typing.Optional[bool] = None,
|
|
1607
|
+
*,
|
|
1608
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1609
|
+
deselect: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1610
|
+
toggle: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1611
|
+
ring: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1612
|
+
''' Select a loop of connected edges
|
|
1613
|
+
|
|
1614
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1615
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1616
|
+
:type undo: typing.Optional[bool]
|
|
1617
|
+
:param extend: Extend Select, Extend the selection
|
|
1618
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1619
|
+
:param deselect: Deselect, Remove from the selection
|
|
1620
|
+
:type deselect: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1621
|
+
:param toggle: Toggle Select, Toggle the selection
|
|
1622
|
+
:type toggle: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1623
|
+
:param ring: Select Ring, Select ring
|
|
1624
|
+
:type ring: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1625
|
+
'''
|
|
1626
|
+
|
|
1627
|
+
...
|
|
1628
|
+
|
|
1629
|
+
|
|
1630
|
+
def loop_to_region(
|
|
1631
|
+
override_context: typing.Optional[
|
|
1632
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1633
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1634
|
+
undo: typing.Optional[bool] = None,
|
|
1635
|
+
*,
|
|
1636
|
+
select_bigger: typing.Optional[typing.Union[bool, typing.
|
|
1637
|
+
Any]] = False):
|
|
1638
|
+
''' Select region of faces inside of a selected loop of edges
|
|
1639
|
+
|
|
1640
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1641
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1642
|
+
:type undo: typing.Optional[bool]
|
|
1643
|
+
:param select_bigger: Select Bigger, Select bigger regions instead of smaller ones
|
|
1644
|
+
:type select_bigger: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1645
|
+
'''
|
|
1646
|
+
|
|
1647
|
+
...
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
def loopcut(
|
|
1651
|
+
override_context: typing.Optional[
|
|
1652
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1653
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1654
|
+
undo: typing.Optional[bool] = None,
|
|
1655
|
+
*,
|
|
1656
|
+
number_cuts: typing.Optional[typing.Any] = 1,
|
|
1657
|
+
smoothness: typing.Optional[typing.Any] = 0.0,
|
|
1658
|
+
falloff: typing.Optional[typing.Union[str, int]] = 'INVERSE_SQUARE',
|
|
1659
|
+
object_index: typing.Optional[typing.Any] = -1,
|
|
1660
|
+
edge_index: typing.Optional[typing.Any] = -1,
|
|
1661
|
+
mesh_select_mode_init: typing.Optional[
|
|
1662
|
+
typing.Union[typing.List[bool], typing.Any]] = (False, False,
|
|
1663
|
+
False)):
|
|
1664
|
+
''' Add a new loop between existing loops
|
|
1665
|
+
|
|
1666
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1667
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1668
|
+
:type undo: typing.Optional[bool]
|
|
1669
|
+
:param number_cuts: Number of Cuts
|
|
1670
|
+
:type number_cuts: typing.Optional[typing.Any]
|
|
1671
|
+
:param smoothness: Smoothness, Smoothness factor
|
|
1672
|
+
:type smoothness: typing.Optional[typing.Any]
|
|
1673
|
+
:param falloff: Falloff, Falloff type of the feather
|
|
1674
|
+
:type falloff: typing.Optional[typing.Union[str, int]]
|
|
1675
|
+
:param object_index: Object Index
|
|
1676
|
+
:type object_index: typing.Optional[typing.Any]
|
|
1677
|
+
:param edge_index: Edge Index
|
|
1678
|
+
:type edge_index: typing.Optional[typing.Any]
|
|
1679
|
+
:type mesh_select_mode_init: typing.Optional[typing.Union[typing.List[bool], typing.Any]]
|
|
1680
|
+
'''
|
|
1681
|
+
|
|
1682
|
+
...
|
|
1683
|
+
|
|
1684
|
+
|
|
1685
|
+
def loopcut_slide(
|
|
1686
|
+
override_context: typing.Optional[
|
|
1687
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1688
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1689
|
+
undo: typing.Optional[bool] = None,
|
|
1690
|
+
*,
|
|
1691
|
+
MESH_OT_loopcut: typing.Optional['loopcut'] = None,
|
|
1692
|
+
TRANSFORM_OT_edge_slide: typing.
|
|
1693
|
+
Optional['bpy.ops.transform.edge_slide'] = None):
|
|
1694
|
+
''' Cut mesh loop and slide it
|
|
1695
|
+
|
|
1696
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1697
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1698
|
+
:type undo: typing.Optional[bool]
|
|
1699
|
+
:param MESH_OT_loopcut: Loop Cut, Add a new loop between existing loops
|
|
1700
|
+
:type MESH_OT_loopcut: typing.Optional['loopcut']
|
|
1701
|
+
:param TRANSFORM_OT_edge_slide: Edge Slide, Slide an edge loop along a mesh
|
|
1702
|
+
:type TRANSFORM_OT_edge_slide: typing.Optional['bpy.ops.transform.edge_slide']
|
|
1703
|
+
'''
|
|
1704
|
+
|
|
1705
|
+
...
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
def mark_freestyle_edge(
|
|
1709
|
+
override_context: typing.Optional[
|
|
1710
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1711
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1712
|
+
undo: typing.Optional[bool] = None,
|
|
1713
|
+
*,
|
|
1714
|
+
clear: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1715
|
+
''' (Un)mark selected edges as Freestyle feature edges
|
|
1716
|
+
|
|
1717
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1718
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1719
|
+
:type undo: typing.Optional[bool]
|
|
1720
|
+
:param clear: Clear
|
|
1721
|
+
:type clear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1722
|
+
'''
|
|
1723
|
+
|
|
1724
|
+
...
|
|
1725
|
+
|
|
1726
|
+
|
|
1727
|
+
def mark_freestyle_face(
|
|
1728
|
+
override_context: typing.Optional[
|
|
1729
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1730
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1731
|
+
undo: typing.Optional[bool] = None,
|
|
1732
|
+
*,
|
|
1733
|
+
clear: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1734
|
+
''' (Un)mark selected faces for exclusion from Freestyle feature edge detection
|
|
1735
|
+
|
|
1736
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1737
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1738
|
+
:type undo: typing.Optional[bool]
|
|
1739
|
+
:param clear: Clear
|
|
1740
|
+
:type clear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1741
|
+
'''
|
|
1742
|
+
|
|
1743
|
+
...
|
|
1744
|
+
|
|
1745
|
+
|
|
1746
|
+
def mark_seam(
|
|
1747
|
+
override_context: typing.Optional[
|
|
1748
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1749
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1750
|
+
undo: typing.Optional[bool] = None,
|
|
1751
|
+
*,
|
|
1752
|
+
clear: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1753
|
+
''' (Un)mark selected edges as a seam
|
|
1754
|
+
|
|
1755
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1756
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1757
|
+
:type undo: typing.Optional[bool]
|
|
1758
|
+
:param clear: Clear
|
|
1759
|
+
:type clear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1760
|
+
'''
|
|
1761
|
+
|
|
1762
|
+
...
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
def mark_sharp(
|
|
1766
|
+
override_context: typing.Optional[
|
|
1767
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1768
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1769
|
+
undo: typing.Optional[bool] = None,
|
|
1770
|
+
*,
|
|
1771
|
+
clear: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1772
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1773
|
+
''' (Un)mark selected edges as sharp
|
|
1774
|
+
|
|
1775
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1776
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1777
|
+
:type undo: typing.Optional[bool]
|
|
1778
|
+
:param clear: Clear
|
|
1779
|
+
:type clear: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1780
|
+
:param use_verts: Vertices, Consider vertices instead of edges to select which edges to (un)tag as sharp
|
|
1781
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1782
|
+
'''
|
|
1783
|
+
|
|
1784
|
+
...
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
def merge(override_context: typing.Optional[
|
|
1788
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1789
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1790
|
+
undo: typing.Optional[bool] = None,
|
|
1791
|
+
*,
|
|
1792
|
+
type: typing.Optional[typing.Any] = 'CENTER',
|
|
1793
|
+
uvs: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1794
|
+
''' Merge selected vertices
|
|
1795
|
+
|
|
1796
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1797
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1798
|
+
:type undo: typing.Optional[bool]
|
|
1799
|
+
:param type: Type, Merge method to use
|
|
1800
|
+
:type type: typing.Optional[typing.Any]
|
|
1801
|
+
:param uvs: UVs, Move UVs according to merge
|
|
1802
|
+
:type uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1803
|
+
'''
|
|
1804
|
+
|
|
1805
|
+
...
|
|
1806
|
+
|
|
1807
|
+
|
|
1808
|
+
def merge_normals(
|
|
1809
|
+
override_context: typing.Optional[
|
|
1810
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1811
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1812
|
+
undo: typing.Optional[bool] = None):
|
|
1813
|
+
''' Merge custom normals of selected vertices
|
|
1814
|
+
|
|
1815
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1816
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1817
|
+
:type undo: typing.Optional[bool]
|
|
1818
|
+
'''
|
|
1819
|
+
|
|
1820
|
+
...
|
|
1821
|
+
|
|
1822
|
+
|
|
1823
|
+
def mod_weighted_strength(
|
|
1824
|
+
override_context: typing.Optional[
|
|
1825
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1826
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1827
|
+
undo: typing.Optional[bool] = None,
|
|
1828
|
+
*,
|
|
1829
|
+
set: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1830
|
+
face_strength: typing.Optional[typing.Any] = 'MEDIUM'):
|
|
1831
|
+
''' Set/Get strength of face (used in Weighted Normal modifier)
|
|
1832
|
+
|
|
1833
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1834
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1835
|
+
:type undo: typing.Optional[bool]
|
|
1836
|
+
:param set: Set Value, Set value of faces
|
|
1837
|
+
:type set: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1838
|
+
:param face_strength: Face Strength, Strength to use for assigning or selecting face influence for weighted normal modifier
|
|
1839
|
+
:type face_strength: typing.Optional[typing.Any]
|
|
1840
|
+
'''
|
|
1841
|
+
|
|
1842
|
+
...
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
def normals_make_consistent(
|
|
1846
|
+
override_context: typing.Optional[
|
|
1847
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1848
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1849
|
+
undo: typing.Optional[bool] = None,
|
|
1850
|
+
*,
|
|
1851
|
+
inside: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1852
|
+
''' Make face and vertex normals point either outside or inside the mesh
|
|
1853
|
+
|
|
1854
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1855
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1856
|
+
:type undo: typing.Optional[bool]
|
|
1857
|
+
:param inside: Inside
|
|
1858
|
+
:type inside: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1859
|
+
'''
|
|
1860
|
+
|
|
1861
|
+
...
|
|
1862
|
+
|
|
1863
|
+
|
|
1864
|
+
def normals_tools(
|
|
1865
|
+
override_context: typing.Optional[
|
|
1866
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1867
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1868
|
+
undo: typing.Optional[bool] = None,
|
|
1869
|
+
*,
|
|
1870
|
+
mode: typing.Optional[typing.Any] = 'COPY',
|
|
1871
|
+
absolute: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
1872
|
+
''' Custom normals tools using Normal Vector of UI
|
|
1873
|
+
|
|
1874
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1875
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1876
|
+
:type undo: typing.Optional[bool]
|
|
1877
|
+
:param mode: Mode, Mode of tools taking input from interface * ``COPY`` Copy Normal -- Copy normal to the internal clipboard. * ``PASTE`` Paste Normal -- Paste normal from the internal clipboard. * ``ADD`` Add Normal -- Add normal vector with selection. * ``MULTIPLY`` Multiply Normal -- Multiply normal vector with selection. * ``RESET`` Reset Normal -- Reset the internal clipboard and/or normal of selected element.
|
|
1878
|
+
:type mode: typing.Optional[typing.Any]
|
|
1879
|
+
:param absolute: Absolute Coordinates, Copy Absolute coordinates or Normal vector
|
|
1880
|
+
:type absolute: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1881
|
+
'''
|
|
1882
|
+
|
|
1883
|
+
...
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
def offset_edge_loops(
|
|
1887
|
+
override_context: typing.Optional[
|
|
1888
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1889
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1890
|
+
undo: typing.Optional[bool] = None,
|
|
1891
|
+
*,
|
|
1892
|
+
use_cap_endpoint: typing.Optional[typing.Union[bool, typing.
|
|
1893
|
+
Any]] = False):
|
|
1894
|
+
''' Create offset edge loop from the current selection
|
|
1895
|
+
|
|
1896
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1897
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1898
|
+
:type undo: typing.Optional[bool]
|
|
1899
|
+
:param use_cap_endpoint: Cap Endpoint, Extend loop around end-points
|
|
1900
|
+
:type use_cap_endpoint: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1901
|
+
'''
|
|
1902
|
+
|
|
1903
|
+
...
|
|
1904
|
+
|
|
1905
|
+
|
|
1906
|
+
def offset_edge_loops_slide(
|
|
1907
|
+
override_context: typing.Optional[
|
|
1908
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1909
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1910
|
+
undo: typing.Optional[bool] = None,
|
|
1911
|
+
*,
|
|
1912
|
+
MESH_OT_offset_edge_loops: typing.Optional['offset_edge_loops'] = None,
|
|
1913
|
+
TRANSFORM_OT_edge_slide: typing.
|
|
1914
|
+
Optional['bpy.ops.transform.edge_slide'] = None):
|
|
1915
|
+
''' Offset edge loop slide
|
|
1916
|
+
|
|
1917
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1918
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1919
|
+
:type undo: typing.Optional[bool]
|
|
1920
|
+
:param MESH_OT_offset_edge_loops: Offset Edge Loop, Create offset edge loop from the current selection
|
|
1921
|
+
:type MESH_OT_offset_edge_loops: typing.Optional['offset_edge_loops']
|
|
1922
|
+
:param TRANSFORM_OT_edge_slide: Edge Slide, Slide an edge loop along a mesh
|
|
1923
|
+
:type TRANSFORM_OT_edge_slide: typing.Optional['bpy.ops.transform.edge_slide']
|
|
1924
|
+
'''
|
|
1925
|
+
|
|
1926
|
+
...
|
|
1927
|
+
|
|
1928
|
+
|
|
1929
|
+
def paint_mask_extract(
|
|
1930
|
+
override_context: typing.Optional[
|
|
1931
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1932
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1933
|
+
undo: typing.Optional[bool] = None,
|
|
1934
|
+
*,
|
|
1935
|
+
mask_threshold: typing.Optional[typing.Any] = 0.5,
|
|
1936
|
+
add_boundary_loop: typing.Optional[typing.Union[bool, typing.
|
|
1937
|
+
Any]] = True,
|
|
1938
|
+
smooth_iterations: typing.Optional[typing.Any] = 4,
|
|
1939
|
+
apply_shrinkwrap: typing.Optional[typing.Union[bool, typing.
|
|
1940
|
+
Any]] = True,
|
|
1941
|
+
add_solidify: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
1942
|
+
''' Create a new mesh object from the current paint mask
|
|
1943
|
+
|
|
1944
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1945
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1946
|
+
:type undo: typing.Optional[bool]
|
|
1947
|
+
:param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh
|
|
1948
|
+
:type mask_threshold: typing.Optional[typing.Any]
|
|
1949
|
+
:param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier
|
|
1950
|
+
:type add_boundary_loop: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1951
|
+
:param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh
|
|
1952
|
+
:type smooth_iterations: typing.Optional[typing.Any]
|
|
1953
|
+
:param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt
|
|
1954
|
+
:type apply_shrinkwrap: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1955
|
+
:param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier
|
|
1956
|
+
:type add_solidify: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1957
|
+
'''
|
|
1958
|
+
|
|
1959
|
+
...
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
def paint_mask_slice(
|
|
1963
|
+
override_context: typing.Optional[
|
|
1964
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1965
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1966
|
+
undo: typing.Optional[bool] = None,
|
|
1967
|
+
*,
|
|
1968
|
+
mask_threshold: typing.Optional[typing.Any] = 0.5,
|
|
1969
|
+
fill_holes: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
1970
|
+
new_object: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
1971
|
+
''' Slices the paint mask from the mesh
|
|
1972
|
+
|
|
1973
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
1974
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1975
|
+
:type undo: typing.Optional[bool]
|
|
1976
|
+
:param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh
|
|
1977
|
+
:type mask_threshold: typing.Optional[typing.Any]
|
|
1978
|
+
:param fill_holes: Fill Holes, Fill holes after slicing the mask
|
|
1979
|
+
:type fill_holes: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1980
|
+
:param new_object: Slice to New Object, Create a new object from the sliced mask
|
|
1981
|
+
:type new_object: typing.Optional[typing.Union[bool, typing.Any]]
|
|
1982
|
+
'''
|
|
1983
|
+
|
|
1984
|
+
...
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
def point_normals(
|
|
1988
|
+
override_context: typing.Optional[
|
|
1989
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
1990
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1991
|
+
undo: typing.Optional[bool] = None,
|
|
1992
|
+
*,
|
|
1993
|
+
mode: typing.Optional[typing.Any] = 'COORDINATES',
|
|
1994
|
+
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1995
|
+
align: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1996
|
+
target_location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
1997
|
+
spherize: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
1998
|
+
spherize_strength: typing.Optional[typing.Any] = 0.1):
|
|
1999
|
+
''' Point selected custom normals to specified Target
|
|
2000
|
+
|
|
2001
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2002
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2003
|
+
:type undo: typing.Optional[bool]
|
|
2004
|
+
:param mode: Mode, How to define coordinates to point custom normals to * ``COORDINATES`` Coordinates -- Use static coordinates (defined by various means). * ``MOUSE`` Mouse -- Follow mouse cursor.
|
|
2005
|
+
:type mode: typing.Optional[typing.Any]
|
|
2006
|
+
:param invert: Invert, Invert affected normals
|
|
2007
|
+
:type invert: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2008
|
+
:param align: Align, Make all affected normals parallel
|
|
2009
|
+
:type align: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2010
|
+
:param target_location: Target, Target location to which normals will point
|
|
2011
|
+
:type target_location: typing.Optional[typing.Any]
|
|
2012
|
+
:param spherize: Spherize, Interpolate between original and new normals
|
|
2013
|
+
:type spherize: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2014
|
+
:param spherize_strength: Spherize Strength, Ratio of spherized normal to original normal
|
|
2015
|
+
:type spherize_strength: typing.Optional[typing.Any]
|
|
2016
|
+
'''
|
|
2017
|
+
|
|
2018
|
+
...
|
|
2019
|
+
|
|
2020
|
+
|
|
2021
|
+
def poke(override_context: typing.Optional[
|
|
2022
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2023
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2024
|
+
undo: typing.Optional[bool] = None,
|
|
2025
|
+
*,
|
|
2026
|
+
offset: typing.Optional[typing.Any] = 0.0,
|
|
2027
|
+
use_relative_offset: typing.Optional[typing.Union[bool, typing.
|
|
2028
|
+
Any]] = False,
|
|
2029
|
+
center_mode: typing.Optional[typing.Any] = 'MEDIAN_WEIGHTED'):
|
|
2030
|
+
''' Split a face into a fan
|
|
2031
|
+
|
|
2032
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2033
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2034
|
+
:type undo: typing.Optional[bool]
|
|
2035
|
+
:param offset: Poke Offset, Poke Offset
|
|
2036
|
+
:type offset: typing.Optional[typing.Any]
|
|
2037
|
+
:param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry
|
|
2038
|
+
:type use_relative_offset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2039
|
+
:param center_mode: Poke Center, Poke face center calculation * ``MEDIAN_WEIGHTED`` Weighted Median -- Weighted median face center. * ``MEDIAN`` Median -- Median face center. * ``BOUNDS`` Bounds -- Face bounds center.
|
|
2040
|
+
:type center_mode: typing.Optional[typing.Any]
|
|
2041
|
+
'''
|
|
2042
|
+
|
|
2043
|
+
...
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
def polybuild_delete_at_cursor(
|
|
2047
|
+
override_context: typing.Optional[
|
|
2048
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2049
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2050
|
+
undo: typing.Optional[bool] = None,
|
|
2051
|
+
*,
|
|
2052
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2053
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2054
|
+
Any]] = False,
|
|
2055
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2056
|
+
Union[str, int]] = 'SMOOTH',
|
|
2057
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2058
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2059
|
+
Any]] = False,
|
|
2060
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2061
|
+
Any]] = False,
|
|
2062
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2063
|
+
Any]] = False,
|
|
2064
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2065
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2066
|
+
|
|
2067
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2068
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2069
|
+
:type undo: typing.Optional[bool]
|
|
2070
|
+
:param mirror: Mirror Editing
|
|
2071
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2072
|
+
:param use_proportional_edit: Proportional Editing
|
|
2073
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2074
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2075
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2076
|
+
:param proportional_size: Proportional Size
|
|
2077
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2078
|
+
:param use_proportional_connected: Connected
|
|
2079
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2080
|
+
:param use_proportional_projected: Projected (2D)
|
|
2081
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2082
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2083
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2084
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2085
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2086
|
+
'''
|
|
2087
|
+
|
|
2088
|
+
...
|
|
2089
|
+
|
|
2090
|
+
|
|
2091
|
+
def polybuild_dissolve_at_cursor(
|
|
2092
|
+
override_context: typing.Optional[
|
|
2093
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2094
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2095
|
+
undo: typing.Optional[bool] = None):
|
|
2096
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2097
|
+
|
|
2098
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2099
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2100
|
+
:type undo: typing.Optional[bool]
|
|
2101
|
+
'''
|
|
2102
|
+
|
|
2103
|
+
...
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
def polybuild_extrude_at_cursor_move(
|
|
2107
|
+
override_context: typing.Optional[
|
|
2108
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2109
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2110
|
+
undo: typing.Optional[bool] = None,
|
|
2111
|
+
*,
|
|
2112
|
+
MESH_OT_polybuild_transform_at_cursor: typing.
|
|
2113
|
+
Optional['polybuild_transform_at_cursor'] = None,
|
|
2114
|
+
MESH_OT_extrude_edges_indiv: typing.
|
|
2115
|
+
Optional['extrude_edges_indiv'] = None,
|
|
2116
|
+
TRANSFORM_OT_translate: typing.
|
|
2117
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
2118
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2119
|
+
|
|
2120
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2121
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2122
|
+
:type undo: typing.Optional[bool]
|
|
2123
|
+
:param MESH_OT_polybuild_transform_at_cursor: Poly Build Transform at Cursor
|
|
2124
|
+
:type MESH_OT_polybuild_transform_at_cursor: typing.Optional['polybuild_transform_at_cursor']
|
|
2125
|
+
:param MESH_OT_extrude_edges_indiv: Extrude Only Edges, Extrude individual edges only
|
|
2126
|
+
:type MESH_OT_extrude_edges_indiv: typing.Optional['extrude_edges_indiv']
|
|
2127
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
2128
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
2129
|
+
'''
|
|
2130
|
+
|
|
2131
|
+
...
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
def polybuild_face_at_cursor(
|
|
2135
|
+
override_context: typing.Optional[
|
|
2136
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2137
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2138
|
+
undo: typing.Optional[bool] = None,
|
|
2139
|
+
*,
|
|
2140
|
+
create_quads: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2141
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2142
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2143
|
+
Any]] = False,
|
|
2144
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2145
|
+
Union[str, int]] = 'SMOOTH',
|
|
2146
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2147
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2148
|
+
Any]] = False,
|
|
2149
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2150
|
+
Any]] = False,
|
|
2151
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2152
|
+
Any]] = False,
|
|
2153
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2154
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2155
|
+
|
|
2156
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2157
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2158
|
+
:type undo: typing.Optional[bool]
|
|
2159
|
+
:param create_quads: Create Quads, Automatically split edges in triangles to maintain quad topology
|
|
2160
|
+
:type create_quads: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2161
|
+
:param mirror: Mirror Editing
|
|
2162
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2163
|
+
:param use_proportional_edit: Proportional Editing
|
|
2164
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2165
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2166
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2167
|
+
:param proportional_size: Proportional Size
|
|
2168
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2169
|
+
:param use_proportional_connected: Connected
|
|
2170
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2171
|
+
:param use_proportional_projected: Projected (2D)
|
|
2172
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2173
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2174
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2175
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2176
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2177
|
+
'''
|
|
2178
|
+
|
|
2179
|
+
...
|
|
2180
|
+
|
|
2181
|
+
|
|
2182
|
+
def polybuild_face_at_cursor_move(
|
|
2183
|
+
override_context: typing.Optional[
|
|
2184
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2185
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2186
|
+
undo: typing.Optional[bool] = None,
|
|
2187
|
+
*,
|
|
2188
|
+
MESH_OT_polybuild_face_at_cursor: typing.
|
|
2189
|
+
Optional['polybuild_face_at_cursor'] = None,
|
|
2190
|
+
TRANSFORM_OT_translate: typing.
|
|
2191
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
2192
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2193
|
+
|
|
2194
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2195
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2196
|
+
:type undo: typing.Optional[bool]
|
|
2197
|
+
:param MESH_OT_polybuild_face_at_cursor: Poly Build Face at Cursor
|
|
2198
|
+
:type MESH_OT_polybuild_face_at_cursor: typing.Optional['polybuild_face_at_cursor']
|
|
2199
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
2200
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
2201
|
+
'''
|
|
2202
|
+
|
|
2203
|
+
...
|
|
2204
|
+
|
|
2205
|
+
|
|
2206
|
+
def polybuild_split_at_cursor(
|
|
2207
|
+
override_context: typing.Optional[
|
|
2208
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2209
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2210
|
+
undo: typing.Optional[bool] = None,
|
|
2211
|
+
*,
|
|
2212
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2213
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2214
|
+
Any]] = False,
|
|
2215
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2216
|
+
Union[str, int]] = 'SMOOTH',
|
|
2217
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2218
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2219
|
+
Any]] = False,
|
|
2220
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2221
|
+
Any]] = False,
|
|
2222
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2223
|
+
Any]] = False,
|
|
2224
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2225
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2226
|
+
|
|
2227
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2228
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2229
|
+
:type undo: typing.Optional[bool]
|
|
2230
|
+
:param mirror: Mirror Editing
|
|
2231
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2232
|
+
:param use_proportional_edit: Proportional Editing
|
|
2233
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2234
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2235
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2236
|
+
:param proportional_size: Proportional Size
|
|
2237
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2238
|
+
:param use_proportional_connected: Connected
|
|
2239
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2240
|
+
:param use_proportional_projected: Projected (2D)
|
|
2241
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2242
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2243
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2244
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2245
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2246
|
+
'''
|
|
2247
|
+
|
|
2248
|
+
...
|
|
2249
|
+
|
|
2250
|
+
|
|
2251
|
+
def polybuild_split_at_cursor_move(
|
|
2252
|
+
override_context: typing.Optional[
|
|
2253
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2254
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2255
|
+
undo: typing.Optional[bool] = None,
|
|
2256
|
+
*,
|
|
2257
|
+
MESH_OT_polybuild_split_at_cursor: typing.
|
|
2258
|
+
Optional['polybuild_split_at_cursor'] = None,
|
|
2259
|
+
TRANSFORM_OT_translate: typing.
|
|
2260
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
2261
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2262
|
+
|
|
2263
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2264
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2265
|
+
:type undo: typing.Optional[bool]
|
|
2266
|
+
:param MESH_OT_polybuild_split_at_cursor: Poly Build Split at Cursor
|
|
2267
|
+
:type MESH_OT_polybuild_split_at_cursor: typing.Optional['polybuild_split_at_cursor']
|
|
2268
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
2269
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
2270
|
+
'''
|
|
2271
|
+
|
|
2272
|
+
...
|
|
2273
|
+
|
|
2274
|
+
|
|
2275
|
+
def polybuild_transform_at_cursor(
|
|
2276
|
+
override_context: typing.Optional[
|
|
2277
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2278
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2279
|
+
undo: typing.Optional[bool] = None,
|
|
2280
|
+
*,
|
|
2281
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2282
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2283
|
+
Any]] = False,
|
|
2284
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2285
|
+
Union[str, int]] = 'SMOOTH',
|
|
2286
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2287
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2288
|
+
Any]] = False,
|
|
2289
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2290
|
+
Any]] = False,
|
|
2291
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2292
|
+
Any]] = False,
|
|
2293
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2294
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2295
|
+
|
|
2296
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2297
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2298
|
+
:type undo: typing.Optional[bool]
|
|
2299
|
+
:param mirror: Mirror Editing
|
|
2300
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2301
|
+
:param use_proportional_edit: Proportional Editing
|
|
2302
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2303
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2304
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2305
|
+
:param proportional_size: Proportional Size
|
|
2306
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2307
|
+
:param use_proportional_connected: Connected
|
|
2308
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2309
|
+
:param use_proportional_projected: Projected (2D)
|
|
2310
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2311
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2312
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2313
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2314
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2315
|
+
'''
|
|
2316
|
+
|
|
2317
|
+
...
|
|
2318
|
+
|
|
2319
|
+
|
|
2320
|
+
def polybuild_transform_at_cursor_move(
|
|
2321
|
+
override_context: typing.Optional[
|
|
2322
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2323
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2324
|
+
undo: typing.Optional[bool] = None,
|
|
2325
|
+
*,
|
|
2326
|
+
MESH_OT_polybuild_transform_at_cursor: typing.
|
|
2327
|
+
Optional['polybuild_transform_at_cursor'] = None,
|
|
2328
|
+
TRANSFORM_OT_translate: typing.
|
|
2329
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
2330
|
+
''' Undocumented, consider `contributing <https://developer.blender.org/>`__.
|
|
2331
|
+
|
|
2332
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2333
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2334
|
+
:type undo: typing.Optional[bool]
|
|
2335
|
+
:param MESH_OT_polybuild_transform_at_cursor: Poly Build Transform at Cursor
|
|
2336
|
+
:type MESH_OT_polybuild_transform_at_cursor: typing.Optional['polybuild_transform_at_cursor']
|
|
2337
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
2338
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
2339
|
+
'''
|
|
2340
|
+
|
|
2341
|
+
...
|
|
2342
|
+
|
|
2343
|
+
|
|
2344
|
+
def primitive_circle_add(
|
|
2345
|
+
override_context: typing.Optional[
|
|
2346
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2347
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2348
|
+
undo: typing.Optional[bool] = None,
|
|
2349
|
+
*,
|
|
2350
|
+
vertices: typing.Optional[typing.Any] = 32,
|
|
2351
|
+
radius: typing.Optional[typing.Any] = 1.0,
|
|
2352
|
+
fill_type: typing.Optional[typing.Any] = 'NOTHING',
|
|
2353
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2354
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2355
|
+
Any]] = False,
|
|
2356
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2357
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2358
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2359
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2360
|
+
''' Construct a circle mesh
|
|
2361
|
+
|
|
2362
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2363
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2364
|
+
:type undo: typing.Optional[bool]
|
|
2365
|
+
:param vertices: Vertices
|
|
2366
|
+
:type vertices: typing.Optional[typing.Any]
|
|
2367
|
+
:param radius: Radius
|
|
2368
|
+
:type radius: typing.Optional[typing.Any]
|
|
2369
|
+
:param fill_type: Fill Type * ``NOTHING`` Nothing -- Don't fill at all. * ``NGON`` N-Gon -- Use n-gons. * ``TRIFAN`` Triangle Fan -- Use triangle fans.
|
|
2370
|
+
:type fill_type: typing.Optional[typing.Any]
|
|
2371
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2372
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2373
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2374
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2375
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2376
|
+
:type align: typing.Optional[typing.Any]
|
|
2377
|
+
:param location: Location, Location for the newly added object
|
|
2378
|
+
:type location: typing.Optional[typing.Any]
|
|
2379
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2380
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2381
|
+
:param scale: Scale, Scale for the newly added object
|
|
2382
|
+
:type scale: typing.Optional[typing.Any]
|
|
2383
|
+
'''
|
|
2384
|
+
|
|
2385
|
+
...
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
def primitive_cone_add(
|
|
2389
|
+
override_context: typing.Optional[
|
|
2390
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2391
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2392
|
+
undo: typing.Optional[bool] = None,
|
|
2393
|
+
*,
|
|
2394
|
+
vertices: typing.Optional[typing.Any] = 32,
|
|
2395
|
+
radius1: typing.Optional[typing.Any] = 1.0,
|
|
2396
|
+
radius2: typing.Optional[typing.Any] = 0.0,
|
|
2397
|
+
depth: typing.Optional[typing.Any] = 2.0,
|
|
2398
|
+
end_fill_type: typing.Optional[typing.Any] = 'NGON',
|
|
2399
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2400
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2401
|
+
Any]] = False,
|
|
2402
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2403
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2404
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2405
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2406
|
+
''' Construct a conic mesh
|
|
2407
|
+
|
|
2408
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2409
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2410
|
+
:type undo: typing.Optional[bool]
|
|
2411
|
+
:param vertices: Vertices
|
|
2412
|
+
:type vertices: typing.Optional[typing.Any]
|
|
2413
|
+
:param radius1: Radius 1
|
|
2414
|
+
:type radius1: typing.Optional[typing.Any]
|
|
2415
|
+
:param radius2: Radius 2
|
|
2416
|
+
:type radius2: typing.Optional[typing.Any]
|
|
2417
|
+
:param depth: Depth
|
|
2418
|
+
:type depth: typing.Optional[typing.Any]
|
|
2419
|
+
:param end_fill_type: Base Fill Type * ``NOTHING`` Nothing -- Don't fill at all. * ``NGON`` N-Gon -- Use n-gons. * ``TRIFAN`` Triangle Fan -- Use triangle fans.
|
|
2420
|
+
:type end_fill_type: typing.Optional[typing.Any]
|
|
2421
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2422
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2423
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2424
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2425
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2426
|
+
:type align: typing.Optional[typing.Any]
|
|
2427
|
+
:param location: Location, Location for the newly added object
|
|
2428
|
+
:type location: typing.Optional[typing.Any]
|
|
2429
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2430
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2431
|
+
:param scale: Scale, Scale for the newly added object
|
|
2432
|
+
:type scale: typing.Optional[typing.Any]
|
|
2433
|
+
'''
|
|
2434
|
+
|
|
2435
|
+
...
|
|
2436
|
+
|
|
2437
|
+
|
|
2438
|
+
def primitive_cube_add(
|
|
2439
|
+
override_context: typing.Optional[
|
|
2440
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2441
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2442
|
+
undo: typing.Optional[bool] = None,
|
|
2443
|
+
*,
|
|
2444
|
+
size: typing.Optional[typing.Any] = 2.0,
|
|
2445
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2446
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2447
|
+
Any]] = False,
|
|
2448
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2449
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2450
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2451
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2452
|
+
''' Construct a cube mesh
|
|
2453
|
+
|
|
2454
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2455
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2456
|
+
:type undo: typing.Optional[bool]
|
|
2457
|
+
:param size: Size
|
|
2458
|
+
:type size: typing.Optional[typing.Any]
|
|
2459
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2460
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2461
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2462
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2463
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2464
|
+
:type align: typing.Optional[typing.Any]
|
|
2465
|
+
:param location: Location, Location for the newly added object
|
|
2466
|
+
:type location: typing.Optional[typing.Any]
|
|
2467
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2468
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2469
|
+
:param scale: Scale, Scale for the newly added object
|
|
2470
|
+
:type scale: typing.Optional[typing.Any]
|
|
2471
|
+
'''
|
|
2472
|
+
|
|
2473
|
+
...
|
|
2474
|
+
|
|
2475
|
+
|
|
2476
|
+
def primitive_cube_add_gizmo(
|
|
2477
|
+
override_context: typing.Optional[
|
|
2478
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2479
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2480
|
+
undo: typing.Optional[bool] = None,
|
|
2481
|
+
*,
|
|
2482
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2483
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2484
|
+
Any]] = False,
|
|
2485
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2486
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2487
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2488
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2489
|
+
matrix: typing.Optional[typing.Any] = ((0.0, 0.0, 0.0,
|
|
2490
|
+
0.0), (0.0, 0.0, 0.0, 0.0),
|
|
2491
|
+
(0.0, 0.0, 0.0,
|
|
2492
|
+
0.0), (0.0, 0.0, 0.0, 0.0))):
|
|
2493
|
+
''' Construct a cube mesh
|
|
2494
|
+
|
|
2495
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2496
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2497
|
+
:type undo: typing.Optional[bool]
|
|
2498
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2499
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2500
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2501
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2502
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2503
|
+
:type align: typing.Optional[typing.Any]
|
|
2504
|
+
:param location: Location, Location for the newly added object
|
|
2505
|
+
:type location: typing.Optional[typing.Any]
|
|
2506
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2507
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2508
|
+
:param scale: Scale, Scale for the newly added object
|
|
2509
|
+
:type scale: typing.Optional[typing.Any]
|
|
2510
|
+
:param matrix: Matrix
|
|
2511
|
+
:type matrix: typing.Optional[typing.Any]
|
|
2512
|
+
'''
|
|
2513
|
+
|
|
2514
|
+
...
|
|
2515
|
+
|
|
2516
|
+
|
|
2517
|
+
def primitive_cylinder_add(
|
|
2518
|
+
override_context: typing.Optional[
|
|
2519
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2520
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2521
|
+
undo: typing.Optional[bool] = None,
|
|
2522
|
+
*,
|
|
2523
|
+
vertices: typing.Optional[typing.Any] = 32,
|
|
2524
|
+
radius: typing.Optional[typing.Any] = 1.0,
|
|
2525
|
+
depth: typing.Optional[typing.Any] = 2.0,
|
|
2526
|
+
end_fill_type: typing.Optional[typing.Any] = 'NGON',
|
|
2527
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2528
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2529
|
+
Any]] = False,
|
|
2530
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2531
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2532
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2533
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2534
|
+
''' Construct a cylinder mesh
|
|
2535
|
+
|
|
2536
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2537
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2538
|
+
:type undo: typing.Optional[bool]
|
|
2539
|
+
:param vertices: Vertices
|
|
2540
|
+
:type vertices: typing.Optional[typing.Any]
|
|
2541
|
+
:param radius: Radius
|
|
2542
|
+
:type radius: typing.Optional[typing.Any]
|
|
2543
|
+
:param depth: Depth
|
|
2544
|
+
:type depth: typing.Optional[typing.Any]
|
|
2545
|
+
:param end_fill_type: Cap Fill Type * ``NOTHING`` Nothing -- Don't fill at all. * ``NGON`` N-Gon -- Use n-gons. * ``TRIFAN`` Triangle Fan -- Use triangle fans.
|
|
2546
|
+
:type end_fill_type: typing.Optional[typing.Any]
|
|
2547
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2548
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2549
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2550
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2551
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2552
|
+
:type align: typing.Optional[typing.Any]
|
|
2553
|
+
:param location: Location, Location for the newly added object
|
|
2554
|
+
:type location: typing.Optional[typing.Any]
|
|
2555
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2556
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2557
|
+
:param scale: Scale, Scale for the newly added object
|
|
2558
|
+
:type scale: typing.Optional[typing.Any]
|
|
2559
|
+
'''
|
|
2560
|
+
|
|
2561
|
+
...
|
|
2562
|
+
|
|
2563
|
+
|
|
2564
|
+
def primitive_grid_add(
|
|
2565
|
+
override_context: typing.Optional[
|
|
2566
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2567
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2568
|
+
undo: typing.Optional[bool] = None,
|
|
2569
|
+
*,
|
|
2570
|
+
x_subdivisions: typing.Optional[typing.Any] = 10,
|
|
2571
|
+
y_subdivisions: typing.Optional[typing.Any] = 10,
|
|
2572
|
+
size: typing.Optional[typing.Any] = 2.0,
|
|
2573
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2574
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2575
|
+
Any]] = False,
|
|
2576
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2577
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2578
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2579
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2580
|
+
''' Construct a grid mesh
|
|
2581
|
+
|
|
2582
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2583
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2584
|
+
:type undo: typing.Optional[bool]
|
|
2585
|
+
:param x_subdivisions: X Subdivisions
|
|
2586
|
+
:type x_subdivisions: typing.Optional[typing.Any]
|
|
2587
|
+
:param y_subdivisions: Y Subdivisions
|
|
2588
|
+
:type y_subdivisions: typing.Optional[typing.Any]
|
|
2589
|
+
:param size: Size
|
|
2590
|
+
:type size: typing.Optional[typing.Any]
|
|
2591
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2592
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2593
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2594
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2595
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2596
|
+
:type align: typing.Optional[typing.Any]
|
|
2597
|
+
:param location: Location, Location for the newly added object
|
|
2598
|
+
:type location: typing.Optional[typing.Any]
|
|
2599
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2600
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2601
|
+
:param scale: Scale, Scale for the newly added object
|
|
2602
|
+
:type scale: typing.Optional[typing.Any]
|
|
2603
|
+
'''
|
|
2604
|
+
|
|
2605
|
+
...
|
|
2606
|
+
|
|
2607
|
+
|
|
2608
|
+
def primitive_ico_sphere_add(
|
|
2609
|
+
override_context: typing.Optional[
|
|
2610
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2611
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2612
|
+
undo: typing.Optional[bool] = None,
|
|
2613
|
+
*,
|
|
2614
|
+
subdivisions: typing.Optional[typing.Any] = 2,
|
|
2615
|
+
radius: typing.Optional[typing.Any] = 1.0,
|
|
2616
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2617
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2618
|
+
Any]] = False,
|
|
2619
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2620
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2621
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2622
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2623
|
+
''' Construct an Icosphere mesh
|
|
2624
|
+
|
|
2625
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2626
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2627
|
+
:type undo: typing.Optional[bool]
|
|
2628
|
+
:param subdivisions: Subdivisions
|
|
2629
|
+
:type subdivisions: typing.Optional[typing.Any]
|
|
2630
|
+
:param radius: Radius
|
|
2631
|
+
:type radius: typing.Optional[typing.Any]
|
|
2632
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2633
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2634
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2635
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2636
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2637
|
+
:type align: typing.Optional[typing.Any]
|
|
2638
|
+
:param location: Location, Location for the newly added object
|
|
2639
|
+
:type location: typing.Optional[typing.Any]
|
|
2640
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2641
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2642
|
+
:param scale: Scale, Scale for the newly added object
|
|
2643
|
+
:type scale: typing.Optional[typing.Any]
|
|
2644
|
+
'''
|
|
2645
|
+
|
|
2646
|
+
...
|
|
2647
|
+
|
|
2648
|
+
|
|
2649
|
+
def primitive_monkey_add(
|
|
2650
|
+
override_context: typing.Optional[
|
|
2651
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2652
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2653
|
+
undo: typing.Optional[bool] = None,
|
|
2654
|
+
*,
|
|
2655
|
+
size: typing.Optional[typing.Any] = 2.0,
|
|
2656
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2657
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2658
|
+
Any]] = False,
|
|
2659
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2660
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2661
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2662
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2663
|
+
''' Construct a Suzanne mesh
|
|
2664
|
+
|
|
2665
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2666
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2667
|
+
:type undo: typing.Optional[bool]
|
|
2668
|
+
:param size: Size
|
|
2669
|
+
:type size: typing.Optional[typing.Any]
|
|
2670
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2671
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2672
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2673
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2674
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2675
|
+
:type align: typing.Optional[typing.Any]
|
|
2676
|
+
:param location: Location, Location for the newly added object
|
|
2677
|
+
:type location: typing.Optional[typing.Any]
|
|
2678
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2679
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2680
|
+
:param scale: Scale, Scale for the newly added object
|
|
2681
|
+
:type scale: typing.Optional[typing.Any]
|
|
2682
|
+
'''
|
|
2683
|
+
|
|
2684
|
+
...
|
|
2685
|
+
|
|
2686
|
+
|
|
2687
|
+
def primitive_plane_add(
|
|
2688
|
+
override_context: typing.Optional[
|
|
2689
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2690
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2691
|
+
undo: typing.Optional[bool] = None,
|
|
2692
|
+
*,
|
|
2693
|
+
size: typing.Optional[typing.Any] = 2.0,
|
|
2694
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2695
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2696
|
+
Any]] = False,
|
|
2697
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2698
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2699
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2700
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2701
|
+
''' Construct a filled planar mesh with 4 vertices
|
|
2702
|
+
|
|
2703
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2704
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2705
|
+
:type undo: typing.Optional[bool]
|
|
2706
|
+
:param size: Size
|
|
2707
|
+
:type size: typing.Optional[typing.Any]
|
|
2708
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2709
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2710
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2711
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2712
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2713
|
+
:type align: typing.Optional[typing.Any]
|
|
2714
|
+
:param location: Location, Location for the newly added object
|
|
2715
|
+
:type location: typing.Optional[typing.Any]
|
|
2716
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2717
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2718
|
+
:param scale: Scale, Scale for the newly added object
|
|
2719
|
+
:type scale: typing.Optional[typing.Any]
|
|
2720
|
+
'''
|
|
2721
|
+
|
|
2722
|
+
...
|
|
2723
|
+
|
|
2724
|
+
|
|
2725
|
+
def primitive_torus_add(
|
|
2726
|
+
override_context: typing.Optional[
|
|
2727
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2728
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2729
|
+
undo: typing.Optional[bool] = None,
|
|
2730
|
+
*,
|
|
2731
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2732
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2733
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2734
|
+
major_segments: typing.Optional[typing.Any] = 48,
|
|
2735
|
+
minor_segments: typing.Optional[typing.Any] = 12,
|
|
2736
|
+
mode: typing.Optional[typing.Any] = 'MAJOR_MINOR',
|
|
2737
|
+
major_radius: typing.Optional[typing.Any] = 1.0,
|
|
2738
|
+
minor_radius: typing.Optional[typing.Any] = 0.25,
|
|
2739
|
+
abso_major_rad: typing.Optional[typing.Any] = 1.25,
|
|
2740
|
+
abso_minor_rad: typing.Optional[typing.Any] = 0.75,
|
|
2741
|
+
generate_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
2742
|
+
''' Construct a torus mesh :File: `startup/bl_operators/add_mesh_torus.py\:223 <https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/add_mesh_torus.py#L223>`__
|
|
2743
|
+
|
|
2744
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2745
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2746
|
+
:type undo: typing.Optional[bool]
|
|
2747
|
+
:param align: Align * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2748
|
+
:type align: typing.Optional[typing.Any]
|
|
2749
|
+
:param location: Location
|
|
2750
|
+
:type location: typing.Optional[typing.Any]
|
|
2751
|
+
:param rotation: Rotation
|
|
2752
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2753
|
+
:param major_segments: Major Segments, Number of segments for the main ring of the torus
|
|
2754
|
+
:type major_segments: typing.Optional[typing.Any]
|
|
2755
|
+
:param minor_segments: Minor Segments, Number of segments for the minor ring of the torus
|
|
2756
|
+
:type minor_segments: typing.Optional[typing.Any]
|
|
2757
|
+
:param mode: Dimensions Mode * ``MAJOR_MINOR`` Major/Minor -- Use the major/minor radii for torus dimensions. * ``EXT_INT`` Exterior/Interior -- Use the exterior/interior radii for torus dimensions.
|
|
2758
|
+
:type mode: typing.Optional[typing.Any]
|
|
2759
|
+
:param major_radius: Major Radius, Radius from the origin to the center of the cross sections
|
|
2760
|
+
:type major_radius: typing.Optional[typing.Any]
|
|
2761
|
+
:param minor_radius: Minor Radius, Radius of the torus' cross section
|
|
2762
|
+
:type minor_radius: typing.Optional[typing.Any]
|
|
2763
|
+
:param abso_major_rad: Exterior Radius, Total Exterior Radius of the torus
|
|
2764
|
+
:type abso_major_rad: typing.Optional[typing.Any]
|
|
2765
|
+
:param abso_minor_rad: Interior Radius, Total Interior Radius of the torus
|
|
2766
|
+
:type abso_minor_rad: typing.Optional[typing.Any]
|
|
2767
|
+
:param generate_uvs: Generate UVs, Generate a default UV map
|
|
2768
|
+
:type generate_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2769
|
+
'''
|
|
2770
|
+
|
|
2771
|
+
...
|
|
2772
|
+
|
|
2773
|
+
|
|
2774
|
+
def primitive_uv_sphere_add(
|
|
2775
|
+
override_context: typing.Optional[
|
|
2776
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2777
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2778
|
+
undo: typing.Optional[bool] = None,
|
|
2779
|
+
*,
|
|
2780
|
+
segments: typing.Optional[typing.Any] = 32,
|
|
2781
|
+
ring_count: typing.Optional[typing.Any] = 16,
|
|
2782
|
+
radius: typing.Optional[typing.Any] = 1.0,
|
|
2783
|
+
calc_uvs: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
2784
|
+
enter_editmode: typing.Optional[typing.Union[bool, typing.
|
|
2785
|
+
Any]] = False,
|
|
2786
|
+
align: typing.Optional[typing.Any] = 'WORLD',
|
|
2787
|
+
location: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2788
|
+
rotation: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
2789
|
+
scale: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
2790
|
+
''' Construct a UV sphere mesh
|
|
2791
|
+
|
|
2792
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2793
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2794
|
+
:type undo: typing.Optional[bool]
|
|
2795
|
+
:param segments: Segments
|
|
2796
|
+
:type segments: typing.Optional[typing.Any]
|
|
2797
|
+
:param ring_count: Rings
|
|
2798
|
+
:type ring_count: typing.Optional[typing.Any]
|
|
2799
|
+
:param radius: Radius
|
|
2800
|
+
:type radius: typing.Optional[typing.Any]
|
|
2801
|
+
:param calc_uvs: Generate UVs, Generate a default UV map
|
|
2802
|
+
:type calc_uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2803
|
+
:param enter_editmode: Enter Edit Mode, Enter edit mode when adding this object
|
|
2804
|
+
:type enter_editmode: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2805
|
+
:param align: Align, The alignment of the new object * ``WORLD`` World -- Align the new object to the world. * ``VIEW`` View -- Align the new object to the view. * ``CURSOR`` 3D Cursor -- Use the 3D cursor orientation for the new object.
|
|
2806
|
+
:type align: typing.Optional[typing.Any]
|
|
2807
|
+
:param location: Location, Location for the newly added object
|
|
2808
|
+
:type location: typing.Optional[typing.Any]
|
|
2809
|
+
:param rotation: Rotation, Rotation for the newly added object
|
|
2810
|
+
:type rotation: typing.Optional[typing.Any]
|
|
2811
|
+
:param scale: Scale, Scale for the newly added object
|
|
2812
|
+
:type scale: typing.Optional[typing.Any]
|
|
2813
|
+
'''
|
|
2814
|
+
|
|
2815
|
+
...
|
|
2816
|
+
|
|
2817
|
+
|
|
2818
|
+
def quads_convert_to_tris(
|
|
2819
|
+
override_context: typing.Optional[
|
|
2820
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2821
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2822
|
+
undo: typing.Optional[bool] = None,
|
|
2823
|
+
*,
|
|
2824
|
+
quad_method: typing.Optional[typing.Union[str, int]] = 'BEAUTY',
|
|
2825
|
+
ngon_method: typing.Optional[typing.Union[str, int]] = 'BEAUTY'):
|
|
2826
|
+
''' Triangulate selected faces
|
|
2827
|
+
|
|
2828
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2829
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2830
|
+
:type undo: typing.Optional[bool]
|
|
2831
|
+
:param quad_method: Quad Method, Method for splitting the quads into triangles
|
|
2832
|
+
:type quad_method: typing.Optional[typing.Union[str, int]]
|
|
2833
|
+
:param ngon_method: N-gon Method, Method for splitting the n-gons into triangles
|
|
2834
|
+
:type ngon_method: typing.Optional[typing.Union[str, int]]
|
|
2835
|
+
'''
|
|
2836
|
+
|
|
2837
|
+
...
|
|
2838
|
+
|
|
2839
|
+
|
|
2840
|
+
def region_to_loop(
|
|
2841
|
+
override_context: typing.Optional[
|
|
2842
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2843
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2844
|
+
undo: typing.Optional[bool] = None):
|
|
2845
|
+
''' Select boundary edges around the selected faces
|
|
2846
|
+
|
|
2847
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2848
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2849
|
+
:type undo: typing.Optional[bool]
|
|
2850
|
+
'''
|
|
2851
|
+
|
|
2852
|
+
...
|
|
2853
|
+
|
|
2854
|
+
|
|
2855
|
+
def remove_doubles(
|
|
2856
|
+
override_context: typing.Optional[
|
|
2857
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2858
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2859
|
+
undo: typing.Optional[bool] = None,
|
|
2860
|
+
*,
|
|
2861
|
+
threshold: typing.Optional[typing.Any] = 0.0001,
|
|
2862
|
+
use_unselected: typing.Optional[typing.Union[bool, typing.
|
|
2863
|
+
Any]] = False,
|
|
2864
|
+
use_sharp_edge_from_normals: typing.Optional[
|
|
2865
|
+
typing.Union[bool, typing.Any]] = False):
|
|
2866
|
+
''' Merge vertices based on their proximity
|
|
2867
|
+
|
|
2868
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2869
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2870
|
+
:type undo: typing.Optional[bool]
|
|
2871
|
+
:param threshold: Merge Distance, Maximum distance between elements to merge
|
|
2872
|
+
:type threshold: typing.Optional[typing.Any]
|
|
2873
|
+
:param use_unselected: Unselected, Merge selected to other unselected vertices
|
|
2874
|
+
:type use_unselected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2875
|
+
:param use_sharp_edge_from_normals: Sharp Edges, Calculate sharp edges using custom normal data (when available)
|
|
2876
|
+
:type use_sharp_edge_from_normals: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2877
|
+
'''
|
|
2878
|
+
|
|
2879
|
+
...
|
|
2880
|
+
|
|
2881
|
+
|
|
2882
|
+
def reveal(override_context: typing.Optional[
|
|
2883
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2884
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2885
|
+
undo: typing.Optional[bool] = None,
|
|
2886
|
+
*,
|
|
2887
|
+
select: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
2888
|
+
''' Reveal all hidden vertices, edges and faces
|
|
2889
|
+
|
|
2890
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2891
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2892
|
+
:type undo: typing.Optional[bool]
|
|
2893
|
+
:param select: Select
|
|
2894
|
+
:type select: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2895
|
+
'''
|
|
2896
|
+
|
|
2897
|
+
...
|
|
2898
|
+
|
|
2899
|
+
|
|
2900
|
+
def rip(override_context: typing.Optional[
|
|
2901
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2902
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2903
|
+
undo: typing.Optional[bool] = None,
|
|
2904
|
+
*,
|
|
2905
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2906
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2907
|
+
Any]] = False,
|
|
2908
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2909
|
+
Union[str, int]] = 'SMOOTH',
|
|
2910
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2911
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2912
|
+
Any]] = False,
|
|
2913
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2914
|
+
Any]] = False,
|
|
2915
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2916
|
+
Any]] = False,
|
|
2917
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2918
|
+
use_fill: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2919
|
+
''' Disconnect vertex or edges from connected geometry
|
|
2920
|
+
|
|
2921
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2922
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2923
|
+
:type undo: typing.Optional[bool]
|
|
2924
|
+
:param mirror: Mirror Editing
|
|
2925
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2926
|
+
:param use_proportional_edit: Proportional Editing
|
|
2927
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2928
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2929
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2930
|
+
:param proportional_size: Proportional Size
|
|
2931
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2932
|
+
:param use_proportional_connected: Connected
|
|
2933
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2934
|
+
:param use_proportional_projected: Projected (2D)
|
|
2935
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2936
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2937
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2938
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2939
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2940
|
+
:param use_fill: Fill, Fill the ripped region
|
|
2941
|
+
:type use_fill: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2942
|
+
'''
|
|
2943
|
+
|
|
2944
|
+
...
|
|
2945
|
+
|
|
2946
|
+
|
|
2947
|
+
def rip_edge(
|
|
2948
|
+
override_context: typing.Optional[
|
|
2949
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2950
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2951
|
+
undo: typing.Optional[bool] = None,
|
|
2952
|
+
*,
|
|
2953
|
+
mirror: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
2954
|
+
use_proportional_edit: typing.Optional[typing.Union[bool, typing.
|
|
2955
|
+
Any]] = False,
|
|
2956
|
+
proportional_edit_falloff: typing.Optional[typing.
|
|
2957
|
+
Union[str, int]] = 'SMOOTH',
|
|
2958
|
+
proportional_size: typing.Optional[typing.Any] = 1.0,
|
|
2959
|
+
use_proportional_connected: typing.Optional[typing.Union[bool, typing.
|
|
2960
|
+
Any]] = False,
|
|
2961
|
+
use_proportional_projected: typing.Optional[typing.Union[bool, typing.
|
|
2962
|
+
Any]] = False,
|
|
2963
|
+
release_confirm: typing.Optional[typing.Union[bool, typing.
|
|
2964
|
+
Any]] = False,
|
|
2965
|
+
use_accurate: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
2966
|
+
''' Extend vertices along the edge closest to the cursor
|
|
2967
|
+
|
|
2968
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
2969
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
2970
|
+
:type undo: typing.Optional[bool]
|
|
2971
|
+
:param mirror: Mirror Editing
|
|
2972
|
+
:type mirror: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2973
|
+
:param use_proportional_edit: Proportional Editing
|
|
2974
|
+
:type use_proportional_edit: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2975
|
+
:param proportional_edit_falloff: Proportional Falloff, Falloff type for proportional editing mode
|
|
2976
|
+
:type proportional_edit_falloff: typing.Optional[typing.Union[str, int]]
|
|
2977
|
+
:param proportional_size: Proportional Size
|
|
2978
|
+
:type proportional_size: typing.Optional[typing.Any]
|
|
2979
|
+
:param use_proportional_connected: Connected
|
|
2980
|
+
:type use_proportional_connected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2981
|
+
:param use_proportional_projected: Projected (2D)
|
|
2982
|
+
:type use_proportional_projected: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2983
|
+
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
2984
|
+
:type release_confirm: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2985
|
+
:param use_accurate: Accurate, Use accurate transformation
|
|
2986
|
+
:type use_accurate: typing.Optional[typing.Union[bool, typing.Any]]
|
|
2987
|
+
'''
|
|
2988
|
+
|
|
2989
|
+
...
|
|
2990
|
+
|
|
2991
|
+
|
|
2992
|
+
def rip_edge_move(
|
|
2993
|
+
override_context: typing.Optional[
|
|
2994
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
2995
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
2996
|
+
undo: typing.Optional[bool] = None,
|
|
2997
|
+
*,
|
|
2998
|
+
MESH_OT_rip_edge: typing.Optional['rip_edge'] = None,
|
|
2999
|
+
TRANSFORM_OT_translate: typing.
|
|
3000
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
3001
|
+
''' Extend vertices and move the result
|
|
3002
|
+
|
|
3003
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3004
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3005
|
+
:type undo: typing.Optional[bool]
|
|
3006
|
+
:param MESH_OT_rip_edge: Extend Vertices, Extend vertices along the edge closest to the cursor
|
|
3007
|
+
:type MESH_OT_rip_edge: typing.Optional['rip_edge']
|
|
3008
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
3009
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
3010
|
+
'''
|
|
3011
|
+
|
|
3012
|
+
...
|
|
3013
|
+
|
|
3014
|
+
|
|
3015
|
+
def rip_move(override_context: typing.Optional[
|
|
3016
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3017
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3018
|
+
undo: typing.Optional[bool] = None,
|
|
3019
|
+
*,
|
|
3020
|
+
MESH_OT_rip: typing.Optional['rip'] = None,
|
|
3021
|
+
TRANSFORM_OT_translate: typing.
|
|
3022
|
+
Optional['bpy.ops.transform.translate'] = None):
|
|
3023
|
+
''' Rip polygons and move the result
|
|
3024
|
+
|
|
3025
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3026
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3027
|
+
:type undo: typing.Optional[bool]
|
|
3028
|
+
:param MESH_OT_rip: Rip, Disconnect vertex or edges from connected geometry
|
|
3029
|
+
:type MESH_OT_rip: typing.Optional['rip']
|
|
3030
|
+
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
3031
|
+
:type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
|
|
3032
|
+
'''
|
|
3033
|
+
|
|
3034
|
+
...
|
|
3035
|
+
|
|
3036
|
+
|
|
3037
|
+
def screw(override_context: typing.Optional[
|
|
3038
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3039
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3040
|
+
undo: typing.Optional[bool] = None,
|
|
3041
|
+
*,
|
|
3042
|
+
steps: typing.Optional[typing.Any] = 9,
|
|
3043
|
+
turns: typing.Optional[typing.Any] = 1,
|
|
3044
|
+
center: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
3045
|
+
axis: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
3046
|
+
''' Extrude selected vertices in screw-shaped rotation around the cursor in indicated viewport
|
|
3047
|
+
|
|
3048
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3049
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3050
|
+
:type undo: typing.Optional[bool]
|
|
3051
|
+
:param steps: Steps, Steps
|
|
3052
|
+
:type steps: typing.Optional[typing.Any]
|
|
3053
|
+
:param turns: Turns, Turns
|
|
3054
|
+
:type turns: typing.Optional[typing.Any]
|
|
3055
|
+
:param center: Center, Center in global view space
|
|
3056
|
+
:type center: typing.Optional[typing.Any]
|
|
3057
|
+
:param axis: Axis, Axis in global view space
|
|
3058
|
+
:type axis: typing.Optional[typing.Any]
|
|
3059
|
+
'''
|
|
3060
|
+
|
|
3061
|
+
...
|
|
3062
|
+
|
|
3063
|
+
|
|
3064
|
+
def select_all(
|
|
3065
|
+
override_context: typing.Optional[
|
|
3066
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3067
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3068
|
+
undo: typing.Optional[bool] = None,
|
|
3069
|
+
*,
|
|
3070
|
+
action: typing.Optional[typing.Any] = 'TOGGLE'):
|
|
3071
|
+
''' (De)select all vertices, edges or faces
|
|
3072
|
+
|
|
3073
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3074
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3075
|
+
:type undo: typing.Optional[bool]
|
|
3076
|
+
:param action: Action, Selection action to execute * ``TOGGLE`` Toggle -- Toggle selection for all elements. * ``SELECT`` Select -- Select all elements. * ``DESELECT`` Deselect -- Deselect all elements. * ``INVERT`` Invert -- Invert selection of all elements.
|
|
3077
|
+
:type action: typing.Optional[typing.Any]
|
|
3078
|
+
'''
|
|
3079
|
+
|
|
3080
|
+
...
|
|
3081
|
+
|
|
3082
|
+
|
|
3083
|
+
def select_axis(
|
|
3084
|
+
override_context: typing.Optional[
|
|
3085
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3086
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3087
|
+
undo: typing.Optional[bool] = None,
|
|
3088
|
+
*,
|
|
3089
|
+
orientation: typing.Optional[typing.Union[str, int]] = 'LOCAL',
|
|
3090
|
+
sign: typing.Optional[typing.Any] = 'POS',
|
|
3091
|
+
axis: typing.Optional[typing.Union[str, int]] = 'X',
|
|
3092
|
+
threshold: typing.Optional[typing.Any] = 0.0001):
|
|
3093
|
+
''' Select all data in the mesh on a single axis
|
|
3094
|
+
|
|
3095
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3096
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3097
|
+
:type undo: typing.Optional[bool]
|
|
3098
|
+
:param orientation: Axis Mode, Axis orientation
|
|
3099
|
+
:type orientation: typing.Optional[typing.Union[str, int]]
|
|
3100
|
+
:param sign: Axis Sign, Side to select
|
|
3101
|
+
:type sign: typing.Optional[typing.Any]
|
|
3102
|
+
:param axis: Axis, Select the axis to compare each vertex on
|
|
3103
|
+
:type axis: typing.Optional[typing.Union[str, int]]
|
|
3104
|
+
:param threshold: Threshold
|
|
3105
|
+
:type threshold: typing.Optional[typing.Any]
|
|
3106
|
+
'''
|
|
3107
|
+
|
|
3108
|
+
...
|
|
3109
|
+
|
|
3110
|
+
|
|
3111
|
+
def select_by_attribute(
|
|
3112
|
+
override_context: typing.Optional[
|
|
3113
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3114
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3115
|
+
undo: typing.Optional[bool] = None):
|
|
3116
|
+
''' Select elements based on the active boolean attribute
|
|
3117
|
+
|
|
3118
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3119
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3120
|
+
:type undo: typing.Optional[bool]
|
|
3121
|
+
'''
|
|
3122
|
+
|
|
3123
|
+
...
|
|
3124
|
+
|
|
3125
|
+
|
|
3126
|
+
def select_face_by_sides(
|
|
3127
|
+
override_context: typing.Optional[
|
|
3128
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3129
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3130
|
+
undo: typing.Optional[bool] = None,
|
|
3131
|
+
*,
|
|
3132
|
+
number: typing.Optional[typing.Any] = 4,
|
|
3133
|
+
type: typing.Optional[typing.Any] = 'EQUAL',
|
|
3134
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
3135
|
+
''' Select vertices or faces by the number of face sides
|
|
3136
|
+
|
|
3137
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3138
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3139
|
+
:type undo: typing.Optional[bool]
|
|
3140
|
+
:param number: Number of Vertices
|
|
3141
|
+
:type number: typing.Optional[typing.Any]
|
|
3142
|
+
:param type: Type, Type of comparison to make
|
|
3143
|
+
:type type: typing.Optional[typing.Any]
|
|
3144
|
+
:param extend: Extend, Extend the selection
|
|
3145
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3146
|
+
'''
|
|
3147
|
+
|
|
3148
|
+
...
|
|
3149
|
+
|
|
3150
|
+
|
|
3151
|
+
def select_interior_faces(
|
|
3152
|
+
override_context: typing.Optional[
|
|
3153
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3154
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3155
|
+
undo: typing.Optional[bool] = None):
|
|
3156
|
+
''' Select faces where all edges have more than 2 face users
|
|
3157
|
+
|
|
3158
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3159
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3160
|
+
:type undo: typing.Optional[bool]
|
|
3161
|
+
'''
|
|
3162
|
+
|
|
3163
|
+
...
|
|
3164
|
+
|
|
3165
|
+
|
|
3166
|
+
def select_less(
|
|
3167
|
+
override_context: typing.Optional[
|
|
3168
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3169
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3170
|
+
undo: typing.Optional[bool] = None,
|
|
3171
|
+
*,
|
|
3172
|
+
use_face_step: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
3173
|
+
''' Deselect vertices, edges or faces at the boundary of each selection region
|
|
3174
|
+
|
|
3175
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3176
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3177
|
+
:type undo: typing.Optional[bool]
|
|
3178
|
+
:param use_face_step: Face Step, Connected faces (instead of edges)
|
|
3179
|
+
:type use_face_step: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3180
|
+
'''
|
|
3181
|
+
|
|
3182
|
+
...
|
|
3183
|
+
|
|
3184
|
+
|
|
3185
|
+
def select_linked(
|
|
3186
|
+
override_context: typing.Optional[
|
|
3187
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3188
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3189
|
+
undo: typing.Optional[bool] = None,
|
|
3190
|
+
*,
|
|
3191
|
+
delimit: typing.Optional[typing.Any] = {'SEAM'}):
|
|
3192
|
+
''' Select all vertices connected to the current selection
|
|
3193
|
+
|
|
3194
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3195
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3196
|
+
:type undo: typing.Optional[bool]
|
|
3197
|
+
:param delimit: Delimit, Delimit selected region
|
|
3198
|
+
:type delimit: typing.Optional[typing.Any]
|
|
3199
|
+
'''
|
|
3200
|
+
|
|
3201
|
+
...
|
|
3202
|
+
|
|
3203
|
+
|
|
3204
|
+
def select_linked_pick(
|
|
3205
|
+
override_context: typing.Optional[
|
|
3206
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3207
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3208
|
+
undo: typing.Optional[bool] = None,
|
|
3209
|
+
*,
|
|
3210
|
+
deselect: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3211
|
+
delimit: typing.Optional[typing.Any] = {'SEAM'},
|
|
3212
|
+
object_index: typing.Optional[typing.Any] = -1,
|
|
3213
|
+
index: typing.Optional[typing.Any] = -1):
|
|
3214
|
+
''' (De)select all vertices linked to the edge under the mouse cursor
|
|
3215
|
+
|
|
3216
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3217
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3218
|
+
:type undo: typing.Optional[bool]
|
|
3219
|
+
:param deselect: Deselect
|
|
3220
|
+
:type deselect: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3221
|
+
:param delimit: Delimit, Delimit selected region
|
|
3222
|
+
:type delimit: typing.Optional[typing.Any]
|
|
3223
|
+
:type object_index: typing.Optional[typing.Any]
|
|
3224
|
+
:type index: typing.Optional[typing.Any]
|
|
3225
|
+
'''
|
|
3226
|
+
|
|
3227
|
+
...
|
|
3228
|
+
|
|
3229
|
+
|
|
3230
|
+
def select_loose(
|
|
3231
|
+
override_context: typing.Optional[
|
|
3232
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3233
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3234
|
+
undo: typing.Optional[bool] = None,
|
|
3235
|
+
*,
|
|
3236
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3237
|
+
''' Select loose geometry based on the selection mode
|
|
3238
|
+
|
|
3239
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3240
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3241
|
+
:type undo: typing.Optional[bool]
|
|
3242
|
+
:param extend: Extend, Extend the selection
|
|
3243
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3244
|
+
'''
|
|
3245
|
+
|
|
3246
|
+
...
|
|
3247
|
+
|
|
3248
|
+
|
|
3249
|
+
def select_mirror(
|
|
3250
|
+
override_context: typing.Optional[
|
|
3251
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3252
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3253
|
+
undo: typing.Optional[bool] = None,
|
|
3254
|
+
*,
|
|
3255
|
+
axis: typing.Optional[typing.Any] = {'X'},
|
|
3256
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3257
|
+
''' Select mesh items at mirrored locations
|
|
3258
|
+
|
|
3259
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3260
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3261
|
+
:type undo: typing.Optional[bool]
|
|
3262
|
+
:param axis: Axis
|
|
3263
|
+
:type axis: typing.Optional[typing.Any]
|
|
3264
|
+
:param extend: Extend, Extend the existing selection
|
|
3265
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3266
|
+
'''
|
|
3267
|
+
|
|
3268
|
+
...
|
|
3269
|
+
|
|
3270
|
+
|
|
3271
|
+
def select_mode(
|
|
3272
|
+
override_context: typing.Optional[
|
|
3273
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3274
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3275
|
+
undo: typing.Optional[bool] = None,
|
|
3276
|
+
*,
|
|
3277
|
+
use_extend: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3278
|
+
use_expand: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3279
|
+
type: typing.Optional[typing.Union[str, int]] = 'VERT',
|
|
3280
|
+
action: typing.Optional[typing.Any] = 'TOGGLE'):
|
|
3281
|
+
''' Change selection mode
|
|
3282
|
+
|
|
3283
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3284
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3285
|
+
:type undo: typing.Optional[bool]
|
|
3286
|
+
:param use_extend: Extend
|
|
3287
|
+
:type use_extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3288
|
+
:param use_expand: Expand
|
|
3289
|
+
:type use_expand: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3290
|
+
:param type: Type
|
|
3291
|
+
:type type: typing.Optional[typing.Union[str, int]]
|
|
3292
|
+
:param action: Action, Selection action to execute * ``DISABLE`` Disable -- Disable selected markers. * ``ENABLE`` Enable -- Enable selected markers. * ``TOGGLE`` Toggle -- Toggle disabled flag for selected markers.
|
|
3293
|
+
:type action: typing.Optional[typing.Any]
|
|
3294
|
+
'''
|
|
3295
|
+
|
|
3296
|
+
...
|
|
3297
|
+
|
|
3298
|
+
|
|
3299
|
+
def select_more(
|
|
3300
|
+
override_context: typing.Optional[
|
|
3301
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3302
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3303
|
+
undo: typing.Optional[bool] = None,
|
|
3304
|
+
*,
|
|
3305
|
+
use_face_step: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
3306
|
+
''' Select more vertices, edges or faces connected to initial selection
|
|
3307
|
+
|
|
3308
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3309
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3310
|
+
:type undo: typing.Optional[bool]
|
|
3311
|
+
:param use_face_step: Face Step, Connected faces (instead of edges)
|
|
3312
|
+
:type use_face_step: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3313
|
+
'''
|
|
3314
|
+
|
|
3315
|
+
...
|
|
3316
|
+
|
|
3317
|
+
|
|
3318
|
+
def select_next_item(
|
|
3319
|
+
override_context: typing.Optional[
|
|
3320
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3321
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3322
|
+
undo: typing.Optional[bool] = None):
|
|
3323
|
+
''' Select the next element (using selection order) :File: `startup/bl_operators/mesh.py\:199 <https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/mesh.py#L199>`__
|
|
3324
|
+
|
|
3325
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3326
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3327
|
+
:type undo: typing.Optional[bool]
|
|
3328
|
+
'''
|
|
3329
|
+
|
|
3330
|
+
...
|
|
3331
|
+
|
|
3332
|
+
|
|
3333
|
+
def select_non_manifold(
|
|
3334
|
+
override_context: typing.Optional[
|
|
3335
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3336
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3337
|
+
undo: typing.Optional[bool] = None,
|
|
3338
|
+
*,
|
|
3339
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3340
|
+
use_wire: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3341
|
+
use_boundary: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3342
|
+
use_multi_face: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3343
|
+
use_non_contiguous: typing.Optional[typing.Union[bool, typing.
|
|
3344
|
+
Any]] = True,
|
|
3345
|
+
use_verts: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
3346
|
+
''' Select all non-manifold vertices or edges
|
|
3347
|
+
|
|
3348
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3349
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3350
|
+
:type undo: typing.Optional[bool]
|
|
3351
|
+
:param extend: Extend, Extend the selection
|
|
3352
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3353
|
+
:param use_wire: Wire, Wire edges
|
|
3354
|
+
:type use_wire: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3355
|
+
:param use_boundary: Boundaries, Boundary edges
|
|
3356
|
+
:type use_boundary: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3357
|
+
:param use_multi_face: Multiple Faces, Edges shared by more than two faces
|
|
3358
|
+
:type use_multi_face: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3359
|
+
:param use_non_contiguous: Non Contiguous, Edges between faces pointing in alternate directions
|
|
3360
|
+
:type use_non_contiguous: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3361
|
+
:param use_verts: Vertices, Vertices connecting multiple face regions
|
|
3362
|
+
:type use_verts: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3363
|
+
'''
|
|
3364
|
+
|
|
3365
|
+
...
|
|
3366
|
+
|
|
3367
|
+
|
|
3368
|
+
def select_nth(
|
|
3369
|
+
override_context: typing.Optional[
|
|
3370
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3371
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3372
|
+
undo: typing.Optional[bool] = None,
|
|
3373
|
+
*,
|
|
3374
|
+
skip: typing.Optional[typing.Any] = 1,
|
|
3375
|
+
nth: typing.Optional[typing.Any] = 1,
|
|
3376
|
+
offset: typing.Optional[typing.Any] = 0):
|
|
3377
|
+
''' Deselect every Nth element starting from the active vertex, edge or face
|
|
3378
|
+
|
|
3379
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3380
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3381
|
+
:type undo: typing.Optional[bool]
|
|
3382
|
+
:param skip: Deselected, Number of deselected elements in the repetitive sequence
|
|
3383
|
+
:type skip: typing.Optional[typing.Any]
|
|
3384
|
+
:param nth: Selected, Number of selected elements in the repetitive sequence
|
|
3385
|
+
:type nth: typing.Optional[typing.Any]
|
|
3386
|
+
:param offset: Offset, Offset from the starting point
|
|
3387
|
+
:type offset: typing.Optional[typing.Any]
|
|
3388
|
+
'''
|
|
3389
|
+
|
|
3390
|
+
...
|
|
3391
|
+
|
|
3392
|
+
|
|
3393
|
+
def select_prev_item(
|
|
3394
|
+
override_context: typing.Optional[
|
|
3395
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3396
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3397
|
+
undo: typing.Optional[bool] = None):
|
|
3398
|
+
''' Select the previous element (using selection order) :File: `startup/bl_operators/mesh.py\:224 <https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/mesh.py#L224>`__
|
|
3399
|
+
|
|
3400
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3401
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3402
|
+
:type undo: typing.Optional[bool]
|
|
3403
|
+
'''
|
|
3404
|
+
|
|
3405
|
+
...
|
|
3406
|
+
|
|
3407
|
+
|
|
3408
|
+
def select_random(
|
|
3409
|
+
override_context: typing.Optional[
|
|
3410
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3411
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3412
|
+
undo: typing.Optional[bool] = None,
|
|
3413
|
+
*,
|
|
3414
|
+
ratio: typing.Optional[typing.Any] = 0.5,
|
|
3415
|
+
seed: typing.Optional[typing.Any] = 0,
|
|
3416
|
+
action: typing.Optional[typing.Any] = 'SELECT'):
|
|
3417
|
+
''' Randomly select vertices
|
|
3418
|
+
|
|
3419
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3420
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3421
|
+
:type undo: typing.Optional[bool]
|
|
3422
|
+
:param ratio: Ratio, Portion of items to select randomly
|
|
3423
|
+
:type ratio: typing.Optional[typing.Any]
|
|
3424
|
+
:param seed: Random Seed, Seed for the random number generator
|
|
3425
|
+
:type seed: typing.Optional[typing.Any]
|
|
3426
|
+
:param action: Action, Selection action to execute * ``SELECT`` Select -- Select all elements. * ``DESELECT`` Deselect -- Deselect all elements.
|
|
3427
|
+
:type action: typing.Optional[typing.Any]
|
|
3428
|
+
'''
|
|
3429
|
+
|
|
3430
|
+
...
|
|
3431
|
+
|
|
3432
|
+
|
|
3433
|
+
def select_similar(
|
|
3434
|
+
override_context: typing.Optional[
|
|
3435
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3436
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3437
|
+
undo: typing.Optional[bool] = None,
|
|
3438
|
+
*,
|
|
3439
|
+
type: typing.Optional[typing.Any] = 'VERT_NORMAL',
|
|
3440
|
+
compare: typing.Optional[typing.Any] = 'EQUAL',
|
|
3441
|
+
threshold: typing.Optional[typing.Any] = 0.0):
|
|
3442
|
+
''' Select similar vertices, edges or faces by property types
|
|
3443
|
+
|
|
3444
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3445
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3446
|
+
:type undo: typing.Optional[bool]
|
|
3447
|
+
:param type: Type
|
|
3448
|
+
:type type: typing.Optional[typing.Any]
|
|
3449
|
+
:param compare: Compare
|
|
3450
|
+
:type compare: typing.Optional[typing.Any]
|
|
3451
|
+
:param threshold: Threshold
|
|
3452
|
+
:type threshold: typing.Optional[typing.Any]
|
|
3453
|
+
'''
|
|
3454
|
+
|
|
3455
|
+
...
|
|
3456
|
+
|
|
3457
|
+
|
|
3458
|
+
def select_similar_region(
|
|
3459
|
+
override_context: typing.Optional[
|
|
3460
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3461
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3462
|
+
undo: typing.Optional[bool] = None):
|
|
3463
|
+
''' Select similar face regions to the current selection
|
|
3464
|
+
|
|
3465
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3466
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3467
|
+
:type undo: typing.Optional[bool]
|
|
3468
|
+
'''
|
|
3469
|
+
|
|
3470
|
+
...
|
|
3471
|
+
|
|
3472
|
+
|
|
3473
|
+
def select_ungrouped(
|
|
3474
|
+
override_context: typing.Optional[
|
|
3475
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3476
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3477
|
+
undo: typing.Optional[bool] = None,
|
|
3478
|
+
*,
|
|
3479
|
+
extend: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3480
|
+
''' Select vertices without a group
|
|
3481
|
+
|
|
3482
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3483
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3484
|
+
:type undo: typing.Optional[bool]
|
|
3485
|
+
:param extend: Extend, Extend the selection
|
|
3486
|
+
:type extend: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3487
|
+
'''
|
|
3488
|
+
|
|
3489
|
+
...
|
|
3490
|
+
|
|
3491
|
+
|
|
3492
|
+
def separate(override_context: typing.Optional[
|
|
3493
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3494
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3495
|
+
undo: typing.Optional[bool] = None,
|
|
3496
|
+
*,
|
|
3497
|
+
type: typing.Optional[typing.Any] = 'SELECTED'):
|
|
3498
|
+
''' Separate selected geometry into a new mesh
|
|
3499
|
+
|
|
3500
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3501
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3502
|
+
:type undo: typing.Optional[bool]
|
|
3503
|
+
:param type: Type
|
|
3504
|
+
:type type: typing.Optional[typing.Any]
|
|
3505
|
+
'''
|
|
3506
|
+
|
|
3507
|
+
...
|
|
3508
|
+
|
|
3509
|
+
|
|
3510
|
+
def set_normals_from_faces(
|
|
3511
|
+
override_context: typing.Optional[
|
|
3512
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3513
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3514
|
+
undo: typing.Optional[bool] = None,
|
|
3515
|
+
*,
|
|
3516
|
+
keep_sharp: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3517
|
+
''' Set the custom normals from the selected faces ones
|
|
3518
|
+
|
|
3519
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3520
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3521
|
+
:type undo: typing.Optional[bool]
|
|
3522
|
+
:param keep_sharp: Keep Sharp Edges, Do not set sharp edges to face
|
|
3523
|
+
:type keep_sharp: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3524
|
+
'''
|
|
3525
|
+
|
|
3526
|
+
...
|
|
3527
|
+
|
|
3528
|
+
|
|
3529
|
+
def shape_propagate_to_all(
|
|
3530
|
+
override_context: typing.Optional[
|
|
3531
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3532
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3533
|
+
undo: typing.Optional[bool] = None):
|
|
3534
|
+
''' Apply selected vertex locations to all other shape keys
|
|
3535
|
+
|
|
3536
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3537
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3538
|
+
:type undo: typing.Optional[bool]
|
|
3539
|
+
'''
|
|
3540
|
+
|
|
3541
|
+
...
|
|
3542
|
+
|
|
3543
|
+
|
|
3544
|
+
def shortest_path_pick(
|
|
3545
|
+
override_context: typing.Optional[
|
|
3546
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3547
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3548
|
+
undo: typing.Optional[bool] = None,
|
|
3549
|
+
*,
|
|
3550
|
+
edge_mode: typing.Optional[typing.Any] = 'SELECT',
|
|
3551
|
+
use_face_step: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3552
|
+
use_topology_distance: typing.Optional[typing.Union[bool, typing.
|
|
3553
|
+
Any]] = False,
|
|
3554
|
+
use_fill: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3555
|
+
skip: typing.Optional[typing.Any] = 0,
|
|
3556
|
+
nth: typing.Optional[typing.Any] = 1,
|
|
3557
|
+
offset: typing.Optional[typing.Any] = 0,
|
|
3558
|
+
index: typing.Optional[typing.Any] = -1):
|
|
3559
|
+
''' Select shortest path between two selections
|
|
3560
|
+
|
|
3561
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3562
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3563
|
+
:type undo: typing.Optional[bool]
|
|
3564
|
+
:param edge_mode: Edge Tag, The edge flag to tag when selecting the shortest path
|
|
3565
|
+
:type edge_mode: typing.Optional[typing.Any]
|
|
3566
|
+
:param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
|
|
3567
|
+
:type use_face_step: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3568
|
+
:param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance
|
|
3569
|
+
:type use_topology_distance: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3570
|
+
:param use_fill: Fill Region, Select all paths between the source/destination elements
|
|
3571
|
+
:type use_fill: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3572
|
+
:param skip: Deselected, Number of deselected elements in the repetitive sequence
|
|
3573
|
+
:type skip: typing.Optional[typing.Any]
|
|
3574
|
+
:param nth: Selected, Number of selected elements in the repetitive sequence
|
|
3575
|
+
:type nth: typing.Optional[typing.Any]
|
|
3576
|
+
:param offset: Offset, Offset from the starting point
|
|
3577
|
+
:type offset: typing.Optional[typing.Any]
|
|
3578
|
+
:type index: typing.Optional[typing.Any]
|
|
3579
|
+
'''
|
|
3580
|
+
|
|
3581
|
+
...
|
|
3582
|
+
|
|
3583
|
+
|
|
3584
|
+
def shortest_path_select(
|
|
3585
|
+
override_context: typing.Optional[
|
|
3586
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3587
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3588
|
+
undo: typing.Optional[bool] = None,
|
|
3589
|
+
*,
|
|
3590
|
+
edge_mode: typing.Optional[typing.Any] = 'SELECT',
|
|
3591
|
+
use_face_step: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3592
|
+
use_topology_distance: typing.Optional[typing.Union[bool, typing.
|
|
3593
|
+
Any]] = False,
|
|
3594
|
+
use_fill: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3595
|
+
skip: typing.Optional[typing.Any] = 0,
|
|
3596
|
+
nth: typing.Optional[typing.Any] = 1,
|
|
3597
|
+
offset: typing.Optional[typing.Any] = 0):
|
|
3598
|
+
''' Selected shortest path between two vertices/edges/faces
|
|
3599
|
+
|
|
3600
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3601
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3602
|
+
:type undo: typing.Optional[bool]
|
|
3603
|
+
:param edge_mode: Edge Tag, The edge flag to tag when selecting the shortest path
|
|
3604
|
+
:type edge_mode: typing.Optional[typing.Any]
|
|
3605
|
+
:param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
|
|
3606
|
+
:type use_face_step: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3607
|
+
:param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance
|
|
3608
|
+
:type use_topology_distance: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3609
|
+
:param use_fill: Fill Region, Select all paths between the source/destination elements
|
|
3610
|
+
:type use_fill: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3611
|
+
:param skip: Deselected, Number of deselected elements in the repetitive sequence
|
|
3612
|
+
:type skip: typing.Optional[typing.Any]
|
|
3613
|
+
:param nth: Selected, Number of selected elements in the repetitive sequence
|
|
3614
|
+
:type nth: typing.Optional[typing.Any]
|
|
3615
|
+
:param offset: Offset, Offset from the starting point
|
|
3616
|
+
:type offset: typing.Optional[typing.Any]
|
|
3617
|
+
'''
|
|
3618
|
+
|
|
3619
|
+
...
|
|
3620
|
+
|
|
3621
|
+
|
|
3622
|
+
def smooth_normals(
|
|
3623
|
+
override_context: typing.Optional[
|
|
3624
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3625
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3626
|
+
undo: typing.Optional[bool] = None,
|
|
3627
|
+
*,
|
|
3628
|
+
factor: typing.Optional[typing.Any] = 0.5):
|
|
3629
|
+
''' Smooth custom normals based on adjacent vertex normals
|
|
3630
|
+
|
|
3631
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3632
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3633
|
+
:type undo: typing.Optional[bool]
|
|
3634
|
+
:param factor: Factor, Specifies weight of smooth vs original normal
|
|
3635
|
+
:type factor: typing.Optional[typing.Any]
|
|
3636
|
+
'''
|
|
3637
|
+
|
|
3638
|
+
...
|
|
3639
|
+
|
|
3640
|
+
|
|
3641
|
+
def solidify(override_context: typing.Optional[
|
|
3642
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3643
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3644
|
+
undo: typing.Optional[bool] = None,
|
|
3645
|
+
*,
|
|
3646
|
+
thickness: typing.Optional[typing.Any] = 0.01):
|
|
3647
|
+
''' Create a solid skin by extruding, compensating for sharp angles
|
|
3648
|
+
|
|
3649
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3650
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3651
|
+
:type undo: typing.Optional[bool]
|
|
3652
|
+
:param thickness: Thickness
|
|
3653
|
+
:type thickness: typing.Optional[typing.Any]
|
|
3654
|
+
'''
|
|
3655
|
+
|
|
3656
|
+
...
|
|
3657
|
+
|
|
3658
|
+
|
|
3659
|
+
def sort_elements(
|
|
3660
|
+
override_context: typing.Optional[
|
|
3661
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3662
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3663
|
+
undo: typing.Optional[bool] = None,
|
|
3664
|
+
*,
|
|
3665
|
+
type: typing.Optional[typing.Any] = 'VIEW_ZAXIS',
|
|
3666
|
+
elements: typing.Optional[typing.Any] = {'VERT'},
|
|
3667
|
+
reverse: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3668
|
+
seed: typing.Optional[typing.Any] = 0):
|
|
3669
|
+
''' The order of selected vertices/edges/faces is modified, based on a given method
|
|
3670
|
+
|
|
3671
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3672
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3673
|
+
:type undo: typing.Optional[bool]
|
|
3674
|
+
:param type: Type, Type of reordering operation to apply * ``VIEW_ZAXIS`` View Z Axis -- Sort selected elements from farthest to nearest one in current view. * ``VIEW_XAXIS`` View X Axis -- Sort selected elements from left to right one in current view. * ``CURSOR_DISTANCE`` Cursor Distance -- Sort selected elements from nearest to farthest from 3D cursor. * ``MATERIAL`` Material -- Sort selected faces from smallest to greatest material index. * ``SELECTED`` Selected -- Move all selected elements in first places, preserving their relative order. Warning: This will affect unselected elements' indices as well. * ``RANDOMIZE`` Randomize -- Randomize order of selected elements. * ``REVERSE`` Reverse -- Reverse current order of selected elements.
|
|
3675
|
+
:type type: typing.Optional[typing.Any]
|
|
3676
|
+
:param elements: Elements, Which elements to affect (vertices, edges and/or faces)
|
|
3677
|
+
:type elements: typing.Optional[typing.Any]
|
|
3678
|
+
:param reverse: Reverse, Reverse the sorting effect
|
|
3679
|
+
:type reverse: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3680
|
+
:param seed: Seed, Seed for random-based operations
|
|
3681
|
+
:type seed: typing.Optional[typing.Any]
|
|
3682
|
+
'''
|
|
3683
|
+
|
|
3684
|
+
...
|
|
3685
|
+
|
|
3686
|
+
|
|
3687
|
+
def spin(
|
|
3688
|
+
override_context: typing.Optional[
|
|
3689
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3690
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3691
|
+
undo: typing.Optional[bool] = None,
|
|
3692
|
+
*,
|
|
3693
|
+
steps: typing.Optional[typing.Any] = 12,
|
|
3694
|
+
dupli: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3695
|
+
angle: typing.Optional[typing.Any] = 1.5708,
|
|
3696
|
+
use_auto_merge: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3697
|
+
use_normal_flip: typing.Optional[typing.Union[bool, typing.
|
|
3698
|
+
Any]] = False,
|
|
3699
|
+
center: typing.Optional[typing.Any] = (0.0, 0.0, 0.0),
|
|
3700
|
+
axis: typing.Optional[typing.Any] = (0.0, 0.0, 0.0)):
|
|
3701
|
+
''' Extrude selected vertices in a circle around the cursor in indicated viewport
|
|
3702
|
+
|
|
3703
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3704
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3705
|
+
:type undo: typing.Optional[bool]
|
|
3706
|
+
:param steps: Steps, Steps
|
|
3707
|
+
:type steps: typing.Optional[typing.Any]
|
|
3708
|
+
:param dupli: Use Duplicates
|
|
3709
|
+
:type dupli: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3710
|
+
:param angle: Angle, Rotation for each step
|
|
3711
|
+
:type angle: typing.Optional[typing.Any]
|
|
3712
|
+
:param use_auto_merge: Auto Merge, Merge first/last when the angle is a full revolution
|
|
3713
|
+
:type use_auto_merge: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3714
|
+
:param use_normal_flip: Flip Normals
|
|
3715
|
+
:type use_normal_flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3716
|
+
:param center: Center, Center in global view space
|
|
3717
|
+
:type center: typing.Optional[typing.Any]
|
|
3718
|
+
:param axis: Axis, Axis in global view space
|
|
3719
|
+
:type axis: typing.Optional[typing.Any]
|
|
3720
|
+
'''
|
|
3721
|
+
|
|
3722
|
+
...
|
|
3723
|
+
|
|
3724
|
+
|
|
3725
|
+
def split(override_context: typing.Optional[
|
|
3726
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3727
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3728
|
+
undo: typing.Optional[bool] = None):
|
|
3729
|
+
''' Split off selected geometry from connected unselected geometry
|
|
3730
|
+
|
|
3731
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3732
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3733
|
+
:type undo: typing.Optional[bool]
|
|
3734
|
+
'''
|
|
3735
|
+
|
|
3736
|
+
...
|
|
3737
|
+
|
|
3738
|
+
|
|
3739
|
+
def split_normals(
|
|
3740
|
+
override_context: typing.Optional[
|
|
3741
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3742
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3743
|
+
undo: typing.Optional[bool] = None):
|
|
3744
|
+
''' Split custom normals of selected vertices
|
|
3745
|
+
|
|
3746
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3747
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3748
|
+
:type undo: typing.Optional[bool]
|
|
3749
|
+
'''
|
|
3750
|
+
|
|
3751
|
+
...
|
|
3752
|
+
|
|
3753
|
+
|
|
3754
|
+
def subdivide(
|
|
3755
|
+
override_context: typing.Optional[
|
|
3756
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3757
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3758
|
+
undo: typing.Optional[bool] = None,
|
|
3759
|
+
*,
|
|
3760
|
+
number_cuts: typing.Optional[typing.Any] = 1,
|
|
3761
|
+
smoothness: typing.Optional[typing.Any] = 0.0,
|
|
3762
|
+
ngon: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
3763
|
+
quadcorner: typing.Optional[typing.Any] = 'STRAIGHT_CUT',
|
|
3764
|
+
fractal: typing.Optional[typing.Any] = 0.0,
|
|
3765
|
+
fractal_along_normal: typing.Optional[typing.Any] = 0.0,
|
|
3766
|
+
seed: typing.Optional[typing.Any] = 0):
|
|
3767
|
+
''' Subdivide selected edges
|
|
3768
|
+
|
|
3769
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3770
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3771
|
+
:type undo: typing.Optional[bool]
|
|
3772
|
+
:param number_cuts: Number of Cuts
|
|
3773
|
+
:type number_cuts: typing.Optional[typing.Any]
|
|
3774
|
+
:param smoothness: Smoothness, Smoothness factor
|
|
3775
|
+
:type smoothness: typing.Optional[typing.Any]
|
|
3776
|
+
:param ngon: Create N-Gons, When disabled, newly created faces are limited to 3 and 4 sided faces
|
|
3777
|
+
:type ngon: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3778
|
+
:param quadcorner: Quad Corner Type, How to subdivide quad corners (anything other than Straight Cut will prevent n-gons)
|
|
3779
|
+
:type quadcorner: typing.Optional[typing.Any]
|
|
3780
|
+
:param fractal: Fractal, Fractal randomness factor
|
|
3781
|
+
:type fractal: typing.Optional[typing.Any]
|
|
3782
|
+
:param fractal_along_normal: Along Normal, Apply fractal displacement along normal only
|
|
3783
|
+
:type fractal_along_normal: typing.Optional[typing.Any]
|
|
3784
|
+
:param seed: Random Seed, Seed for the random number generator
|
|
3785
|
+
:type seed: typing.Optional[typing.Any]
|
|
3786
|
+
'''
|
|
3787
|
+
|
|
3788
|
+
...
|
|
3789
|
+
|
|
3790
|
+
|
|
3791
|
+
def subdivide_edgering(
|
|
3792
|
+
override_context: typing.Optional[
|
|
3793
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3794
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3795
|
+
undo: typing.Optional[bool] = None,
|
|
3796
|
+
*,
|
|
3797
|
+
number_cuts: typing.Optional[typing.Any] = 10,
|
|
3798
|
+
interpolation: typing.Optional[typing.Any] = 'PATH',
|
|
3799
|
+
smoothness: typing.Optional[typing.Any] = 1.0,
|
|
3800
|
+
profile_shape_factor: typing.Optional[typing.Any] = 0.0,
|
|
3801
|
+
profile_shape: typing.Optional[typing.Union[str, int]] = 'SMOOTH'):
|
|
3802
|
+
''' Subdivide perpendicular edges to the selected edge-ring
|
|
3803
|
+
|
|
3804
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3805
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3806
|
+
:type undo: typing.Optional[bool]
|
|
3807
|
+
:param number_cuts: Number of Cuts
|
|
3808
|
+
:type number_cuts: typing.Optional[typing.Any]
|
|
3809
|
+
:param interpolation: Interpolation, Interpolation method
|
|
3810
|
+
:type interpolation: typing.Optional[typing.Any]
|
|
3811
|
+
:param smoothness: Smoothness, Smoothness factor
|
|
3812
|
+
:type smoothness: typing.Optional[typing.Any]
|
|
3813
|
+
:param profile_shape_factor: Profile Factor, How much intermediary new edges are shrunk/expanded
|
|
3814
|
+
:type profile_shape_factor: typing.Optional[typing.Any]
|
|
3815
|
+
:param profile_shape: Profile Shape, Shape of the profile
|
|
3816
|
+
:type profile_shape: typing.Optional[typing.Union[str, int]]
|
|
3817
|
+
'''
|
|
3818
|
+
|
|
3819
|
+
...
|
|
3820
|
+
|
|
3821
|
+
|
|
3822
|
+
def symmetrize(
|
|
3823
|
+
override_context: typing.Optional[
|
|
3824
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3825
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3826
|
+
undo: typing.Optional[bool] = None,
|
|
3827
|
+
*,
|
|
3828
|
+
direction: typing.Optional[typing.Union[str, int]] = 'NEGATIVE_X',
|
|
3829
|
+
threshold: typing.Optional[typing.Any] = 0.0001):
|
|
3830
|
+
''' Enforce symmetry (both form and topological) across an axis
|
|
3831
|
+
|
|
3832
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3833
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3834
|
+
:type undo: typing.Optional[bool]
|
|
3835
|
+
:param direction: Direction, Which sides to copy from and to
|
|
3836
|
+
:type direction: typing.Optional[typing.Union[str, int]]
|
|
3837
|
+
:param threshold: Threshold, Limit for snap middle vertices to the axis center
|
|
3838
|
+
:type threshold: typing.Optional[typing.Any]
|
|
3839
|
+
'''
|
|
3840
|
+
|
|
3841
|
+
...
|
|
3842
|
+
|
|
3843
|
+
|
|
3844
|
+
def symmetry_snap(
|
|
3845
|
+
override_context: typing.Optional[
|
|
3846
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3847
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3848
|
+
undo: typing.Optional[bool] = None,
|
|
3849
|
+
*,
|
|
3850
|
+
direction: typing.Optional[typing.Union[str, int]] = 'NEGATIVE_X',
|
|
3851
|
+
threshold: typing.Optional[typing.Any] = 0.05,
|
|
3852
|
+
factor: typing.Optional[typing.Any] = 0.5,
|
|
3853
|
+
use_center: typing.Optional[typing.Union[bool, typing.Any]] = True):
|
|
3854
|
+
''' Snap vertex pairs to their mirrored locations
|
|
3855
|
+
|
|
3856
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3857
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3858
|
+
:type undo: typing.Optional[bool]
|
|
3859
|
+
:param direction: Direction, Which sides to copy from and to
|
|
3860
|
+
:type direction: typing.Optional[typing.Union[str, int]]
|
|
3861
|
+
:param threshold: Threshold, Distance within which matching vertices are searched
|
|
3862
|
+
:type threshold: typing.Optional[typing.Any]
|
|
3863
|
+
:param factor: Factor, Mix factor of the locations of the vertices
|
|
3864
|
+
:type factor: typing.Optional[typing.Any]
|
|
3865
|
+
:param use_center: Center, Snap middle vertices to the axis center
|
|
3866
|
+
:type use_center: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3867
|
+
'''
|
|
3868
|
+
|
|
3869
|
+
...
|
|
3870
|
+
|
|
3871
|
+
|
|
3872
|
+
def tris_convert_to_quads(
|
|
3873
|
+
override_context: typing.Optional[
|
|
3874
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3875
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3876
|
+
undo: typing.Optional[bool] = None,
|
|
3877
|
+
*,
|
|
3878
|
+
face_threshold: typing.Optional[typing.Any] = 0.698132,
|
|
3879
|
+
shape_threshold: typing.Optional[typing.Any] = 0.698132,
|
|
3880
|
+
uvs: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3881
|
+
vcols: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3882
|
+
seam: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3883
|
+
sharp: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
3884
|
+
materials: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3885
|
+
''' Join triangles into quads
|
|
3886
|
+
|
|
3887
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3888
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3889
|
+
:type undo: typing.Optional[bool]
|
|
3890
|
+
:param face_threshold: Max Face Angle, Face angle limit
|
|
3891
|
+
:type face_threshold: typing.Optional[typing.Any]
|
|
3892
|
+
:param shape_threshold: Max Shape Angle, Shape angle limit
|
|
3893
|
+
:type shape_threshold: typing.Optional[typing.Any]
|
|
3894
|
+
:param uvs: Compare UVs
|
|
3895
|
+
:type uvs: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3896
|
+
:param vcols: Compare VCols
|
|
3897
|
+
:type vcols: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3898
|
+
:param seam: Compare Seam
|
|
3899
|
+
:type seam: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3900
|
+
:param sharp: Compare Sharp
|
|
3901
|
+
:type sharp: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3902
|
+
:param materials: Compare Materials
|
|
3903
|
+
:type materials: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3904
|
+
'''
|
|
3905
|
+
|
|
3906
|
+
...
|
|
3907
|
+
|
|
3908
|
+
|
|
3909
|
+
def unsubdivide(
|
|
3910
|
+
override_context: typing.Optional[
|
|
3911
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3912
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3913
|
+
undo: typing.Optional[bool] = None,
|
|
3914
|
+
*,
|
|
3915
|
+
iterations: typing.Optional[typing.Any] = 2):
|
|
3916
|
+
''' Un-subdivide selected edges and faces
|
|
3917
|
+
|
|
3918
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3919
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3920
|
+
:type undo: typing.Optional[bool]
|
|
3921
|
+
:param iterations: Iterations, Number of times to un-subdivide
|
|
3922
|
+
:type iterations: typing.Optional[typing.Any]
|
|
3923
|
+
'''
|
|
3924
|
+
|
|
3925
|
+
...
|
|
3926
|
+
|
|
3927
|
+
|
|
3928
|
+
def uv_texture_add(
|
|
3929
|
+
override_context: typing.Optional[
|
|
3930
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3931
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3932
|
+
undo: typing.Optional[bool] = None):
|
|
3933
|
+
''' Add UV map
|
|
3934
|
+
|
|
3935
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3936
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3937
|
+
:type undo: typing.Optional[bool]
|
|
3938
|
+
'''
|
|
3939
|
+
|
|
3940
|
+
...
|
|
3941
|
+
|
|
3942
|
+
|
|
3943
|
+
def uv_texture_remove(
|
|
3944
|
+
override_context: typing.Optional[
|
|
3945
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3946
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3947
|
+
undo: typing.Optional[bool] = None):
|
|
3948
|
+
''' Remove UV map
|
|
3949
|
+
|
|
3950
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3951
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3952
|
+
:type undo: typing.Optional[bool]
|
|
3953
|
+
'''
|
|
3954
|
+
|
|
3955
|
+
...
|
|
3956
|
+
|
|
3957
|
+
|
|
3958
|
+
def uvs_reverse(
|
|
3959
|
+
override_context: typing.Optional[
|
|
3960
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3961
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3962
|
+
undo: typing.Optional[bool] = None):
|
|
3963
|
+
''' Flip direction of UV coordinates inside faces
|
|
3964
|
+
|
|
3965
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3966
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3967
|
+
:type undo: typing.Optional[bool]
|
|
3968
|
+
'''
|
|
3969
|
+
|
|
3970
|
+
...
|
|
3971
|
+
|
|
3972
|
+
|
|
3973
|
+
def uvs_rotate(
|
|
3974
|
+
override_context: typing.Optional[
|
|
3975
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3976
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3977
|
+
undo: typing.Optional[bool] = None,
|
|
3978
|
+
*,
|
|
3979
|
+
use_ccw: typing.Optional[typing.Union[bool, typing.Any]] = False):
|
|
3980
|
+
''' Rotate UV coordinates inside faces
|
|
3981
|
+
|
|
3982
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
3983
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
3984
|
+
:type undo: typing.Optional[bool]
|
|
3985
|
+
:param use_ccw: Counter Clockwise
|
|
3986
|
+
:type use_ccw: typing.Optional[typing.Union[bool, typing.Any]]
|
|
3987
|
+
'''
|
|
3988
|
+
|
|
3989
|
+
...
|
|
3990
|
+
|
|
3991
|
+
|
|
3992
|
+
def vert_connect(
|
|
3993
|
+
override_context: typing.Optional[
|
|
3994
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
3995
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
3996
|
+
undo: typing.Optional[bool] = None):
|
|
3997
|
+
''' Connect selected vertices of faces, splitting the face
|
|
3998
|
+
|
|
3999
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4000
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4001
|
+
:type undo: typing.Optional[bool]
|
|
4002
|
+
'''
|
|
4003
|
+
|
|
4004
|
+
...
|
|
4005
|
+
|
|
4006
|
+
|
|
4007
|
+
def vert_connect_concave(
|
|
4008
|
+
override_context: typing.Optional[
|
|
4009
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4010
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4011
|
+
undo: typing.Optional[bool] = None):
|
|
4012
|
+
''' Make all faces convex
|
|
4013
|
+
|
|
4014
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4015
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4016
|
+
:type undo: typing.Optional[bool]
|
|
4017
|
+
'''
|
|
4018
|
+
|
|
4019
|
+
...
|
|
4020
|
+
|
|
4021
|
+
|
|
4022
|
+
def vert_connect_nonplanar(
|
|
4023
|
+
override_context: typing.Optional[
|
|
4024
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4025
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4026
|
+
undo: typing.Optional[bool] = None,
|
|
4027
|
+
*,
|
|
4028
|
+
angle_limit: typing.Optional[typing.Any] = 0.0872665):
|
|
4029
|
+
''' Split non-planar faces that exceed the angle threshold
|
|
4030
|
+
|
|
4031
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4032
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4033
|
+
:type undo: typing.Optional[bool]
|
|
4034
|
+
:param angle_limit: Max Angle, Angle limit
|
|
4035
|
+
:type angle_limit: typing.Optional[typing.Any]
|
|
4036
|
+
'''
|
|
4037
|
+
|
|
4038
|
+
...
|
|
4039
|
+
|
|
4040
|
+
|
|
4041
|
+
def vert_connect_path(
|
|
4042
|
+
override_context: typing.Optional[
|
|
4043
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4044
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4045
|
+
undo: typing.Optional[bool] = None):
|
|
4046
|
+
''' Connect vertices by their selection order, creating edges, splitting faces
|
|
4047
|
+
|
|
4048
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4049
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4050
|
+
:type undo: typing.Optional[bool]
|
|
4051
|
+
'''
|
|
4052
|
+
|
|
4053
|
+
...
|
|
4054
|
+
|
|
4055
|
+
|
|
4056
|
+
def vertices_smooth(
|
|
4057
|
+
override_context: typing.Optional[
|
|
4058
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4059
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4060
|
+
undo: typing.Optional[bool] = None,
|
|
4061
|
+
*,
|
|
4062
|
+
factor: typing.Optional[typing.Any] = 0.0,
|
|
4063
|
+
repeat: typing.Optional[typing.Any] = 1,
|
|
4064
|
+
xaxis: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4065
|
+
yaxis: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4066
|
+
zaxis: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4067
|
+
wait_for_input: typing.Optional[typing.Union[bool, typing.
|
|
4068
|
+
Any]] = True):
|
|
4069
|
+
''' Flatten angles of selected vertices
|
|
4070
|
+
|
|
4071
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4072
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4073
|
+
:type undo: typing.Optional[bool]
|
|
4074
|
+
:param factor: Smoothing, Smoothing factor
|
|
4075
|
+
:type factor: typing.Optional[typing.Any]
|
|
4076
|
+
:param repeat: Repeat, Number of times to smooth the mesh
|
|
4077
|
+
:type repeat: typing.Optional[typing.Any]
|
|
4078
|
+
:param xaxis: X-Axis, Smooth along the X axis
|
|
4079
|
+
:type xaxis: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4080
|
+
:param yaxis: Y-Axis, Smooth along the Y axis
|
|
4081
|
+
:type yaxis: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4082
|
+
:param zaxis: Z-Axis, Smooth along the Z axis
|
|
4083
|
+
:type zaxis: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4084
|
+
:param wait_for_input: Wait for Input
|
|
4085
|
+
:type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4086
|
+
'''
|
|
4087
|
+
|
|
4088
|
+
...
|
|
4089
|
+
|
|
4090
|
+
|
|
4091
|
+
def vertices_smooth_laplacian(
|
|
4092
|
+
override_context: typing.Optional[
|
|
4093
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4094
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4095
|
+
undo: typing.Optional[bool] = None,
|
|
4096
|
+
*,
|
|
4097
|
+
repeat: typing.Optional[typing.Any] = 1,
|
|
4098
|
+
lambda_factor: typing.Optional[typing.Any] = 1.0,
|
|
4099
|
+
lambda_border: typing.Optional[typing.Any] = 5e-05,
|
|
4100
|
+
use_x: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4101
|
+
use_y: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4102
|
+
use_z: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4103
|
+
preserve_volume: typing.Optional[typing.Union[bool, typing.
|
|
4104
|
+
Any]] = True):
|
|
4105
|
+
''' Laplacian smooth of selected vertices
|
|
4106
|
+
|
|
4107
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4108
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4109
|
+
:type undo: typing.Optional[bool]
|
|
4110
|
+
:param repeat: Number of iterations to smooth the mesh
|
|
4111
|
+
:type repeat: typing.Optional[typing.Any]
|
|
4112
|
+
:param lambda_factor: Lambda factor
|
|
4113
|
+
:type lambda_factor: typing.Optional[typing.Any]
|
|
4114
|
+
:param lambda_border: Lambda factor in border
|
|
4115
|
+
:type lambda_border: typing.Optional[typing.Any]
|
|
4116
|
+
:param use_x: Smooth X Axis, Smooth object along X axis
|
|
4117
|
+
:type use_x: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4118
|
+
:param use_y: Smooth Y Axis, Smooth object along Y axis
|
|
4119
|
+
:type use_y: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4120
|
+
:param use_z: Smooth Z Axis, Smooth object along Z axis
|
|
4121
|
+
:type use_z: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4122
|
+
:param preserve_volume: Preserve Volume, Apply volume preservation after smooth
|
|
4123
|
+
:type preserve_volume: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4124
|
+
'''
|
|
4125
|
+
|
|
4126
|
+
...
|
|
4127
|
+
|
|
4128
|
+
|
|
4129
|
+
def wireframe(
|
|
4130
|
+
override_context: typing.Optional[
|
|
4131
|
+
typing.Union[typing.Dict, 'bpy.types.Context']] = None,
|
|
4132
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
4133
|
+
undo: typing.Optional[bool] = None,
|
|
4134
|
+
*,
|
|
4135
|
+
use_boundary: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4136
|
+
use_even_offset: typing.Optional[typing.Union[bool, typing.
|
|
4137
|
+
Any]] = True,
|
|
4138
|
+
use_relative_offset: typing.Optional[typing.Union[bool, typing.
|
|
4139
|
+
Any]] = False,
|
|
4140
|
+
use_replace: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
4141
|
+
thickness: typing.Optional[typing.Any] = 0.01,
|
|
4142
|
+
offset: typing.Optional[typing.Any] = 0.01,
|
|
4143
|
+
use_crease: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
4144
|
+
crease_weight: typing.Optional[typing.Any] = 0.01):
|
|
4145
|
+
''' Create a solid wireframe from faces
|
|
4146
|
+
|
|
4147
|
+
:type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
|
|
4148
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
4149
|
+
:type undo: typing.Optional[bool]
|
|
4150
|
+
:param use_boundary: Boundary, Inset face boundaries
|
|
4151
|
+
:type use_boundary: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4152
|
+
:param use_even_offset: Offset Even, Scale the offset to give more even thickness
|
|
4153
|
+
:type use_even_offset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4154
|
+
:param use_relative_offset: Offset Relative, Scale the offset by surrounding geometry
|
|
4155
|
+
:type use_relative_offset: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4156
|
+
:param use_replace: Replace, Remove original faces
|
|
4157
|
+
:type use_replace: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4158
|
+
:param thickness: Thickness
|
|
4159
|
+
:type thickness: typing.Optional[typing.Any]
|
|
4160
|
+
:param offset: Offset
|
|
4161
|
+
:type offset: typing.Optional[typing.Any]
|
|
4162
|
+
:param use_crease: Crease, Crease hub edges for an improved subdivision surface
|
|
4163
|
+
:type use_crease: typing.Optional[typing.Union[bool, typing.Any]]
|
|
4164
|
+
:param crease_weight: Crease Weight
|
|
4165
|
+
:type crease_weight: typing.Optional[typing.Any]
|
|
4166
|
+
'''
|
|
4167
|
+
|
|
4168
|
+
...
|