Использование Field в DIESEL

Автор Тема: Использование Field в DIESEL  (Прочитано 19352 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Использование Field в DIESEL
« Ответ #15 : 13-03-2014, 14:15:59 »
"Вычислять выражение" и "подменять выражение его значением, вычисленным разово" - это разные вещи.
Согласен. Можно считать это багом. Возможно это связано с тем, что сам DIESEL не умеет работать с полями. Точнее он не может сам вычислить значение поля. Не для того он создавался и про то, что в AutoCAD'е появятся поля никто тогда не догадывался. А теперь возникает вопрос в какой момент это выражение должно вычисляться. Я не оправдываю, я пытаюсь понять.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Использование Field в DIESEL
« Ответ #16 : 13-03-2014, 14:30:21 »
Я понимаю так, что парсер должен разбирать указанное выражение и вычислять его, не изменяя текстового представления самой формулы. А пользователю отображать результат вычисления (по аналогии с тем, как работает поле). Во всяком случае это было бы логично.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Использование Field в DIESEL
« Ответ #17 : 13-03-2014, 14:34:49 »
Блин, тут ещё один геморрой вылез.... А в формате поля-то ведь нет возможности включить опцию "показывать знак "+" для положительных значений"... Да что ж такое-то... Не одно, так другое... Только префиксы\суффиксы, да подавление нулей...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Использование Field в DIESEL
« Ответ #18 : 13-03-2014, 14:37:37 »
Тут работает не один парсер, а точнее FieldEvaluator, а множество. И каждый из них отвечает за свой %<XXX ...>%
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Использование Field в DIESEL
« Ответ #19 : 13-03-2014, 14:39:03 »
Т.е. правильно ли я понял: "родными" средствами AutoCAD обе обозначенные проблемы не решаются?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Использование Field в DIESEL
« Ответ #20 : 13-03-2014, 14:40:01 »
Т.е. правильно ли я понял: "родными" средствами AutoCAD обе обозначенные проблемы не решаются?
Угу.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Использование Field в DIESEL
« Ответ #21 : 13-03-2014, 14:45:09 »
Жаль, мне нормоконтроль уже весь мозг выел на эту тему... :(

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Использование Field в DIESEL
« Ответ #22 : 15-08-2016, 09:04:40 »
Цитата: Андрей Бушман от 13-03-2014, 14:06:05

    "Вычислять выражение" и "подменять выражение его значением, вычисленным разово" - это разные вещи.

Согласен. Можно считать это багом. Возможно это связано с тем, что сам DIESEL не умеет работать с полями.
Вот еще в копилку, такое же поведение, но в таблице: