Возможно, вам следует опубликовать свой вопрос на форуме Wout Ware .Большинство проверок довольно легко выполнить, за исключением того, что проверка трехмерных объектов, вероятно, представляет собой довольно трудоемкую работу, поскольку вам необходимо выполнить некоторую проверку для каждого типа объекта.
- Версия может быть проверенаиспользование DxfModel.Header.AcadVersion.
- Прямоугольник сложен, потому что существует много способов нарисовать прямоугольник.Это может быть LWPOLYLINE, 2D POLYLINE, 3D POLYLINE (но без z-координаты), коллекция из 4 LINE и даже другие способы сделать прямоугольник.
- Блоки можно найти в DxfModel.Блоки, хотя я бы сказал, что присутствие в INSERT действительно важно в DxfModel.Entities.Объекты AES не поддерживаются CadLib, но вы можете проверить, присутствуют ли они в исходном чертеже, проверяя DxfModel.UnsupportedObjects.
- Для проверки 3D-объекта требуется специальная проверка для каждого объекта.Для этого следует реализовать объект IEntityVisitor и выполнить цикл по всем объектам.Грубая проверка может быть выполнена, если ось z каждого объекта равна (0, 0, 1), а толщина равна нулю (для объектов, имеющих толщину).