if pocket_contour:pocket parallel offset as o.dist

pull/273/head
abosafia 2024-09-28 07:36:05 +03:00
rodzic 9e39b0e806
commit e5dd559ab6
3 zmienionych plików z 16 dodań i 16 usunięć

Wyświetl plik

@ -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()

Wyświetl plik

@ -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()

Wyświetl plik

@ -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()