– с помощью контекстного меню, которое вызывается правой кнопкой мыши из дерева проекта.
Варианты не вполне равнозначные. Во-первых, как несложно заметить, в третьем варианте, кроме выбора файла макроса, сразу же предлагается выбрать имя макроса, так как в файле может быть больше одного макроса. В рамках книги мы не будем подробно останавливаться на этой возможности, просто будет нелишним помнить о ней. Так вот, если в файле содержится один макрос, кнопкой в ленте (первый способ) будет запущен именно он. Если несколько, то при первом или втором способе запуска после выбора файла будет предложено выбрать также и имя макроса. При запуске макроса из контекстного меню в любом случае будет предложено выбрать имя макроса – даже если он там один.
Во-вторых, в случае, если при оформлении макроса были допущены ошибки, с помощью контекстного меню макрос, скорее всего, даже не получится запустить, а с помощью кнопки меню Datamine попытается его запустить, у него ничего не получится, и в окно Command будет выведено сообщение об ошибке.
Что может и не может макрос
Макрос может:
– выполнять все операции, выполняемые процессами Datamine (теми, что запускаются из командной строки Datamine);
Командная строка Datamine, если кто забыл
– читать файлы формата dm без использования процессов Datamine, но, увы, не создавать и не изменять их (об этом чуть позже);
– управлять командами операционной системы (есть тут кто-нибудь, кто помнит, как жить без графического интерфейса, под чистой DOS?).
Например, вот такой макрос:
!START SYSMACRO
!OPSYS
echo Hello, world>> newfile. txt
!END
создаст в рабочем каталоге вашего проекта файл `newfile. txt` и запишет туда текст «Hello, world» (давайте-таки соблюдем традиции!).
Макрос не может сделать ничего, что бы выходило за рамки процессов Datamine. Например, макрос не может управлять объектами в окне 3D: он не может загрузить в окно 3D что-либо, не может в этом окне что-то сделать с загруженными данными и т. д., например, «штатными» инструментами макрос не может выполнить проверку каркасов на ошибки или соединение двух стрингов.
Когда-то давно, когда компьютеры были большими, а Datamine существовала без добавки Studio (и представляла собой набор программ), в пакете программ Datamine существовал еще один внутренний язык программирования, который как раз мог управлять окном 3D (точнее, на тот момент – программой Guide). Однако с появлением Datamine Studio этот язык тихо умер (кажется, это произошло сразу, как вышла Datamine Studio 1). В текущих версиях Datamine автоматизацию работы в окне 3D должен обеспечить JavaScript или любой язык программирования, способный подключиться к API Datamine. И, в принципе, обеспечивает. Беда в том, что делает это так себе – главным образом из-за отвратительной степени документированности этого самого API.
Да, сразу предупреждаем: скрипты, написанные на JavaScript, в этой книге не рассматриваются.
Необходимые навыки
Собственно, единственный обязательный навык для написания макросов – это умение работать с Datamine, которое должно включать знание процессов, понимание того, для чего они используются и как работают. Временами приветствуется знание школьного курса математики и любознательность. Никакого тайного таланта к программированию не требуется. Вообще, утверждение «я не способен программировать» – полнейший абсурд. Задумайтесь на минуту: что вы будете делать сегодня после работы? Ответ, вероятно, будет примерно следующим: «В 18:00 я отключу компьютер, надену уличную обувь, запру кабинет и пойду домой. По дороге я зайду в магазин N и куплю (далее следует список)».