ScriptSpot

Script

Copy and Paste Objects

By Christopher Grant · 2006-10-21

Version
0.2
Version requirement
3ds max 6-2009
Date updated
2005-03-11
Votes
112
Description

It's always annoyed me that I couldn't copy objects from one instance of max and paste them into another - as I work with 2 or 3 instances of max up at a time. It's tedious to do a save selected / merge objects so this script does it for you. It's not a TRUE copy/paste via the windows clipboard - but it will let you very quickly copy objects from one file to another.

Additional Info

09-02-03 Update: just updated contact info in script header and changed version requirement to reflect current versions of 3ds max... Usage:
Select the objects you want to copy. Run 'copy script' (I assign mine to Ctrl+Shift+C). Now run the 'paste script' (I assign mine to Ctrl+Shift+V) into either the same file or you can load another instance of max and 'paste' the objects into it.

Installation:
1. Click Maxscript / Run Script and choose wherever you downloaded this file to
1a. It will seem like nothing happened but that's exactly what it should do - you now need to assign a shortcut to it
2. Click Customize / Customize User Interface / Keyboard (tab)
3. Change the Category to 'CG_Tools'
4. Click 'Copy Objects to File' and change its Hotkey to something - maybe Ctrl+Shift+C .Click Assign
5. Click 'Paste Objects from File' and change its Hotkey to something - maybe Ctrl+Shift+V. Click Assign
6. Click Save and save your custom UI settings to a file - do yourself a favor and don't use the default.
7. That's it.
Attachments

Tags: copy, paste, workflow

Comments (44)

That’s a neat workflow hack

Janettjeff · 2025-09-10

it sounds like your script is basically automating the Save Selected Merge process under the hood
print shop near me

Missing Forest Pack dependecies

PaleBlue.Design · 2021-07-01

I love this script!

I've been using it all the time in Max2015.
Now I've switched to max2018 SP4 and i've noticed that when you copy Forest Pack objects the dependencies (objects to scatter) are lost after pasting, something that wasn't the issue in max2015.
Does anyone have an idea how to fix that?

[EDIT]
I came across this thread on Itoo's forum, where they've put updated version of this script which solves the problem (script attached): https://forum.itoosoft.com/forest-pro-(*)/bug-report-3ds-max-2019-save-selected-forest-pack-railclone-bug/msg22613/#msg22613

PK

Attachments

absolute favourite

moopreedee · 2020-07-01

your script does help humanity

xaled · 2020-06-29

Best max script ever. Works in 2020.

Thanks!!!!

Ripio Suelto · 2018-06-07

One of those tools that make a man happy. Thanks friend.

Como instalar y usar

fabian-co · 2017-01-16

Aqui dejo el link, donde enseñor como instalarlo y usarlo, aunque en la descripción de este spot está muy claro, no cabe resaltar en video como hacerlo:

https://www.youtube.com/watch?v=0X2mXn1jJP4

Cool script, thank you

oumhani · 2016-05-17

works like a charm with 2016

Network directory

sam@samshepherd.net · 2014-11-05

Im trying to repath the script to save and merge from a network directory however the script doesnt seem to like UNC file pathing. I can get it to work only if the directory is asigned a drive letter. any ideas?

eg. thecopypastedir = "\syd01\temp"

returns an error saying it cant find the location

thecopypastedir = "c:\temp"

This works

and a work around would be to configure say the project sound directory to \syd01\temp and use

thecopypastedir = getdir #sound

also works

But the nicest, cleanest, easiest way would be to just use the full file path (if possible?)

Admin · 2014-11-05

That's because in MAXScript a backslash in a string is considered a special character so you need to double it up. In standard windows batch / command line notation you'd write \\Server\Drive however in MAXScript the string representation is "\\\\Server\\Drive"

In your example changing the code to the following will fix it: thecopypastedir = "\\\\syd01\\temp"

r_zakzouk@yahoo.com · 2014-11-03

autodesk should think about that loooooooooong time ago

Tricota · 2014-05-22

Awsome Script! Thank you!!!!

nameveiof · 2014-04-23

Thakns. It`s great!

Very useful

Waseem3D · 2013-06-24

Excellent, and it works with max 2013 64bit

Excellent!

Eli Robinson · 2012-09-07

Excellent script! Thank you so much.

Svennovich · 2011-08-30

GREAT! tanks

br0t · 2011-05-13

so simple yet so useful :)! thanks!

edit: just to note, for people having the same issue: if you have two max instances opened that do have different project folders set, the default path in the script

getDir #autoback

will not work, so just change it to something like

getDir #maxroot

or

"D:\yourFolder\"

to make it work.

it works in Max 2015

demha · 2015-12-10

Fantastic script Christopher, thank you so much.

brOt - Thank you for the tip on how to change the folder path for different projects, I would have never known how to fix it.

osuoa · 2010-07-20

Thanks for the awesome script, it really helps my workflow as I now generally have 2 3ds max's loaded up, one for assets and the other for the main model.
This script has also helped me quickly copy objects between networks.

NicolasC · 2010-04-11

Man ... this is a BIG time saver ! thanks a lot for sharing this one !
By curiosity, is there any temp file(s) stored somewhere ? I'd like to know that just to avoid having one gigas of those :) :)
Thanks again.

Christopher Grant · 2010-01-28

Sorry but this script just automates the 3ds max command "save selected" and "merge" which means it'll only work with 2 instances of the same version of max (ie 2010 -> 2010 or 2009 -> 2009)... Your best bet when sending data to an old max instance is to use FBX (make sure to download the latest FBX plugins from Autodesk first).

jinj · 2010-01-28

thx,
Why is it not possible to make copy to clipboard with max?
I try fbx it's not a good solution at all.
materials attached to the obj are converted to standard.
If i save the scene mat file in 2010, max 2009 crash when I try to open it.
do you know a trick to open this mat file 2009 or lower version?
the problem is that I have a lots of complex vraymlt in the scene and can't access to it in 2009.
thx

jinj · 2010-01-27

hi
nice script
do you know a way to create the same script that can copy an obj from a 2010 file and paste it in one in 2009 version?

one808 · 2009-12-15

Great,
thanks.

Admin · 2009-10-12

For the time being just right click on the file attachment and click "Save link as" or "Save target as" and follow instructions above... I'll make a change on the server so this isn't a problem in the future.

Christopher Grant
ScriptSpot.com

shekhu27 · 2009-10-11

Need Help!

For some reason i am not able to download the script. every time i click on the link it shows a text file type with the description. Can someone please guide me how to get this work. Max Version 2010 Design.

fajar · 2009-09-03

How to make it work in network? since it's copy the source in local computer (ex: C:\Windows\Temp) only, how if it work on network, are we must meke a new path....?

free agent · 2009-09-03

thanx very much. getting into max i was surprized this function didnt exist... now it does, well done :)

FastShark · 2009-08-31

Great script!
Thx!

neophyte_leiy · 2009-08-12

Good Day!

I'm new here..im wondering if how does works the copy and paste command..i tried your instruction but it does not work..if you dont mind can you show me how will i do that, im using 3d max 2009.

thank you and more power!!!

serialvision · 2009-07-21

Hi, Tried the script in max2010 and it failed.
Apparently max2010 insists on linking ctrl alt c to Particle Flow: Repair PFlow Cache System
so disable that key link and it will work.
Also i made it smaller since i didnt find my DIR:

macroScript Copy_Objects_To_File Category:"CG_Tools" toolTip:"Copy Objects to File"
(
if $ != undefined do
saveNodes $ "C:\Temp\pastefile2010.max"
)

macroScript Paste_Objects_From_File Category:"CG_Tools" toolTip:"Paste Objects from File"
(
mergemaxfile "C:\Temp\pastefile2010.max" #select --this merges ("pastes") and selects objects from file
)

Of course you need the c:\temp dir
Thx for your great script.

titane357 · 2009-01-25

Good script. But I can't copy/paste from max32 to max64...:-(

Christopher Grant · 2009-01-26

"Good script. But I can't copy/paste from max32 to max64...:-("

The script just automates a "save selected" command to a file in your 3ds max autoback folder (as specified in customize/"configure user paths"). I'd guess your 64 bit '09 and 32 bit '09 have different autoback locations / project folders which is what keeps it from working the way you want.

There are 2 things you could do to solve this. First - verify / change your 32/64 bit installs to use the same project folder location.

Alternatively - you could open up the script and force the file to be stored somewhere else by changing the 2 lines that look like this:


thecopypastedir = getdir #autoback

to this:


thecopypastedir = "C:"

which would make the temporary file get stored on the root of C (not recommended - change this to whatever you want). Keep in mind that paths in maxscript use either a single forward slash / or double backslash \\

titane357 · 2009-02-04

Thank you very much :-))
It was a stupid question : all explanations are in your script !!! very handy script !

Budi G · 2009-01-23

Good and very usefull.
for a long time this one of my pavorite scripts.

Thank you Christopher

Max power · 2009-01-22

Hey need some help, i think i got it to work mostly. when i hit the copy hokey it says saving... however i cant paste anything.

P:S i used your hotkey

fajar · 2008-09-02

Ive very glad to using this script !! very-very important script to download!! very2222 usefull!

thx

beem · 2008-04-21

excellent script! thanks :)

Christopher Grant · 2008-02-13

futuregeist - I'm glad you like the script! I've actually been wanting to spend the time to figure out a copy/paste materials script for quite a while but never found the time to do it. I'm downloading your script right now and will no doubt make it part of my daily workflow. Thanks!

cx19800101 · 2007-10-21

good ,very good,thanks

pseudoe · 2007-04-26

This script is outstanding! Do you have any plans to port it to Max 9?

It's one of the main reasons I haven't moved from 8 yet...

Thanks~

Eric

I'm glad you like it! The

Christopher Grant · 2007-04-26

I'm glad you like it! The nice thing about scripts is they typically
are forward compatible. I've actually been using this script with max 9
for several months now.

pseudoe · 2007-04-27

Thanks! I should have realised that earlier~

 

Eric.