Нужна помощь

На данный момент нет.

Порекомендуйте як знайти об’єкт, який сам себе пересікає (ламана яка себе пересікає, або полігон що себе пересікає)

Дивіться документ Control.doc у теці Digitals\Control. В сценарії контролю, наприклад для лінії:

[Intersect] Помилка перетину
L:S ; Лінія перетинає сама себе (без вузлової точки)

Дякую за оперативну відповідь - допомогло.

Для перетину полігона з вузловою точкою скрипт написав (можливо комусь пригодиться):

===================================
$n=@Map.SelCount
@if $n=0 then @Break Виділіть обєкти для генералізації
$list=@Map.Selected.List
@Text[1].Text $list
$n=@Text[1].Count
@Map.Selected.AddToGroup Проблемні-вузли-полігонів
@Map.DeleteGroup Проблемні-вузли-полігонів
@Map.DeselectAll
$i=0
@Progress.Start $n Пошук
%start
@Progress.StepBy
$i=$i+1
;@Dialog.WaitBox $i $n
@if $i>$n then @goto %end
$O=@Text[1].Line[$I]
;
$npoint=@Map.Object[$O].Count
$np=1
;викинули першу точку (для полігонів),для поліліній $np=0
@Text[2].Clear
%object
$np=$np+1
$X=@Map.Object[$O].Point[$np].X
$Y=@Map.Object[$O].Point[$np].Y
$Z=@Map.Object[$O].Point[$np].Z
@Text[2].Add $X $Y
@if $np>=$npoint then @goto %dali else @goto %object
%dali
@Text[2].Sort [+]
;$vse=@Text[1].text
;@break $vse
$m=@Text[2].Count
$j=0
$k=0
;-------------------------
%poshuk
$j=$j+1
$k=$j+1
@if $j>$m then @goto %start
$strokaj=@Text[2].Line[$j]
%poshuk2
;@Dialog.WaitBox $j $k
@if $k>$m then @goto %poshuk
$strokak=@Text[2].Line[$k]
$k=$k+1
;@Dialog.WaitBox $strokaj | $strokak
@if $strokaj<>$strokak then @goto %poshuk2 else @goto %est
%est
;@break $strokaj|$strokak
$xer=@StringPart 1 $strokak
$yer=@StringPart 2 $strokak
$zer=0
$IDnew=@Map.NewObject ID0
@Map.Object[$IDnew].Count 0
@Map.Object[$IDnew].AddPoint $xer $yer $zer
@Map.SelectObject $IDnew
Вид | Показать помеченные
@Map.Selected.AddToGroup Проблемні-вузли-полігонів
@Map.DeselectAll
@goto %poshuk
;-----------------------------
@Map.DeselectAll
%end
@Window.Refresh
@Progress.Stop
@break створено групу Проблемні-вузли-полігонів||Якщо група не містить обєктів, то помилки відсутні

Помітив помилку у побудові тін.

Трикутники створюються між вузлами одного об"єкта з фіксованою відміткою (наприклад - горизонталі).

Буде ця помилка виправлена?
tin1.dmf (4.24 KB)


Триангуляция Делоне

Отже, все що завязано на цій тріангуляції ДЕЛОНЕ, геодезистам не підходить. Інтерполяція горизонталей - не правильна, обєми також не вірні.

Навіщо вона потрібна в геодезичній програмі??

По всьому видно, що алгоритм в Digitals дещо простіший і працює в плані (ніколи не звертав уваги, хоча підозри були). Але ви можете додати до креслення структурні лінії, які змусять програму будувати трикутники уздовж них. Яким би не був розумним алгоритм, щоб красиво “укласти” горизонталі, використовувати структурні лінії доводиться в будь якій програмі - і в Трімбл, і в Civil Survey, і в Digitals, і в Credo.
В цьому конкретному випадку можливо варто спробувати команду ЦМР>Интерполировать горизонталі…, що призначена якраз для побудови проміжних горизонталей.

Щодо об’ємів. Алгоритм розрахунку в Digitals розраховує регулярну сітку, а потім додає об’єми всіх “стовпчиків”. (Уявіть щось на кшталт тривимірнуої стовпчикової діаграми). В принципі, з практики використання - краще просто дати на вхід пікети і межу.

Дякую за вичерпну відповідь.
Нам завжди хочеться більшого від програми. Можливо варто додати інші моделі побудови тріангуляції

Цікавить команда ЦМР>Переприсвоить висоти. Який у неї принцип роботи? Наскільки мені відомо вона використовує найближчі 8 точок. Це так?

Цікавить можливість створити підписи об’єктів (висоти пікетів), які лежать на полілінії так щоб підписи були розвернуті вздовж найближчого відрізка полілінії з можливістю відступу від відрізка (вверх, вниз , вліво вправо).
Необхідно для підпису висот краю полотна проїзду, верху і низу укоса

Доброго дня !
Підскажіть будь ласка ! як в скрипті виконати команду меню Група - Видалити - Усі ?
На момент операції не відомо які групи є в карті, і чи взагалі є які не буть групи, але потрібно їх всі видалити.
@ExecuteMenu GroupDelete - не дає бажаного результату ?

В нову версію додали скриптову функцію @Map.GroupList, вона повертає список назв груп карти.

;Приклад скрипта для видалення усіх груп
$GL=@Map.GroupList
@Text[1].Text $GL
$LC=@Text[1].Count
$I=0
%Loop
$I=$I+1
$GN=@Text[1].Line[$I]
@Map.DeleteGroup $GN
@if $I<$LC then @Goto %Loop

Це хороша новина ! Дякую! В арсеналі функцій дійсно не вистачало одного з основних інструментів для роботи з групами. Чудово, ще раз дякую !!

Доброго вечора всім !
Підскажіть будь ласка !, чи є можливість залити полігональні об’єкти одного шару різними колярами, в залежності від значення параметру ?
Хотів зробити цю справу через групи. Скрипт написав, все вийшло нормально, працює як швейцарський годинник…, але: БАЦ !!!, несподівано “напоровся” на обмеження кількості груп ! 32… А треба хоч би 60
А так класно все вийшло…
А можливо можна збільшити максимальну кількість груп ?

Используйте тематический вид

Дякую Dmitry_Zolotar ! Через тематичний перегляд все вийшло.

Помогите пожалуйста в такой проблеме:

  1. На компе №1 был создан шаблон *.dmt с внедрённым объектом формата doc ли docx. Установлен Word 2010
  2. На компе №2 установлен Word 2003 + FileFormatConverters (официальная программа позволяющая открывать файлы 2010-го в 2003). При редактировании внедрённого объекта выскакивает ошибка.
    Как редактировать шаблон без переустановки Word.
    Комп №2 не потянет word 2010 (очень медленно)
    .JPG
  1. На компе №1 открыть внедренный документ и сохранить в отдельный документ
  2. На компе №2 внедрить сохраненный документ в шаблон
  3. Использовать шаблон на обоих компах

Чи є в Digitals можливість, щоб при формуванні звіту через Сервіс-Документи в результаті підтягувалися не тільки внутрішні, а зовнішні об’єкти? Наприклад, ЛЕП, проміри до ЛЕП, сусідні будівлі.

Якщо масштаб шаблону той самий, що у вихідній карті, то тоді можна просто взяти, скопіювати і вставити ті об’єкти, які автоматично не скопіювалися. Але якщо шаблон в іншому масштабі, то тоді треба через Спеціальна вставка-В іншому масштабі і потім вручну співставляти з іншими об’єктами, бо воно не кидає на потрібне місце. Це не зручно. А скриптами складно це автоматизувати через те, що таких об’єктів, які не попадають на місце, буває багато.

Яка функція повертає координати курсора (миші)?
У разі відсутності велике прохання створити дану функцію
також необхідні функції доступу до кнопок миші.

Хочеться написати скрипт, який автоматично буде витягувати дані з публічної кадастрової карти.