ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.03.2025

Просмотров: 120

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

9

Dim G As Graphics

G = Me.CreateGraphics

Dim P1 As Pen = New Pen(Color.Black, 2)

Dim P2 As Pen = New Pen(Color.Black, 1)

5:P2.EndCap = LineCap.ArrowAnchor P2.StartCap = LineCap.ArrowAnchor

Dim P3 As Pen = New Pen(Color.Black, 1)

P3.DashStyle = DashStyle.DashDot

G.DrawLine(P3, 10, 170, 200, 170)

10:G.DrawLine(P3, 275, 170, 385, 170) G.DrawLine(P3, 330, 220, 330, 120) G.DrawRectangle(P1, 20, 150, 30, 40) G.DrawRectangle(P1, 50, 130, 120, 80)

G.DrawRectangle(P1, 170, 150, 15, 40)

15:G.DrawEllipse(P1, 290, 130, 80, 80) G.DrawEllipse(P1, 310, 150, 40, 40) G.DrawLine(Pens.Black, 20, 190, 20, 250)

G.DrawLine(Pens.Black, 185, 190, 185, 250)

G.DrawLine(P2, 20, 245, 185, 245)

20:G.DrawLine(Pens.Black, 20, 150, 20, 80) G.DrawLine(Pens.Black, 170, 130, 170, 80) G.DrawLine(P2, 20, 85, 170, 85) G.DrawLine(Pens.Black, 50, 130, 50, 115) G.DrawLine(P2, 20, 120, 50, 120)

25:G.DrawLine(Pens.Black, 290, 170, 290, 80) G.DrawLine(Pens.Black, 370, 170, 370, 80) G.DrawLine(P2, 290, 85, 370, 85)

G.DrawLine(Pens.Black, 310, 170, 310, 115)

G.DrawLine(Pens.Black, 350, 170, 350, 115) 30: G.DrawLine(P2, 310, 120, 350, 120)

End Sub

Во второй строке тела этой подпрограммы на текущей форме создается поверхность для рисования. В строках 3 – 8 создаются перья для рисования контуров черного цвета:

толщиной 2 пикселя (контур детали),

толщиной 1 пиксель со стрелками в начале и конце (размерные линии),

штрих пунктирных толщиной 1 пиксель (осевые линии). В строках кода 9 – 11 выполняется рисование осевых линий.

Код, находящийся в строках 12 – 14 рисует три прямоугольники, образующих контур детали на левой проекции чертежа.

В строках 15 и 16 выполняется рисование двух окружностей, образующих контур детали на правой проекции чертежа.

И, наконец, код строк 17 – 30 предназначен для рисования размерных линий.

7.Сохраните проект.

8.Запустите проект. Если Вы не допустили ошибок, то результат работы должен соответствовать рис. 9.

10

Рис. 9. Результат рисования

9. Теперь необходимо над каждой линией со стрелками указать соответствующий размер детали. Для этого в соответствии с рис. 10 поместите на форме пять текстовых полей TextBox.

Рис. 10. Положение текстовых полей

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

иошибок.

10.Установите значения свойств Text текстовых полей равными:


11

Text1.Text = 30, Text2.Text = 150, Text3.Text = 165, Text4.Text = 80, Text5.Text = 40.

11. Осталось добавить код вычисления веса детали. Для этого нужно вычислить ее объем и умножить его на удельный вес материала детали. Соответствующий код подпрограммы Button1_Click приведен в листинге 6. Эта подпрограмма при щелчке на кнопке Button1 вычисляет вес детали по удельному весу материала, выраженному в граммах на кубический сантиметр, и по геометрическим размерам детали, выраженным в миллиметрах.

Листинг 6. Код подпрограммы Button1_Click вычисления веса детали

Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click

Const pi As Single = 3.14159 Dim УдельныйВес As Single

УдельныйВес = InputBox _

("Введите удельный вес материала" & _ "в граммах на кубический сантиметр")

Label4.Text = Format((TextBox1.Text _

*pi * TextBox5.Text ^ 2 / 4 + (TextBox2.Text _

-TextBox1.Text) * pi * TextBox4.Text ^ 2 / 4 + _ (TextBox3.Text - TextBox2.Text) * pi * _ TextBox5.Text ^ 2 / 4) / 1000 * УдельныйВес, _ "###0.0 г")

End Sub

Рис. 11. Результат работы проекта

12. Сохраните проект и запустите его. Щелкните на кнопке Button1, введите в

поле функции InputBox значение удельного веса стали (7,8 г/см3) и щелкните на кнопке ОК. Результат работы Вашего приложения должен соответствовать рис. 11. Обратите внимание, в режиме выполнения приложения можно изменять размеры детали, изменяя содержание соответствующих текстовых полей, и пересчитывать вес детали после нового щелчка на кнопке Button1.

12

13.Внесите в проект необходимые изменения, связанные с необходимостью иметь

вдетали отверстие для шпонки диаметра 4 мм (см. рис. 12).

Рис. 12. Результат работы проекта после доработки

14.Остановите приложение и попробуйте ответить на вопросы для контроля.

15.Покажите работу Вашего приложения преподавателю.

16.Удалите свою рабочую папку на диске d.

8. Вопросы для контроля

1.В чем состоит различие между растровыми и векторными изображениями?

2.Как изменяется размер растрового изображения при увеличении разрешения

экрана?

3.Какая точка формы является началом ее системы координат?

4.Для чего предназначена и где размещается инструкция:

Imports System.Drawing, System.Drawing.Drawing2D, _

System.Drawing.Imaging, System.Drawing.Text?

5.Для чего предназначены объекты Pen и Brush?

6.Каково действие инструкций:

Dim G As Graphics

G = Me.CreateGraphics? 7. Каково действие инструкции:

Dim P As Pen = New Pen(Color.Blue, 2)? 8. Каково действие инструкции:

Dim B As New SolidBrush(Color.Red)?

9.Поясните работу подпрограммы Form1_Paint.

10.Поясните работу подпрограммы Button1_Click.

11.Каково действие инструкции:

G.DrawLine(Pens.Black, 310, 170, 310, 115)?

12.Каково действие инструкций:


13

Dim P1 As Pen = New Pen(Color.Blue, 2)?

G.DrawRectangle(P1, 50, 130, 120, 80)?

13. Каково действие инструкций:

Dim P1 As Pen = New Pen(Color.Blue, 2)? G.DrawEllipse(P1, 310, 150, 40, 40)?

14. Каково действие инструкций:

Dim B As New SolidBrush(Color.Red)? G.FillEllipse(B, 10, 40, 100, 50)?