Google sketchup dxf export

2

Como posso escrever entidades de texto em um arquivo dxf?

Encontrei um script que pode exportar desenhos do Sketchup para arquivos dxf, mas estava ignorando camadas e texto. Eu o corrijo para que ele produza a camada correta, mas não consigo descobrir como obtê-lo para produzir o texto.

Eu tenho isso a ponto de aparecer uma mensagem quando se deparar com uma entidade de texto na coleção de entidades, mas não sei como fazer com que ela grave no arquivo corretamente.

    
por Tester101 27.08.2009 / 16:25

1 resposta

0
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
    
por 07.09.2009 / 19:53