Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 4
1

Графика. Геометрическое конструирование и Машиностроительное черчение

02.06.2015, 23:19. Показов 516. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Геометрическое конструирование:
ребята помогите , нужно изобразить данный чертеж в [PASCAL]
Миниатюры
Графика. Геометрическое конструирование и Машиностроительное черчение  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 23:19
Ответы с готовыми решениями:

Графика. Геометрическое конструирование и Машиностроительное черчение
Ребята, сново проблемы с графикей в Турбо Паскале. Не имею малейшего понятия как делать эти задачи....

Геометрическое конструирование
Прямоугольный треугольник задано координатами своих вершин. Получить с помощью дуг кругов фигуру,...

Геометрическое конструирование
Привет всем. Вот у меня одна проблемка с одним рисоночком. Никак не могу его нарисовать. Даже не...

Геометрическое конструирование
Подскажите пожалуйста,как построить ниже приведенный рисунок. Необходимо,чтобы пользователь...

5
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 4
02.06.2015, 23:26  [ТС] 2
Есть уже почти готовая версия но нету разрезов между болтами и полукругом , в них та вся и загвоздка , если кто знает как их можно написать помогите!)пожалуйста
Pascal
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
USES CRT,graph;
Var x,y,x1,y1,StA,EndA,R,l,gm,gr,d:integer;
Procedure blok1 ( x, y,d,l:integer);
var d15:integer;
  Begin
   d15:=round(1.5*d);
   rectangle(x-d15,y,x-d15+d*12,y+l);
   Sector(x-d15+6*d,y+l div 2,180,360,40,40);
   line(x-d15,y+l div 2,x-d15+d*12,y+l div 2);
   setfillstyle(4,15);
   floodfill(x-d15+1,y+2,0);
   setfillstyle(9,15);
   floodfill(x-d15+1,y+l div 2+2,0);
   rectangle(x-d15+l div 2-y div 5 ,y+l div 2,x-d15+l div 2);
   setfillstyle(5,15);
   floodfill(x-d15+d+1,y+l div 2-2,0);
  end;
procedure gayka(x,y,d:integer);
var d2:integer;
  Begin
   d2:=d div 2;
   Bar(x-d,y-d,x+d,y);
   rectangle(x-d,y-d,x+d,y);
   rectangle(x-d2,y-d,x+d2,y);
   arc(x,y,60,120,d);
   arc(x-d,y,60,90,d);
   arc(x+d,y,90,120,d);
   arc(x+d,y-d,240,270,d);
   arc(x-d,y-d,270,300,d);
   arc(x,y-d,240,300,d);
  end;
procedure shpilka(x,y,d,l:integer);
var d2 ,d10:integer;
  begin
   d2:=d div 2;
   d10:=d div 10;
   setfillstyle(1,15);
   bar(x-d2,y,x+d2,y+l);
   rectangle (x-d2,y,x+d2,y+l-l div 10);
   rectangle (x-d2+d10, y-d10,x+d2-d10,y+d10+l-l div 10);
   line(x-d2,y,x-d2+d10,y-d10);
   line(x+d2,y+l-l div 10,x+d2-d10,y+l-l div 10+d10);
   line(x-d2,y+l-l div 10,x-d2+d10,y+l-l div 10+d10);
   line(x+d2,y,x+d2-d10,y-d10);
  end;
procedure shayba(x,y,d,l:integer);
var d13,d15:integer;
  Begin
   d13:=round(1.3*d);
   d15:=round(1.5*d);
   setfillstyle(1,15);
   Bar(x-d13,y+l-d15,x+d13,y+l-d15+d div 10);
   rectangle(x-d13,y+l-d15,x+d13,y+l-d15+d div 10);
  end;
procedure BOLT(x,y,d,l:integer);
var d2,d3,d10:integer;
  Begin
   d2:=d div 2;
   d3:=d div 3;
   shpilka(x,y,d,l);
   gayka(x,y,d);
   shayba(x,y-d2,d,l);
   gayka(x,y+l-d,d-3);
   setlinestyle(4,$ffcc,1);
   line(x,y-2*d,x,y+l+d);
   setlinestyle(0,0,1);
  end;
procedure shpilvsbore(x,y,d,l:integer);
var d2,d10:integer;
  begin
    d2:=d div 2;
    d10:=d div 10;
    shpilka(x+7*d+d2,y-11*d,d,2*l+90);
    shayba(x+7*d+d2,y-round(12.6*d),d,l);
    gayka(x+7*d+d2,y-d*9-d10,d);
    shayba(x+7*d+d2,y-round(3.5*d),d,l);
    gayka(x+7*d+d2,y+d,d-4);
    setlinestyle(4,$ffcc,1);
    line(x+7*d+d2,y-12*d,x+7*d+d,y+3*d);
    setlinestyle(0,0,1);
  end;
begin {main}
 gr:=detect;
 Initgraph(gr,gm,'');
 setfillstyle(1,15);
 Bar(0,0,GetmaxX,getmaxY);
 setcolor (0);
 d:=30;
 l:=150;
 x:=120;
 y:=50;
 blok1 ( x, y,d,l);
 BOLT(d*4,y,d,l+60);
 BOLT(12*d+d,y,d,l+60);
 readKey;
 closegraph;
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
03.06.2015, 09:46 3
И у вас это работает?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Procedure blok1 ( x, y,d,l:integer);
var d15:integer;
  Begin
   d15:=round(1.5*d);
   rectangle(x-d15,y,x-d15+d*12,y+l);
   Sector(x-d15+6*d,y+l div 2,180,360,40,40);
   line(x-d15,y+l div 2,x-d15+d*12,y+l div 2);
   setfillstyle(4,15);
   floodfill(x-d15+1,y+2,0);
   setfillstyle(9,15);
   floodfill(x-d15+1,y+l div 2+2,0);
   rectangle(x-d15+l div 2-y div 5 ,y+l div 2,x-d15+l div 2);
   setfillstyle(5,15);
   floodfill(x-d15+d+1,y+l div 2-2,0);
  end;
А чему равно d15?
А почему здесь
Pascal
1
rectangle(x-d15+l div 2-y div 5 ,y+l div 2,x-d15+l div 2);
только 3 координаты?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7771 / 4600 / 2824
Регистрация: 22.11.2013
Сообщений: 13,080
Записей в блоге: 1
03.06.2015, 10:27 4
Sintezator,
используйте Bar(), 12 вызовов достаточно.

У вас головки болтов и гаек не имеют фасок, вместо прямоугольников воспользуйтесь DrawPoly()/FillPoly().

Добавлено через 5 минут
Неправильно изображена резьба под головками болтов: нет фасок и горизонтальной линии.

Добавлено через 6 минут
Вместо пары вызовов
Pascal
1
Bar(x1,y1,x2,y2); Rectangle(x1,y1,z2,y2);
можно использовать
Pascal
1
Bar3D(x1,y1,x2,y2,0,TopOff);
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 4
03.06.2015, 20:09  [ТС] 5
нет не работает это была лишняя строка , с которой я пытался их написать , и не удалил в конечном счете , без этой строки рисуок просто не имеет этих вырезов ) спасибо что указали

Добавлено через 13 секунд
спасибо попробую
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 4
03.06.2015, 20:26  [ТС] 6
вот как рисунок выглядит сейчас в [PASCAL]
Миниатюры
Графика. Геометрическое конструирование и Машиностроительное черчение  
0
03.06.2015, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2015, 20:26
Помогаю со студенческими работами здесь

Черчение графика через C++ Visual Studio
Нужно начерить график к завтрашнему, а я не в зуб ногой Есть ли материал в интернете, как чертить...

Черчение
помогите начертить 3 ю проекцию фигуры...

Черчение в КОМПАС
Здравствуйте. Помогите пожалуйста начертить в КОМПАСе данную деталь.

Черчение схемы
Добрый вечер! Уважаемые форумчане, черчу схему в САПР Altium Desykner и у меня появился вопрос. На...


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

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