Cut and Paste-in-place from within Component Instances
-
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.
-
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.
-
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.
-
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 -
Okay, I think I have a (non-ruby) solution:
- Rename the parent component to something like "parentcomponent-old"
- Go into one of the parent components, then select all, then unselect the subcomponent that was redesigned.
- Make the selected objects into a new component with the original parent component name
- Exit the parent component, then right-click on it and "Select all instances"
- Explode them all! You'll have parent components and un-nested subcomponents, everything in its proper place.
-
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
-
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.
-
Rick, looks like you just beat me to the punch. Thanks anyway. and to RV.
-
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.
-
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.
Advertisement