2016-09-19 4 views
2

В OpenSCAD я хочу, чтобы иметь возможность создать module, который принимает string, затем создайте трехмерный объект с этой строкой, встроенной в поверхность, как text. Я хочу, чтобы объект был немного больше, чем text, поэтому мне нужно знать, насколько широким является text, чтобы создать объект с соответствующим размером.Как определить ширину текста в OpenSCAD?

Я не уверен, как запросить ширину text (высота задается входной переменной), или если это возможно.

Если это невозможно, существует ли функция, которая будет принимать строку и шрифт и предсказать ширину отображаемого текста?

ответ

2

В настоящее время нет способа запросить фактический размер сгенерированной геометрии. Однако, в зависимости от модели, которая должна быть создана, может быть достаточно рассчитать приблизительную оценку и использовать scale(), чтобы соответствовать тексту в известном размере.

// Fit text into a randomly generated area 

r = rands(10, 20, 2); 
length = 3 * r[0]; 
w = r[1]; 

difference() { 
    cube([length, w, 1]); 
    color("white") 
     translate([0, w/2, 0.6]) 
      linear_extrude(1, convexity = 4) 
       resize([length, 0], auto = true) 
        text("This is a Test", valign = "center"); 
} 
+0

Используя этот ответ в качестве руководства, я создал модель, которая ограничивает ширину и высоту текстовой метки известной шириной и высотой куба. http://www.thingiverse.com/thing:2090732 – onebeartoe

 Смежные вопросы

  • Нет связанных вопросов^_^