Pabloa, судя по всему, тут проблема не в API. Я и в интерфейсе не могу удалить эту надпись.В интерфейсе не удаляется, да, забыл сказать.
А приведенный код удалит и сам радиатор, так как он тоже Mechanical Equipment. Нужно по другому определить эту надпись
Данная проблема стоит остро в нашей фирме, т.к. передаваемые нам семейства от этих разработчиков не могут быть использованы при разработке документации и приходится тратить много времени на переделку этих семейств.А я не понял вот - в каком месте её видно?
Может у вас будут какие-нибудь идеи как удалить эту надпись или скрыть при оформлении документации?
А я не понял вот - в каком месте её видно?Действительно, не видно в проекте. Неправильно меня информировали) Вопрос стоит в том, что фирма может предъявить претензии на основе нарушения авторского права, если не удалить эти надписи. Этих семейств 2000 в проекте. Заказчик требует BIM модель, которая не будет содержать идентификаторов каких-то сторонних организаций. Сторонняя организация делала для нас Архитектурную часть, но удалять эти надписи отказалась.
Я вижу её только внутри редактора семейства - в документации (на листах или видах) я ее не вижу
Здесь: 14082675 - идентификатор того самого неудаляемого элемента, 14082241 - идентификатор элемента выдавливания, которым создано оборудование. Радиатор короче =)Ого, вот это да)) Спасибо громадное))) вы просто гений)))) бегу тестировать))))
После работы кода неудаляемый элемент меняет свою форму на форму оборудования.
Это вот идея, от которой вы можете отталкиваться. Например, можно создать полый элемент выдавливания с размерами 1х1х1 (меньше нельзя) и заменить на его геометрию. Этот элемент потом хрен найдешь в семействе =))
Проблема только в том, что этот код работает при запуске в редакторе семейства. На счет того, чтобы провернуть трюк прям из документа - я не уверен что можно
Все получилось, только почему-то надпись удаляется, а не заменяется)Она не удаляется, а становится на тоже самое место, где находится элемент из которого вы брали solid. Если брали из радиатора, то просто подвиньте мышкой радиатор и увидите там второй такой-же, только полый
Этот блок я по другому переписалЗачем?
Зачем?вот здесь if (geometryObject is Solid solid) подчеркивает красным solid, может у меня c# не той версии
Она не удаляется, а становится на тоже самое место, где находится элемент из которого вы брали solid. Если брали из радиатора, то просто подвиньте мышкой радиатор и увидите там второй такой-же, только полыйТочно) спасибо))
может у меня c# не той версии100%. Это добавили в одной из последних версий
Александр Пекшев aka Modis, А вы не поняли каким образом вставляются такие геометрии в семейство? Через "Импорт Сапр" не так загружает геометрию.Понял конечно =)
Понял конечно =)Но только там показывается как создаются шаблоны семейств, то есть просто переименованием расширения, а вот как в само семейство, на основе которого создается шаблон, вставить этот FreeFormElement?
Точнее нашёл - Delete is unavailable for some Elements in a Revit Family
Сам FreeFormElement также можно создать программно. Для его создания нужен только один solid (http://www.revitapidocs.com/2018.1/a8aa4123-03a0-14c7-f4e5-7bc5a076aa8d.htm).Понял конечно =)Но только там показывается как создаются шаблоны семейств, то есть просто переименованием расширения, а вот как в само семейство, на основе которого создается шаблон, вставить этот FreeFormElement?
Точнее нашёл - Delete is unavailable for some Elements in a Revit Family
Сам FreeFormElement также можно создать программно. Для его создания нужен только один solid.Ясно) спасибо) На все вопросы ответили))) ... так сразу и не догадаешься UpdateSolidGeometry использовать)) ... странно, что не сделали метода для удаления..
Ну а создать солид нужной геометрии (точнее - полый элемент выдавливания. Ему в эскизе можно задать сколько угодно замкнутых контуров) - это уже дело техники