sketchucation logo sketchucation
    • Login
    1. Home
    2. MAdel
    3. Posts
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    M
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 2
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: Mass rename components

      @tig said:

      You could try editing the code as follows - inside the

      {}
      

      block of

      ...each{|d|...}
      

      substitute...

      Change the value of

      i=
      

      to how many characters you want to loose...

      To trim off the end use

      i=10;n=d.name;1.times{n=n.chop};d.name=n;
      

      To trim off the start use

      i=10;n=d.name;n=n[i..-1];d.name=n;
      > 
      

      thanks for your help,much appreciated
      would you please create a file for me with a calling name like
      delete "last_3"
      or
      Delete"frist_5"
      i am able to use the banding "prefix-" script
      i don't know anything about coding
      but your script is what i was looking for and need

      posted in Developers' Forum
      M
      MAdel
    • RE: Mass rename components

      thanks TIG for those amazing scripts
      i hope you could add the option for
      removing the first/last 15 or 10 characters from the name

      @tig said:

      @jeynay said:

      Hi,

      Is there a way to remove certain words from multiple components at the same time?

      for example I have 50 components that their name has "3D - johnsmith_google_com level 1" at the end of the name. like:

      "10016001_S_DLGBldg1_Central_detached_rvt-1-3D - 3D - johnsmith_google_com level 1"
      "4_ Light Fixture - 4_ Light Fixture-1847101- 3D - johnsmith_google_com level 1"
      "Aluminum Sill Extension - Aluminum Sill Extension-2131210-3D - johnsmith_google_com level 1"

      Is there a script that can remove a certain prefix or suffix? or just removing the first/last 15 or 10 characters in the name would also work.

      This issue is very annoying since the models imported from revit to sektchup end up having more than 100 characters. 😕

      Thanks
      You can batch rename components.
      I assume you mean component-definitions, rather than component-instances which can have individual names based on a shared definition...
      Here's a simple one-liner to do it...
      Edit the initial togo="..."; to suit your needs...

      togo=" - 3D - johnsmith_google_com level 1";m=Sketchup.active_model;m.start_operation('rename defns',true);c=0;m.definitions.each{|d|(d.name=d.name.gsub(/#{togo}/,'');c+=1) if d.name=~/#{togo}/};puts"#{c} definitions renamed.";m.commit_operation;
      

      Paste it into the Ruby Console + <enter>, it's one step undoable...

      posted in Developers' Forum
      M
      MAdel
    • 1 / 1