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

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

  1. У меня тоже самое. Только я сбрасывал с Топкона в формате GTS-7, но при этом пришлось выбрать Sokkia SET (SDR33).
     
  2. Philin

    Philin Форумчанин

    Вижу на скрине "Принято килобайт..." и гигантское число. Такое может быть только если у вас слишком медленный компьютер и он просто не успевает... Он ничего не принял!
    В некоторых случаях такое может произойти (только для формата Sokkia) если порт выбран, он существует, но прибор передаёт в другой порт.
    Если выбранный Вами порт не существует, то программа об этом сразу скажет. Она не будет работать с отсутствующим в системе портом т.к. всегда проверяет его наличие до попытки приёма данных.

    Для решения этой проблемы надо:
    - желательно пользоваться последней версией, а не версией 2.6
    - запустить программу
    - выбрать все нужные параметры порта
    - нажать кнопку для приёма в программе
    - ПОДОЖДАТЬ 1-2 секунды
    - нажать кнопку передачи на тахеометре

    Нет, не тоже самое. Вы пытаетесь передать данные в формате Nikon (изменённом TOPCON и названным GTS-7) в котором есть спецсимволы о которых не знает программа... при этом указываете формат данных SDR33.
    Т.к. я чаще всего работаю с форматом Sokkia SDR33, то и проблем с ним меньше. Он не будет писать об ошибках, если принятые данные хоть как-то читаются и вменяемы. Он просто напишет, что принято столько-то килобайт, но т.к. он не сможет распознать их как данные, то и начертить ничего не сможет.

    Вот так оно и выглядит:
    [​IMG]

    Данные текстовые. Все параметры порта явно правильные (данные читаются). Только это не SDR, поэтому и пишется "принято килобайт 6", но при этом точек принято 0.

    Вот так будет выглядеть окно программы, если из COM порта получены правильно данные SDR:
    [​IMG]

    Вот так будет выглядеть окно программы, если из COM порта правильно получены данные TOPCON:
    [​IMG]
    --- Сообщения объединены, 1 окт 2013, Оригинальное время сообщения: 1 окт 2013 ---
    Здравствуйте.
    Не вижу проблемы. Во всяком случае для WinXP тут проблемы нет. Надеюсь, что в Win7 тоже это решается аналогично.
    Любой COM порт можно переместить на любой свободный номер. Делается это в диспетчере устройств. Примерно так:
    [​IMG]


    PS Если Win7 этого не умеет делать, то все претензии к разработчику операционной системы, т.е. к Microsoft.
    --- Сообщения объединены, 1 окт 2013 ---
    ::rolleyes24.gif::

    Осталось немного подумать головой и получить данные вот так:
    [​IMG]

    Потом, не закрывая программы, ещё раз получить данные уже вот так:
    [​IMG]

    Потом закроем программу и видим на чертеже вот это:
    [​IMG]

    Здесь только один минус, точки в итоге продублируются.
     
  3. Спасибо.То что на картинке...похожий вид у меня принимает в формате GTS-6, через мою программу. Но потом, через эту же программу я перевожу в GTS-7 и тогда уже получал тот самый файл (как оказывается, формат Никона). Я еще внимательно попробую в формате GTS-6 перекинуть, через вашу программку.
     
  4. Дело то как раз в том Что этот порт работает в sokkia link, но ни в какую не принимает в автокаде!
    --- Сообщения объединены, 1 окт 2013, Оригинальное время сообщения: 1 окт 2013 ---
     
  5. Philin

    Philin Форумчанин

    Я понял следующее:
    - Windows7 x64

    Не понял вот что:
    - версия автокад какая?
    - разрядность версии автокад какая? (x32 или x64) То, что Win7 x64 не означает, что установлен автокад такой же разрядности... поэтому и спрашиваю.
    - прибор Sokkia надеюсь не старый 15-летней давности с форматом данных SDR20?

    Провожу проверку.
    - операционная система Windows7 x64 (рус)
    [​IMG][​IMG]
    - автокад 2012 x64 (рус)
    - программа COM2aCAD версии 2.8 (последняя на текущий момент)
    - читаю данные через COM порт из прибора Sokkia
    [​IMG]
    - данные считаны из порта
    [​IMG]
    - проверяю на чертеже эти точки
    [​IMG]
     
  6. Безымянный.png Безымянный1.png Безымянный3.png
    Безымянный4.png

    вот так все выглядит я ХЗ откуда ноги растут.
     
  7. borik

    borik Форумчанин

    Ryabinin,
    Попробуй скорость передачи уменьшить ...
     
  8. пробовал 4800 не помогло!
     
  9. Philin

    Philin Форумчанин

    На свои вопросы ответ не получил.

    Скорость я бы снизил до 9600 и в приборе и в программе.

    Вот что будет, если не передавать никаких данных программе:
    [​IMG]
    Это число (выделено красным) показывает среднюю производительность процессора и оперативной памяти и больше ничего (чем оно больше, тем производительнее система).

    Вот что видно у Вас:
    [​IMG]




    Варианты:
    - неисправен кабель передачи
    - неверно указан порт (у вас там затёрто на скрине, но видно, что в системе штук 20 чем-то занятых COM портов)[​IMG]
    - слишком высокая скорость передачи
    - возможно драйверы USB-COM контроллера не подходят для Win7x64
    - жду ответа на вопросы, которые задавал ранее... причина может быть где-то там...

    PS Если хоть что-то идёт по кабелю в указанный порт от прибора в программу, то здесь [​IMG] это всегда можно увидеть. Если же тут остаётся поле с первоначальной надписью, то значит ничего не пришло.
     
  10. Philin

    Philin Форумчанин

    Вышла новая версия программы COM2aCAD. Скачать её можно в разделе "Ресурсы" форума.

    Спасибо MilkKA за тест при отладке программы.
     
  11. Вопрос такого характера. После установки Вашей чудесной программы Автокад перестал открывать файлы в одном окне. Сама программа работает - все норм, спасибо. Читал про SDI и TASKBAR - не помогает. Файлы открываются с помощью laucher, тут тоже все норм. Закономерность заметил только после установки Вашей программы. На разных компах одно и тоже. На одном win8 x64 и autocad 2011, на другом win7pro x64, autocad 2010.
    Подскажите, что делать?
     
  12. Philin

    Philin Форумчанин

    О какой программе идёт речь?
    Ни одна из моих программ не изменяет глобальные переменные AutoCAD.
    Проблема не в моей программе т.к. она физически не в состоянии это сделать.

    Каким образом установлена и запускается программа?:
    1. на кнопку панели инструментов прописанную вручную по pdf инструкции
    2. на кнопку панели инструментов созданную через cui файл
    3. какой-то другой способ (их очень много)
    PS Устанавливал программы на AutoCAD с 2000 по 2013 и в операционных системах с Windows 95 по Win7 и ни разу это не влияло на глобальную переменную SDI... да и не могло влиять.
    А что у вас, я не знаю. Убить глобальную переменную автокад путём неправильного прописывания программы на кнопку невозможно физически. Зато её может убить:
    - вирус в системе
    - установка ломаного Microsoft Office (и автокад и офис ломаются через один общий системный файл. Одновременная их установка приводит к изменению и к полной невозможности дальнейшего восстановления системных переменных автокад). В таком случае гарантированно помочь может только переустановкаWindows и установка автокад без ломаного офиса (либо с лицензионным офисом)
    - сбой в системе
    - ещё что-нибудь
     
  13. monolit

    monolit Форумчанин

    пользуюсь акад 2013. как поставить все на кнопку знаю. но пишет"" Команда: _appload Не удается загрузить файл COM2ACAD.dvb.""что не так делаю, понимаю что руки кривоваты
     
  14. Robkiy

    Robkiy Форумчанин

    monolit, в первом посте архив с ПОДРОБНОЙ инструкцией

    Оффтоп
    на 13 нужен будет модуль ВБА качнуть ну и кнопку просто сделать с макросом - хотя я тоже тёмный в этом деле но инструкция рулит !!!
     
  15. Philin

    Philin Форумчанин

    Не стоит использовать _appload для загрузки VBA. Лучший вариант это _vbarun

    Для указанной программы макрос на кнопку будет выглядеть так:
    ^C^C_-vbarun COM2ACAD.dvb!COM2ACAD.StartProgram

    где красным выделено имя файла программы, зелёным - имя модуля в котором следует искать главную процедуру для запуска, синим - название процедуры для запуска. И не забываем разделители: пробел (между командой автокад и строкой параметров для неё), восклицательный знак (между именем файла и именем модуля), точка (между именем модуля и названием процедуры внутри модуля).
    Все мои программы написаны так, что модуль всегда имеет имя файла (без расширения), а главная процедура для запуска имеет название StartProgram. Всё это сделано для того чтобы пользователи не путались... если человек смог установить и запустить одну мою программу, то по аналогии с ней сможет запустить и любую другую программу.

    Прилагаю в архиве файл адаптации. Использовать его можно в Автокад 2008-2014. Содержит панель инструментов и кнопки для всех моих программ. Всё уже правильно прописано, достаточно встроить панель в автокад через адаптацию. Файл имеет расширение CUI, при адаптации в новых версиях автокад (2010-2014) загружать его надо как устаревший тип CUI (по умолчанию в этих версиях автокад файл адаптации стоит как CUIX).

    PS Все программы и иконки к ним надо предварительно сохранить в папке Support вашего автокад. В противном случае они будут недоступны для автокад.
    --- Сообщения объединены, 10 ноя 2013, Оригинальное время сообщения: 10 ноя 2013 ---
    Кто в наше время читает инструкции? ::wink24.gif::
     

    Вложения:

    Qvinto нравится это.
  16. Philin

    Philin Форумчанин

    Сейчас замедлил разработку всех программ. Балуюсь вот этим:
     
  17. Палыч

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

    Даш поганять?::biggrin24.gif::
     
  18. Philin

    Philin Форумчанин

    Как только, так сразу ;)

    Она пока ещё сырая (на видео даже видна конечная отладочная таблица после окончания работы программы). Многие горизонтали чертит разорванными, потом их приходится объединять вручную в местах разрыва. Хотя и в таком виде гораздо облегчает работу... на том примере вручную начертить горизонтали это часа 4, а программа это делает за 5 секунд + до часа на доработку горизонталей вручную в сложных участках и стыковки в местах разрыва.
     
  19. Палыч

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

    Как пожелание-точки с отметками должны лежать в слое аналогичном слою поверхности т. е. сама точка и все ее описания должна быть на уровне поверхности.
    --- Сообщения объединены, 10 ноя 2013, Оригинальное время сообщения: 10 ноя 2013 ---
    И возможность отрисовать горизонтали в выбраном контуре или контурах
     
  20. Philin

    Philin Форумчанин

    Это имеется ввиду?
    [​IMG]

    H точки = H горизонтали = H текста

    PS Горизонтали чертятся так как обычно чертит их человек. Жёстко привязываются к интерполированной точке, но сглаживаются так чтобы это было похоже на горизонталь, а не на ломаную линию.

    Конечно их можно изменить на жёсткую привязку к точкам при черчении, но... походить это начинает на что-то начерченное компьютером, а не человеком:
    [​IMG]

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