Skip to content

Appears to be deleting a model then complaining it can't find it! #205

@DrMark666

Description

@DrMark666

I haven't been using this for long; however, I have processed a few files successfully, and I also have a couple (of STL files) that lock pycam up, I can see errors relating to not finding a model in collections - which I can see it deleting a little earlier.
This run, I left for some hours and got a report which says to report it, so here goes.
The STL iin use is https://www.thingiverse.com/thing:2519083 if that helps - appears OK & passes checks for slic3r OK - I've rotated it to flat before use, so it's a save from slic3r. & not the original!

I did see a vaguely similar ticket in 2017, but it's not the same.

An unexpected exception occurred: please send the text below to the developers of PyCAM. Thanks a lot!
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 36, in _process_one_line
points = get_free_paths_triangles(models, cutter, p1, p2)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/init.py", line 81, in get_free_paths_triangles
(cl1, d1, cp1) = cutter.intersect(backward, t, start=p1)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/ToroidalCutter.py", line 271, in intersect
(cl_t, d_t, cp_t) = self.intersect_circle_triangle(direction, triangle, start=start)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/BaseCutter.py", line 129, in intersect_circle_triangle
(cl, ccp, cp, d) = self.intersect_circle_plane(direction, triangle, start=start)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/ToroidalCutter.py", line 208, in intersect_circle_plane
cl = psub(cp, psub(ccp, start))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Geometry/PointUtils.py", line 92, in psub
return (a[0] - b[0], a[1] - b[1], a[2] - b[2])
TypeError: 'NoneType' object is not subscriptable
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Plugins/Tasks.py", line 261, in generate_toolpath
if new_toolpath.get_toolpath() is None:
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 292, in wrapped
return self.get_cached(inst, args, kwargs, calc_function)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 347, in get_cached
cache_item = CacheItem(time.time(), calc_function(inst, *args, **kwargs))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 237, in inner_function
result = func(self, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 1465, in get_toolpath
toolpath = task.generate_toolpath()
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 292, in wrapped
return self.get_cached(inst, args, kwargs, calc_function)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 347, in get_cached
cache_item = CacheItem(time.time(), calc_function(inst, *args, **kwargs))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 237, in inner_function
result = func(self, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 1350, in generate_toolpath
moves = path_generator.generate_toolpath(
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 77, in generate_toolpath
result = self.generate_toolpath_slice(cutter, models, layer_grid, draw_callback,
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 127, in generate_toolpath_slice
for points in run_in_parallel(_process_one_line, args, callback=progress_counter.update):
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Utils/threading.py", line 647, in run_in_parallel_local
for result in imap_func(func, args):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 868, in next
raise value
TypeError: 'NoneType' object is not subscriptable

Storing a state revision (16/20)
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 36, in _process_one_line
points = get_free_paths_triangles(models, cutter, p1, p2)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/init.py", line 81, in get_free_paths_triangles
(cl1, d1, cp1) = cutter.intersect(backward, t, start=p1)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/ToroidalCutter.py", line 271, in intersect
(cl_t, d_t, cp_t) = self.intersect_circle_triangle(direction, triangle, start=start)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/BaseCutter.py", line 129, in intersect_circle_triangle
(cl, ccp, cp, d) = self.intersect_circle_plane(direction, triangle, start=start)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Cutters/ToroidalCutter.py", line 208, in intersect_circle_plane
cl = psub(cp, psub(ccp, start))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Geometry/PointUtils.py", line 92, in psub
return (a[0] - b[0], a[1] - b[1], a[2] - b[2])
TypeError: 'NoneType' object is not subscriptable
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Plugins/OpenGLWindow.py", line 730, in paint
self.camera.position_camera()
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Plugins/OpenGLWindow.py", line 884, in position_camera
low, high = self._get_low_high_dims()
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Plugins/OpenGLWindow.py", line 768, in _get_low_high_dims
self.core.call_chain("get_draw_dimension", low, high)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Utils/events.py", line 266, in call_chain
data.func(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Plugins/OpenGLViewToolpath.py", line 55, in get_draw_dimension
tp = toolpath_dict.get_toolpath()
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 292, in wrapped
return self.get_cached(inst, args, kwargs, calc_function)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 347, in get_cached
cache_item = CacheItem(time.time(), calc_function(inst, *args, **kwargs))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 237, in inner_function
result = func(self, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 1465, in get_toolpath
toolpath = task.generate_toolpath()
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 292, in wrapped
return self.get_cached(inst, args, kwargs, calc_function)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 347, in get_cached
cache_item = CacheItem(time.time(), calc_function(inst, *args, **kwargs))
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 237, in inner_function
result = func(self, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/workspace/data_models.py", line 1350, in generate_toolpath
moves = path_generator.generate_toolpath(
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 77, in generate_toolpath
result = self.generate_toolpath_slice(cutter, models, layer_grid, draw_callback,
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/PathGenerators/PushCutter.py", line 127, in generate_toolpath_slice
for points in run_in_parallel(_process_one_line, args, callback=progress_counter.update):
File "/usr/local/lib/python3.8/dist-packages/pycam-0.7.0_pre0.606.g55e3129f-py3.8.egg/pycam/Utils/threading.py", line 647, in run_in_parallel_local
for result in imap_func(func, args):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 868, in next
raise value
TypeError: 'NoneType' object is not subscriptable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions