0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 20
1

Построение 3D-детали с использованием массива

17.04.2016, 01:55. Показов 903. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кто может подсказать: у меня есть код построения 3D-детали, нужно его запихнуть массив, тут идет повторения point и line, как это сделать?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
            // Построение Поплавка
            Inventor.Application ThisApplication = InventorObject.Instance.InventorApplication;
            DocumentData doc = InventorObject.Instance.NewDocument("Поплавок");
            TransientGeometry oTransGeom = ThisApplication.TransientGeometry;
            Transaction oTrans = ThisApplication.TransactionManager.StartTransaction(ThisApplication.ActiveDocument, "Create Sample");
            PlanarSketch oSketch = doc.oCompDef.Sketches.Add(doc.oCompDef.WorkPlanes[3]);
            SketchPoint[] point = new SketchPoint[4];
            SketchLine[] lines = new SketchLine[4];
            // строим точки
            point[0] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(0, -Высота_эл + ss23), false);
            point[1] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(И / s1, -Высота_эл + ss23), false);
            point[2] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(И / s1, Высота), false);
            point[3] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(0, Высота), false);
            //соединяем линиями
            lines[0] = oSketch.SketchLines.AddByTwoPoints(point[0], point[1]);
            lines[1] = oSketch.SketchLines.AddByTwoPoints(point[1], point[2]);
            lines[2] = oSketch.SketchLines.AddByTwoPoints(point[2], point[3]);
            lines[3] = oSketch.SketchLines.AddByTwoPoints(point[3], point[0]);
            oTrans.End();
            // Вращаем
            Profile oProfile = (Profile)oSketch.Profiles.AddForSolid();
            RevolveFeature revolvefeature = default(RevolveFeature);
            revolvefeature = doc.oCompDef.Features.RevolveFeatures.AddFull(oProfile, lines[3], PartFeatureOperationEnum.kJoinOperation);
            // создание головки поплавка
            PlanarSketch oSketch1 = doc.oCompDef.Sketches.Add(doc.oCompDef.WorkPlanes[3]);
            SketchPoint[] point1 = new SketchPoint[3];
            SketchLine[] lines1 = new SketchLine[1];
            SketchArc[] arcs = new SketchArc[1];
            point1[0] = oSketch1.SketchPoints.Add(oTransGeom.CreatePoint2d(0, -Высота_эл), false);
            point1[1] = oSketch1.SketchPoints.Add(oTransGeom.CreatePoint2d(0, -Высота_эл + Д), false);
            //центр дуги
            point1[2] = oSketch1.SketchPoints.Add(oTransGeom.CreatePoint2d(0, -Высота_эл + Д / s1), false);
            //соединяем линий и дугу
            lines1[0] = oSketch1.SketchLines.AddByTwoPoints(point1[0], point1[1]);
            arcs[0] = oSketch1.SketchArcs.AddByCenterStartEndPoint(point1[2], point1[1], point1[0]);
            // Вращаем
            Profile oProfile1 = (Profile)oSketch1.Profiles.AddForSolid();
            RevolveFeature revolvefeature1 = default(RevolveFeature);
            revolvefeature1 = doc.oCompDef.Features.RevolveFeatures.AddFull(oProfile1, lines1[0], PartFeatureOperationEnum.kJoinOperation);             
            // создание скругления у поплавка
            EdgeCollection oEdges = default(EdgeCollection);
            oEdges = ThisApplication.TransientObjects.CreateEdgeCollection();
            foreach (Edge oEdge in revolvefeature.SideFaces[1].Edges)
            {
                oEdges.Add(oEdge);
            }
            // создание скругления
            FilletFeature oFillet = doc.oCompDef.Features.FilletFeatures.AddSimple(oEdges, D3);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2016, 01:55
Ответы с готовыми решениями:

Построение 3 вида и объёмной детали по 2 данным
Люди добрые, помогите пожалуйста :umbrage: построить 3 вид и 3D вид с вырезом 1/4 части.

Построение трёх видов детали по двум заданным с выполнением ступенчатого разреза
На месте главного вида выполнить ступенчатый разрез. Построить вид слева. Выполнить половина вида...

Посоветуйте литературу по выполнению прямоугольной изометрии детали, эскиза детали
посоветуйте литературу по выполнению прямоугольной изометрии детали,эскиза детали

Построение графика с использованием аппроксимации
Доброго времени суток. Мне необходимо построить график, используя аппроксимацию. Самой функции нет,...

3
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
17.04.2016, 02:08 2
Цитата Сообщение от Леха11111111111 Посмотреть сообщение
у меня есть код построения 3D-детали, нужно его запихнуть массив, тут идет повторения point и line, как это сделать?
Так он уже использует массивы.
А, выполнение однотипных операций (заполнение массивов) вполне можно организовать и через цикл. Например:
C#
1
2
3
4
5
6
SketchPoint[] point = new SketchPoint[4];
. . .
for (int i=0;i<=point.Length-1;i++)
{
    point[i] = /*присваиваем значение элементу массива*/;   
}
Приблизительно как-то так...
0
84 / 85 / 48
Регистрация: 12.10.2013
Сообщений: 1,079
17.04.2016, 09:43 3
Леха11111111111, напишите пожалуйста какие библиотеки using вы используете при построении.

Добавлено через 4 минуты
Лучше напишите полный код.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 20
21.04.2016, 22:18  [ТС] 4
Дело все в том, что в скобках указаны координаты точки, и для каждой точки они разные, как это учесть в цикле?
C#
1
2
3
4
            point[0] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(0, -Высота_эл + ss23), false);
            point[1] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(И / s1, -Высота_эл + ss23), false);
            point[2] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(И / s1, Высота), false);
            point[3] = oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(0, Высота), false);
0
21.04.2016, 22:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2016, 22:18
Помогаю со студенческими работами здесь

Построение схемы с использованием блока if
Нужна Ваша помощь. Необходимо в simulink построить следующую схему: имеется входное значение и...

Определить сумму элементов данного массива с использованием цикла и с использованием рекурсии
Привет всем форумчанам! Прошу помочь мне разобраться с рекурсией: Нужно определить сумму...

Узел содержит 2 независимо работающих детали. Вероятности отказа детали соответственно равны 0,05 и 0,08. Найти вероятность отказа узла, если для этог
Узел содержит 2 независимо работающих детали. Вероятности отказа детали соответственно равны 0,05 и...

Построение графической фигуры с использованием OpenGL (Си)
В общем есть задание на построение графической фигуры с помощью OpenGl : Ромб, вписанный в...

Построение графика с использованием элемента Chart
Здравствуйте, уважаемые форумчане! Прошу Вашей помощи в решении следующей задачи. Мне необходимо...

Построение ломанной линии с использованием мыши
Доброго время суток всем. Помогите мне, пожалуйста, с таким вопросом. Ситуация следующая...Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru