Exportación dxf de Google Sketchup

Exportación dxf de Google Sketchup

¿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

información relacionada