Привет. Ребята, подскажите как передавать динамично точки для Meshgeometry3D Positions=""
Мне надо выдать на экран одну деталь, параметры которой стоят в xaml файле, причём каждый раз файл загружается новый и параметры меняются. | Код | <Viewport3D> <ModelVisual3D> <ModelVisual3D.Content> <Model3DGroup> <GeometryModel3D x:Name="Gurtoben"> <GeometryModel3D.Geometry> <MeshGeometry3D Positions="................................. (в этом месте всегда меняются точки) " TriangleIndices="2 1 4, 4 3 2, 15 16 13, 13 14 15, 14 13 1, 1 2 14, 3 4 16, 16 15 3, 3 15 14, 14 2 3, 1 13 16, 16 4 1, 0 11 6, 6 5 0, 17 18 23, 23 12 17, 12 23 11, 11 0 12, 5 6 18, 18 17 5, 10 9 8, 8 7 10, 19 20 21, 21 22 19, 22 21 9, 9 10 22, 6 8 20, 20 19 6, 7 19 22, 22 10 7, 9 21 20, 20 8 9" /> </GeometryModel3D.Geometry> <GeometryModel3D.Material> <DiffuseMaterial Brush="Gray" /> </GeometryModel3D.Material> <GeometryModel3D.BackMaterial> <DiffuseMaterial Brush="Red" /> </GeometryModel3D.BackMaterial>
|
А точки для <MeshGeometry3D Positions="" я решаю в с # таким образом
| Код | public tpoint a0, a51, a52, a01, a02, a03, a21, a002, a003, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11;
// параметры считаные с xml файла public SeitenGurtOben(tpoint _a0, double TW, double TT, double BT, double BW, double MT, double Height, double beta, double TWU, double TTU, double MTU, double BTU, double HeightU, double L1, double L2)
{ double R5 = 200;//Rest füt Type5 double R1 = 400;//Rest für Type1 double Cos_beta = Math.Cos(Math.PI / 180 * beta); double Sin_beta = Math.Sin(Math.PI / 180 * beta);
a0 = _a0;
a1 = new tpoint(a0.x, a0.y, a0.z + ((TW - MT) / 2)); a2 = new tpoint(a1.x + Sin_beta * TT, a1.y + Cos_beta * TT, a1.z); a3 = new tpoint(a2.x, a2.y, a2.z - TW); a4 = new tpoint(a3.x - Sin_beta * TT, a3.y - Cos_beta * TT, a3.z); a5 = new tpoint(a4.x, a4.y, a4.z +(TW - MT)/2); a6 = new tpoint(a5.x - Sin_beta * (Height -(TT + BT)), a5.y - Cos_beta * Height -((TT + BT)), a5.z); a7 = new tpoint(a6.x, a6.y, a6.z - ((BW - MT) / 2)); a8 = new tpoint(a7.x - Sin_beta * BT, a7.y - Cos_beta * BT, a7.z); a9 = new tpoint(a8.x, a8.y, a8.z + BW); a10 = new tpoint(a9.x + Sin_beta * BT, a9.y + Cos_beta * BT, a9.z); a11 = new tpoint(a10.x, a10.y, a10.z - ((BW - MT) / 2));
|
Я теперь не могу догнать, как их в Xaml передать
Пожаааааалуйсто помогите, кто может Спасибо |