Полезные программы от Philin (строительство). VBA

Тема в разделе "Autodesk", создана пользователем Philin, 20 ноя 2010.

  1. Philin

    Philin Форумчанин

    pashich_y, я подумаю над этим... Но скорого решения проблемы не ожидайте. Была бы в наличии эта операционная система - решил бы быстро...
     
  2. Андрей Р.

    Андрей Р. Форумчанин

    to, Philin прошу помощи. Ставлю программу не 2004, создал новую панельку "геодезия", но никак не могу найти места где ее редактировать, и создавать кнопки. Всю голову уже сломал... ::sad24.gif:: Вот какая панелька открывается у меня...
     

    Вложения:

  3. Philin

    Philin Форумчанин

    Вам подойдёт инструкция по установке для автокад 2005 (она есть в pdf инструкции).

    Действия следующие:

    - Автокад при выполнении нижеуказанных действий НЕ ДОЛЖЕН быть запущен!

    - находим файл меню автокад. Он находится примерно по следующему пути C:\Documents and Settings\Администратор\Application Data\Autodesk\AutoCAD2004\R16.1\enu\Support\acad.mns (выделенные цветом участки пути к файлу меню могут отличаться для вашей версии и локализации автокад, а также от пользователя от имени которого установлен автокад). Красным выделено имя файла-меню автокад (оно неизменно, можно воспользоваться поиском файлов и папок автокад).

    - открываем этот файл в текстовом редакторе (стандартный блокнот Windows подойдёт)

    - находим в файле строки:
    ***IMAGE
    **IMAGE_3DOBJECTS
    и непосредственно ПЕРЕД ними пишем (добавляем) следующие строки:

    **Geodesy
    ID_Geodesy_0 [_Toolbar("Геодезия", _Floating, _Show, 0, 2, 1)]
    ID_UserButton_0 [_Button("Плановая_исполнительная", "AxeAndPointZ.bmp", "RCDATA_16_SELADD")]^C^C_-vbarun
    AxeAndPointZ.dvb!AxeAndPointZ.StartProgram
    ID_UserButton_1 [_Button("Высотная_исполнительная", "PloskH.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    PloskH.dvb!PloskH.StartProgram
    ID_UserButton_2 [_Button("Высотная_по_пандусу", "PloskHi.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    PloskHi.dvb!PloskHi.StartProgram
    ID_UserButton_3 [_Button("Выноска", "Vinoska.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    Vinoska.dvb!Vinoska.StartProgram
    ID_UserButton_4 [_Button("Прием_данных", "Vinoska.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    COM2ACAD.dvb!COM2ACAD.StartProgram

    - в итоге в файле меню должно получиться следующее:

    **Geodesy
    ID_Geodesy_0 [_Toolbar("Геодезия", _Floating, _Show, 0, 2, 1)]
    ID_UserButton_0 [_Button("Плановая_исполнительная", "AxeAndPointZ.bmp", "RCDATA_16_SELADD")]^C^C_-vbarun
    AxeAndPointZ.dvb!AxeAndPointZ.StartProgram
    ID_UserButton_1 [_Button("Высотная_исполнительная", "PloskH.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    PloskH.dvb!PloskH.StartProgram
    ID_UserButton_2 [_Button("Высотная_по_пандусу", "PloskHi.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    PloskHi.dvb!PloskHi.StartProgram
    ID_UserButton_3 [_Button("Выноска", "Vinoska.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    Vinoska.dvb!Vinoska.StartProgram
    ID_UserButton_4 [_Button("Прием_данных", "Vinoska.bmp", "RCDATA_16_BLANK")]^C^C_-vbarun
    COM2ACAD.dvb!COM2ACAD.StartProgram

    ***IMAGE
    **IMAGE_3DOBJECTS

    - сохраняем изменённый файл-меню и после этого запускаем автокад


    PS В принципе тут ничего сложного нет. Добавленные нами первые две строки описывают название и параметры новой панели инструментов. Следующие строки описывают каждую кнопку панели (от 0 до 4). Для каждой кнопки указывается её название, присвоенная ей картинка bmp, параметры, скрипт-команда вызова VBA программы.
    PPS В автокад версий с 2000 по 2005 я делал именно так. Можно это всё сделать и из самого автокад, но не задумывался как это там реализовано (вручную добавить строки в файл гораздо быстрее). А вот для версий 2006 и более новых приходится делать из автокад т.к. файлы меню я не нашёл в удобочитаемом виде, похоже они пожаты чем-то и не рассчитаны на изменения вручную.
     
  4. Андрей Р.

    Андрей Р. Форумчанин

    Говорили же мне читай до конца... :) А то я уперся в проблему и бросил... ::sad24.gif:: Спасибо буду разбираться!!! ::smile24.gif::
     
  5. Андрей Р.

    Андрей Р. Форумчанин

    Снова проблема с настройкой, на этот раз все честно дочитал до конца...
    Все добавил кнопочки появились и радуют глаз, но при нажатие на любую вылезает запрос "macro name:" курсор приобретает форму креста, при вводе какой либо цифры говорит "Macro not found." буквы "Execution error". Из мануала я понял, что ошибка скорее всего в это месте
    Но я чего уже только не перепробовал, и «-», и «_» и «_-», во втором случае только изменилось, вылезло окно выбора макроса.
    to, Philin Может поможете еще разочек. мне неразумному...
     

    Вложения:

  6. Philin

    Philin Форумчанин

    Специально для этого установил Автокад 2004 Английскую версию. Операционная система Windows XP SP3 Rus.

    Теперь устанавливаю программы.

    Мои действия:

    1. Нахожу папку Support в месте установки автокад. У меня он установился в "C:\Program Files\AutoCAD 2004\Support"
    [​IMG]

    2. Копирую туда все файлы программ и иконок к ним.
    [​IMG]

    3. Нахожу файл-меню автокад 2004. У меня он находится по пути "C:\Documents and Settings\Simeon\Application Data\Autodesk\AutoCAD 2004\R16.0\enu\Support"
    [​IMG]

    4. Редактирую (добавляю строки) файл-меню автокад. ВНИМАНИЕ!!!!! Строки форум обрезает и надо чтобы у вас строки для кнопок были одной строкой для каждой кнопки!!!! Т.е. после ^C^C_-vbarun должен быть пробел и сразу за ним скрипт загрузки VBA-программы!!! Как видно из примера, я применил «_-» и такой способ сработал в Английской версии автокад 2004, по идее он универсален и должен сработать также и в Русской версии.
    [​IMG]

    5. Всё работает без проблем.. Запустил с кнопки программу "выноска"
    [​IMG]

    PS Иконки для COM2ACAD пока нет и вместо неё я применил иконку для программы Выноска.

    PPS
    Ошибка возникает из-за того что после команды автокад не видит скрипта для запуска программы. В вашем случае это возникает из-за того что вы скопировали строки из форума, а он вместо пробела установил CrLf (возврат каретки и перевод строки, что заменяет на клавиатуре клавишу Enter). Сделайте строки полными (уберите перевод строки и верните пробел после ^C^C_-vbarun... И всё у вас заработает.)

    Спасибо Вам за то, что столкнувшись с проблемой, не бросили всё на полпути, а обратились за помощью к тому кто может её предоставить. Я отлично понимаю что пользователь не обязан быть программистом и знать тонкости работы программ и операционных систем. Ответы на ваши вопросы я в ближайшее время оформлю и добавлю в инструкцию. Надеюсь что это облегчит установку программ для следующих пользователей.
     
  7. Андрей Р.

    Андрей Р. Форумчанин

    Ура заработало!!! ::smile24.gif:: ::smile24.gif:: ::smile24.gif::
    Philin [big]ОГРОМНОЕ СПАСИБО!!![/big]
    Да все дело было в возврате каретки!
    Буду разбираться!!! ::-ph34r.gif::
     
  8. Philin

    Philin Форумчанин

    Выкладываю обновлённую инструкцию для программ в формате PDF. В ней подробно описан способ установки VBA-программ для Автокад версий 2000-2005. Других изменений нет.

    PS Инструкция удалена в связи с тем, что она устарела. Новую инструкцию можно скачать вместе с пакетом программ из первого сообщения текущей темы форума.
     
  9. Андрей Р.

    Андрей Р. Форумчанин

    Хорошая программа, реально порадовала! Хорошо устроена работа с окружностями, правда элипс программа не поняла. ::smile24.gif:: Особенно порадовала высотная исполнительная, обычно такой гемор все в ручную вычитать, и подписывать, а тут все автоматом!!! ::smile24.gif:: Так и не разобрался с высотной по пандусу, но как говорится всему свое время!
    А можно еще в программу встроить функцию экспорта-импорта координат, что-бы каталоги для разбивки делать? Не я не наглею это я так спрашиваю... ::smile24.gif:: ::smile24.gif:: ::smile24.gif::
     
  10. Philin

    Philin Форумчанин

    Так эллипс это кривая с переменными радиусами и центрами окружностей. Программа не рассчитана на работу с эллипсами, но если эллипс будет выстроен полилинией, от отработает без проблем (хотя лучший вариант в таком случае разбить эллипс на примитивы соответствующей командой автокад и обработать получившиеся дуги по отдельности).

    Да в принципе тоже самое что и высотная по плоскости, только параметров надо указать больше.
    Т.к. плоскость наклонная, то приходится указывать верхнюю высотную отметку пандуса, нижнюю высотную отметку пандуса, линию (или дугу для дугового пандуса) параллельную уклону и построенную из начала в конец уклона, верхнюю высотную точку на этой линии, одну из точек съёмки. Ну а далее программа обнаруживает все точки съёмки и, относительно указанных ранее параметров, рассчитывает отклонения от наклонной плоскости (в случае дугового пандуса там не плоскость, а сложная фигура в пространстве), при этом программа не затрагивает точки съёмки которые оказались за пределами начала и конца пандуса (даже если они подходят под параметры указанной точки съёмки).

    Импорт из файлов координат Sokkia SDR33 встроен в программу COM2ACAD. Хотя изначально я не рассчитывал на работу программы с файлами (она затачивалась под прямую кабельную передачу автокад<-->тахеометр). Экспорт точек из автокад напрямую в тахеометр, с одновременным созданием каталога координат в файле, планирую реализовать в этой же программе (кнопка там есть, но пока заблокирована т.к. код написан только на треть). Программа работает в операционных системах Windows от 95 до XP.
     
  11. Philin

    Philin Форумчанин

    Новая версия программы COM2ACAD 0,6 Бета

    Что нового:
    - исправлены ошибки чтения из файла настроек
    - добавлен COM порт 43
    - в сильно тестовом режиме добавлена поддержка формата данных Trimble M5

    За работу с приборами передающими в формате M5 не отвечаю. Пока это предварительные наброски и при попытке приёма могут быть любые последствия вплоть до закрытия автокад во время приёма данных (БЕЗ сохранения изменений в открытых рабочих чертежах). Прежде чем пытаться передавать с прибора в M5 формате... рекомендую закрыть ВСЕ запущенные программы, а также открыть в автокаде КОПИЮ рабочего чертежа (от греха подальше, вдруг испортится оригинал). Если с первого раза всё будет работать, то в дальнейшем можете спокойно принимать данные в формате M5 в автокад. Если работает, то скажите мне об этом.

    PS Как закончу с Trimble M5 Форматом, так сразу же приступаю к Nikon формату данных.
    PPS Программа удалена в связи с выходом новой версии.
     
  12. Дмитрин

    Дмитрин Форумчанин

    Philin Cпасибо большое за программы ::wink24.gif::
    Только в программе AxeAndPointZ хотелось бы что бы была еще привязка "центр" окружности.
     
  13. Philin

    Philin Форумчанин

    Пожалуйста :)
    Привязку сделать не проблема.

    Можно поинтересоваться какой у Вас прибор? А то может быть и привязку делать не потребуется.

    Я так понимаю что привязка нужна потому что точки в автокад передаются через какую-то стороннюю программу, программа вместо точек (point, node, узел) отрисовывает окружности.
    Какой программой пользуетесь для передачи?
     
  14. Дмитрин

    Дмитрин Форумчанин

    Я пользуюсь этой программой, т.к. у меня тахеометр Sokkia 550RX, там есть возможность скидывать данные с флешки. Но в этой программе отрисовывает круг, только поэтому нужна привязка. А кабеля не было в комплекте.
     
  15. Philin

    Philin Форумчанин

    А чем COM2ACAD не устраивает? Он тоже может читать данные из тахеометра через кабель, либо считывать данные с флешки SokkiaRX (читает файлы только в формате Sokkia, для других приборов только передача по кабелю из прибора в активный чертёж автокад). И ставит эта программа именно точки т.к. заточена под другие мои программы.
     
  16. BearDyugin

    BearDyugin Модератор Форумчанин

    На самом деле там не только круг, для построения по координатам доступны так же: точки, блоки, 2D и 3D полилинии. Нужный тип объекта можно выбрать из списка "Пикет"
     

    Вложения:

    • Geo_import.jpg
      Geo_import.jpg
      Размер файла:
      47,1 КБ
      Просмотров:
      377
  17. Дмитрин

    Дмитрин Форумчанин

    Disney Спасибо большое за программу, очень полезная, я выбирал точки, но меня тогда смутило что они очень маленькие и их будет трудно найти ::smile24.gif::, теперь всё ок!

    COM2ACAD 0,6 Бета - тоже хорошая программа, но там почему то при считывании разных .sdr возникают некоторые ошибки, так у меня из файла где 128 точень считалось только 16... некоторые файлы всё же грузятся правильно.
    P.S. Автокад следует загружать в режиме администратора что б запустить эту программу.
    AutoCaD2009, ОС Windows 7 Ultimate x86 Russian.
     
  18. Philin

    Philin Форумчанин

    А вот в таких случаях желательно передавать мне такие файлы. Уже второй человек это говорит, но не видя ваших файлов с данными я не могу понять в чём дело. У меня принимаются 100% всех точек съёмки и ни разу не было такого что какие-то точки не были приняты. Смоделировать ситуацию когда точки не принимаются у меня не вышло.
    (Добавление)
    Хорошо когда к дискуссии присоединяется разработчик программы. Получается что добавлять центр окружности не надо т.к., при желании, точки съёмки могут отображаться в виде точек.

    Центр окружности не хотелось бы вводить. Я проверял программу в таком режиме, если объект съёмки имеет много окружностей, то такая привязка начинает мешать при отрисовке съёмки т.к. курсор прилипает к центру окружности, если оказывается ближе к дуге окружности чем к точке съёмки.
     
  19. Мельник

    Мельник Форумчанин

    Philin, подскажите когда планируете закончить программу для тахеметрв Trimble?
     
  20. Philin

    Philin Форумчанин

    Здесь ситуация следующая.

    Поясню на примере.
    Представьте, что вы 5 лет занимались ремонтом и обслуживанием автомобилей определённой марки. Знаете каждую гайку и болт и с закрытыми глазами можете разобрать/собрать автомобиль. Потом вы пару лет не видели в глаза этих автомобилей и решили написать книгу по ремонту и обслуживанию авто НЕ ИМЕЯ ДОСТУПА к этим авто. В итоге можете упустить какую-то мелочь в описании и читатель книги не сможет снять какую-то деталь из-за одной единственной не открученной гайки.

    Вот здесь примерно тоже самое. С приборами работал, очень долго работал. Знаю досконально формат данных M5 и как происходит связь у Trimble. Но без доступа к приборам написание работающей программы маловероятно.

    Мне нужна обратная связь или другим языком - бета тестер. Это человек с доступом к таким приборам и готовый проверять работоспособность программы и указывать на ошибки и недочёты. В противном случае работа бессмысленна.

    С бета-тестером программа может быть закончена через неделю, а без него... может через год, а может быть через 5 лет (когда получу доступ к таким приборам) что-то получится (90% уже написано, остальное лень писать т.к. похоже, что никому это не нужно, а попусту тратить своё время глупо).
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление