• Login
sketchucation logo sketchucation
  • Login
🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

Save Components as separate files

Scheduled Pinned Locked Moved SketchUp Discussions
sketchup
15 Posts 7 Posters 6.3k Views 7 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    VandB
    last edited by 11 Feb 2015, 11:07

    Something like: https://extensions.sketchup.com/en/content/cg-adjust-n-export
    But this script doesn't work perfectly...

    1 Reply Last reply Reply Quote 0
    • D Offline
      Dave R
      last edited by 11 Feb 2015, 11:09

      Geo location is intended for whole buildings or other structures whose location on the earth is important. You would generally get the geo-location info from Google Maps or set a location in Model Info. Maybe that would work for your application.

      What doesn't work "perfectly" with that plugin?

      Etaoin Shrdlu

      %

      (THERE'S NO PLACE LIKE)

      G28 X0.0 Y0.0 Z0.0

      M30

      %

      1 Reply Last reply Reply Quote 0
      • V Offline
        VandB
        last edited by 11 Feb 2015, 11:54

        Thanks for your information.

        That Plugin isn't perfect because it only saves unique components. Not copies of it. So when having a building with 10 copies of a door it only exports 1 of them.
        And for some reason the export option doesn't pop-up when selecting multiple components with subcomponents in it.

        1 Reply Last reply Reply Quote 0
        • D Offline
          Dave R
          last edited by 11 Feb 2015, 12:02

          I understand about the nested components. Perhaps the author could be asked to revise the plugin to handle nested components.

          As for the 10 copies of your door component, no matter how many copies (instances) there are of it in your model, there's still only one component definition to save. The only way to save all 10 copies of the door would be to make each one unique from the rest. You'd want to do that anyway if you were going to reset their origins to the model origin. The component origin and axis alignment is part of the definition so every door would need a different definition.

          Etaoin Shrdlu

          %

          (THERE'S NO PLACE LIKE)

          G28 X0.0 Y0.0 Z0.0

          M30

          %

          1 Reply Last reply Reply Quote 0
          • T Offline
            TIG Moderator
            last edited by 11 Feb 2015, 13:28

            You can export all component definitions with a simple one-liner.
            Of course it could be made more sophisticated, but here it is...

            m=Sketchup.active_model;puts p=File.dirname(m.path);m.definitions.each{|d|next if d.group? || d.image?;puts n=d.name.gsub(/[\/\\;<>"|\*\?]/,'_')+'.skp';d.save_as(File.join(p,n))};puts
            

            Copy+Paste it into the Ruby Console + <enter>.
            It processes every Component Definition [even nested ones] in the Model, it skips Groups and Images.
            It prints the path to the saved files [the Model's path folder].
            It prints out the names of the individual SKP files as it processes them...
            Note how any characters that might be acceptable in a component's name, but which will be unacceptable in a file-path [e.g. ':'] are replaced by a '_'...

            TIG

            1 Reply Last reply Reply Quote 0
            • M Offline
              MrMitchell
              last edited by 6 Nov 2017, 06:34

              @tig said:

              You can export all component definitions with a simple one-liner.
              Of course it could be made more sophisticated, but here it is...

              m=Sketchup.active_model;puts p=File.dirname(m.path);m.definitions.each{|d|next if d.group? || d.image?;puts n=d.name.gsub(/[\/\\;<>"|\*\?]/,'_')+'.skp';d.save_as(File.join(p,n))};puts
              

              Copy+Paste it into the Ruby Console + <enter>.

              It processes every Component Definition [even nested ones] in the Model, it skips Groups and Images.
              It prints the path to the saved files [the Model's path folder].
              It prints out the names of the individual SKP files as it processes them...
              Note how any characters that might be acceptable in a component's name, but which will be unacceptable in a file-path [e.g. ':'] are replaced by a '_'...

              Can you modify this to specify a specific version of SKP to save as (I think it may be a workaround for the lvl to skp?)

              O 1 Reply Last reply 27 Mar 2025, 02:31 Reply Quote 0
              • T Offline
                TIG Moderator
                last edited by 6 Nov 2017, 11:54

                In this example code, definition.save(path) can have no argument to set the SKP's version.
                But in model.save(path, version) there is [at least in the newer versions of SketchUp]
                To save all definitions as separate SKPs you can make a folder, save the definitions into it in turn...
                Then you can process the SKPs in that folder, you'd need to open each of then and save, resetting the version...

                Alternatively, in a set of start_operation...abort_operation... blocks [iterated one per definition] - so that the changes to the model are not remembered - you could .clear! the model.entities, then place an instance of that component at the origin, zoom to it, explode the instance [and any nested containers too?], then purge unused components, layers and materials, then save the model, specifying the version desired, then abort_operation to reset the model... repeat until all definitions have SKPs in a subfolder. The final abort should reset back to the starting set up.

                This is very similar to my recently reissued 'layer exporter', but easier to control and use ??

                TIG

                1 Reply Last reply Reply Quote 0
                • T Offline
                  TIG Moderator
                  last edited by 6 Nov 2017, 14:26

                  @MrMitchell

                  I'll PM you an RBZ version of TIG-export_SKP_by_definition v1.0 for you to test.

                  If it's OK then I can publish it in the PluginStore...

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    MrMitchell
                    last edited by 7 Nov 2017, 02:08

                    Great, I should have PM'd you my feedback on the TIG-export_SKP_by_definition, let me know if it didn't go through and I'll post it here.

                    1 Reply Last reply Reply Quote 0
                    • C Offline
                      chrismichaelgentile
                      last edited by 2 Jul 2018, 23:15

                      @tig said:

                      @MrMitchell

                      I'll PM you an RBZ version of TIG-export_SKP_by_definition v1.0 for you to test.

                      If it's OK then I can publish it in the PluginStore...

                      TIG, did you ever upload this onto the Extension Warehouse?

                      1 Reply Last reply Reply Quote 0
                      • jujuJ Offline
                        juju
                        last edited by 3 Jul 2018, 12:16

                        @chrismichaelgentile said:

                        TIG, did you ever upload this onto the Extension Warehouse?

                        I don't think I've ever seen any of TIG's plugins / extensions on the EW, he has them here in the SketchUcation PluginStore.

                        Save the Earth, it's the only planet with chocolate.

                        1 Reply Last reply Reply Quote 0
                        • O Offline
                          ogabifavour @MrMitchell
                          last edited by 27 Mar 2025, 02:31

                          @MrMitc hello, pls can you modify this to include groups. i want to make an exploded animation of my model. thanks

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Buy SketchPlus
                          Buy SUbD
                          Buy WrapR
                          Buy eBook
                          Buy Modelur
                          Buy Vertex Tools
                          Buy SketchCuisine
                          Buy FormFonts

                          Advertisement