Запрос на функцию

При імпорті даних з GNSS приймачів Leica, в LEICA Geo Office, при формуванні звітів GNSS зйомки (програма “Визирь”), в АркГісі LandXML можна перегнати в TIN модель. Autocad Civil 3D відкриває цей формат..

Не впевнений чи вірно обрав тему, справа така:
В скрипті обробки подій %Events.OnAdd, %Events.OnCollect для шару я використав функцію @Map.FindByParameters, як виявилось, використання цієї функції, в свою чергу, запустило обробщик події %Events.OnSelect ???.. Якщо так і повинно бути, наполегливо прошу забезпечити можливість БЛОКУВАТИ ВИНИКНЕННЯ ЧИ ОБРОБКУ ПОДІЇ в коді скрипта, при необхідності.

Погоджуюсь.
Дійсно, обробка події %Events.OnSelect відпрацьовує дуже не коректно. Свідченням того є робота, знята на відео DigXE. Розтолкую по-кроках:

  1. Якщо почати збір об’єкта-3 в той час, коли в карті є позначений об’єкт-2 (об’єкт-2 був позначений раніше в режимі правка), запускається обробка події %Events.OnSelect для об’єкта-3 (цікаво, як в такому разі працюватиме %Events.OnPointCollect); окрім того, чомусь об’єкт-3, після завершення об’єкта, лишається позначеним, хоча опція позначати зібраний об’єкт в налаштуваннях - виключена.
  2. Якщо почати збір об’єкта-4 в той час, коли в карті є позначений (перепрошую, “активний”) об’єкт-3, обробка події %Events.OnSelect не запускається, як і має бути, і це вже радує.
  3. Якщо почати збір об’єкта-5, попередньо знявши позначку з об’єкта-4, знову запускається обробка події %Events.OnSelect, а це вже не радує.
  4. Якщо зняти позначку з об’єкта-2 (кліком миші при затиснутій клавіші Ctrl) - знову запускається обробка події %Events.OnSelect, і це прикро.

Мабуть, подія селектування об’єкта якось пов’язана з активізацією головного вікна програми :blush:. У версії Digitals (не XE), обробка тієї-ж події виглядає по іншому (там був недолік такий - вікно програми після закінчення об’єкта лишалось не активним). Виправлення такої помилки певно займе часу, але просимо.
GedXE.exe (965 KB)

Прийшлось обходитись фільтруванням в коді скрипта.
Пробачте. Не подумайте що я займаюсь виловлюванням всіляких несправностей в роботі Digitals. Так получається по ходу:

  • починаючи з версії 12.06 не працює скриптова функція @DLLExec DLLPath.DLLFunction [Parameters].
    У версії 29.05 - працює, а в тих що новіші - Digitals вилітає.

Полностью поддерживаю!
Кроме того импорт надо организовать как для Digitals, так и для Геодезии.
В первом варианте использовать импорт семантики и готовой метрики точек, линий, полигонов, а для геодезии следует сделать импорт сырых измерений.

Данный формат наиболее полно экспортирует данные из тахеометров Leica TPS1200 и новой линейки leica Viva (в принципе с любой лейки можно получить такой файл, но придется делать форматный файл инструмента).

Поскольку с многих инженерных тахеометров Leica можно получать кроме сырых измерений и готовых координат точек, еще и геометрические объекты (линии, полигоны), то рассматриваю вариант: сперва контроль измерений, уравнивание в геодезии сырых данных, и т.д., а уже потом сохранение опять в LandXML с тегами геометрических объектов(оставить весь блок тегов созданных тахеометром нетронутым), которые в последующем откроются в Digitals, как обработанные геодезией точки и на них посаженная графика тахеометра.
К примеру с контроллеров GNSS оборудования любого производителя (trimble, leica, carlson..) можно получать файлы в формате LandXML, из которых тоже сразу в Digitals получать точки и геометрические объекты, а если кому нужна опора в Геодезии то смело получать опору из спутниковых наблюдений (сам раньше использовал CSV файл).
Так-же данный формат пропагандируется как отчетный файл GNSS съемок, инфа из материалов семинаров проводившихся ДЗА. Вообще формат самодостаточный.
Во запросил

Покажите исходный код функции из библиотеки.

Так тестовий приклад і не працює. А викликаю функцію зі скрипта:
$S=@DLLExec d:\TestDLL.AddNumbers 30,55
@Dialog.Message $S

Работает нормально, вот DLL, скомпилированная на Delphi XE2. Приложите свою DLL и скажите, в какой версии Delphi компилировали.
TestDLL.zip (537 KB)

Тепер дійсно працює. Надіслав ЛС.

Попрошу еще OLE связку DMF для Reports (все равно никто не слышит {шутка}), это необходимая вещь, чтоб делать нормальные планы.С середины 2011 года в плановых материалах под XML никаких движений.
Хранить картинки в Reports, это-же “порнография”. :open_mouth:
Так-же OLE связку Опенофис для Digitals/Reports, объясните мне, для чего мне МС Офис покупать/ломать, дань традициям?

Здравствуйте, хорошо конечно что шаблоны БТИ появились в Диги, но жаль что не все, вот например если поэтажный план есть то ген плана нет, да и шаблона по поэтажному тоже нет. Вот примеры




Здравствуйте!
Есть такая просьба создать такую функцию, чтобы осуществлялся поворот участка(или группы участков) относительно выбранной точки?!
заранее спасибо!

Выделите участки которые нужно развернуть, затем замаркируйте точки на одном из участков (левый клик мышкой, удерживая Alt). Это и будет центр вращения.

Если ось вращения не совпадает ни с одной из точек участка, можно временно создать точечный объект, пометить его и замаркировать.

Также обратите внимание на опцию Относительно общего центра. Ее нужно включать в вашем случае.

Просьба сделать передачу данных об уравнивании в дигиталс, для дальнейшего их анализа в графическом виде.
В данный момент интересует графическое отображение эллипса ошибок. Чтоб как-то эллипсы из параметров получать(желательно условными знаками, с несколькими переменными параметрами).
Дигиталсу столько лет, а такой элементарщины нет.
Кстати, LandXML тут-бы подошел в самый раз, чтоб с экспортом не шаманить (из предыдущей просьбы)

Ув. разработчики назрел вот такой вопрос (вроде бы везде поискал, но не нашол на форуме такого) : как в диджитале можно сделать так, чтобы при выборе какого либо обьекта появлялось информационное окно с всеми данными о нём. Если конкретней, к примеру есть водопроводная сеть, хочеться чтобы при нажатии на какой либо колодец появлялось информационное окно + схема колодца.
Мысли назрели пока что насчёт HTML кода в слоях определённого колодца, трубы и т.д. Но как именно реализовать, пока не дошло.
Возможно есть какие-либо идеи как сделать с помощью HTML кода или ещё както, буду рад помощи :slight_smile:

Например, так (Схема и информация, допустим, хранятся в HTML файле):

  1. Создаем параметр типа Файл и подключаем к слою колодцев.
  2. Щелкните дважды в поле параметра и укажите файл.
  3. Можно вынести подпись, а можно и не выносить.

Теперь, когда нужно посмотреть схему, щелкайте дважды в поле параметра и диг вызовет браузер. Или, наведитесь на край подписи и щелкните, когда появится “указательный палец”. Эффект тот же.

Меню Помощь-Контекстная подсказка включает/выключает показ окна “Помощь|Контекстная подсказка”.
В этом окне может отображаться информация о помеченном объекте в HTML-виде. HTML получается XSLT-преобразованием(файл autoinfo.xsl) специального xml-файла, содержащего информацию об объекте в виде:

<?xml version="1.0" encoding="UTF-8"?> Значение параметра Значение параметра .... .... .... Значение параметра

Файл autoinfo.xsl из дистрибутива Digitals отображает все непустые доступные параметры в виде таблицы, для слоев XMLNormal производятся дополнительные преобразования для удобства восприятия информации.

Немного о XSLT-преобразовании (англ.)

В мене інформація про всі об’єкти карти зберігається і обробляється в іншому додатку (базі даних) але кожен об’єкт карти має відповіднимй об’єкт бази даних. При виборі об’єкту в Digitals запускається скрипт обробки події %Events.OnSelect в якому вичитуються параметри селектованого об’єкту, необхідні для його ідентифікаціїї в базі даних, і з допомогою технології Digitals Exchange параметри селектованого об’єкту передаються в додаток бази даних разом з відповідною командою:

@ExecuteMenu ToolsExchange
;відкриття файлу службовий 1.xls для запуску в ньому проги автозапуску
@Run D:\Лесной проект\службові файли\файли для Exchange\селектовано виділ.xls
@Break

База даних робить свою роботу: формує файли Характеристика_обєкту.txt і Input.txt; поміщає їх в C:\Digitals\Exchange. Digitals реагує на появу файлу Input.txt; вичитує з нього команду виконати скрипт, який читає характеристику обєкту з файлу Характеристика_обєкту.txt і виводить її в повідомленні @Dialog.Message
На практиці це все працює швидко і надійно, АЛЕ…
Подія селектування об’єкту %Events.OnSelect виникає не лише безпосередньо при виборі обєкту, але й при інших операціях з об’єктами, наприклад об’єднанні, або створенні нового об’єкту і що ще гірше: подія %Events.OnSelect виникає і під час виконання скрипта обробки події %Events.OnCollect !! ? Це путає карти і вельми ускладнює використання скриптів обробки подій. От якби була можливість в скрипті на певний час блокувати виникнення події … але це питання до розробників а вони люди зайняті…

Як зробити так, щоб при заповненні обмінного фалу ін4 автоматично заповнювався код угіддя в параметрі CN відповідно до назви шару? А то доводиться вибирати один раз назву шару (наприклад, 05 угіддя) і потім ще раз заповнювати те ж саме в параметрі CN. Кому це потрібно? А от параметр LC заповнюється автоматично від більшої до меншої площі в угіддях.

Внесіть зміни в Normal.dmf:

  1. Поміняйте тип параметру CN зі “список” на “строка”
  2. Внесіть формулу =GET(1_P[-5]) в назву параметра CN, має вийти: =GET(1_P[-5]) CN Код угіддя за формою 6-зем
  3. Перевірьте щоб була включена галочка “Загружать слои угодий из CN” (Сервис-Настройки-Чтение-In4/GBD)