private void CreateTransientFaceFromTriangle(Triangle trian, Transaction tr, BlockTableRecord btr, int colorIndex = 3)
{
Point[] trianPoints = trian.GetPoints();
Face nFace = new Face(MathPointToPoint3d(trianPoints[0]), MathPointToPoint3d(trianPoints[1]), MathPointToPoint3d(trianPoints[2]), false, false, false, false);
nFace.ColorIndex = colorIndex;
TransientManager.CurrentTransientManager.AddTransient(nFace, TransientDrawingMode.Main, 0, new IntegerCollection());
}
Ещё одни изобретатель Civil'а. Зачем???Может для дипломного проекта? Хотя я уже и правда 10 раз успел пожалеть что выбрал именно это. В любом случае осталось доделать мелочь.
Совет №1. В общем случае, если хотите оперативной помощи, выкладывайте полный проект с минимальным функционалом, на котором можно протестировать проблему. Брать предоставленный кусок кода и делать для него недостающую "обвязку" сильно некогда. Может, конечно, повезёт и кто-то точно с такой же проблемой сталкивался и сможет сразу подсказать. Но не всегда так получается.
Совет №2. Поищите по форуму, например, по слову "TransientManager". Топиков на эту темы было несколько уже, что-то скорее всего найдёте полезное. Если на форуме ничего не нашлось - гуглите. Гугл-фу сильно полезный навык в разработке. Если ничего полезного не нашлось - отпишите тут, мол, нашёл такую-то и такую тему на форуме и в гугле, но мне не помогло потому что... Чтобы участники видели, что вы не просто пришли с надеждой что кто-то за вас всё это сделает, а сами стараетесь. Тогда сильно выше шанс, что кто-то подключится и поможет в поиске. Если поиски не помогут - тогда следуйте совету №1.
Как минимум, не учтено это: https://adn-cis.org/forum/index.php?topic=2827.msg10197#msg10197
Только одно уточнение обязательно сделать глобальными/статическими, если хотим использовать объекты после завершения работы функции.
Иначе в 2014 версии происходит крах "unhandled access violation reading" через различные промежутки времени.
Вероятнее как раз во время работы сборщика мусора.