Wpis z mikrobloga

#grafika3d #3dsmax i #programowanie

Mirki, mam problem ze skryptem do 3ds Maxa, który wydaje się być naprawdę prostym skryptem. Składa się on z 20 linijek i polega na tym że zmienia nazwy obiektów, na nazwę wybranego obiektu z odpowiednim prefiksem i numerkiem. nazwa bazowego obiektu to NAZWAOBIEKTU, a zamysłem skryptu jest zmiana nazwy innych obiektów na UCX_NAZWAOBIEKTU_001 (od 001 do 099 najlepiej czy 999, nie ma znaczenia). Niestety, ten skrypt zamienia nazwy w niezły sposób, dając sobie rade do UCX_NAZWAOBIEKTU_09, a obiekt dziesiąty już się nazywa UCX_NAZWAOBIEKTU_1e+001 czy UCX_NAZWAOBIEKTU_2e+001.

skrypt:
http://pastebin.com/yNwSD94M

Umiecie jakoś to naprawić? Czarowałem coś z kolegą, i udało nam się jedynie zmienic linijke

InstanceNumber = formattedPrint (i as float) format:"02.0g"
na

InstanceNumber = formattedPrint (i as integer)
wynikiem czego nazwy obiektów są zakończone prawidłową liczbą, lecz nie poprzedzoną odpowiednią ilością zer, tak jak UCX_NAZWAOBIEKTU_1 czy _12 zamiast _001 czy _012.

Znalazłem jeszcze taką pomoc naukową, jednak nie rozumiem za wiele z tego co tu jest napisane :
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2015/ENU/MAXScript-Help/files/GUID-19874C74-DEE5-4BCD-A5FD-4F0F51EB3451-htm.html
  • 4