Сообщество программистов Autodesk в СНГ
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Звонок в техподдержку Autodesk Forge
Начало
Сайт
Правила
Помощь
Поиск
Непрочитанные
Календарь
Вход
Регистрация
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
Revit API
»
Вопрос по ReferenceIntersector
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: Вопрос по ReferenceIntersector (Прочитано 4540 раз)
0 Пользователей и 1 Гость просматривают эту тему.
YLSV
ADN OPEN
Сообщений: 23
Карма: 0
Вопрос по ReferenceIntersector
«
:
13-11-2020, 22:57:45 »
Мне нужно определить потолки в связанном файле. Делаю так:
Код - C#
[Выбрать]
var intersector
=
new
ReferenceIntersector
(
new
ElementCategoryFilter
(
BuiltInCategory
.
OST_Ceilings
)
,
FindReferenceTarget
.
All
, View3D
)
;
intersector
.
FindReferencesInRevitLinks
=
true
;
ReferenceWithContext referenceWithContextCeilings
=
intersector
.
FindNearest
(
ptCenter, rayDirection
)
;
View3D - создан самостоятельно и видимость потолков включена. Но работает непонятно. Часть потолков в одном помещении находит нормально, а часть пропускает, хотя они ничем не отличаются друг от друга. Может быть подскажете, в чем может быть проблема ?
«
Последнее редактирование: 14-11-2020, 07:53:10 от YLSV
»
Записан
Александр Игнатович
Administrator
Сообщений: 1152
Карма: 338
Skype:
Re: Вопрос по ReferenceIntersector
«
Ответ #1 :
13-11-2020, 23:05:24 »
Фильтры, стадии, рабочие наборы? Может ещё уровень детализации влияет. Ну и, не исключен вариант ошибки в коде, уверен насчёт построенного луча?
Записан
YLSV
ADN OPEN
Сообщений: 23
Карма: 0
Re: Вопрос по ReferenceIntersector
«
Ответ #2 :
13-11-2020, 23:10:42 »
Ну насчет луча да, все верно. Делал другим способом до этого. Находил ссылку на документ ссылочного файла и использовал 3Д вид оттуда. И все работало. Все было бы хорошо, но в некоторых проектах потолки могут скрывать и тогда я их не нахожу. Поэтому я создал свой вид в активном документе и вот так теперь получается. Возможно вид не так создал?
Вот так делал
Код - C#
[Выбрать]
ViewFamilyType vft
=
new
FilteredElementCollector
(
Doc
)
.
OfClass
(
typeof
(
ViewFamilyType
)
)
.
Cast
<
ViewFamilyType
>
(
)
.
FirstOrDefault
(
x
=>
ViewFamily
.
ThreeDimensional
==
x
.
ViewFamily
)
;
using
(
var trans
=
new
Transaction
(
Doc
)
)
{
trans
.
Start
(
"Create 3D View"
)
;
if
(
vft
!=
null
)
RbimView3D
=
View3D
.
CreateIsometric
(
Doc, vft
.
Id
)
;
if
(
RbimView3D
!=
null
)
{
RbimView3D
.
Name
=
"R-BIM View"
;
ParameterFilterElement parameterFilterElement
=
ParameterFilterElement
.
Create
(
Doc,
"R-BIM filter"
, categories
)
;
RbimView3D
.
AddFilter
(
parameterFilterElement
.
Id
)
;
RbimView3D
.
SetFilterVisibility
(
parameterFilterElement
.
Id
,
true
)
;
}
trans
.
Commit
(
)
;
}
«
Последнее редактирование: 14-11-2020, 07:59:25 от YLSV
»
Записан
Александр Игнатович
Administrator
Сообщений: 1152
Карма: 338
Skype:
Re: Вопрос по ReferenceIntersector
«
Ответ #3 :
13-11-2020, 23:56:03 »
Потенциально, этого маловато будет, честно говоря. В ViewFamilyType может быть задан шаблон, плюс опять же видимость рабочих наборов, стадии и прочее. Пробовал посмотреть глазами вид, который создаешь?
Записан
YLSV
ADN OPEN
Сообщений: 23
Карма: 0
Re: Вопрос по ReferenceIntersector
«
Ответ #4 :
14-11-2020, 00:02:02 »
Да, конечно. Смотрел. Потолки видны. Причем рядом друг с другом. Но один виден, другой нет. Может уровень детализации добавить?
Или еще какие то параметры? Можно ли пример привести?
Записан
Александр Ривилис
Administrator
Сообщений: 13923
Карма: 1793
Рыцарь ObjectARX
Skype:
Re: Вопрос по ReferenceIntersector
«
Ответ #5 :
14-11-2020, 01:21:34 »
YLSV
,
Напоминаю про правило форматирования кода на форуме (у меня в подписи)!
Записан
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
YLSV
ADN OPEN
Сообщений: 23
Карма: 0
Re: Вопрос по ReferenceIntersector
«
Ответ #6 :
14-11-2020, 07:58:08 »
Прошу прощения,не повторится.
По сути дела.
Я так понял, что вопрос сводится к правильной настройке создаваемого 3Д вида. Значит задача такая. Как правильно настроить параметры вида,чтобы ReferenceIntersector находил все потолки(BuiltInCategory.OST_Ceilings) в связанном файле
Записан
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
Revit API
»
Вопрос по ReferenceIntersector