Список форумов Конференция САПР Bentley MicroStation Конференция САПР Bentley MicroStation
www.ustation.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

слетает макрос !!

 
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное
Предыдущая тема :: Следующая тема  
Автор Сообщение
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?
Где находится каталог, который "по умолчанию"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Tailer



Зарегистрирован: 14.07.2008
Сообщения: 11

СообщениеДобавлено: Ср Июл 16, 2008 8:37 am    Заголовок сообщения: Ответить с цитатой

каталог по умолчанию находится на разных машинах по разному
ну предположим C:\Program files\AutoCAD2007\Support
вот Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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
из того что пишут - кажись такой переменной просто нет...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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    Заголовок сообщения: Ответить с цитатой

На конфе оказывается нас вводят в заблуждение Smile
Такая переменная есть, она описана в хелпе
MS_DWGPATFILE - Filename containing AutoCAD Pattern Definitions
Ей надо присвоить имя файла *.PAT, включая его полный путь.
После этого указывать файл в команде PATTERN AREA необязательно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Tailer



Зарегистрирован: 14.07.2008
Сообщения: 11

СообщениеДобавлено: Чт Июл 17, 2008 7:21 am    Заголовок сообщения: Ответить с цитатой

У меня такой переменной нету Confused
Версия Microstation - 8.5
Как такое возможно ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Чт Июл 17, 2008 8:28 am    Заголовок сообщения: Ответить с цитатой

Всё правильно, по умолчанию ее нет Smile
Создать - кнопка "New..." (Новая...)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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 и все должно работать ?


Да. У меня после этого заработало.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Tailer



Зарегистрирован: 14.07.2008
Сообщения: 11

СообщениеДобавлено: Чт Июл 17, 2008 11:55 am    Заголовок сообщения: Ответить с цитатой

Да, вроде работает. Спасибо большое!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tailer



Зарегистрирован: 14.07.2008
Сообщения: 11

СообщениеДобавлено: Пт Июл 18, 2008 7:04 am    Заголовок сообщения: Ответить с цитатой

Сейчас когда запускаем команду Заполнение области трафаретом - то панель сразу настраивается как "из файла" acad.pat. А можно ли как то сделать так чтоб по умолчанию грузилось из фрагмента (т.е. как задумано было разработчиками) , а макрос грузил бы из файла ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group