Google SketchUp DXF-Export

Google SketchUp DXF-Export

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

verwandte Informationen