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

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

  1. Philin

    Philin Форумчанин

    Ну вот и случилось чудо! :)

    Предлагаю на тестирование новую программу. Называется COM2ACAD v0.1BETA
    Это бета-версия будующей программы для передачи координат точек из электронного тахеометра напрямую чрез COM порт в Автокад. Не надо использовать никаких сторонних программ, создавать файлы и потом их портировать или открывать в автокад. Теперь вы можете просто подключить прибор к компьютеру, открыть рабочий чертёж в автокад, нажать одну кнопку на панели автокад (кнопку пока не нарисовал :)) и принять съёмку прямо в автокад.

    Аппаратные требования для корректной работы программы:
    - прямое кабельное соединение тахеометр-компьютер через COM-порт, либо через адаптер USB-COM
    - тактовая частота процессора не ниже 300МГц (любой компьютер, произведённый за последние 10 лет)
    - COM порт должен иметь номер от 1 до 15 (если у вас при соединении USB-COM контроллера порт имеет бОльший номер, то скажите мне и я расширю количество портов с которыми работает программа)

    Программные требования:
    - операционная система Windows95, Windows98, Windows XP
    - нет возможности проверить работу в Windows Vista и Windows 7 (если у кого есть эти операционные системы, то проверьте пожалуйста работоспособность программы в них и сообщите мне о результатах)
    - AutoCAD версий 2000-2009, а также AutoCAD версий 2010-2011 с дополнительно установленным модулем поддержки VBA

    Поддреживаемые версией BETA электронные тахеометры:
    - старые модели TOPCON (по идее от GTS серии 100 до GTS серии 3000)
    - старые модели South (по идее все модели серии 300, а также более ранние, возможно не будет работать с моделью 360)
    - Sokkia SET всех моделей поддерживающих формат данных SDR33 (теоретически и малораспространённый формат SDR31 должен корректно приниматься)

    Инструкции к программе пока нет, если у кого-то трудности с установкой VBA-приложений, то качайте любую из приведённых в этой теме программ (кроме AxeAndPointZ v.3.5.1), там вложена подробная инструкция по установке приложений VBA.

    Для запуска программы в английской версии автокад (после помещения программы в папку Support находящейся в папке с автокад) используйте строку типа: ^C^C-vbarun COM2ACAD.dvb!COM2ACAD.StartProgram

    Что программа может на данный момент:
    - принять координаты с вышеназванных тахеометров
    - отрисовать точки на активном слое чертежа, активным на момент запуска программы цветом автокад
    - при вашем желании может отобразить текстом на активном слое чертежа: номера точек, координаты точек, высоту точек
    - высоту текста (коодинат, имени, высоты) можно задать

    Что программа не может:
    - принимать более одного файла Sokkia за один раз. Ошибки не будет, но программа примет только первый переданный в потоке файл Sokkia SDR. Тахеометры Sokkia позволяют передавать много файлов за один раз, но я не буду реализовывать эту возможность в программе.
    - запоминать настройки соединения по COM порту для их быстрого использования при последующих запусках программы

    Как в дальнейшем будет развиваться программа:
    - добавятся другие марки и модели тахеометров (все возможные, кроме Leica)
    - тексты с координатами, номером, высотой будут рассортировываться по соответствующим слоям и открашиваться соответствующими цветами
    - точки будут автоматически отрисовываться на слое с названием типа ДАТА_съёмка или ДАТА_съёмка_имя-файла (для приборов которые передают в COM порт имя файла работы)
    - если формат данных тахеометра позволяет выводить коды точек в файле координат (как это сделано в новых форматах TOPCON, NIKON, Sokkia), то программа будет распределять точки на разные слои в соответствии их кодам
    - точки, координаты которых введены вручную в прибор (для Sokkia), будут открашиваться красным цветом
    - сохранение настроек COM порта и выбранного прибора, которые будут автоматически восстанавливаться при последующих запусках программы
    - прямая передача координат из автокад в тахеометр через COM порт
    - и пр. и пр.

    PS ВНИМАНИЕ!!! В момент передачи данных ни в коем случае нельзя закрывать программу!!!! В лучшем случае это приведёт к закрытию автокад без сохранения изменённых данных в рабочих открытых чертежах, худшем - к перезагрузке операционной системы без сохранения изменений во всех открытых приложениях! Если нажали в программе кнопку передачи, то обязательно дождитесь когда программа напишет что порт закрыт! Даже если не посылать никаких данных в автокад, то программа автоматически закроет COM порт через 20-30 секунд.
    PPS Как уже неоднократно писал ранее - впоследствии готовится объединение этой программы с AxeAndPointZ, что позволит получать готовую исполнительную съёмку напрямую с прибора. Т.е. данная программа является блоком приёма точек из прибора в автокад, а AxeAndPointZ является изначально блоком отрисовки исполнительной съёмки по точкам, в котором реализована, но пока отключена возможность рисования плановых исполнительных съёмок одним кликом мыши.
    (Добавление)
    Под форматом GTS подразумевается формат координат типа "_+NEW_P31 _ x+000101294_ y+000201929_ z+000837623"

    PPPS Программа удалена в связи с выходом новой версии.
     
  2. Палыч

    Палыч Форумчанин

    А чем Лялька провинилась? ::sad24.gif:: (у меня других апаратов нет - например)
     
  3. max7

    max7 Форумчанин

    Philin А можно сделать под формат типа name,X,Y,COD? Подобный у Никона например.
     
  4. Philin

    Philin Форумчанин

    Ну... Например:
    Мне надо было разобраться с форматом Sokkia SDR. Дал запрос официальному поставщику приборов и получил всю исчерпывающую информацию по формату и даже больше.
    Хотел разобраться с форматом South, обратился к поставщику и получил всё что мне требовалось.
    Хотел разобраться с форматами ZEISS. ПОЛНАЯ информация по их форматам данных есть в инструкции пользователя.
    Хотел разобраться с форматами Trimble. Полная информация есть в англоязычной их инструкции.
    И т.д. и т.п.

    А чтоже лейка? Дал запрос поставщику оборудования, в ответ ТИШИНА! Попытался получить ХОТЯБЫ ОДИН файл с лейки у пользователей приборами этой фирмы, в ответ ТИШИНА.... Я не гадалка и не Нострадамус и понятия не имею как выглядит ваш формат. А раз на все запросы получаю в ответ тишину, то и программа такая лейководам не нужна. Видимо там всё настолько хорошо с передачей и обработкой координат, что не стоит заморачиваться.

    Запросто. Полная инормация по самому формату у меня есть, но не хватает одной мелочи. Мне нужен один небольшой текстовый файл координат переданный не через стандартный софт NIKON, а полученный из потока через гипертерминал. У меня нет информации по непечатаемым символам передающимся NIKON по COM порту, а родной софт обрезает эти символы и я не знаю как же на самом деле выглядит формат данных (гипертерминал ничего не обрезает). Желательно к файлу приложить название и модель прибора.
     
  5. Палыч

    Палыч Форумчанин

    Ну не ругайте их так сильно. Заняты очень ::biggrin24.gif:: Может прикрепленный фаил даст нужную инфу, а то как то ущербными Ляльковладельцы оказываются. ::biggrin24.gif::
     

    Вложения:

  6. Krovlaf

    Krovlaf Форумчанин

    По Nikon NPR-352W такой файлик пойдет?
     

    Вложения:

    • 01042010.tar.gz
      Размер файла:
      4,5 КБ
      Просмотров:
      86
  7. Philin

    Philin Форумчанин

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

    Это действительно передано через гипертерминал? Спрашиваю потому, что впервые вижу формат данных у которого при передаче никак не обозначается конец передачи. У меня подозрения что файл неполон и принят каким-то сторонним софтом, а потом им же обрезан. Не исключаю и вариант того что Nikon настолько прост, что проще некуда и упрощён не только сам формат данных (это скорее плюс), но даже передача данных (двойной плюс при экспорте данных в прибор).

    Если это реальный поток данных при передаче Nikon, то ответьте на один вопрос. Программа приёма данных для Nikon, когда тахеометр пишет что все данные уже переданы, зависает на какое-то время 0,5-20 секунд (либо прекращает приём чуть позже чем прибор напишет об окончании передачи), и только после этого говорит что данные переданы??? Если нет данных об окончании файла в потоке передачи, то программа может определять прекращение передачи только по таймауту отсутствия данных в потоке. Эти 0,5-20 секунд и будут таймаутом. Если нет никакого таймаута, то данный файл не является реальным потоком передачи COM порта, а написаная под этот файл программа не будет работать.
     
  8. Krovlaf

    Krovlaf Форумчанин

    Вот вариант с Гипера. На самом деле он ничем не отличается от файла импортируемого с помощью DataTransfer. В конце файла стоит "стрелочка". Это Вы имели в виду под непечатаемыми символами?
    Насчет
    Это ДА...
    В экселе набил точки столбиками: имя,Х,У,Z (Z по желанию), перевел в текстовый файл, отправил в прибор, все.
     

    Вложения:

    • 000.tar.gz
      Размер файла:
      632 байт
      Просмотров:
      92
  9. Палыч

    Палыч Форумчанин

    ::biggrin24.gif::
    Ну чтож. Как говорят-насильно мил не будешь-. Будем ждать. ::biggrin24.gif::
     
  10. Philin

    Philin Форумчанин

    Он отличается концом файла в котором стоит непечатаемый символ SUB (Substitution = Замена). В разных текстовых редакторах он может отображаться по-разному, но большинство редакторов его вообще не показывают. Видимо это и есть конец передачи. Буду ориентироваться на такой символ. Это я и имел ввиду под непечатаемыми символами.
     
  11. Tol

    Tol Форумчанин

    Добрый день. Спасибо за полезные программы. Хотелось бы узнать скоро ли появится возможность работать с Trimble в COM2ACAD?
     
  12. Philin

    Philin Форумчанин

    Tol, день добрый.

    Подразумевается формат данных M5 тахеометров Trimble? Будет дописан где-то в течение 3-х месяцев.

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

    Полная поддержка форматов Sokkia, Trimble, Nikon, South, TOPCON, Leica (если помогут с форматом данных владельцы этих приборов), УОМЗ (потребуется помощь владельцев)... ориентировочно будет закончена через год.
     
  13. Tol

    Tol Форумчанин

    Спасибо за ответ. Да, имелся ввиду М5.
     
  14. Philin

    Philin Форумчанин

    Для операторов приборов фирмы LEICA!

    По поводу программы прямой передачи с тахеометра в автокад.

    Столкнулся с этими приборами. Не вижу вообще никаких проблем, а также не вижу смысла писать программу под эти тахеометры. Программа передачи на даный момент работает с форматом Sokkia SDR33. Приборы LEICA имеют такую функцию как "форматные файлы". Эта функция подгружает в тахеометр файл(ы) который(е) позволяет(ют) выполнять приём/передачу в любом формате данных (включая от фонаря придуманный пользователем формат). Формат данных Sokkia SDR33 включен в дистрибутив программ для LEICA. Подгружаете этот sdr33.fmt файл в прибор и работаете без проблем.

    Т.е. у вас уже есть все возможности использовать эту программу по её прямому назначению.
     
  15. borik

    borik Форумчанин

    Philin
    Добрый день!
    В последних моделях Sokkia появилась возможность сбрасывать файлы SDR на флэшку без использования кабеля. Может стоит учесть в Вашей программе прямое считывание файла с диска ПК или флэшки?
    С УВАЖЕНИЕМ -borik.
     
  16. Philin

    Philin Форумчанин

    borik, день добрый.

    Существует множество таких программ. Одна из них представлена на нашем форуме написал её Disney. Очень хорошая программа. В связи с чем не вижу смысла изобретать велосипед.

    Сейчас думаю оформить ещё две своих программы. Одна из них делает выноски с вертикальными отклонениями от проекта (полезно для высотных исполнительных съёмок свай и т.п. объектов), а вторая делает выноски координат относительно указанных объектов (пересечения, узлы, точки, конечные точки и пр., помогает по-быстрому отобразить на бумаге координаты нескольких точек с последующей распечаткой и выносом с бумаги в натуру).

    Работа над COM2ACAD пока приостановлена, но будет продолжена когда появится свободное время. Она работает с теми приборами с которыми я в данный момент работаю:
    - South (???)
    - Sokkia SDR33
    - Leica (после загрузки в прибор форматного файла SDR33)
     
  17. Палыч

    Палыч Форумчанин

    Оффтоп
    Да!!! Оказывается хоть иногда надо мозгами шевелить.(Изучайте возможности матчасти)
     
  18. Максим

    Максим Форумчанин

    Здравствуйте! Замечательная программа, хотелось бы добавить в нее следующие возможности:

    1) Восстановление настроект привязки. В данной версии все привязки, кроме узла (точки), отключаются. Необходимо предусмотреть восстановление настроек привязки в состояние до запуска программы.

    2) Выбор размещения стрелки относительно линии. В данной версии программы предоставляется выбор точки размещения стрелки. Хотелось бы иметь возможность указывать на какой стороне относительно линии мне нужна стрелка, чтобы не загромождать чертеж. Т.е. надо иметь возможность вставить стрелку не за хвост, а за кончик стрелки. Конечно, можно "буксировать" стрелку, но это не совсем удобно: надо знать её точную длину.
     

    Вложения:

    • HaveAndWant.bmp
      Размер файла:
      559,2 КБ
      Просмотров:
      508
  19. Philin

    Philin Форумчанин

    Вы хотите чтобы во время работы программы привязка была ко всем объектам?
    По выходу из прораммы клавишей ESC все привязки к объектам восстанавливаются на те которые были до запуска программы. Или у вас не восстанавливаются? Если не восстанавливаются, то с какими типами линий вы работаете?

    В какой именно версии? На данный момент последняя версия 3.5.1 с опорными линиями к которым и прилипает отведённая от линии съёмки стрелка (опорные линии введены как раз для того чтобы не требовалось рассчитывать длину стрелки-отклонения). У вас версия без опорных линий или требуется ещё что-то добавить в программу? Привязка к концу стрелки-отклонения не может быть реализована в этой программе (действуют ограничения VBA), для этого надо будет писать программу заново.

    PS Картинка не была загружена, поэтому не видел её :) В общем, посмотрел вашу картинку... Версия 3.5.1 решает вашу задачу.. Там где вы указали серую линию... там по факту программа рисует серую линию (опорную линию) и включает привязку к ней. Просто у вас одна из старых версий в которой не было опорных линий. В новой версии программы переход между объектами съёмки производится ПРОБЕЛом, а не ТАБом как в старой. Пробел можно жать в любой момент работы программы и он всегда сработает (снято ограничение которое было с ТАБ).
     
  20. Жду, очень надо. ::rolleyes24.gif::
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление