RUS  ENG 

Павел Макаров (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
[БАГ] Переместиться в..., Некорректная работа операции
 
Цитата
Алексей Аширов написал:
телефон для связи
Выслал на почту [email protected]
[БАГ] Переместиться в..., Некорректная работа операции
 
Здравствуйте. Обнаружил странный баг в версии 8.0.0.7858u при выполнении операции "Переместиться в...":
каждый раз карта сама поворачивается на случайный градус, который изменяется после переоткрытия карты/перезапуска программы. При выставлении 0 градусов они не меняются, приходится ставить 360.
VBScript EnumElements method, Перестал работать метод EnumElements
 
Здравствуйте. Заметил, что перестал работать метод EnumElements. Создал тестовый макрос для проверки метода:[CODE]Sub Test()

Set Map = Zulu.ActiveMapDoc

Set L = Map.Layers.Active
   
       Set En = L.EnumElements

En.MoveFirst
   
       MsgBox En.IsEOF

End Sub[/CODE]

В сообщении пишет "Истина", указывая, что в слое, якобы, нет элементов (хотя, они есть). Проверял на разных слоях - картина та же.

Версия 8.0.0.7778u

Изменено: Павел Макаров - 19.04.2021 14:26:55
VBScript IntersectByRadius method (Layer), Ошибка eCrossCriteria
 
[QUOTE]Алексей Аширов написал:
Добрый день. Пришлите пример данных и вызова метода.  [URL=mailto:[email protected]][email protected][/URL] [/QUOTE]
Отправил.
VBScript IntersectByRadius method (Layer), Ошибка eCrossCriteria
 
Здравствуйте. Обнаружил странность при работе с методом IntersectByRadius (Layer), а именно:
при выборе eCrossCriteria = 1, в набор попадают линии, проходящие через радиус, хотя должны попадать объекты, полностью попавшие внутрь (например, символьные объекты). Или я что-то не так понимаю? Мне нужно найти именно символьные объекты, полностью попавшие в радиус поиска.

Версия:8.0.0.7747u
Изменено: Павел Макаров - 12.04.2021 08:52:51
Программное добавление текста AddText, Как программно добавлять текст
 
[QUOTE]Алексей Аширов написал:
Font.Italic = True
Font.Bold = True
Font.Name = "Times New Roman"[/QUOTE]
Спасибо. Не нашёл этого в библиотеке Zulu.
Программное добавление текста AddText, Как программно добавлять текст
 
[QUOTE]Алексей Аширов написал:
'Цвет красный
Style.FontColor = 255[/QUOTE]
А как назначить шрифт, например, Times New Roman? Не понял, как использовать Font (Property Font As StdFont).
Программное добавление текста AddText, Как программно добавлять текст
 
[QUOTE]Алексей Аширов написал:
[QUOTE][URL=/forums/?PAGE_NAME=profile_view&UID=1754]Павел Макаров[/URL] написал:
Здравствуйте. Подскажите, пожалуйста, или приведите пример, как программно добавить текст, используя макрос VBS. Пробую добавить через AddText, но не знаю, как использовать Style.[/QUOTE]
 [URL=https://www.politerm.com/zuludoc/zuluax/index.html#ElemStyle_cls.html]https://www.politerm.com/zuludoc/zuluax/index.html#ElemStyle_cls.html[/URL] [CODE] Set Map = Zulu.ActiveMapDoc

Set L = Map.Layers.Active
   
Set St yle = CreateObject("ZuluLib.ElemStyle")
   
'Высота текста на местности в сантиметрах
Style.TextHeight = 100  

'Цвет красный
Style.FontColor = 255
   
L.AddText 0, 0, "АБВГД", style [/CODE] [/QUOTE]
Благодарю!
Программное добавление текста AddText, Как программно добавлять текст
 
Здравствуйте. Подскажите, пожалуйста, или приведите пример, как программно добавить текст, используя макрос VBS. Пробую добавить через AddText, но не знаю, как использовать Style.
Ошибка SQL-запроса, Ошибка при сочетании geometry.length и geometry.selected()
 
Цитата
Дмитрий Емельянов написал:
Сообщайте номер версии, задавая вопросы по программе!
Версия 8.0.0.7701u
Цитата
Дмитрий Емельянов написал:
Так же прошу раскрыть, как проявляется ошибка: ошибка в синтаксисе, некорректное выполнение запроса, разрыв соединения с сервером, закрытие программы?
В окне выполнения SQL-запроса ошибка: Request has not been proceeded.
Программа зависает, после чего появляется окно с сообщением, что разорвано соединение с сервером Zulu. Если рабочий слой находится на компьютере, то появляется окно с ошибкой: прекращена работа программы Zulu, после чего окнопрограммы закрывается. Формируется автоматический отчёт для отправки.
Цитата
Дмитрий Емельянов написал:
На какую почту вы отправили отчет? продублируйте на [email protected]
'[email protected]'
Продублировал на [email protected]
Изменено: Павел Макаров - 12.03.2021 12:40:23
События Zulu, Примеры использования
 
[QUOTE]Алексей Аширов написал:
Так, чтобы мышка ходила по карте, а макрос все время определял координаты, нельзя. Так только при обработке событий  в плагине можно.[/QUOTE]
Ну почему же. Я присвоил сочетание клавиш для исполнения макроса. Остановил мышку в нужном месте - нажал клавиши и считал бы координаты курсора.

Попробую разобраться с плагинами тогда.
События Zulu, Примеры использования
 
[QUOTE]Алексей Аширов написал:
Добрый день. Макросы с событиями не работают. Только плагины.[/QUOTE]
А имеется ли возможность (свойство или метод) через макрос VBScript получить координаты курсора мыши в пределах карты?
Ошибка SQL-запроса, Ошибка при сочетании geometry.length и geometry.selected()
 
Здравствуйте. Обнаружил ошибку при исполнении SQL-запроса, использующего сочетание присвоения полю значения длины линейного объекта среди выделенных объектов:
Код
UPD ATE [gaz] SE T [Диаметр внутренний, мм] = 63, [Длина, м] = Round(length,2) WHERE typeid = 11 AND modeid = 9 AND geometry.selected()=1;
Если убрать что-то одно (вместо length поставить число, либо убрать geometry.selected()=1), то всё работает.
Отчёт об ошибке был отправлен письмом в техподдержку.

P.S. почему-то вставляет пробелы в запросе в словах "UPDATE" и "SET".
Версия ZuluGIS 8.0.
Изменено: Павел Макаров - 12.03.2021 10:20:14
События Zulu, Примеры использования
 
Здравствуйте! Подскажите, пожалуйста, как пользоваться событиями Zulu? Хотелось бы увидеть следующий пример макроса:
Отобразить на экране месседжбокс с координатами курсора при нажатии сочетаний Alt+ЛКМ.
VBScript метод ChangeDirection
 
[QUOTE]Алексей Аширов написал:
В сегодняшнем обновлении сделали и для простых полилиний.Заодно добавлен методFunction Element.ReverseSegment(SegNum As Long) As Long[/QUOTE]
Отлично! Благодарю!
VBScript метод разделить линии на отрезки
 
[QUOTE]Алексей Аширов написал:
Добавили методы:Function Element.SplitToLineSegments(flags As Long) As Long  - разбиение полилинии на отрезкиFunction TargetSelection.InsertVerticesAtIntersections(Layer As Layer, Options As Long) As Long  - узлование мишени группой Function Layer.CreatePolygonsFromLines(inLayer As Layer, Style As ElemStyle, Options As Long) As Long - создание полигонов по группе линийOptions и flags зарезервированы. Ставить 0.[/QUOTE]
Спасибо! Если будут какие-то вопросы или корректировка, напишу тут.
VBScript метод ChangeDirection
 
Здравствуйте. Обратил внимание, что методы ChangeDirection (Element) и ChangeDirections (Selection) работают только с типовыми полилиниями. При работе с простыми полилиниями существует возможность изменить направление сегмента, находясь в режиме узлов. При этом опция "изменить направление участков" в режиме объекта активна, но не работает на них. Можно ли добавить методы, аналогичные методам ChangeDirection (Element) и ChangeDirections (Selection) для простых полилиний, либо добавить существующим методам эту опцию?
Изменено: Павел Макаров - 29.01.2021 12:45:29
VBScript метод разделить линии на отрезки
 
[QUOTE]Алексей Аширов написал:
Для такого типа сценариев: [URL=https://youtu.be/ap7no9vcQY8]https://youtu.be/ap7no9vcQY8[/URL] [/QUOTE]
Кстати, а для узлования пересекающихся линий, как в этом видео, подойдёт Split method (TargetSelection)?
VBScript метод разделить линии на отрезки
 
[QUOTE]Алексей Аширов написал:
Хорошо. Чтобы из набора полилиний и отрезков собрать контуры еще методы могут понадобится.[/QUOTE]
Я уже написал алгоритм сборки. Остался как раз этот нюанс с разбивкой линий на отрезки. Алгоритм использует метод обхода по отрезкам с остановкой в начале, после чего переход к следующему никак не связанному объекту.
VBScript метод разделить линии на отрезки
 
[QUOTE]Алексей Аширов написал:
Добрый день. Сейчас такого метода нет. Можем добавить[/QUOTE]
Было бы здорово. Поскольку существует задача работать с разбитыми отрезками для пересборки в контуры.
VBScript метод разделить линии на отрезки
 
Здравствуйте. Не нашёл метод-аналог команде "Разделить линии на отрезки", находящейся в меню "Правка". Он существует?
VBScript преобразование в полигон, Помогите преобразовать линию в полигон
 
[QUOTE]~[/QUOTE]
Изменено: Павел Макаров - 14.01.2021 13:55:40
VBScript преобразование в полигон, Помогите преобразовать линию в полигон
 
При работе выявился странный баг: все выделенные линии при отработке макроса пропадают. При преобразовании через меню всё нормально. Прилагаю тестовый файл DXF, с которым работаю.

Текст макроса, который использую для теста (предварительно выделив все объекты слоя):[CODE]Sub Test()
   
   Set Map = Zulu.ActiveMapDoc

   Set L = Map.Layers.Active
   
   L.Selection.ConvertToPolygons Nothing, -1, -1, 0.3

End sub[/CODE]
VBScript преобразование в полигон, Помогите преобразовать линию в полигон
 
[QUOTE]Алексей Аширов написал:
Добавили методы:для группы:   Layer.Selection.ConvertToPolylines(Style As ElemStyle, ElemType As Long, ElemMode As Long, Delta As Double) As Long   Layer.Selection.ConvertToPolygons(Style As ElemStyle, ElemType As Long, ElemMode As Long, Delta As Double) As Longдля конкретного объекта:  Element.ConvertToPolyline(Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long  Element.ConvertToPolygon(Style As ElemStyle, ElemType As Long, ElemMode As Long, Delta As Double) As LongОписания пока нет.ElemStyle может быть NothingElemType и ElemMode пока не задействованы (преобразуют в примитивы, ставить -1)Delta - окрестность для замыкания концов ломаной в метрах[/QUOTE]
Спасибо! Опробую методы в работе и, если будут какие-то вопросы/корректировка, напишу здесь.
VBScript преобразование в полигон, Помогите преобразовать линию в полигон
 
[QUOTE]Алексей Аширов написал:
[QUOTE][URL=/forums/?PAGE_NAME=profile_view&UID=1754&sphrase_id=66496]Павел Макаров[/URL] написал:
Здравствуйте. Пробую написать макрос для преобразования замкнутой линии в полигон (контур), используя VBScript. Примеров на сайте не нашёл. Как применить метод SetContour - не совсем понял. Подскажите, как это сделать или приведите пример. ZuluGis 8.0.[/QUOTE]
Добрый день.

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

Сейчас только длинный путь: получить у объекта PolyLine, по ее точкам заполнить Contour, удалить исходный объект, записать новый, и у него поменять ID на прежний (ChangeElemID ).

Путь довольно кривой, так что лучше мы методы добавим. Преобразовать линию в полигон и наоборот.


SetContour заменяет одну геометрию полигона на другую.
[URL=https://www.politerm.com/zuludoc/zuluax/index.html#Element_SetContour.html]https://www.politerm.com/zuludoc/zuluax/index.html#Element_SetContour.html[/URL] [/QUOTE]
Спасибо. Было бы здорово, если вы добавите такой метод. Уж очень не хочется городить околесицу с отрисовкой нового полигона по вершинам заданной ломанной.
Страницы: 1 2 След.