parent
65710b05ee
commit
dfd08de27d
1 changed files with 17 additions and 2 deletions
15
butils.py
15
butils.py
|
@ -678,6 +678,11 @@ def set_text_on_curve(text_properties, recursive=True):
|
||||||
if len(text_properties.text) != len(text_properties.glyphs):
|
if len(text_properties.text) != len(text_properties.glyphs):
|
||||||
regenerate = True
|
regenerate = True
|
||||||
|
|
||||||
|
# blender bug
|
||||||
|
# https://projects.blender.org/blender/blender/issues/100661
|
||||||
|
if mom.data.use_path:
|
||||||
|
regenerate = True
|
||||||
|
|
||||||
# if we regenerate.... delete objects
|
# if we regenerate.... delete objects
|
||||||
if regenerate:
|
if regenerate:
|
||||||
completely_delete_objects(glyph_objects)
|
completely_delete_objects(glyph_objects)
|
||||||
|
@ -749,7 +754,12 @@ def set_text_on_curve(text_properties, recursive=True):
|
||||||
location, tangent, spline_index = calc_point_on_bezier_curve(mom, advance, True, True)
|
location, tangent, spline_index = calc_point_on_bezier_curve(mom, advance, True, True)
|
||||||
if spline_index != previous_spline_index:
|
if spline_index != previous_spline_index:
|
||||||
is_newline = True
|
is_newline = True
|
||||||
|
|
||||||
|
if regenerate:
|
||||||
ob.location = mom.matrix_world @ (location + text_properties.translation)
|
ob.location = mom.matrix_world @ (location + text_properties.translation)
|
||||||
|
else:
|
||||||
|
ob.location = (location + text_properties.translation)
|
||||||
|
|
||||||
if not text_properties.ignore_orientation:
|
if not text_properties.ignore_orientation:
|
||||||
mask = [0]
|
mask = [0]
|
||||||
input_rotations = [mathutils.Vector((0.0, 0.0, 0.0))]
|
input_rotations = [mathutils.Vector((0.0, 0.0, 0.0))]
|
||||||
|
@ -765,7 +775,10 @@ def set_text_on_curve(text_properties, recursive=True):
|
||||||
ob.rotation_mode = 'QUATERNION'
|
ob.rotation_mode = 'QUATERNION'
|
||||||
q = mathutils.Quaternion()
|
q = mathutils.Quaternion()
|
||||||
q.rotate(text_properties.orientation)
|
q.rotate(text_properties.orientation)
|
||||||
|
if regenerate:
|
||||||
ob.rotation_quaternion = (mom.matrix_world @ motor[0] @ q.to_matrix().to_4x4()).to_quaternion()
|
ob.rotation_quaternion = (mom.matrix_world @ motor[0] @ q.to_matrix().to_4x4()).to_quaternion()
|
||||||
|
else:
|
||||||
|
ob.rotation_quaternion = (motor[0] @ q.to_matrix().to_4x4()).to_quaternion()
|
||||||
else:
|
else:
|
||||||
q = mathutils.Quaternion()
|
q = mathutils.Quaternion()
|
||||||
q.rotate(text_properties.orientation)
|
q.rotate(text_properties.orientation)
|
||||||
|
@ -812,6 +825,8 @@ def set_text_on_curve(text_properties, recursive=True):
|
||||||
|
|
||||||
if regenerate:
|
if regenerate:
|
||||||
mom.select_set(True)
|
mom.select_set(True)
|
||||||
|
# https://projects.blender.org/blender/blender/issues/100661
|
||||||
|
mom.data.use_path = False
|
||||||
mom[f"{utils.prefix()}_type"] = "textobject"
|
mom[f"{utils.prefix()}_type"] = "textobject"
|
||||||
mom[f"{utils.prefix()}_linked_textobject"] = text_properties.text_id
|
mom[f"{utils.prefix()}_linked_textobject"] = text_properties.text_id
|
||||||
mom[f"{utils.prefix()}_font_name"] = text_properties.font_name
|
mom[f"{utils.prefix()}_font_name"] = text_properties.font_name
|
||||||
|
|
Loading…
Reference in a new issue