КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Доступ к файлам на уровне системы
Запись в файлы В следующем упражнении вы научитесь записывать данные в файл. 1. Создайте в сцене цилиндр: c = cylinder() 2. Введите в новом окне редактора MAXScript Editor следующий фрагмент кода и выполните его: fs = createFile "c:\\3dsmax8\\scripts\\cylinderData.txt" format "radius %" c.radius to: fs close fs В итоге будет сформирована текстовая строка "radius 15,0", которая затем записывается в файл. 3. Откройте в текстовом редакторе WindowsNotepad файл cylinderdata.txt, чтобы проверить его содержимое, а затем закройте его в том же текстовом редакторе. 4. Перейдите в редактор сценариев, внесите изменения в строку форматирования, чтобы отформатировать два элемента в одной строке, и выполните сценарий: format "radius% heightsegs%"c.radius с. heightsegs to: fs 5. Откройте в текстовом редакторе WindowsNotepad файл cylinderdata.txt, чтобы проверить его содержимое, а затем закройте этот файл в том же текстовом редакторе. В этом файле должна быть записана строка " radius 15.0 heightsegs1". Весь автоматически сформированный текст находится в одной строке. Это положение вам предстоит изменить в следующем пункте данного упражнения. 6. Перейдите в редактор сценариев и внесите изменения в строку форматирования следующим образом: format "radius = %\nheightsegs = %" c.radius c.heightsegs to: fs Итак, в файле будет записано следующее: radius = 15.0 heightsegs = 1 Символ новой строки выглядит так: \n. Между символом n и началом следующей строки не должно быть пробела, иначе пробел станет частью строки. 7. Откройте в текстовом редакторе WindowsNotepad файл cylinderdata.txt, чтобы проверить его содержимое, а затем закройте этот файл в том же текстовом редакторе. Приложение Если в файл необходимо записать очень длинный перечень данных, все эти данные необязательно записывать в одной отформатированной строке. Ведь всегда можно ввести символ новой строки. Приведенный ниже сценарий формирует тот же текст, что и предыдущий: fs = createFile "c:\\3dsmax8\\scripts\\cylinderData.txt" format "radius = %" c.radius to: fs format "\n" to: fs format "segments = %" c.heightsegs to: fs close fs Для записи чисел без текста просто опустите текст: format"%" c.radiusto: fs Иногда управлять файлами или каталогами приходится на уровне системы, например, для того, чтобы создать новый каталог, получить список всех файлов в этом каталоге или скопировать файлы. Для решения подобных задач в MAXScript имеется целый ряд функций. Ниже приведен перечень этих функций и краткие сведения о том, как они реализованы. Введите каждую из них в приемнике команд, чтобы просмотреть результаты их выполнения. • getFiles — возвращает массив строковых значений в виде имен файлов, соответствующих указанному имени файла или обозначению любых символов. В приведенном ниже примере осуществляется поиск в каталоге c:\temp всех файлов с расширением.max: fileList = getFiles "c:\\temp\\*.max" В этом примере fileList представляет собой массив строковых значений в виде имен файлов, соответствующих заданному критерию поиска. Используя свойство.count данного массива, можно определить число таких файлов: numFiles = fileList.count Примечание. Свойство.count, обозначающее число элементов данного массива, позволяет определить наличие найденных файлов. Если это число равно нулю, значит, файлы, соответствующие заданному критерию поиска, отсутствуют. • getDirectories — возвращает такой же массив каталогов, как и у функции getFiles. Так, приведенная ниже строка кода возвращает все каталоги, находящиеся на корневом уровне диска C:\: directories = getDirectories "c:\\*" • makeDir — создает каталог. Синтаксис этой функции следующий: makeDir "c:\\newDir" • deleteFile — удаляет из системы указанный файл. Синтаксис этой функции следующий: deleteFile "c:\\temp\\dontneedit.max" Приложение • renameFile — изменяет имя файла. В качестве первого аргумента этой функции указывается текущее имя файла, а в качестве второго аргумента — новое имя файла: renameFile "c:\\nameidontlike.max" "c:\\bettername.max" • copyFile — копирует файл. Синтаксис этой функции такой же, как и у функции renameFile: copyFile "c:\\oldfile.mах" "c:\\newfile.mах" Дополнительные сведения о применении перечисленных выше функций приведены в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with 3dsMax ⇨ FileAccess ⇨ External File Access ⇨ External File Methods (Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Доступ к файлам ⇨ Доступ к внешним файлам ⇨ Методы доступа к внешним файлам).
Дата добавления: 2014-10-15; Просмотров: 649; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |