![]() |
#1
|
|||
|
|||
![]() Здравствуйте!
Возникла необходимость контролировать геометрию горизонталей. Надо просканировать поверхность, отобрать замкнутые горизонтали и вычислить их площадь. Изменять их не требуется. Возможно-ли это реализовать скриптом на питоне? Про горизонтали нашел только стили. |
#2
|
|||
|
|||
![]() Добрый день!
Да, это возможно. Вам необходимо чтобы отображение горизонталей было включено и значение статического свойства SurfaceLayer.IsHorizontalSelectable было равно True. После этого Вы получаете слой поверхности SurfaceLayer, получаете у него SelectionSet - класс который отвечает за выделение объектов. Вызываете у SelectionSet метод GetSelectable(), который возвращает вам перечисление всех доступных для выделения объектов. Вам необходимо отобрать те объекты, свойство LayerID которых совпадает со значением слоя горизонталей, который можно получить у класса Surface следующим образом: surface.Style.HorizontalsStyle.GetLayer().ObjectID . Это и будут доступные и видимые горизонтали. Эти объекты вы приводите к интерфейсу ILinearObject, вызываете у каждого метод GetPolyline(IPolyline3D polyline) и получаете их геометрию. Дальше Вы можете проверить замкнутые они или нет, и посчитать площадь под замкнутыми горизонталями. Площадь Вы можете посчитать используя метод расширения для интерфейса IPolyline3D - GetArea2D(). |
#3
|
|||
|
|||
![]() Спасибо большое, за развернутый ответ! Будем внедрять.
|
Навигация по основному сайту |
Главная | Каталог продуктов и услуг | Где купить | Сопровождение |
Вакансии | О компании | Обзоры | Канал на YouTube |