Why can not I get the value of the lenx, leny and lenz dynamic attributes in ruby?

As I said at the beginning:

But the new component inserted does not respond, it should redraw by adjusting to the copied values. Because it does not work?
Look at the code, do not judge me badly, I’m a beginner.

model = Sketchup.active_model
definitions = model.definitions
entities = model.active_entities
path = Sketchup.find_support_file "../../../../../../Dropbox/Modelos Dinâmicos Sketchup/Laterais/Lateral.skp", "Components"
component = definitions.load path
sel = model.selection

model.start_operation("X")

#Método buscar componentes com modelocategoria e trocar
	def get_dc_instances_replace(ents,component)
	  ents.grep(Sketchup::ComponentInstance).each do |e|
		attribut = e.get_attribute 'dynamic_attributes','modelocategoria'
		  unless attribut.nil?
			if attribut.include?("portas")
			  x = e.get_attribute 'dynamic_attributes', '_x_formula', ''.to_f
			  y = e.get_attribute 'dynamic_attributes', '_y_formula', ''.to_f
			  z = e.get_attribute 'dynamic_attributes', '_z_formula', ''.to_f
			  lenx = e.definition.get_attribute 'dynamic_attributes', '_lenx_formula', ''.to_f
			  leny = e.definition.get_attribute 'dynamic_attributes', '_leny_formula', ''.to_f
			  lenz = e.definition.get_attribute 'dynamic_attributes', '_lenz_formula', ''.to_f
			  rotx = e.get_attribute 'dynamic_attributes', '_rotx_formula', ''.to_f
			  roty = e.get_attribute 'dynamic_attributes', '_roty_formula', ''.to_f
			  rotz = e.get_attribute 'dynamic_attributes', '_rotz_formula', ''.to_f
			  mat = e.get_attribute 'dynamic_attributes', '_material_formula' ''.to_s
			  modcat = e.get_attribute 'dynamic_attributes', 'modelocategoria', ''.to_s
			  
			  # Adicionar componentes
			  transformation = Geom::Transformation.new([0,0,0])
			  componentinstance = ents.add_instance(component, transformation)
			  componentinstance.make_unique
			  componentinstance.set_attribute 'dynamic_attributes','_x_formula', x
			  componentinstance.set_attribute 'dynamic_attributes','_y_formula', y
			  componentinstance.set_attribute 'dynamic_attributes','_z_formula', z
			  componentinstance.set_attribute 'dynamic_attributes','_lenx_formula', lenx
			  componentinstance.set_attribute 'dynamic_attributes','_leny_formula', leny
			  componentinstance.set_attribute 'dynamic_attributes','_lenz_formula', lenz
			  componentinstance.set_attribute 'dynamic_attributes','_rotx_formula', rotx
			  componentinstance.set_attribute 'dynamic_attributes','_roty_formula', roty
			  componentinstance.set_attribute 'dynamic_attributes','rotz', ''
			  componentinstance.set_attribute 'dynamic_attributes','_rotz_formula', rotz
			  componentinstance.set_attribute 'dynamic_attributes','_material_formula', mat
			  componentinstance.set_attribute 'dynamic_attributes','modelocategoria', modcat
			  $dc_observers.get_latest_class.redraw(e)
			end
		  end
		get_dc_instances_replace(e.definition.entities,component)
	  end
	end

get_dc_instances_replace(sel,component)

model.commit_operation
#