Nighty3912 commited on
Commit
9981cb8
·
verified ·
1 Parent(s): 5738da0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -3
app.py CHANGED
@@ -914,17 +914,28 @@ def predict(
914
 
915
  if annotation_text.strip():
916
  if boundary_polygon is not None:
917
- text_x = ((inner_min_x + inner_max_x) / 2.0) - (int(len(annotation_text.strip()) / 2.0))
918
- text_height_dxf = 0.75
919
  text_y_dxf = boundary_polygon.bounds[1] + 0.25
920
  font = get_font_face("Arial")
 
 
921
  paths = text2path.make_paths_from_str(
922
  annotation_text.strip().upper(),
923
- font=font, # Use default font
924
  size=text_height_dxf,
925
  align=TextEntityAlignment.LEFT
926
  )
927
 
 
 
 
 
 
 
 
 
 
 
928
  # Create a translation matrix
929
  translation = ezdxf.math.Matrix44.translate(text_x, text_y_dxf, 0)
930
  # Apply the translation to each path
 
914
 
915
  if annotation_text.strip():
916
  if boundary_polygon is not None:
917
+ text_height_dxf = 0.75
 
918
  text_y_dxf = boundary_polygon.bounds[1] + 0.25
919
  font = get_font_face("Arial")
920
+
921
+ # Create text paths first
922
  paths = text2path.make_paths_from_str(
923
  annotation_text.strip().upper(),
924
+ font=font,
925
  size=text_height_dxf,
926
  align=TextEntityAlignment.LEFT
927
  )
928
 
929
+ # Calculate actual text width from the path's bounds
930
+ text_bbox = path.bbox(paths)
931
+ text_width = text_bbox[2] - text_bbox[0] # xmax - xmin
932
+
933
+ # Calculate center point of inner tool contours
934
+ center_x = (inner_min_x + inner_max_x) / 2.0
935
+
936
+ # Calculate starting x position for truly centered text
937
+ text_x = center_x - (text_width / 2.0)
938
+
939
  # Create a translation matrix
940
  translation = ezdxf.math.Matrix44.translate(text_x, text_y_dxf, 0)
941
  # Apply the translation to each path