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

ADN Club => AutoCAD .NET API => Тема начата: Lemieux от 08-09-2021, 12:38:38

Название: DBText и string.Empty
Отправлено: Lemieux от 08-09-2021, 12:38:38
Всех приветствую.
Кто-то может подсказать, зачем Autodesk сделали null в Bounds, когда в текст передаёшь string.Empty? По сути там же должны быть нули по всем координатам или хотя бы по Х. Ведь в TextString прописывается "", а не null. Короче, всё это странно.
Название: Re: DBText и string.Empty
Отправлено: avc от 08-09-2021, 12:44:42
Странно, что вам кажется странной только эта странность API :)))
Название: Re: DBText и string.Empty
Отправлено: Lemieux от 08-09-2021, 12:58:51
Странно, что вам кажется странной только эта странность API :)))
У меня опыта маловато. Есть ещё что-то странное?
Название: Re: DBText и string.Empty
Отправлено: avc от 08-09-2021, 13:02:53
Что-то не странное надо еще поискать :)
А метод GeometryExtents выбивает эксепшены по любому поводу. То что вы получили null - это вам еще повезло. Чтоб спокойно с ним работать я сделал хелпер-обертку.
Название: Re: DBText и string.Empty
Отправлено: Александр Ривилис от 08-09-2021, 15:48:03
По сути там же должны быть нули по всем координатам или хотя бы по Х.
С какой стати??? Это бы означало, что текст в начале координат.
Название: Re: DBText и string.Empty
Отправлено: Lemieux от 08-09-2021, 16:36:55
По сути там же должны быть нули по всем координатам или хотя бы по Х.
С какой стати??? Это бы означало, что текст в начале координат.
Логика понятна, тогда числа из text.Position. Null вообще не ожидаешь в такой ситуации.
Название: Re: DBText и string.Empty
Отправлено: Александр Ривилис от 08-09-2021, 20:39:48
По сути там же должны быть нули по всем координатам или хотя бы по Х.
С какой стати??? Это бы означало, что текст в начале координат.
Логика понятна, тогда числа из text.Position. Null вообще не ожидаешь в такой ситуации.
Как раз null в этом случае наиболее естественно, так как нет границ - они не определены. В этом плане в ObjectARX проще - там просто выдается код ошибки.
Название: Re: DBText и string.Empty
Отправлено: Lemieux от 09-09-2021, 00:31:55
Как раз null в этом случае наиболее естественно, так как нет границ - они не определены. В этом плане в ObjectARX проще - там просто выдается код ошибки.
Интересно получается, высоту текста я могу задать, string.Empty я могу задать в text.TextString, даже в пространство модели и в транзакцию могу добавить, но границы не определены.
Название: Re: DBText и string.Empty
Отправлено: Александр Ривилис от 09-09-2021, 00:34:52
Lemieux,
Какие границы у пустоты??? Кстати, если бы у текста были одни пробелы или символы табуляции, то эффект был бы тот же.
Название: Re: DBText и string.Empty
Отправлено: Lemieux от 09-09-2021, 11:33:44
Кстати, если бы у текста были одни пробелы или символы табуляции, то эффект был бы тот же.
С пробелами работает хорошо, за табуляцию не скажу. А у пустоты нулевые границы.
Название: Re: DBText и string.Empty
Отправлено: Александр Ривилис от 09-09-2021, 13:14:25
Кто-то может подсказать, зачем Autodesk сделали null в Bounds, когда в текст передаёшь string.Empty?
Не нужно искать логику, нужно знать как оно работает и подстраиваться под этот алгоритм.
Название: Re: DBText и string.Empty
Отправлено: Lemieux от 09-09-2021, 16:02:00
нужно знать как оно работает и подстраиваться под этот алгоритм.
Я так и сделал, но для меня такое поведение странно.