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

ADN Club => AutoCAD .NET API => Тема начата: Judas от 30-08-2020, 16:49:23

Название: Выбор 3д-грани (Face)
Отправлено: Judas от 30-08-2020, 16:49:23
Работаю с поверхностью построенной по отметка с помощью триангуляции.
Необходимо собрать список этих треугольников для дальнейшей работы.
Работает только с выбором со слою (фильтр на слой), а комбинированный  фильтр ( по типу объекта, и слою не работает).
Код - C# [Выбрать]
  1. TypedValue[] filterlist = new TypedValue[2];
  2. filterlist[0] = new TypedValue((int)DxfCode.Start, "Face");
  3. filterlist[1] = new TypedValue((int)DxfCode.LayerName, LayerTriangle);



Склоняюсь к тому, что не верно описываю в фильтре Face.
Может кто сталкивался с таким?
ПС. по слою контроль типа объекта можно сделать, но хотелось бы через фильтр.
Название: Re: Выбор 3д-грани (Face)
Отправлено: Александр Ривилис от 30-08-2020, 17:19:17
Склоняюсь к тому, что не верно описываю в фильтре Face.
Конечно. Потому что не "Face", а "3DFACE"
(https://live.staticflickr.com/65535/50286339462_732b4e69c4_o.png)

Название: Re: Выбор 3д-грани (Face)
Отправлено: Judas от 30-08-2020, 17:28:11
Спасибо.
ПС.А где можно дерево объектов найти?
Название: Re: Выбор 3д-грани (Face)
Отправлено: Александр Ривилис от 30-08-2020, 17:29:13
ПС.А где можно дерево объектов найти?
Что имеется в виду под деревом объектов?
Название: Re: Выбор 3д-грани (Face)
Отправлено: Judas от 30-08-2020, 17:31:13
Объектную модель
(https://i.postimg.cc/gLKyytPg/image.jpg) (https://postimg.cc/gLKyytPg)
Название: Re: Выбор 3д-грани (Face)
Отправлено: Александр Ривилис от 30-08-2020, 17:35:56
Объектную модель
(https://i.postimg.cc/gLKyytPg/image.jpg) (https://postimg.cc/gLKyytPg)

В ObjectARX SDK в файле classmap\classmap.dwg
Название: Re: Выбор 3д-грани (Face)
Отправлено: Judas от 30-08-2020, 17:37:21
Спасибо!
Название: Re: Выбор 3д-грани (Face)
Отправлено: Александр Ривилис от 30-08-2020, 17:43:42
Спасибо!
Но эта иерархия классов не помогла бы тебе узнать что вместо "Face" должно быть "3DFACE". Проще всего это узнавать при помощи Autolisp:
Код - Auto/Visual Lisp [Выбрать]
  1. (entget(car(entsel)))
и смотреть группу 0, или вообще использовать такой код:
Код - Auto/Visual Lisp [Выбрать]
  1. (cdr (assoc 0 (entget(car(entsel)))))
(https://live.staticflickr.com/65535/50285599868_b8ffd9d622_o.png)



Название: Re: Выбор 3д-грани (Face)
Отправлено: Judas от 30-08-2020, 17:48:42
Учту.
Спасибо.
Название: Re: Выбор 3д-грани (Face)
Отправлено: Привалов Дмитрий от 30-08-2020, 21:52:19
где можно дерево объектов найти?
Ищи в поиске "DXF Reference"

https://www.autodesk.com/techpubs/autocad/acad2000/dxf/index.htm?_ga=2.203521366.711633975.1598811890-1047394063.1568916230
https://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf
https://entercad.ru/acad_dxf.en/

Как ненадежный источник:
Иногда команда "_list" выводит правильный dxf тип.