- more work in Film Plugin, in the ratio skew feature
This commit is contained in:
@@ -18,6 +18,7 @@ CHANGELOG for FlatCAM beta
|
||||
- `skew` feature in Film Plugin now have multiple options. `skew` can be done by length, by angle and by ratio (factor)
|
||||
- fixed an issue when importing GCode which made the loaded GCode object un-plotable
|
||||
- fixed Film Plugin not using the set value in Preferences for the `skew type`
|
||||
- more work in Film Plugin, in the `ratio` skew feature
|
||||
|
||||
9.03.2022
|
||||
|
||||
|
||||
@@ -1106,16 +1106,16 @@ class Film(AppTool):
|
||||
else: # "ratio"
|
||||
|
||||
if skew_factor_x and not skew_factor_y:
|
||||
future_x = (xmax - xmin) * skew_factor_x
|
||||
future_x = (xmax - xmin) * skew_factor_x - (xmax - xmin)
|
||||
skew_angle_x = math.degrees(math.atan2(future_x, (ymax - ymin)))
|
||||
skew_angle_y = 0.0
|
||||
elif not skew_factor_x and skew_factor_y:
|
||||
future_y = (ymax - ymin) * skew_factor_y
|
||||
future_y = (ymax - ymin) * skew_factor_y - (ymax - ymin)
|
||||
skew_angle_x = 0.0
|
||||
skew_angle_y = math.degrees(math.atan2(future_y, (xmax - xmin)))
|
||||
else:
|
||||
future_x = (xmax - xmin) * skew_factor_x
|
||||
future_y = (ymax - ymin) * skew_factor_y
|
||||
future_x = (xmax - xmin) * skew_factor_x - (xmax - xmin)
|
||||
future_y = (ymax - ymin) * skew_factor_y - (ymax - ymin)
|
||||
skew_angle_x = math.degrees(math.atan2(future_x, (ymax - ymin)))
|
||||
skew_angle_y = math.degrees(math.atan2(future_y, (xmax - xmin)))
|
||||
else:
|
||||
@@ -1142,16 +1142,16 @@ class Film(AppTool):
|
||||
skew_angle_y = skew_factor_y
|
||||
else: # "ratio"
|
||||
if skew_factor_x and not skew_factor_y:
|
||||
future_x = (xmax - xmin) * skew_factor_x
|
||||
future_x = (xmax - xmin) * skew_factor_x - (xmax - xmin)
|
||||
skew_angle_x = math.degrees(math.atan2(future_x, ((ymax - ymin) * 0.5)))
|
||||
skew_angle_y = 0.0
|
||||
elif not skew_factor_x and skew_factor_y:
|
||||
future_y = (ymax - ymin) * skew_factor_y
|
||||
future_y = (ymax - ymin) * skew_factor_y - (ymax - ymin)
|
||||
skew_angle_x = 0.0
|
||||
skew_angle_y = math.degrees(math.atan2(future_y, ((xmax - xmin) * 0.5)))
|
||||
else:
|
||||
future_x = (xmax - xmin) * skew_factor_x
|
||||
future_y = (ymax - ymin) * skew_factor_y
|
||||
future_x = (xmax - xmin) * skew_factor_x - (xmax - xmin)
|
||||
future_y = (ymax - ymin) * skew_factor_y - (ymax - ymin)
|
||||
skew_angle_x = math.degrees(math.atan2(future_x, ((ymax - ymin) * 0.5)))
|
||||
skew_angle_y = math.degrees(math.atan2(future_y, ((xmax - xmin) * 0.5)))
|
||||
transformed_geo = affinity.skew(transformed_geo, skew_angle_x, skew_angle_y, origin=ref_skew_val)
|
||||
|
||||
Reference in New Issue
Block a user