А зачем
- ведь есть переход между вкладками - @ActiveMap # - переключайтесь между ними и всё.
Или опишите точнее вашу задумку… ![]()
@SendChars используется только для передачи управляющих символов диалоговым окнам Диджиталс.
Удачи.
А зачем
- ведь есть переход между вкладками - @ActiveMap # - переключайтесь между ними и всё.
Или опишите точнее вашу задумку… ![]()
@SendChars используется только для передачи управляющих символов диалоговым окнам Диджиталс.
Удачи.
Я мав на увазі діалогове вікно Вставити розбивку на аркуші (яке викликається по команді Вставка/Розбивка на аркуші…). В цьому діалозі є дві вкладки: Номенклатурна і Прямокутна. А по замовчуванню діалог відкривається на вкладці Номенклатурна, мені ж треба перейти на Прямокутна.
Я хочу щоб із скрипта можна було розбити куарту на листи формату А4. І для цього відправляю за допомогою @SendChars розміри А4: 210х297.
@SendChars
<CTRL+TAB>
@SendChars 210
@SendChars 297
@SendChars
Вставка | Розбивка на аркуші…
Але чи буде це працювати… ![]()
К сожалению, с диалоговыми окнами и управлением ими через команду SendChars не все так радужно. Передаваемые символы управляют только активным (имеющим фокус) элементом управления (кнопка, текстовое поле и т.п.) в диалоговом окне. Есть клавиши которые срабатывают независимо от текущего активного контрола (например Enter или Esc). Чтобы задать размеры листа надо установить активным сначала выпадающий список X, затем Y. Это можно сделать, отправляя TAB нужное количество раз. Однако, надо знать какой контрол имеет фокус при открытии диалогового окна, что заранее неизвестно. Кроме того комбинация CTRL-TAB работает только для MDI (дочерних) окон, но не для элемента управления вкладками в диалоговых окнах.
В общем, используйте SendChars там, где надо отправить Ok или Cancel, но не для таких хитроумных задач. Лучше попросите нас добавить в скрипты функцию, выполняющую разбивку на листы ![]()
CTRL+TAB для перемикання вкладок діалогових вікон працює коли в фокусі будь-який елемент крім нижніх кнопок ОК, Скасувати, Допомога.
Так є можливим відправити через @SendChars комбінацію CTRL+TAB ?
Якщо вже через @SendChars ніяк, то було б добре мати новеньку функцію розбивки на аркуші, щоб можна було задавати два параметри:ширину і довжину.
Есть функция Map.ParentObject Number > ParentNumber ![]()
А можно ли сделать Map.ChildObjects Number > [ChildNumbersList] ![]()
Частенько нужно найти кто же сидит внутри объекта. ![]()
Работать через - Найти → Внутри помеченного - не эффективно - сама процедура пометки слишком длительная. ![]()
Что думаете? ![]()
Спасибо ![]()
Нигде не нашла описания таких функций как: ![]()
@Map.StreetList ParameterID
@Map.GetObjectGroup ID
@Wait IntervalMS
@Map.Change3DLevel Level(1|2|3)
@Map.Control3DBuildings > ErrorCount
@Map.RedefineLayers ParameterIndex
@Map.SwapRoof
@Map.ToFlatRoof
@Map.ToGableRoof
@Map.ToHipRoof
Когда используется @Restore - до вызова внешней программы, или до? (@Run ExeFilename)
Спасибо ! ![]()
Прошу добавить во вкладку Сбор/Автозахват кнопку переключение “режима захвата”, этот режим заключается в том, чтоб захват производился в плане на заданное количество пикселей экрана, и на курсоре для удобства появлялся квадрат описывающий прямоугольную область в которой может производится захват (идея целиком сворована с автокада).
Проблема заключается в том, что при разных увеличениях экрана захват должен быть динамическим(при “приблежении к объекту” значение захвата уменьшался пропорционально увеличению), в нашем случае “фиксированное” значение автозахвата крайне не удобное!
Два года полностью слез с акада, но до сих пор мучаюсь, переключая режимы автозахвата: 1.00; 0.10; 0.03; 0.01.. непойму как другие спокойно могут работать?
Можно ли в проверку ин4 добавить проверку кадастрового номера на дубляж. Это проблема очень актуальна для ДЗК, и я не знаю почему этот вопрос раньше не поднимался. Заранее спасибо
Опция с захватом в пикселях экрана добавлена - Сервис|Настройки|Правка|Автозахват по экрану. Пробуйте.
Курсор пока остался старый.
Такая проверка в модуле проверки In4 предусмотрена. Имеются функции для проверки соответствия значений дескрипторов, заданному в текстовом файле списку. Для проверки в сценарий проверки и файл ошибок добавьте следующее:
In4.chk
[SC]
#Проверка дублирования кадномера
Cond[200]= MERGE(DS,SD,BC,SC)<>[FILE=CadNumbers.txt]
In4.err
200 E SC Повторение кадастрового номера
Здесь
In4.chk - имя файла сценария проверки,
In4.err - файл сообщений об ошибках,
Cond[200] - выражение, при невыполнении которого, будет сгенерирована ошибка с кодом 200 (можно задать любой незанятый код)
MERGE - функция слияния строк (DS,SD,BC,SC - параметры функции - дескрипторы In4)
[FILE=CadNumbers.txt] - файл - список значений, где каждая строка это полный кадастровый номер
Подробнее про функции проверки, используемые в модуле проверки In4 смотрите в Digitals\In4Check\Readme.pdf
Но в этом случае возникает проблема формирования актуального списка кадастровых номеров. А можно ли чтобы при проверке проводился поиск кадастрового номера в базе ин4?
Нет, такое не предусмотрена. Для этого как минимум надо знать структуру БД, чтобы сформировать SQL запрос.
А можно ли чтобы Digitals проверял дубляж в самих обменниках? Так есть папка по умолчанию - она же папка со всеми принятыми файлами ин4 . Сейчас для проверки дубляжа приходится запускать тотал и вводить кадастровый номер в поле поиска. Можно ли чтобы проверка по файлам ин4 происходила автоматом при проверке ин4?
Мне кажется лучшим выходом в данному случае будет написание небольшой программы, которая будет следить за изменениями в указанной папке и при добавлении нового обменного файла, или изменении существующего будет получать из них кадастровые номера и записывать в заданный текстовый файл. Этот текстовый файл затем можно будет использовать в проверке In4 в Digitals, как было сказано выше. Выполнять загрузку сотен и тысяч обменных файлов при каждой проверке In4 нерационально.
С созданием списка вроде бы получилось. Теперь возник вопрос если будет список не только с кадастровыми номерами, а через табуляцию ФИО владельца, площадь, исполнитель и т.д., как сделать так чтобы при проверке писалось на подобии: ошибка дубляж кадастрового номера ННННННННННННН Иванов Иван Иванович 2,35 га Институт землеустройства?
Что - неужели никто не знает или даже никогда не задавался этими вопросами
Или все знают и молчат как партизаны - и я одна тут несведущая … ![]()
На данный момент такое невозможно. Надо сделать функцию, что-то вроде CheckCadNumber, которая кроме проверки будет выводить соответствующее сообщение.
Извините за настойчивость, но когда можно ожидать выход в свет этой функции? Это проблема очень актуальна и решение этой задачи намного бы упростила проверку обменных файлов. Спасибо за понимание и помощь
судя по тому… что они недавно появились - нет ![]()
@Map.SwapRoof - меняет направление гребня крыши… то бишь ставит поперек =)
@Map.ToFlatRoof - преобразование *Roof во FlatRoof
@Map.ToGableRoof - преобразование *Roof в GableRoof
@Map.ToHipRoof - преобразование *Roof в HipRoof
остальные функции оставляю Александру
А вот и я с остальными функциями
@Map.StreetList ParameterID
Функция форматирует названия улиц, в параметрах карты, приводя их к единому виду.
ParameterID - ID параметра типа Список, содержащего список улиц, например:
ул. Ленина В.И.
ул. Каплан Ф.Е.
и если на карте эти улицы заданы как:
ул. В.И. Ленина
Ф.Е. Каплан ул.
то функция преобразует значения параметров к правильному виду, заданному в списке.
@Map.GetObjectGroup ID
функция возвращает в виде строки координаты и параметры первого объекта с указанным ID.
@Wait IntervalMS
Останов выполнения скрипта на указанный в мс. интервал
@Map.Change3DLevel Level(1|2|3)
3D здания имеют 3 уровня: основание здание, основание крыши и конек крыши. Данная функция изменяет высоту всех точек указанного уровня на текущую высоту карты.
@Map.Control3DBuildings > ErrorCount
Контроль ошибок в 3D объектах. Функция создает 2 группы объектов, в которых были найдены ошибки. В первую группу помещаются объекты с неправильной структурой (например, число точек в грани не равно 5), во вторую группу помещаются объекты с неправильной высотой (например, точки конька крыши не расположен горизонтально).
@Map.RedefineLayers ParameterIndex
Переопределение слоев. ParameterIndex - номер параметра, содержащего имя слоя. Объекты, у которых значение данного параметра совпадает, помещаются в один слой, с именем, указанным в параметре.