хм... вот не зря я не люблю сплайны, и везде, где только можно, стараюсь переводить их в полилинии. ради интереса поковырялся во всех установленных автокадах. задача была просто получить из исходного замкнутого сплайна (без лишних телодвижений, только команда _REGION) область и посмотреть её площадь. Вот такая занимательная математика выходит, и сразу видно, когда кто-то ковырялся руками в исходном коде автокада
(кстати, автокады 2012-2014 область создают, но в логе командной строки есть сообщение об ошибке)
акад2010: 87.6068
акад2011: 87.6068
акад2012: 87.6024
Ошибка операции моделирования: Замкнутое ребро в многореберном каркасе.акад2013: 87.6022
Ошибка операции моделирования: Замкнутое ребро в многореберном каркасе.акад2014: 87.6022
Ошибка операции моделирования: Замкнутое ребро в многореберном каркасе.акад2015: 87.5999
акад2016: 87.5999
акад2017: 87.6024
Дальше просто ради смеха решил в 2016-м автокаде пересобрать сплайн (_EXPLODE + _JOIN), а затем сделать на его основе область. Всё получилось, только площадь стала 87.6018, хоть была 87.5999. Оно то в принципе и не критично, погрешность приблизительно 0.002%.
Затем я превратил сплайн в полилинию (получилось 646 точек). Ну и пробежал создание области уже для аппроксимированного сплайна (для полилинии, короче говоря). Так вот. Результат во всех автокадах одинаковый (в принципе как и площадь самой полилинии) 87.5352
PS: Дальше идет сугубо личное мнение. Если программа пишется за денежку, то покупатель должен получать одно и то же число в ЛЮБОМ автокаде (проблемы самого автокада покупателя как-то не сильно утешают. например, площадь здания не усыхается/разрастается сама по себе в зависимости от того, в каком автокаде печатается сопроводительная документация). Второе, исходный материал может быть в любом допустимом виде, но привести его к какому-то одному промежуточному, с которым удобно работать, намного проще, чем обрабатывать рандомный ввод пользователя. Ну и третье из собственного опыта, есть чертеж карьера, нарисованный 3D сплайнами. Еле шевелится этот чертеж на 3D орбите на стареньком компике. Перегнали в 3D полилинии без видимого ухудшения качества (вроде и точек мульйон стал
, а чертеж начал плавно вращаться).
PS2: Так что Наумович, как всегда прав
, без аппроксимации дела не будет, тем более, что как я понял, её и сохранять то в чертеже не нужно