ScriptSpot

Forum topic · General Scripting

Runtime error: Error opening bitmap

By anybany · 2012-06-06

Description

Good day.
In scene present about 120 Plane.
Each of them fix (.material.diffuseMap.bitmap). These bitmaps stored on
D:/test/ directory

When I start script

fg=#()
d=$ImagePlane* as array
for i=1 to d.count do
(
append fg d[i].material.diffuseMap.bitmap
)

appear

#($Plane:ImagePlaneFor_camera1_d0001 @ [-8.367760,14.435833,-57.738209], $Plane:ImagePlaneFor_camera2_d0002 @ [-4.387455,15.022846,-60.023422], $Plane:ImagePlaneFor_camera3_d0003 @ [0.056606,15.007589,-61.273445], $Plane:ImagePlaneFor_camera4_d0004 @ [3.998240,14.502653,-61.476524], $Plane:ImagePlaneFor_camera5_d0005 @ [8.344356,14.367958,-61.341885], $Plane:ImagePlaneFor_camera6_d0006 @ [12.190159,12.907448,-59.661415], $Plane:ImagePlaneFor_camera7_d0007 @ [15.279215,11.183224,-57.224586], $Plane:ImagePlaneFor_camera8_d0008 @ [17.782003,9.087871,-53.741268], $Plane:ImagePlaneFor_camera9_d0009 @ [19.093401,6.970782,-49.843822], $Plane:ImagePlaneFor_camera10_d0010 @ [19.223347,5.085677,-46.160961], $Plane:ImagePlaneFor_camera11_d0011 @ [18.177902,3.121782,-41.978588], $Plane:ImagePlaneFor_camera12_d0012 @ [16.083273,1.569069,-38.334175], $Plane:ImagePlaneFor_camera13_d0013 @ [12.880341,0.494181,-35.079998], $Plane:ImagePlaneFor_camera14_d0014 @ [8.797139,-0.172102,-32.559563], $Plane:ImagePlaneFor_camera15_d0015 @ [4.045238,-0.254686,-31.050558], $Plane:ImagePlaneFor_camera16_d0016 @ [-0.028758,0.181588,-30.758663], $Plane:ImagePlaneFor_camera17_d0017 @ [-4.330082,1.088176,-31.428823], $Plane:ImagePlaneFor_camera18_d0018 @ [-8.693162,2.599252,-33.330521], $Plane:ImagePlaneFor_camera19_d0019 @ [-11.734137,4.239220,-35.784580], $Plane:ImagePlaneFor_camera20_d0020 @ [-14.109169,6.173749,-39.005417], ...)
-- Error occurred in i loop; filename: D:\3ds Max 2009\Scripts\moi\bitmap array.ms; position: 71
-- Frame:
-- i: 95
-- Runtime error: Error opening bitmap: D:\pasa1\d0095.jpg

that happened????????

Comments (7)

"Bitmaptexture" id the same

barigazy · 2012-06-06

"Bitmaptexture" is the same as "bitmaptex".
Theses are class names of (in your case) diffuse maps.
You can use first or second.

BARIGAZY Thank you very match for answer

anybany · 2012-06-06

All good.....

BARIGAZY Thank you for answer but

anybany · 2012-06-06

When use
____________________________________
fg=#()
d=$ImagePlane* as array
for i=1 to d.count where d[i].material.diffuseMap != undefined do
(
append fg d[i].material.diffuseMap.name
)
for i=1 to fg.count do
(
print fg[i]
)
__________________________________________

Answer
"Bitmaptexture"
but not name.....

barigazy · 2012-06-06

In your case
fg=#()
d=$ImagePlane* as array
for i=1 to d.count where d[i].material.diffuseMap != undefined do
(
append fg d[i].material.diffuseMap.name
)

BITMAP NAME & FILENAME

barigazy · 2012-06-06

BITMAP NAME AND BITMAP FILENAME

allusedbitmaps = getClassInstances bitmaptex
bmpNamesArr = #()
bmpFileNamesArr = #()
for b in allusedbitmaps do
(
append bmpNamesArr b.name
append bmpFileNamesArr b.filename
)
for n in bmpNamesArr print n
for p in bmpFileNamesArr print p

anybany · 2012-06-06

BARIGAZY Thank you for answer but
I want return name each bitmap in array....

barigazy · 2012-06-06

If you want to get all bitmaps used in the scene just use this

allusedbitmapss = getClassInstances bitmaptex