diff --git a/src/Mod/Draft/draftobjects/shapestring.py b/src/Mod/Draft/draftobjects/shapestring.py index 3a13b6343a..ef624bb9e9 100644 --- a/src/Mod/Draft/draftobjects/shapestring.py +++ b/src/Mod/Draft/draftobjects/shapestring.py @@ -159,6 +159,10 @@ class ShapeString(DraftObject): if fill and obj.Fuse: ss_shape = shapes[0].fuse(shapes[1:]) ss_shape = faces.concatenate(ss_shape) + # Concatenate returns a Face or a Compound. We always + # need a Compound as we use ss_shape.SubShapes later. + if ss_shape.ShapeType == "Face": + ss_shape = Part.Compound([ss_shape]) else: ss_shape = Part.Compound(shapes) cap_char = Part.makeWireString("M", obj.FontFile, obj.Size, obj.Tracking)[0]