sketchucation logo sketchucation
    • Login
    1. Home
    2. PRBO
    šŸ¤‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now
    P
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 3
    • Groups 1

    PRBO

    @PRBO

    0
    Reputation
    3
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    PRBO Unfollow Follow
    registered-users

    Latest posts made by PRBO

    • RE: Looking for a developer to help create a custom Component im

      Hi. Can I help you ?

      posted in Developers' Forum
      P
      PRBO
    • How to copy a hole component inside to another component ?

      I would like to know how to copy a hole-type component (for carpentry work) into an MDF-type component. The basic idea is: I have a hole-type component that, when applied to a surface, makes the cutout correctly. I copy it from the environment and paste it into the MDF component. However, when I do this, it does not cut via script. I have to go inside the MDF component and move the hole so that it makes the cutout. I would like to know if my scripting approach is wrong, if there is another easier way. I would like your help.

      # Default code, use or delete...
      mod = Sketchup.active_model # Open model
      ent = mod.entities # All entities in model
      sel = mod.selection # Current selection
      
      def find_subentity_by_name(parent_instance, subentity_name)
        #p parent_instance.definition.name
        if parent_instance.is_a?(Sketchup::ComponentInstance)
          p "é uma instância"
          parent_instance.definition.entities.each do |entity|
            if entity.is_a?(Sketchup::ComponentInstance)
              if entity.definition.name == subentity_name
                return entity
              end
              subentity = find_subentity_by_name(entity, subentity_name)
              return subentity if subentity  # Retorna se encontrado.
            end
          end
        end
        return nil
      end
      
      def copy_component_into(component_instance, target_instance, transformation_array)
        component_definition = component_instance.definition
        target_entities = target_instance.definition.entities
        transformation = Geom::Transformation.new(transformation_array)
        new_instance = target_entities.add_instance(component_definition, transformation) 
        puts "Component copied successfully into target component."
        return new_instance
      end
      
      def mm_p(medida)
        return medida / 25.4
      end
      
      def findInstanceByName(selecao, nome)
        selecao.each do |entity|
           #p entity.definition.name
           if (entity.definition.name == nome)
             return entity
           end
         end
      end
      
      p sel.to_a
      destino = findInstanceByName(sel, "p_r_horizontal")
      p "destino " + destino.definition.name 
      origem = findInstanceByName(sel, "quadradao_v2")
      p "origem " + origem.definition.name
      
      p_r = find_subentity_by_name(destino, "p_r")
      mdf_r = find_subentity_by_name(p_r, "mdf_r")
      
      component_instance = origem
      target_instance = mdf_r
      
      if component_instance.is_a?(Sketchup::ComponentInstance) && target_instance.is_a?(Sketchup::ComponentInstance)
        transformation_array = [
          1, 0, 0, 50,  # Primeira linha (sem rotação, translação em X)
          0, 1, 0, -50,  # Segunda linha (sem rotação, translação em Y)
          0, 0, 1, 0,    # Terceira linha (sem rotação, sem translação em Z)
          0, 0, 0, 1     # Linha de identidade (para compatibilidade)
        ] #This transformation its not working
        newInstance = copy_component_into(component_instance, target_instance, transformation_array)
        sleep(2)
        ents = Sketchup.active_model.entities
        tr = Geom::Transformation.translation [50, -40, 15.mm]
        ents.transform_entities tr, newInstance
        newInstance.transform! ()
      else
        puts "Ensure both selected entities are component instances."
      end
      
      

      RubyScriptHoleProblem.PNG](image url)

      posted in Developers' Forum
      P
      PRBO
    • RE: [Plugin]Combin editor 0.08[2011.03.24] [TUTORIAL]

      @khai said:

      thank you.
      this looks very useful indeed.

      How to install a .rbs file on Sketchup ?

      posted in Plugins
      P
      PRBO