sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Cut and Paste-in-place from within Component Instances

    Scheduled Pinned Locked Moved Developers' Forum
    20 Posts 7 Posters 1.4k 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.
    • GaieusG Offline
      Gaieus
      last edited by

      That also, Jim (I like this "post review" thing 😄 )


      Bu I got it in a different way. Do this (make a backup first 😄 )

      1. Make two layers: one for the component you want to cut out and one for the rest of teh parts (components/groups) within the model.
      2. Move the certain components on their respective layers
      3. Turn on the layer with the component you want to cut out but turn the rest off.
      4. explode the parent component (yes, explode)
      5. now select all the instances of the component and cut them out.
      6. now undo until everything is restored (the cut/copy command cannot be undone!) to the point you have the original parent component still containing the one you want to cut out
      7. edit this component by simply deleting the one you want outside
      8. exit its context and now paste in place
        I have tried with two sets of components (on top of it one was scaled already) and everything worked like charm.
        This tutorial of Coen gave the idea (not a stupid guy we have to admit...)
        😉

      Gai...

      1 Reply Last reply Reply Quote 0
      • JClementsJ Offline
        JClements
        last edited by

        G:

        I'll give this a try in a bit. I think I may have problems, however, due to the way I use layers, for example I have layers for certain elements for each entity, group, etc., such as a layer for construction points-center lines and hidden edges/surfaces. Most all my groups and components contain geometry assigned to those layers.

        John | Illustrator | Beaverton, Oregon

        1 Reply Last reply Reply Quote 0
        • A Offline
          a4chitect
          last edited by

          Another way is to make 2 of them unique, so that you get 2 new components, then edit these new the way you have to, then use a component definition transfer ruby (applyto.rb) to sample first new comp. apply it to all the instances you want and do the same with the 2nd new comp..

          Once u download the ruby script, it is Right click on a comp. >component definitions>get def. / apply def.

          favicon

          (www.smustard.com)

          btw: thanks rick for this invaluable script

          this suggestion by jim:
          @unknownuser said:

          Selecting and replacing Component Instances can be done by right-clicking in the Component Browser
          does essentially the same, but the script by rick allows for direct clicking on components in the scene, and not having to look for the right component in the component browser

          1 Reply Last reply Reply Quote 0
          • GaieusG Offline
            Gaieus
            last edited by

            @jclements said:

            G:

            I'll give this a try in a bit. I think I may have problems, however, due to the way I use layers, for example I have layers for certain elements for each entity, group, etc., such as a layer for construction points-center lines and hidden edges/surfaces. Most all my groups and components contain geometry assigned to those layers.

            Give a damn to your current layers - you are going to undo everything at the end (including creating new layers AND assigning everything onto these layers).

            Think of the UNDOcommand, John!
            😄

            Gai...

            1 Reply Last reply Reply Quote 0
            • JClementsJ Offline
              JClements
              last edited by

              Yes, father, I will experiment with your suggestion... but give a while to do so.

              😳

              John | Illustrator | Beaverton, Oregon

              1 Reply Last reply Reply Quote 0
              • R Offline
                RickW
                last edited by

                I may be missing something, but can't you insert the subcomponent in the main model space directly where the instance exists within the parent component? Then, go into the parent and delete the instance after you've used it for reference positioning.

                RickW
                [www.smustard.com](http://www.smustard.com)

                1 Reply Last reply Reply Quote 0
                • GaieusG Offline
                  Gaieus
                  last edited by

                  Yes Rick but his problem is that he already has several of these subcomponents and cutting / pasting in place will cut all instances but paste only the one you actually clicked on.

                  Gai...

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    RickW
                    last edited by

                    If everything is components, I think a ruby could work. If there's a combination of groups/components in the tree, then it gets very VERY messy.

                    RickW
                    [www.smustard.com](http://www.smustard.com)

                    1 Reply Last reply Reply Quote 0
                    • R Offline
                      rv1974
                      last edited by

                      the most elegant way is
                      to save as (export to ext. file)those blocks, simultaneosly edit them in separated files
                      and finally re-assemle (paste in place) back new definition in addition with edited one.
                      it's harder to explain than to proceed 😄

                      1 Reply Last reply Reply Quote 0
                      • R Offline
                        RickW
                        last edited by

                        Okay, I think I have a (non-ruby) solution:

                        1. Rename the parent component to something like "parentcomponent-old"
                        2. Go into one of the parent components, then select all, then unselect the subcomponent that was redesigned.
                        3. Make the selected objects into a new component with the original parent component name
                        4. Exit the parent component, then right-click on it and "Select all instances"
                        5. Explode them all! You'll have parent components and un-nested subcomponents, everything in its proper place.

                        RickW
                        [www.smustard.com](http://www.smustard.com)

                        1 Reply Last reply Reply Quote 0
                        • JClementsJ Offline
                          JClements
                          last edited by

                          Rick it sure would be worth investigating. The use of components has been emphasized and encouraged as the way to go when modeling, but this issue now causes me to think twice before setting up an assembly of components. Anything that could be done to make this a more efficient process would be appreciated.

                          Regards, John

                          John | Illustrator | Beaverton, Oregon

                          1 Reply Last reply Reply Quote 0
                          • JClementsJ Offline
                            JClements
                            last edited by

                            RV:

                            I think you've got a good procedure.

                            1- Select the 'original' component

                            2- Right-Click, choose "Save As" from the Context Menu and name it 'version 2'

                            3- Save current model and open version 2.skp

                            4- Select all geometry that needs to remain in 'original' component. Make that selection a component and call it "Original". Select the remaining geometry and make it a a different component with a unique name (lets call it 'PasteMeInPlace') and then edit it and group all the geometry within it. Save the version2.skp file.

                            5- Open the first model. Right-click on the component named 'original' and choose Reload from the Context Menu and reload with version 2.skp. Pick Smustard's "Select All Instances" from the Context Menu and then EXPLODE that set of instances.

                            6- What remains should be a new version of 'original' and the other geometry which is the component 'PasteMeInPlace'. Select it. Right-click and use Smustard's "Select All Instances" again. You can then EXPLODE all those instances if you want. .....Optionally, you could edit 'PasteMeInPlace' first and ungroup the contents before exploding all of it's instances.

                            John | Illustrator | Beaverton, Oregon

                            1 Reply Last reply Reply Quote 0
                            • JClementsJ Offline
                              JClements
                              last edited by

                              Rick, looks like you just beat me to the punch. Thanks anyway. 😄 and to RV.

                              John | Illustrator | Beaverton, Oregon

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                RickW
                                last edited by

                                I think the advantage to my method (though it's substantially similar) is that you don't have to save an external file - everything is in the original model. The "save as..." and reloading seem to be extra steps that could be avoided.

                                RickW
                                [www.smustard.com](http://www.smustard.com)

                                1 Reply Last reply Reply Quote 0
                                • JClementsJ Offline
                                  JClements
                                  last edited by

                                  Try this script which Sdmitch created.

                                  Edit a "top level" instance, make a selection (can be a group, a component, loose geometry or any combination of them), then run the script from the Edit menu > item "Cut selection within Comp Instance and Paste in Place from all Instances" (it is a long description, change if it if you want one less lengthy). You will be given an option to place the objects to be pasted onto a specific layer.

                                  I tested it in SU2014 and SU2014.

                                  Cut and Paste in Place.rb

                                  John | Illustrator | Beaverton, Oregon

                                  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