Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Вт Июл 15, 2008 2:37 pm Заголовок сообщения: слетает макрос !! |
|
|
смысл такой: вызывается команда "Заполнение области трафаретом " на панели Трафареты. Выбирается пункт из файла, делается обзор, выбирается файл штриховки acad.pat - он расположен в произвольном каталоге.
После перезапуска микростеишн запускаем макрос - он пишет - файл трафарета автокад не найден. И если не поместить файл acad.pat в каталог по умолчанию, который указывался в диалоговом окне "Выбор файла трафарета автокад", то макрос слетает. В какой переменной поменять каталог по умолчанию я не нашел.
Вот текст макроса на MicroStation basic:
Код: |
Sub main
Dim startPoint As MbePoint
Dim point As MbePoint, point2 As MbePoint
' Старт макрокоманды
MbeSendCommand "PATTERN AREA ICON "
' Задание переменной, связанной с диалоговым окном
MbeSetAppVariable "PATTERN", "tcb->msToolSettings.areaPattern.patternFile", 1&
' Если в макрокоманде открывается модальное диалоговое окно,
' то в последующем предложении оно должно закрываться, или
' свойство MbeState.modalDialogByUser должно быть установлено
' в 1, тогда пользователь должен закрыть диалоговое окно для
' продолжения выполнения макроса.
' Также, Вы не можете использовать команды "Шаг" отладчика,
' пока модальное окно остается открытым.
' Открыто модальное диалоговое окно "Выбор файла трафарета AutoCAD"
MbeSendCommand "MDL COMMAND MGDSHOOK,fileList_setFilterCmd *.pat"
MbeSendCommand "MDL COMMAND MGDSHOOK,fileList_setDirectoryCmd C:\Vector1000\"
MbeSendCommand "MDL COMMAND MGDSHOOK,fileList_setFileNameCmd ACAD.PAT"
' Закрыто модальное диалоговое окно "Выбор файла трафарета AutoCAD"
' Следующий комментарий - команда закрытия модального диалогового окна
' MbeSendCommand "MBE1 CLOSEMODAL OK"
End Sub
|
|
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Вт Июл 15, 2008 5:32 pm Заголовок сообщения: |
|
|
Какая версия MicroStation?
Где находится каталог, который "по умолчанию"? |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Ср Июл 16, 2008 8:37 am Заголовок сообщения: |
|
|
каталог по умолчанию находится на разных машинах по разному
ну предположим C:\Program files\AutoCAD2007\Support
вот |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Ср Июл 16, 2008 8:38 am Заголовок сообщения: |
|
|
а версия Microstation 8.5 |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Июл 16, 2008 12:11 pm Заголовок сообщения: |
|
|
Похожая тема на их конфе - Config Variable for *.pat file
из того что пишут - кажись такой переменной просто нет... |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Ср Июл 16, 2008 1:26 pm Заголовок сообщения: |
|
|
А незнаете как в таком случае выйти из положения ?
Я так понел макрос слетает при вызове диалогового окна "Просмотр файла трафарета автокад". При этом устанавливается переменная PATTERN связанная с диалоговым окном. Там на панельке "Заполнение области трафаретом" есть кнопочка такая - в виде лупы. Она открывает диалоговое окно, но с клавиатуры ее никак вызвать не удается. |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Ср Июл 16, 2008 1:34 pm Заголовок сообщения: |
|
|
И кстате я так и не разобрался, где можно найти все что связано с
tcb->msToolSettings.areaPattern.patternFile - это ведь наверное указывается как раз свойство - загрузка трафарета из файла. Может там еще какие поля и методы есть. Я хелпник смотрел по VBA, MDL и команды Microstation basic - нашел нечто подобное в примерах на VB но там другие инструменты, а не палитры. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Июл 16, 2008 3:33 pm Заголовок сообщения: |
|
|
На конфе оказывается нас вводят в заблуждение
Такая переменная есть, она описана в хелпе
MS_DWGPATFILE - Filename containing AutoCAD Pattern Definitions
Ей надо присвоить имя файла *.PAT, включая его полный путь.
После этого указывать файл в команде PATTERN AREA необязательно. |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Чт Июл 17, 2008 7:21 am Заголовок сообщения: |
|
|
У меня такой переменной нету
Версия Microstation - 8.5
Как такое возможно ? |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Июл 17, 2008 8:28 am Заголовок сообщения: |
|
|
Всё правильно, по умолчанию ее нет
Создать - кнопка "New..." (Новая...) |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Чт Июл 17, 2008 9:52 am Заголовок сообщения: |
|
|
Эмм... Я вроде пробовал - что то неработает. Может что то нетак делаю. Переменная кстате есть в документации действительно, только я не пойму какая версия - 8.5 или XM.
Значитс переменная называется MS_DWGPATFILE
делаем новая
прописываем имя, в описании че нить пишем,
прописываем путь к файлу acad.pat и все должно работать ? |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Июл 17, 2008 10:18 am Заголовок сообщения: |
|
|
Tailer писал(а): | Эмм... Я вроде пробовал - что то неработает. Может что то нетак делаю. Переменная кстате есть в документации действительно, только я не пойму какая версия - 8.5 или XM.
Значитс переменная называется MS_DWGPATFILE
делаем новая
прописываем имя, в описании че нить пишем,
прописываем путь к файлу acad.pat и все должно работать ? |
Да. У меня после этого заработало. |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Чт Июл 17, 2008 11:55 am Заголовок сообщения: |
|
|
Да, вроде работает. Спасибо большое! |
|
Вернуться к началу |
|
|
Tailer
Зарегистрирован: 14.07.2008 Сообщения: 11
|
Добавлено: Пт Июл 18, 2008 7:04 am Заголовок сообщения: |
|
|
Сейчас когда запускаем команду Заполнение области трафаретом - то панель сразу настраивается как "из файла" acad.pat. А можно ли как то сделать так чтоб по умолчанию грузилось из фрагмента (т.е. как задумано было разработчиками) , а макрос грузил бы из файла ? |
|
Вернуться к началу |
|
|
|