Wie kann ich Textelemente in eine DXF-Datei schreiben?
Ich habe ein Skript gefunden, das Sketchup-Zeichnungen in DXF-Dateien exportieren kann. Leider ignorierte es Ebenen und Text. Ich habe es so repariert, dass es die richtige Ebene ausgibt, aber ich kann nicht herausfinden, wie ich es dazu bringe, den Text auszugeben.
Ich habe es soweit gebracht, dass eine Meldung angezeigt wird, wenn es in der Entitätensammlung auf eine Textentität stößt, aber ich bin nicht sicher, wie ich es dazu bringe, diese richtig in die Datei zu schreiben.
Antwort1
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