Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How can I write text entities to a dxf file?

I found a script that can export Sketchup drawings to dxf files, unfortunately it was ignoring layers and text. I fixed it so it outputs the proper layer, but I cannot figure out how to get it to output the text.

I have it to the point where it pops up a message when it comes across a text entity in the entities collection, but I'm not sure how to get it to write it to the file properly.

share|improve this question

1 Answer 1

up vote 0 down vote accepted
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
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.