Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: talalaev_d от 16-11-2016, 12:07:51

Название: double TableCellStyle.TextSize - в каких попугаях?
Отправлено: talalaev_d от 16-11-2016, 12:07:51
В каких попугаях Revit хранит значение размера шрифта для этого параметра?
По идее, при вводе данного значения через форму переопределения параметров стиля ячейки это должны быть приведенные к мм значения. Но вариант с  DisplayUnitType.DUT_MILLIMETERS не даёт искомого значения. Опытным путем выяснил что при значении в 1 мм через GUI это значение равно 0.264583.... что бы это могло быть? явно не футы, не дюймы, не пиксели не пт и даже не знаю в чем их можно ещё измерять.
Название: Re: double TableCellStyle.TextSize - в каких попугаях?
Отправлено: Андрей Бушман от 16-11-2016, 12:22:31
В качестве "попугая" используется DPI (https://ru.wikipedia.org/wiki/Dots_per_inch) (dpi - dots per inch):

(https://s4.postimg.org/rb1tas7hp/revit.png)

Количество пикселей на дюйм может отличаться - это зависит от настроек системы. например, могут быть такие значения: 120dpi, 144dpi или 96dpi. Так что результат на экране может существенно отличаться при разных значениях DPI.

Т.о. у тебя на мониторе будет один результат, а у соседа может оказаться совсем другим. кстати, DPI бывают системным и DPI физического устройства. Поэтому важно понимать, какими именно DPI оперирует API у Revit.

Майкрософт решила эту проблему в технологии WPF. Там независимые единицы. Результат будет смотреться одинаково на любом мониторе.