Google експортує ескіз dxf


2

Як я можу записати текстові об'єкти у dxf-файл?

Я знайшов сценарій, який може експортувати малюнки Sketchup у файли dxf, на жаль, він ігнорував шари та текст. Я виправив його, щоб він виводив належний шар, але не можу зрозуміти, як змусити його виводити текст.

Я маю це до того моменту, коли воно спливає повідомлення, коли воно стикається з текстовим об'єктом у колекції сутностей, але я не впевнений, як змусити його правильно записати його у файл.

Відповіді:


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.