kopia lustrzana https://github.com/vilemduha/blendercam
if pocket_contour:pocket parallel offset as o.dist
rodzic
9e39b0e806
commit
e5dd559ab6
|
@ -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()
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue