It can be done. The only thing you have to consider is the texture. If you load the texture separately, then you can retexture the copied objects.
Here's an example I put together. I create my object and texture, but they could have been loaded just as well. I created a function:
copy_object(inobj,outobj,texture)
that does the actual copying. Heres the code:
set display mode 800,600,32
sync on
sync rate 60
autocam off
randomize timer()
rem create a texture
box 0,0,55,100
ink rgb(255,0,0),0
box 40,120,128,128
ink rgb(255,255,255),0
get image 1,0,0,128,128
rem create an object
make object cube 1,10
texture object 1,1
`hide object 1
rem copy object
for copy = 2 to 20
copy_object(1,copy,1)
position object copy,80+(5*copy),(10*copy)-100,0
sync
next copy
rem position camera
position camera 140,0,-150
rem rotate cube copies
do
ang#=wrapvalue(ang#+1)
for cubes = 1 to 20
yrotate object cubes,ang#
next cubes
sync
loop
end
function copy_object(inobj,outobj,texture)
make mesh from object 1,inobj
make memblock from mesh 1,1
make mesh from memblock 2,1
make object outobj,2,texture
rem don't need memblock or mesh
delete mesh 1
delete mesh 2
delete memblock 1
endfunction
Enjoy your day.