Существуют ли какие то стандартные методы копирования существующей поверхности в текущий чертеж? Или может быть можно как то поместить поверхность в быстрые ссылки а потом оттуда достать?Приветствую на форуме!
tinSurfaceМогу предположить, что можно создать TinSurface методом Create, а затем использовать метод CopyFrom из старой в новую. Но не уверен.
у surf нет метода CopyFrom.surf - это ObjectId. А тебе нужен TinSurface. Поэтому должно быть как-то так:
этот метод позволяет вставить поверхность только в другой чертеж, но не в тот, в котором исходная поверхностьТы уже пробовал со вставкой в текущий чертеж?
ObjectId surfNewId = TinSurface.Create(db, "Поверхность-n") в этом методе второй аргумент - stringSurfaceName, а за отображение в дереве поверхностей отвечает другое свойство - DisplayName. Поэтому при использовании метода мы видим поверхности-копии с одинаковыми именами.Ага. Т.е. достаточно поменять DisplayName, чтобы имена поверхностей отличались. Отлично.
Изменение высоты точек и изменение стиля поверхности ни на что не повлияло.Отлично.
Ага, только у этого свойства set закрыт, a методов чтоб поменять имя я пока не нашел.Я пока тоже. Есть свойство Name, которое можно менять. Но похоже это не то, что тебе нужно.
Существуют ли какие то стандартные методы копирования существующей поверхности в текущий чертеж?Насколько я знаю, в API Civil 3D такого нет.
Или может быть можно как то поместить поверхность в быстрые ссылки а потом оттуда достать?API Civil 3D не умеет работать с быстрыми ссылками.
а затем использовать метод CopyFrom из старой в новую.Как и в любом другом случае, использование продвинутых методов AutoCAD на сложных объектах Civil 3D может привести к неожиданным результатам...
похоже что придется изобретать костыль - извлекать из поверхности точки и каждый раз создавать поверхность добавляя в нее эту группу точек. Но если поверхность сложная - то она построится как попало.Я не вижу в этом варианте ничего костыльного.
Уже решили эту задачу с посощью метода CopyFromЯ выше уже писал о том, что результат может получиться неожиданный. CopyFrom - это такой чёрный ящик, если мы говорим про его работу с объектами Civil. Работа его в таком режиме не документирована и вряд ли тестировалась вообще. Применение, получается - на свой страх и риск. Я бы не рискнул, учитывая, что есть вполне рабочий альтернативный вариант. По закону подлости, какой-нибудь неожиданный "косяк" может вылезти в самый неподходящий момент. Но, тут, как говорится, дело хозяйское: моё - предупредить, ваше - принять решение с учётом всех обстоятельств.