Буквари для Инженеров
Скачать 1.52 Mb.
|
Примечание Если макрос включает функции GUI, то команда /PMACRO должна быть первой командой в этом макросе. Эта команда заставляет команды макроса записываться в жур- нал сеанса (log-файл). Это важно, потому что, если Вы опустите команду /PMACRO, ANSYS не сможет читать журнал сеанса, чтобы воспроизвести сеанс ANSYS. 6. Шифрование макросов ANSYS предоставляет возможность шифровки макрофайлов так, чтобы источник не был "удобочитаемым". Зашифрованный макрос требует, чтобы выполнился ключ коди- рования. Вы можете или поместить ключ шифрования явно (в читаемом ASCII) в макросе, или Вы можете установить это в ANSYS как глобальный ключ шифрования. Далее рассматриваются следующие разделы: • Подготовка макроса к шифрованию • Создание зашифрованного макроса • Выполнение зашифрованного макроса 6.1. Подготовка макроса к шифрованию Перед шифровкой макроса, Вы сначала создаете и отлаживаете макрос как обычно. Когда Вы создаете зашифрованный макрос, Вы отвечаете за сохранность оригинального исходного файла. Вы не можете обновить исходный файл из зашифрованного макроса. стр. 74 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru Затем Вы добавляете команду /ENCRYPT в первую и последнюю строку макроса. Коман- да /ENCRYPT для первой строки макроса имеет следующий синтаксис: /ENCRYPT ,Encryption_key,File_name,File_ext,Directory_Path/ Где • Encryption_key - восьмисимвольный пароль. • File_name - имя зашифрованного макрофайла. • File_ext - дополнительное расширение файла для зашифрованного макро- файла. Если Вы хотите, чтобы пользователи выполняли макрос как "неизвестную" команду, Вы должны использовать расширение .mac. • Directory_Path/- дополнительный путь к каталогу, который может содержать до 60 символов; Вам понадобится этот аргумент только в том случае, если Вы не хотите записать зашифрованный макрофайл в ваш "домашний" каталог. В следующем примере обратите внимание на размещение команд /ENCRYPT в на- чале и в конце листинга: /encrypt,mypasswd,myenfile,mac,macros/ /nopr /prep7 /view,,-1,-2,-3 block,,arg1,,arg2,,arg3 sphere,arg4 vsbv,1,2 /gopr finish /encrypt Команда /ENCRYPT в начале макроса инструктирует ANSYS зашифровать файл и использовать строку "mypasswd" как пароль для расшифровки. В результате ANSYS соз- даст зашифрованный макрофайл с именем myenfile.mac и поместит его в подкаталог /macros домашнего каталога. Команда /ENCRYPT в конце макроса инструктирует ANSYS остановить шифрование и записать зашифрованный макрос в указанный файл. Примечание Зашифрованный макрос использует команду /NOPR во второй строке, чтобы вы- ключить повторение команд ANSYS в журнале сеанса. Это важно, если Вы не желаете, чтобы пользователям читали содержание макроса из файла сеанса (log-файла). Чтобы вос- становить запись команд в файл сеанса, используйте команду /GOPR как последнюю ко- манду в макросе перед замыкающей командой /ENCRYPT. 6.2. Создание зашифрованного макроса После помещения команд /ENCRYPT в начале и в конце макроса, Вы можете про- должить создавать зашифрованную версию макроса. Чтобы сделать это, просто выполни- те макрос через ANSYS. ANSYS создаст зашифрованную версию с именем и местополо- жением, которое Вы определили через команду /ENCRYPT в начале макроса. Результат будет выглядеть примерно как это: /DECRYPT,mypasswd 013^Z,^% 02x^0Se|Lv(yT.6>? 03J3]Q_LuXd3-6=m+*f$k]?eB стр. 75 из 76 ANSYS Release 10.0 Documentation / APDL Programmer's Guide Буквари для Инженеров http://cyberkolbasa.com1.ru 04:^VY7S#S>c> 05daV;u(yY 06T]3WjZ /DECRYPT Обратите внимание, что индивидуальные команды в пределах макроса теперь за- шифрованы, и что зашифрованный материал заключен между командами /DECRYPT. Ключ расшифровки это аргумент к первой команде /DECRYPT. 6.3. Выполнение зашифрованного макроса Вы можете выполнить зашифрованный макрос так же, как и любой другой макрос; поместите зашифрованный макрос в пределах пути поиска файлов. Если Вы предпочитае- те выполнить зашифрованный макрос не имея ключа шифрования в макрофайле, то Вы можете определить ключ как "глобальный ключ шифрования" в пределах ANSYS. Чтобы сделать это, Вы должны сначала заменить аргумент ключа шифрования в команде /DECRYPT на параметр PASSWORD. Таким образом, первая строка зашифрованного мак- роса становится: /DECRYPT,PASSWORD Перед выполнением макроса в пределах ANSYS, используйте следующую команду через командную строку ANSYS: /DECRYPT,PASSWORD,Encryption_Key Где Encryption_Key - ключ шифрования, используемый для шифровки файла. Теперь Вы можете выполнять зашифрованный пароль. Чтобы удалить текущий глобаль- ный ключ шифрования, используйте следующую команду ANSYS: /DECRYPT,PASSWORD,OFF стр. 76 из 76 |