Maniphest T101524

Python Code randomly generates "infinite" faces - non-deterministically
Closed, Archived

Assigned To
None
Authored By
Jack (BobbingForTurnips)
Oct 1 2022, 2:16 PM
Tags
  • BF Blender
  • Python API
Subscribers
Hans Goudey (HooglyBoogly)
Iliya Katueshenock (Moder)
Jack (BobbingForTurnips)

Description

System Information
Operating system: Debian Linux 11.5
Graphics card: (Embedded) AMD Ryzen 5 PRO 4650GE with Radeon Graphics

Blender Version
Broken: 3.3.0
Worked: Unknown (none found)

Short description of error
Python code produces non-deterministic (i.e. random) cubes, editing those cubes crashes Blender.

Exact steps for others to reproduce the error
Either:
a) open the attached .blend file, press play on the python script and you should get a number of blocks. Some of these blocks should have "infinite" faces (this is the random part, maybe 10% of the time it works fine).
b) Editing one of those infinite blocks crashes blender

-or-
a) Start blender, delete everything in the default scene
b)paste the below python into the scripting window (obviously between the START/END tags)

START

import bpy
import numpy
import math
import pprint

length, width, height

block_dimensions = (0.5, 0.1, 0.224) # porotherm

def lay_block_course(start_point, end_point, height):

#wall_length = math.dist(start_point, end_point)
block_length = block_dimensions[0]
pp = pprint.PrettyPrinter(indent=4)

verts = [(0,0,0), (0,1,0), (1,1,0), (1,0,0), (0,0,1), (0,1,1), (1,1,1), (1,0,1)]
pp.pprint(verts)
faces = [(0,1,2,3), (7,6,5,4), (0,4,5,1), (1,5,6,2), (2,6,7,3), (3,7,4,9)]

mesh = bpy.data.meshes.new("Block0")

object = bpy.data.objects.new("Block0", mesh)
object.location = (start_point)
bpy.context.collection.objects.link(object)

mesh.from_pydata(verts,[],faces)
bpy.data.objects["Block0"].select_set(True)
bpy.ops.transform.resize(value=block_dimensions)
brick0 = bpy.data.objects["Block0"]
current_brick      = brick0.copy()
current_brick.data = brick0.data.copy()

for i in range (0,15):
    new_obj      = current_brick.copy()
    new_obj.data = current_brick.data.copy()
    new_obj.animation_data_clear()
    new_obj.location.x += block_length
    bpy.context.collection.objects.link(new_obj)
    current_brick      = new_obj.copy()
    current_brick.data = new_obj.data.copy()

wall0 = (10,10,10)
wall1 = (1,1,1)
height = 2.4
lay_block_course(wall0, wall1, height)

END

c) Then continue with the steps as per first options{F13602277}

Event Timeline

Jack (BobbingForTurnips) created this task.Oct 1 2022, 2:16 PM
Iliya Katueshenock (Moder) added a project: Python API.Oct 1 2022, 2:31 PM
Iliya Katueshenock (Moder) added a subscriber: Iliya Katueshenock (Moder).

I am not an expert in api and what you are using.
So I'll explain what I see:
mesh.from_pydata(verts,[],faces)
Polygons cannot be without edges.
This stack shows that the blender crashes when updating the mesh you created when entering the edit mod. Namely, when checking edges for a polygon.

Stack trace:
blender.exe         :0x00007FF6F6310E60  bli_windows_system_backtrace_stack_thread F:\Blender_build\first\blender\source\blender\blenlib\intern\system_win32.c:219
blender.exe         :0x00007FF6F630FF60  BLI_windows_system_backtrace_stack F:\Blender_build\first\blender\source\blender\blenlib\intern\system_win32.c:306
blender.exe         :0x00007FF6F630F960  BLI_system_backtrace F:\Blender_build\first\blender\source\blender\blenlib\intern\system_win32.c:372
blender.exe         :0x00007FF6F63156C0  _BLI_assert_print_backtrace F:\Blender_build\first\blender\source\blender\blenlib\intern\BLI_assert.c:36
blender.exe         :0x00007FF6EA130A50  blender::Array<BMVert *,4,blender::GuardedAllocator>::operator[] F:\Blender_build\first\blender\source\blender\blenlib\BLI_array.hh:198
blender.exe         :0x00007FF6EA136770  BM_mesh_bm_from_me F:\Blender_build\first\blender\source\blender\bmesh\intern\bmesh_mesh_convert.cc:327
blender.exe         :0x00007FF6E972FF10  BKE_mesh_to_bmesh_ex F:\Blender_build\first\blender\source\blender\blenkernel\intern\mesh.cc:1091
blender.exe         :0x00007FF6E972FE00  BKE_mesh_to_bmesh F:\Blender_build\first\blender\source\blender\blenkernel\intern\mesh.cc:1106
blender.exe         :0x00007FF6EBC82890  EDBM_mesh_make F:\Blender_build\first\blender\source\blender\editors\mesh\editmesh_utils.c:274
blender.exe         :0x00007FF6EBD36C40  ED_object_editmode_enter_ex F:\Blender_build\first\blender\source\blender\editors\object\object_edit.c:768
blender.exe         :0x00007FF6EBD397F0  editmode_toggle_exec F:\Blender_build\first\blender\source\blender\editors\object\object_edit.c:865
blender.exe         :0x00007FF6EA02A240  wm_operator_invoke F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:1455
blender.exe         :0x00007FF6EA028DF0  wm_operator_call_internal F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:1649
blender.exe         :0x00007FF6EA02EBD0  WM_operator_name_call_ptr F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:1698
blender.exe         :0x00007FF6EBD93F50  ED_object_mode_set_ex F:\Blender_build\first\blender\source\blender\editors\object\object_modes.c:221
blender.exe         :0x00007FF6EBD3BEF0  object_mode_set_exec F:\Blender_build\first\blender\source\blender\editors\object\object_edit.c:1734
blender.exe         :0x00007FF6EA02A240  wm_operator_invoke F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:1455
blender.exe         :0x00007FF6EA025160  wm_handler_operator_call F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:2478
blender.exe         :0x00007FF6EA0287D0  wm_handlers_do_keymap_with_keymap_handler F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:2870
blender.exe         :0x00007FF6EA0279A0  wm_handlers_do_intern F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:3196
blender.exe         :0x00007FF6EA025EB0  wm_handlers_do F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:3334
blender.exe         :0x00007FF6EA020E50  wm_event_do_region_handlers F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:3754
blender.exe         :0x00007FF6EA020D10  wm_event_do_handlers_area_regions F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:3784
blender.exe         :0x00007FF6EA0330B0  wm_event_do_handlers F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm_event_system.cc:3979
blender.exe         :0x00007FF6E9FFB190  WM_main F:\Blender_build\first\blender\source\blender\windowmanager\intern\wm.c:643
blender.exe         :0x00007FF6E706E5F0  main F:\Blender_build\first\blender\source\creator\creator.c:579
blender.exe         :0x00007FF6F69626A0  invoke_main d:\a01\_work\20\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79
blender.exe         :0x00007FF6F6962490  __scrt_common_main_seh d:\a01\_work\20\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
blender.exe         :0x00007FF6F6962470  __scrt_common_main d:\a01\_work\20\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331
blender.exe         :0x00007FF6F6962760  mainCRTStartup d:\a01\_work\20\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Threads:
Thread : 000052d4
ntdll.dll           :0x00007FFB90CF0980  ZwWaitForWorkViaWorkerFactory
ntdll.dll           :0x00007FFB90CA2680  TpReleaseCleanupGroupMembers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00001fec
ntdll.dll           :0x00007FFB90CF0980  ZwWaitForWorkViaWorkerFactory
ntdll.dll           :0x00007FFB90CA2680  TpReleaseCleanupGroupMembers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000050c4
ntdll.dll           :0x00007FFB90CF0980  ZwWaitForWorkViaWorkerFactory
ntdll.dll           :0x00007FFB90CA2680  TpReleaseCleanupGroupMembers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000300
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00005354
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00001604
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002bc4
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004744
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000208
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000f1c
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 0000448c
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002bec
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000674
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00005198
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002b70
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004b64
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00001a7c
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002a30
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000032e0
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
blender.exe         :0x00007FF6F89B30F0  IlmThread_3_1::Semaphore::wait
blender.exe         :0x00007FF6F89B2390  IlmThread_3_1::TaskGroup::Data::removeTask
blender.exe         :0x00007FF6F89B31F0  std::thread::_Invoke<std::tuple<void (__cdecl IlmThread_3_1::Thread::*)(void) __ptr64,IlmThread_3_1
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000c2c
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00001a60
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000013f4
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000718
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000039f8
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000b54
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002548
ntdll.dll           :0x00007FFB90CF0980  ZwWaitForWorkViaWorkerFactory
ntdll.dll           :0x00007FFB90CA2680  TpReleaseCleanupGroupMembers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000050dc
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
nvoglv64.dll        :0x00007FFB2B701C00  DrvValidateVersion
nvoglv64.dll        :0x00007FFB2B48F73C  Symbols not available


Thread : 00001478
ntdll.dll           :0x00007FFB90CEDA80  ZwWaitForMultipleObjects
KERNELBASE.dll      :0x00007FFB8E50CAD0  WaitForMultipleObjectsEx
KERNELBASE.dll      :0x00007FFB8E50CAB0  WaitForMultipleObjects
nvoglv64.dll        :0x00007FFB2B737770  DrvPresentBuffers
nvoglv64.dll        :0x00007FFB2B737770  DrvPresentBuffers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00001014
win32u.dll          :0x00007FFB8E3EA0F0  NtUserMsgWaitForMultipleObjectsEx
USER32.dll          :0x00007FFB905306F0  MsgWaitForMultipleObjectsEx
nvoglv64.dll        :0x00007FFB2B701C00  DrvValidateVersion
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00000b4c
ntdll.dll           :0x00007FFB90CF0980  ZwWaitForWorkViaWorkerFactory
ntdll.dll           :0x00007FFB90CA2680  TpReleaseCleanupGroupMembers
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004094
ntdll.dll           :0x00007FFB90CEDA80  ZwWaitForMultipleObjects
KERNELBASE.dll      :0x00007FFB8E50CAD0  WaitForMultipleObjectsEx
combase.dll         :0x00007FFB9012A260  CoRevokeInitializeSpy
combase.dll         :0x00007FFB9012A260  CoRevokeInitializeSpy
combase.dll         :0x00007FFB9012A260  CoRevokeInitializeSpy
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004d00
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
Wintab32.dll        :0x00007FFB66D52050  hn_wintab_OnTimeout
Wintab32.dll        :0x00007FFB66D52050  hn_wintab_OnTimeout
Wintab32.dll        :0x00007FFB66D52050  hn_wintab_OnTimeout
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 0000443c
win32u.dll          :0x00007FFB8E3EA0F0  NtUserMsgWaitForMultipleObjectsEx
USER32.dll          :0x00007FFB905306F0  MsgWaitForMultipleObjectsEx
directmanipulation.dll:0x00007FFB727A458B  Symbols not available


Thread : 000032bc
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004024
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004874
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00003df8
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00002b80
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000031b0
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 00004778
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000029b4
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Thread : 000036fc
ntdll.dll           :0x00007FFB90CECFB0  NtWaitForSingleObject
KERNELBASE.dll      :0x00007FFB8E4E1A40  WaitForSingleObjectEx
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
tbb_debug.dll       :0x00007FFB84672176  tbb::spin_rw_mutex_v3::internal_release_writer
ucrtbased.dll       :0x00007FFB69204B90  register_onexit_function
KERNEL32.DLL        :0x00007FFB8FFD7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFB90CA2630  RtlUserThreadStart


Loaded Modules :
0x00007FF6DD760000 3.4.0.0              blender.exe F:\Blender_build\first\ninja_build_debug\source\creator\Debug\blender_private.pdb
0x00007FFB90C50000 10.0.19041.1806      ntdll.dll
0x00007FFB8FFC0000 10.0.19041.1806      KERNEL32.DLL
0x00007FFB8E4C0000 10.0.19041.1826      KERNELBASE.dll
0x00007FFB90080000 10.0.19041.546       WS2_32.dll
0x00007FFB8F480000 10.0.19041.1806      RPCRT4.dll
0x00007FFB84670000                      tbb_debug.dll
0x00007FFB90510000 10.0.19041.1503      USER32.dll
0x00007FFB8E3E0000 10.0.19041.1826      win32u.dll
0x00007FFB90940000 10.0.19041.1620      GDI32.dll
0x00007FFB8E890000 10.0.19041.1706      gdi32full.dll
0x00007FFB8E340000 10.0.19041.789       msvcp_win.dll
0x00007FFB8E790000 10.0.19041.789       ucrtbase.dll
0x00007FFB90A80000 10.0.19041.1682      ADVAPI32.dll
0x00007FFB839A0000 14.30.30708.0        VCRUNTIME140D.dll
0x00007FFB8B1A0000 14.30.30708.0        VCRUNTIME140_1D.dll
0x00007FFB6F590000 14.30.30708.0        MSVCP140D.dll
0x00007FFB8EDC0000 7.0.19041.546        msvcrt.dll
0x00007FFB90840000 10.0.19041.1586      sechost.dll
0x00007FFB8F7A0000 10.0.19041.1806      SHELL32.dll
0x00007FFB69190000 10.0.19041.685       ucrtbased.dll
0x00007FFB908E0000 10.0.19041.1706      SHLWAPI.dll
0x00007FFB8EC50000 10.0.19041.1023      bcrypt.dll
0x00007FFB82690000 10.0.19041.867       dbghelp.dll
0x00007FFB59DE0000                      epoxy-0.dll
0x00007FFB8F670000 10.0.19041.1202      ole32.dll
0x00007FFB900F0000 10.0.19041.1741      combase.dll
0x00007FFB57550000 59.16.100.0          avformat-59.dll
0x00007FFB90830000 10.0.19041.546       PSAPI.DLL
0x00007FFB2FE90000 9.0.0.0              openvdb_d.dll
0x00007FFB90B30000 10.0.19041.1741      shcore.dll
0x00007FFB2D990000 59.18.100.0          avcodec-59.dll
0x00007FFB6F560000 59.4.100.0           avdevice-59.dll
0x00007FFB90450000 10.0.19041.546       IMM32.dll
0x00007FFB8FEF0000 10.0.19041.985       OLEAUT32.dll
0x00007FFB57370000 57.17.100.0          avutil-57.dll
0x0000000070440000 1.0.28.0             libsndfile-1.dll
0x00007FFB60360000 1.21.1.0             OpenAL32.dll
0x00007FFB684F0000 6.4.100.0            swscale-6.dll
0x00007FFB57EB0000 2.0.20.0             SDL2.dll
0x000000006ACC0000                      libgmp-10.dll
0x00007FFB84650000                      libgmpxx_d.dll
0x00007FFB4FBC0000 3.10.2150.1013       python310_d.dll
0x00007FFB8EE60000 10.0.19041.1741      SETUPAPI.dll
0x00007FFB8E9A0000 10.0.19041.1620      cfgmgr32.dll
0x00007FFB7A730000 10.0.19041.1503      dbgeng.dll
0x00007FFB84750000 6.10.19041.1110      COMCTL32.dll
0x00007FFB6F530000 10.0.19041.1         AVIFIL32.dll
0x00007FFB6F510000 14.30.30708.0        VCRUNTIME140.dll
0x00007FFB87580000 10.0.19041.546       VERSION.dll
0x00007FFB7C370000 10.0.19041.546       Secur32.dll
0x00007FFB8BF30000 10.0.19041.746       dwmapi.dll
0x00007FFB6F170000 4.3.100.0            swresample-4.dll
0x0000000070680000                      libfftw3-3.dll
0x00007FFB6CB30000 10.0.19041.1         AVICAP32.dll
0x00007FFB5E530000 14.30.30708.0        MSVCP140.dll
0x00007FFB84720000 10.0.19041.546       WINMM.dll
0x00007FFB8B180000 14.30.30708.0        VCRUNTIME140_1.dll
0x00007FFB89BB0000 10.0.19041.546       XmlLite.dll
0x00007FFB6CB00000 10.0.19041.1         MSVFW32.dll
0x00007FFB83B30000 10.0.19041.1503      dbgmodel.dll
0x00007FFB6A310000 10.0.19041.1         MSACM32.dll
0x00007FFB81B10000 10.0.19041.1         winmmbase.dll
0x00007FFB8E1C0000 10.0.19041.1586      SSPICLI.DLL
0x00007FFB690B0000                      tbbmalloc_debug.dll
0x00007FFB8C220000 10.0.19041.546       kernel.appcore.dll
0x00007FFB8C420000 10.0.19041.1806      windows.storage.dll
0x00007FFB8DBF0000 10.0.19041.1806      Wldp.dll
0x00007FFB8BCC0000 10.0.19041.1620      uxtheme.dll
0x00007FFB8E9F0000 10.0.19041.1415      bcryptPrimitives.dll
0x00007FFB8E210000 10.0.19041.844       profapi.dll
0x00007FFB8F5B0000 2001.12.10941.16384  clbcatq.dll
0x00007FFB88C60000 10.0.19041.1503      MMDevApi.dll
0x00007FFB8E080000 10.0.19041.1620      DEVOBJ.dll
0x00007FFB88CF0000 10.0.19041.1741      AUDIOSES.DLL
0x00007FFB8E250000 10.0.19041.546       powrprof.dll
0x00007FFB8E230000                      UMPDC.dll
0x00007FFB90710000 10.0.19041.1806      MSCTF.dll
0x00007FFB568F0000 10.0.19041.1806      OPENGL32.DLL
0x00007FFB68E60000 10.0.19041.1806      GLU32.dll
0x00007FFB88F50000 10.0.19041.1620      AppXDeploymentClient.dll
0x00007FFB2A9D0000 30.0.14.9649         nvoglv64.dll
0x00007FFB8A030000 10.0.19041.546       WTSAPI32.dll
0x00007FFB8DB60000 10.0.19041.546       CRYPTBASE.DLL
0x00007FFB8DF80000 10.0.19041.546       msasn1.dll
0x00007FFB87740000 10.0.19041.906       cryptnet.dll
0x00007FFB8EAF0000 10.0.19041.1320      CRYPT32.dll
0x00007FFB85FD0000 10.0.19041.1566      drvstore.dll
0x00007FFB8EA80000 10.0.19041.1806      WINTRUST.dll
0x00007FFB8D000000 10.0.19041.546       ntmarta.dll
0x00007FFB878A0000 10.0.19041.546       dxcore.dll
0x00007FFB8E020000 10.0.19041.546       WINSTA.dll
0x00007FFB7B960000 10.0.19041.1387      dataexchange.dll
0x00007FFB8A750000 10.0.19041.1741      d3d11.dll
0x00007FFB8AF80000 10.0.19041.1741      dcomp.dll
0x00007FFB8CC00000 10.0.19041.1806      dxgi.dll
0x00007FFB885C0000 10.0.19041.1806      twinapi.appcore.dll
0x00007FFB82BA0000 10.0.19041.1806      textinputframework.dll
0x00007FFB8B250000 10.0.19041.546       CoreUIComponents.dll
0x00007FFB8B930000 10.0.19041.746       CoreMessaging.dll
0x00007FFB8A190000 10.0.19041.1682      wintypes.dll
0x00007FFB81AA0000 7.2.19041.746        Oleacc.dll
0x00007FFB66D50000 1.0.0.1              Wintab32.dll
0x00007FFB6B370000 10.0.19041.1023      explorerframe.dll
0x00007FFB72790000 10.0.19041.1566      directmanipulation.dll
0x00007FFB8DF30000 10.0.19041.546       CRYPTSP.dll
0x00007FFB8D370000 10.0.19041.1052      rsaenh.dll
0x00007FFB69170000 3.10.2150.1013       python3_d.DLL
0x00007FFB4E580000                      _multiarray_umath_d.cp310-win_amd64.pyd
0x00007FFB69130000                      _multiarray_tests_d.cp310-win_amd64.pyd
0x00007FFB69100000 3.10.2150.1013       _socket_d.pyd
0x00007FFB8D6E0000 10.0.19041.546       IPHLPAPI.DLL
0x00007FFB68EA0000 3.10.2150.1013       select_d.pyd
0x00007FFB61850000 3.10.2150.1013       _ctypes_d.pyd
0x00007FFB89F40000                      libffi-7.dll
0x00007FFB4DEF0000                      _umath_linalg_d.cp310-win_amd64.pyd
0x00007FFB68460000                      _pocketfft_internal_d.cp310-win_amd64.pyd
0x00007FFB58B60000                      mtrand_d.cp310-win_amd64.pyd
0x00007FFB5BBA0000                      bit_generator_d.cp310-win_amd64.pyd
0x00007FFB5B690000                      _common_d.cp310-win_amd64.pyd
0x00007FFB67F70000 3.10.2150.1013       _hashlib_d.pyd
0x00007FFB4DBA0000 1.1.1.13             libcrypto-1_1.dll
0x00007FFB585C0000                      _bounded_integers_d.cp310-win_amd64.pyd
0x00007FFB66340000                      _mt19937_d.cp310-win_amd64.pyd
0x00007FFB60330000                      _philox_d.cp310-win_amd64.pyd
0x00007FFB5EC10000                      _pcg64_d.cp310-win_amd64.pyd
0x00007FFB673D0000                      _sfc64_d.cp310-win_amd64.pyd
0x00007FFB55860000                      _generator_d.cp310-win_amd64.pyd
BLI_assert failed: F:\Blender_build\first\blender\source\blender\blenlib\BLI_array.hh:198, operator [](), at 'index < size_'
Jack (BobbingForTurnips) added a comment.Oct 1 2022, 3:18 PM
In T101524#1426123, @Iliya Katueshenock (Moder) wrote:

So I'll explain what I see:
mesh.from_pydata(verts,[],faces)
Polygons cannot be without edges.

Wow, ok. Thanks very much. The code that causes that was from a Blender Python tutorial, so I assumed it was the right way to do things. Having looked at the docs for that specific line (thank you for highlighting) it looks like the tutorial does the wrong thing. I'll work out the edges and add them in.

Not a bug, please close, and sorry.

Iliya Katueshenock (Moder) closed this task as Archived.Oct 1 2022, 3:20 PM
Hans Goudey (HooglyBoogly) added a subscriber: Hans Goudey (HooglyBoogly).Oct 1 2022, 5:48 PM

@Jack (BobbingForTurnips) Try calling mesh.update(calc_edges=True). That might work-- Blender can calculate the edges itself, but it needs to be done before most other things.

Jack (BobbingForTurnips) added a comment.Oct 1 2022, 8:48 PM

@Hans Goudey (HooglyBoogly) Thanks - that was in the tutorial but it didn't magically fix the problem (i.e. it still produced infinite-looking faces). As part of my effort to minimise the code to reproduce the behaviour I removed the line.

For completeness, here's the working code:

import bpy
import numpy
import math
import pprint

#                  length, width, height
block_dimensions = (0.5, 0.1, 0.224)


def lay_block_course(start_point, end_point, height):
    #wall_length = math.dist(start_point, end_point)
    block_length = block_dimensions[0]
    pp = pprint.PrettyPrinter(indent=4)

    verts = [(0,0,0), (0,1,0), (1,1,0), (1,0,0), (0,0,1), (0,1,1), (1,1,1), (1,0,1)]
    edges = [(0,1), (1,2), (2,3), (3,0), (4,0), (1,5), (2,6), (3,7), (4,5), (5,6), (6,7), (7,4)]
    faces = [(0,1,2,3), (4,5,6,7), (0,4,5,1), (1,5,6,2), (2,6,7,3), (3,0,4,7)]

    mesh = bpy.data.meshes.new("Block0")

    object = bpy.data.objects.new("Block0", mesh)
    object.location = (start_point)
    bpy.context.collection.objects.link(object)

    mesh.from_pydata(verts,edges,faces)
    bpy.data.objects["Block0"].select_set(True)
    bpy.ops.transform.resize(value=block_dimensions)
    brick0 = bpy.data.objects["Block0"]
    current_brick      = brick0.copy()
    current_brick.data = brick0.data.copy()

    for i in range (0,15):
        new_obj      = current_brick.copy()
        new_obj.data = current_brick.data.copy()
        new_obj.animation_data_clear()
        new_obj.location.x += block_length
        bpy.context.collection.objects.link(new_obj)
        current_brick      = new_obj.copy()
        current_brick.data = new_obj.data.copy()


wall0 = (10,10,10)
wall1 = (1,1,1)
height = 2.4
lay_block_course(wall0, wall1, height)