From e5dd559ab63327da5aa1a38249b3dc61c547d64d Mon Sep 17 00:00:00 2001 From: abosafia Date: Sat, 28 Sep 2024 07:36:05 +0300 Subject: [PATCH] if pocket_contour:pocket parallel offset as o.dist --- scripts/addons/cam/curvecamcreate.py | 2 +- scripts/addons/cam/curvecamtools.py | 8 ++++---- scripts/addons/cam/strategy.py | 22 +++++++++++----------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/scripts/addons/cam/curvecamcreate.py b/scripts/addons/cam/curvecamcreate.py index fd5c07e4..bdf82798 100644 --- a/scripts/addons/cam/curvecamcreate.py +++ b/scripts/addons/cam/curvecamcreate.py @@ -52,7 +52,7 @@ def generate_crosshatch(context, angle, distance, offset, pocket_shape, ob = Non bpy.context.view_layer.objects.active = ob ob.select_set(True) if ob.data.splines and ob.data.splines[0].type == 'BEZIER': - bpy.ops.object.curve_remove_doubles(merg_distance=0.0001, keep_bezier=True) + bpy.ops.object.curve_remove_doubles(merge_distance=0.0001, keep_bezier=True) else: bpy.ops.object.curve_remove_doubles() diff --git a/scripts/addons/cam/curvecamtools.py b/scripts/addons/cam/curvecamtools.py index d9ec6845..53709156 100644 --- a/scripts/addons/cam/curvecamtools.py +++ b/scripts/addons/cam/curvecamtools.py @@ -587,7 +587,7 @@ class CamCurveRemoveDoubles(Operator): bl_options = {'REGISTER', 'UNDO'} - merg_distance: FloatProperty( + merge_distance: FloatProperty( name="Merge distance", default=0.0001, min=0.0, @@ -617,7 +617,7 @@ class CamCurveRemoveDoubles(Operator): if bpy.context.mode == 'OBJECT': bpy.ops.object.editmode_toggle() bpy.ops.curve.select_all() - bpy.ops.curve.remove_double(distance=self.merg_distance) + bpy.ops.curve.remove_double(distance=self.merge_distance) bpy.ops.object.editmode_toggle() else: if bpy.context.mode == 'EDIT_CURVE': @@ -625,7 +625,7 @@ class CamCurveRemoveDoubles(Operator): bpy.ops.object.convert(target='MESH') bpy.ops.object.editmode_toggle() bpy.ops.mesh.select_all(action='SELECT') - bpy.ops.mesh.remove_doubles(threshold= self.merg_distance) + bpy.ops.mesh.remove_doubles(threshold= self.merge_distance) bpy.ops.object.editmode_toggle() bpy.ops.object.convert(target='CURVE') @@ -840,7 +840,7 @@ class CamOffsetSilhouete(Operator): if ob.type == 'CURVE': if ob.data.splines and ob.data.splines[0].type == 'BEZIER': bpy.context.object.data.resolution_u = 64 - bpy.ops.object.curve_remove_doubles(merg_distance=0.0001, keep_bezier=True) + bpy.ops.object.curve_remove_doubles(merge_distance=0.0001, keep_bezier=True) else: bpy.ops.object.curve_remove_doubles() diff --git a/scripts/addons/cam/strategy.py b/scripts/addons/cam/strategy.py index 2e5c05dc..61248a18 100644 --- a/scripts/addons/cam/strategy.py +++ b/scripts/addons/cam/strategy.py @@ -123,7 +123,7 @@ async def cutout(o): if ob.type == 'CURVE': if ob.data.splines and ob.data.splines[0].type == 'BEZIER': activate(ob) - bpy.ops.object.curve_remove_doubles(distance=0.0001, keep_bezier=True) + bpy.ops.object.curve_remove_doubles(merge_distance=0.0001, keep_bezier=True) else: bpy.ops.object.curve_remove_doubles() #make sure all polylines are at least three points long @@ -444,30 +444,30 @@ async def pocket(o): if ob.type == 'CURVE': if ob.data.splines and ob.data.splines[0].type == 'BEZIER': activate(ob) - bpy.ops.object.curve_remove_doubles(merg_distance=0.0001, keep_bezier=True) + bpy.ops.object.curve_remove_doubles(merge_distance=0.0001, keep_bezier=True) else: bpy.ops.object.curve_remove_doubles() chunksFromCurve = [] angle = radians(o.parallelPocketAngle) distance = o.dist_between_paths - p_l_offset= -c_offset*1.2 + offset= -c_offset pocket_shape = "" n_angle= angle-pi/2 if o.pocketType == 'PARALLEL': - crosshatch_result = generate_crosshatch(bpy.context, angle, distance, p_l_offset, pocket_shape, c_ob) + if o.parallelPocketContour: + offset= -(c_offset+distance) + p = getObjectOutline(c_offset, o, False) + nchunks = shapelyToChunks(p, o.min.z) + chunksFromCurve.extend(nchunks) + crosshatch_result = generate_crosshatch(bpy.context, angle, distance, offset, pocket_shape, c_ob) nchunks = shapelyToChunks(crosshatch_result, o.min.z) chunksFromCurve.extend(nchunks) if o.parallelPocketCrosshatch: - crosshatch_result = generate_crosshatch(bpy.context, n_angle, distance, p_l_offset, pocket_shape, c_ob) + crosshatch_result = generate_crosshatch(bpy.context, n_angle, distance, offset, pocket_shape, c_ob) nchunks = shapelyToChunks(crosshatch_result, o.min.z) chunksFromCurve.extend(nchunks) - if o.parallelPocketContour: - p = getObjectOutline(c_offset, o, False) - nchunks = shapelyToChunks(p, o.min.z) - chunksFromCurve.extend(nchunks) - else: p = getObjectOutline(c_offset, o, False) approxn = (min(o.max.x - o.min.x, o.max.y - o.min.y) / o.dist_between_paths) / 2 @@ -823,7 +823,7 @@ async def medial_axis(o): if ob.type == 'CURVE': if ob.data.splines and ob.data.splines[0].type == 'BEZIER': activate(ob) - bpy.ops.object.curve_remove_doubles(merg_distance=0.0001, keep_bezier=True) + bpy.ops.object.curve_remove_doubles(merge_distance=0.0001, keep_bezier=True) else: bpy.ops.object.curve_remove_doubles()