¿Cómo puedo escribir entidades de texto en un archivo dxf?
Encontré un script que puede exportar dibujos de Sketchup a archivos dxf, desafortunadamente ignoraba capas y texto. Lo arreglé para que genere la capa adecuada, pero no puedo entender cómo hacer que genere el texto.
Lo tengo hasta el punto en que aparece un mensaje cuando encuentra una entidad de texto en la colección de entidades, pero no estoy seguro de cómo lograr que lo escriba en el archivo correctamente.
Respuesta1
def dfx_output_text
model = Sketchup.active_model
entities = model.entities
if (entities.length > 0)
$dxf_file = File.new( "test.dxf" , "w" )
i = 0
while i < (entities.count)
if(entities[i].typename == "Text")
dxf_ouput_text(entities[i])
end
i+=1
end
end
end
def dxf_ouput_text(text)
points = text.point
$dxf_file.puts( " 0\nTEXT\n1\n192\n330\n1F\n100\nAcDbEntity\n8\n"+text.layer.name+"\n")
$dxf_file.puts("100\nAcDbText\n")
if(points == nil)
$dxf_file.puts("10\n0.0\n")#x
$dxf_file.puts("20\n0.0\n")#y
$dxf_file.puts("30\n0.0\n")#z
else
$dxf_file.puts("10\n"+points.x.to_f.to_s+"\n")#x
$dxf_file.puts("20\n"+points.y.to_f.to_s+"\n")#y
$dxf_file.puts("30\n"+points.z.to_f.to_s+"\n")#z
end
$dxf_file.puts("39\n"+text.line_weight.to_s+"\n")#thickness
$dxf_file.puts("40\n"+(1).to_s+"\n")#text height
$dxf_file.puts("1\n"+text.text+"\n")#text
end