Форум НПФ  

Вернуться   Форум НПФ "ТОПОМАТИК" > Программные продукты "Топоматик Robur" на платформе "Robur AP3" > Автомобильные дороги, версия 8.3 > Шаблоны конструкций поперечников
Ник
Пароль
Регистрация FAQ Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04-15-2016, 9:30
nick9111 nick9111 вне форума
Пользователь
 
Регистрация: Sep 2010
Сообщения: 58
Восклицание Документация по шаблонам

В "Том 9. Общие задачи. Приложение Д. Формат шаблона поперечного профиля автомобильной дороги" дана таблица стандартных переменных.
Изучая же стандартные шаблоны в редакторе конструкций видим в фомулах узлов и лучей еще такие переменные, как
P1, P2 ...
BANK_LEFT_SIDE_STRONG_BANK_HEIGHT
LEFT_BUS_POCKET_WIDTH
LEFT_BUS_POCKET_ELEVATION
LEFT_M1
и т.д.
Как понять, что они означают и как их использовать?
Являются ли они дополнительными переменными или же стандартными, но не указанными в документации? Если это так, то необходимо дополнить справочный материал.
Для лучшего понимания, возможно, стоит указать как соотносятся переменные со значениями таблиц в окне "Верх проектной конструкции".
Ответить с цитированием
  #2  
Старый 04-15-2016, 9:44
gans_ad21 gans_ad21 вне форума
Пользователь
 
Регистрация: Aug 2015
Сообщения: 31
По умолчанию

Цитата:
Сообщение от nick9111
В "Том 9. Общие задачи. Приложение Д. Формат шаблона поперечного профиля автомобильной дороги" дана таблица стандартных переменных.
Изучая же стандартные шаблоны в редакторе конструкций видим в фомулах узлов и лучей еще такие переменные, как
P1, P2 ...
BANK_LEFT_SIDE_STRONG_BANK_HEIGHT
LEFT_BUS_POCKET_WIDTH
LEFT_BUS_POCKET_ELEVATION
LEFT_M1
и т.д.
Как понять, что они означают и как их использовать?
Являются ли они дополнительными переменными или же стандартными, но не указанными в документации? Если это так, то необходимо дополнить справочный материал.
Для лучшего понимания, возможно, стоит указать как соотносятся переменные со значениями таблиц в окне "Верх проектной конструкции".

Если в окне свойств нажмешь на эту переменную, то справа появится кнопочка с тремя точками, жмешь на нее и откроется "мастер формул". Вверху жмешь на кнопку "Переменные подобъекта" и при выделении переменной появится ее описание.
Ответить с цитированием
  #3  
Старый 04-15-2016, 10:01
nick9111 nick9111 вне форума
Пользователь
 
Регистрация: Sep 2010
Сообщения: 58
По умолчанию

Цитата:
Сообщение от gans_ad21
Если в окне свойств нажмешь на эту переменную, то справа появится кнопочка с тремя точками, жмешь на нее и откроется "мастер формул". Вверху жмешь на кнопку "Переменные подобъекта" и при выделении переменной появится ее описание.

Возьмем, к примеру, переменную DYNAMIC_LEFT_HK. Видим описание - "Левый кювет". Чтобы конкретно это могло значить? Наличие кювета? Высота? Ширина? Заложение?

p.s. Думаю, функция "Мастер формул" была бы намного удобнее, если бы имела опцию сначала показывать список описаний нужного тебе действия (по-русски), а по нему уже вставлять соотв. переменную, а не наоборот.

Последний раз редактировалось nick9111, 04-15-2016 в 10:21.
Ответить с цитированием
  #4  
Старый 04-15-2016, 11:15
Кузмичев Алексей Кузмичев Алексей вне форума
Администратор
 
Регистрация: Jun 2009
Сообщения: 1,999
По умолчанию

Цитата:
Сообщение от nick9111
Возьмем, к примеру, переменную DYNAMIC_LEFT_HK. Видим описание - "Левый кювет". Чтобы конкретно это могло значить? Наличие кювета? Высота? Ширина? Заложение?

p.s. Думаю, функция "Мастер формул" была бы намного удобнее, если бы имела опцию сначала показывать список описаний нужного тебе действия (по-русски), а по нему уже вставлять соотв. переменную, а не наоборот.


Если рассматривать названия переменных в рамках конструкции откоса, то все переменные будут иметь практически те же названия что и в окне Параметры откоса с тем отличием, что будет добавлено Лево (LEFT) или Право (RIGHT). (см. вложение)

Примечание. В Мастере формул отображаются все возможные перемененные - системные, пользовательские и т.д. Все переменные имеют пояснение при выделении ее в списке. При необходимости мы можем добавить дополнительные пояснения к нужным переменным. Перечислите пожалуйста те переменные которые Вы хотите использовать и описание которых не понятно.
Изображения
 
Ответить с цитированием
  #5  
Старый 04-15-2016, 14:06
nick9111 nick9111 вне форума
Пользователь
 
Регистрация: Sep 2010
Сообщения: 58
По умолчанию

Цитата:
Сообщение от Кузмичев Алексей
... Перечислите пожалуйста те переменные которые Вы хотите использовать и описание которых не понятно.

1) Хотелось бы получить описание или примеры использования следующий переменных:
BANK_xxx_SLOPE_FILL_xxx, описание не совсем понятно, желательно с картинкой
CLY - в документации упоминается, но хотелось бы увидеть пример использования
DYNAMIC_xxx_HK
GRASS_CORRECTION_xxx_xxx
xxx_DITCH_BANK_TYPE
xxx_FLAGS
xxx_HAS_xxx
xxx_MANUAL_OFFSET
xxx_SLOPE_LOOSEING_xxx
xxx_TYPE
RECONSTRUCTION_CORRECTION_xxx
RENEW_CORRECTION_ITEM
xxx_SIDE1_xxx xxx_SIDE2_xxx - что имеется ввиду под 1 и 2 зоной обоичны? Краевые полосы?

2) Хотелось бы иметь возможность создавать промежуточные переменные, содержащие формулу, чтобы их далее использовать в других формулах.
Например, создаю что-нибудь типа "a1=(BANK_RIGHT_SIDE_STRONG_BANK_HEIGHT+BANK_LEFT_S IDE_STRONG_BANK_HEIGHT)/2" или посложнее, затем использую a1 вместо всей этой длинной строчки.

3) Мастер формул корректно отображает описание переменных во время работы на вкладке "Поперечник", но если открыть *.act в редакторе шаблона, то вот так (сборка 15.0.16.5)
Изображения
 
Ответить с цитированием
  #6  
Старый 04-15-2016, 17:48
Кузмичев Алексей Кузмичев Алексей вне форума
Администратор
 
Регистрация: Jun 2009
Сообщения: 1,999
По умолчанию

1. По переменным:

BANK_xxx_SLOPE_FILL_xxx - значения из таблицы поправок на Укрепление проектных откосов и кюветов.

CLY - подробное описание данной переменной есть в Документации. Если еще раз вкратце, то значение этой переменной всегда равно отметке профиля на текущем поперечнике (желтый ромбик по оси дороги), и применяется во всех случаях когда узел нужно построить на абсолютной отметке. Для примера попробуйте задать узел на абсолютной отметке, например 100,00, задав в формулу Y только значение 100,00, не вычитая отметки профиля (CLY). Т.е. переменная сделана для того чтобы не приходилось на каждом поперечнике смотреть и вписывать эту отметку в том случае когда узел должен быть на абсолютной отметке.

DYNAMIC_xxx_HK - переменная которая берет значение с профиля кювета.

GRASS_CORRECTION_xxx_xxx - значение толщины снятия растительного слоя из таблицы поправок снятия растительного слоя.

xxx_DITCH_BANK_TYPE - Тип укрепление кювета в таблице поправок Укрепление кюветов.

xxx_FLAGS - опции (галочки) в нижней части окна Параметров откоса.

xxx_HAS_xxx - переменные свидетельствующие о наличие разрывов или других модификаций поперечника.

xxx_MANUAL_OFFSET - значение величины обрезки откоса (в Свойствах откоса параметр Смещение обрезки).

xxx_SLOPE_LOOSEING_xxx - коды в таблице поправок Рыхление откосов.

xxx_TYPE - тип откоса (Насыпь, Выемка, Канава, Без откоса)

RECONSTRUCTION_CORRECTION_xxx - параметры реконструкции (данный из таблицы поправок Использование существующей конструкции)

RENEW_CORRECTION_ITEM - набор параметров выравнивания необходимый для построения конструкции выравнивания.

xxx_SIDE1_xxx xxx_SIDE2_xxx - 1-я зона - Краевая, 2-я зона - Укрепленная.

2. По поводу функций.
При необходимости написания сложных выражений, возможно уже имеет смысл написать собственные конструкции на языке программирования Python, которые в также можно включить в Дерево стандартных элементов конструкции.
Ответить с цитированием
  #7  
Старый 04-20-2016, 13:53
nick9111 nick9111 вне форума
Пользователь
 
Регистрация: Sep 2010
Сообщения: 58
По умолчанию

Спасибо.
Цитата:
Сообщение от Кузмичев Алексей
...
При необходимости написания сложных выражений, возможно уже имеет смысл написать собственные конструкции на языке программирования Python, которые в также можно включить в Дерево стандартных элементов конструкции.

Существует ли какая-нибудь документация о том, как это делается?
Я так понимаю, элементы лежат в папке Lib. Но не ясно, каким образом для них задается имя и группа в палитре элементов, и почему для каждого элемента существует несколько файлов Python (например, для лотка tray.py и tray_on_bottom.py)?

Последний раз редактировалось nick9111, 04-20-2016 в 13:59.
Ответить с цитированием
  #8  
Старый 04-20-2016, 14:58
Кузмичев Алексей Кузмичев Алексей вне форума
Администратор
 
Регистрация: Jun 2009
Сообщения: 1,999
По умолчанию

Цитата:
Существует ли какая-нибудь документация о том, как это делается?

Документации по написанию конструкций на языке программирования Python нет. Если Вы обладаете знаниями программирования, то собственную конструкцию можно сделать по аналогии, посмотрев стандартные конструкции (C:\Program Files\Topomatic Robur Road 15.0\Lib). При возникновении конкретных вопросов что то сможем расписать более подробно.


Цитата:
не ясно, каким образом для них задается имя и группа в палитре элементов

Задается в файле Road.tbx и Rail.tbx (в зависимости от конфигурации программы), файлы находятся по пути C:\ProgramData\Topomatic\Robur Road\15.0\Support


Цитата:
и почему для каждого элемента существует несколько файлов Python (например, для лотка tray.py и tray_on_bottom.py)

Каждый файл это отдельная конструкция, в частности, два типа конструкции Лоток есть в Железных дорогах, а так как платформа программы общая, то в каталоге находятся все конструкции.
Ответить с цитированием
  #9  
Старый 04-25-2016, 16:11
nick9111 nick9111 вне форума
Пользователь
 
Регистрация: Sep 2010
Сообщения: 58
По умолчанию

Цитата:
Сообщение от Кузмичев Алексей
Документации по написанию конструкций на языке программирования Python нет. Если Вы обладаете знаниями программирования, то собственную конструкцию можно сделать по аналогии, посмотрев стандартные конструкции (C:\Program Files\Topomatic Robur Road 15.0\Lib). При возникновении конкретных вопросов что то сможем расписать более подробно.

Задается в файле Road.tbx и Rail.tbx (в зависимости от конфигурации программы), файлы находятся по пути C:\ProgramData\Topomatic\Robur Road\15.0\Support

Получилось создать свою первую конструкцию, появились вопросы:
1) Обнаружил еще файл "C:\ProgramData\Topomatic\Robur Road\15.0\Support\l10n\crs.ru.l10n", в котором для каждой конструкции записаны некие параметры. Как я понял, имя класса - для его отображения в панели свойств на русском языке, для чего нужны все остальные?
2) Можно ли как-то связать параметры конструкции с дополнительными переменными, или каким-то иным способом иметь возможность задавать значения параметров для различных участков дороги?
3) Почему узлы конструкции на поперечнике отображаются только когда начинаешь вставлять еще одну конструкцию, и еще они не подписаны (слой "подпись узлов" включен, узлам даны имена типа node1.Name = "InsideTop")? Так и должно быть?
4) Есть ли возможность перезагружать/обновлять файлы конструкций не перезапуская весь робур? Чтобы не терять каждый раз время и визуально контролировать вносимые в них изменения
5) Если контуры двух конструкций накладываюся/перекрываются, уменьшается ли объем объем одной из них при подсчете? Можно ли это контроллировать?

Последний раз редактировалось nick9111, 04-25-2016 в 16:14.
Ответить с цитированием
  #10  
Старый 04-26-2016, 10:55
Кузмичев Алексей Кузмичев Алексей вне форума
Администратор
 
Регистрация: Jun 2009
Сообщения: 1,999
По умолчанию

1.
а)__class__=Существующая земля - отображение самой конструкции в дереве конструкции

б) Перевод узлов:
Английское имя = Русское имя

в) перевод свойств:
Английское имя = Имя свойства? Описание свойства& Группа свойства
например:
leftEdge=Левая бровка?Узел левой бровки&Точки привязки
Примечание. Кроме того допускается использовать перед объявлением знак * это значит что свойство не должно сохранять значение самостоятельно.

2. Если необходимо поведение, аналогично параметру заложения откоса M1 то можно использовать в объявление свойства конструкции вида
self.GetParameter('RIGHT_M1', 0.0) - для получения переменной и self.SetParameter('RIGHT_M1', value), здесь RIGHT_M1 имя переменной к которой обращаемся
"*" перед наименованием переменной в параметре doc (doc = "*) говорит о том, что значение переменной не будет хранится на каждом поперечнике, а сохранением управляет пользователь
def getM1(self): return self.GetParameter('RIGHT_M1', 0.0)
def setM1(self, value): self.SetParameter('RIGHT_M1', value)
M1 = property(getM1, setM1, doc = "*М1 1:? М1&Заложение откоса")

Также, можно добавить или использовать имеющиеся (V1-V50) переменные в Структуре проекта в разделе Дополнительные переменные, присваивая их имена в Свойствах конструкции.

3. Это сделано для того чтобы не загромождать поперечник лишней информацией.

4. На данный момент перезапускать обязательно.

5. Необходимое поведение при пересечении двух конструкций можно реализовать. Для примера конструкция reconstruction_construction.py обрабатывает пересечения разных контуров.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 16:56.

Навигация по основному сайту
Главная Каталог продуктов и услуг Где купить Сопровождение
Вакансии О компании Обзоры Канал на YouTube

vBulletin v3.0.7 , Copyright ©2000-2021, Jelsoft Enterprises Ltd.
Copyright © 2003-2021, НПФ "ТОПОМАТИК".