Тот же ответ также размещен здесь:
Каркасный рендеринг в WPF
Я видел много ответов, касающихся сторонних решений этой проблемы.
Для чистого решения WPF я создаю новый Model3D из существующего Model3D, где каждая грань создается с отверстием. то есть разделить на 6 новых граней, причем ширина каждой «линии» пропорциональна исходному размеру фасетки.
Причина этого в том, что это выглядит лучше, чем фиксированная ширина линии, но при необходимости вы можете использовать фиксированную ширину линии.
При желании заполните центральное отверстие как новую грань черным цветом (отдельный Model3D в группе), и вы удалите скрытую линию.
Для трех точек грани, A0, B0 и C0, вычислите средние точки AB, AC и BC. новая точка A1 находится на 1/20-й части линии, направленной к BC. Повторите для следующих двух точек B1 и C1.
6 новых граней для «линий» представлены следующими комбинациями:
A0, B0, B1
A0, B1, A1
A0, C1, C0
A0, A1, C1
B0, C0, C1
B0, C1, B1
Добавьте A1, B1 и C1 к другой модели для варианта удаления скрытой линии.
10.07.2015
OnRender()
нарисуйте 2-й прямоугольник (линию), соответствующий преобразованным конечным точкам. Вам вообще не нужно использовать библиотеку, кроме подсказок. 08.04.2011