Como definir um ID exclusivo para cada componente dentro do mesmo projeto

I need to create an attribute where each component that already contains a specific attribute creates a unique ID for each component. Would it be possible to make a script for this?

Será que alguel aqui da comunidade ja fez isso, estou precisando utilizar informações de atributos aninhados e não estou cinseguindo.

Most drawing elements in SketchUp are automatically given a unique ID.
This persists across sessions.
https://ruby.sketchup.com/Sketchup/Entity.html#persistent_id-instance_method
So you could use that with your DC code ?

Another way would be to add an attribute based on a ‘time-stamp’ - if it wasn’t already set ?
stamp = Time.now.to_f # as a float

It depends on what you want and your starting position…

A maioria dos elementos de desenho no SketchUp recebe automaticamente um ID exclusivo.
Isso persiste entre as sessões.
https://ruby.sketchup.com/Sketchup/Entity.html#persistent_id-instance_method
Então você poderia usar isso com seu código DC?

Outra maneira seria adicionar um atributo baseado em um ‘carimbo de data e hora’ - se ainda não estivesse definido?
stamp = Time.now.to_f # como um float

Depende do que você quer e da sua posição inicial…

2 Likes

Consegui resolver usando essa abordagem mais confesso que queria algo que organizasse todos os componentes aninhados para herdar somente o ID pai quando determinado em algum atributo como categoria MDF, assim todas as usinagens contidas no agrupamento herdaria o mesmo ID do pai, a assim consigo atribuir a usinagem no meu DB.

ruby

          if int_cat == "Usinagem"
            int_id = int_id_pai
          else
            int_id = componente.persistent_id.to_s
            int_id_pai = int_id if pega_att(componente, 'int_id')
          end

          csv << [nome_componente, material_componente, intprocess, int_mod, quantity, int_cat, int_desc, int_comp, int_larg, int_esp, int_mat, int_c1, int_c2, int_l1, int_l2, int_veio, int_obs, int_codus, int_cordus, int_id]
        end

Assim eu exporto como .csv e processo para meu modelo de fabricação para criação de moveis.