plikPDF

Transkrypt

plikPDF
Politechnika Świętokrzyska w Kielcach
Nr ćwiczenia:
Data:
Grupa:
MZIA WMiBM
2
17 marca 2006
Temat:
Baza Kołków Walcowych.
AutoCAD & MS VisualBasci
Wykonawca:
Ocena:
Data:
Podpis:
Piotr Wydra
Wygląd okna macra dla programu
AutoCAD.
Wygląd wygenerowanych obiektów 3D
Listing programu:
Dim tk(0 To 5) As Double 'typ kolka'
Const pi = 3.14159
Sub kolek_rzut_glowny()
Dim linia As AcadLine
Dim start_l(0 To 2) As Double
Dim end_l(0 To 2) As Double
Dim p(0 To 9, 0 To 2) As Double
' paramatry kolka z tablicy
l_min = tk(2)
l_max = tk(3)
d = tk(0)
c = tk(1)
tk(0) = 8
tk(1) = 1.6
tk(2) = 14
tk(3) = 80
Case 3
tk(0) = 10
tk(1) = 2
tk(2) = 18
tk(3) = 95
End Select
End Sub
x = TextBox2.Value
y = TextBox3.Value
z = TextBox4.Value
Private Sub ComboBox2_Change()
lb = TextBox1.Value
End Sub
p(0, 0) = x + c
p(0, 1) = y + 0.5 * d
Private Sub CommandButton1_Click()
p(1, 0) = x
p(1, 1) = p(0, 1) - c * Tan(15 * pi / 180)
p(2, 0) = x
p(2, 1) = p(1, 1) - d + 2 * c * Tan(15 * pi / 180)
p(3, 0) = x + c
p(3, 1) = p(2, 1) - c * Tan(15 * pi / 180)
p(4, 0) = p(0, 0)
p(4, 1) = p(0, 1)
p(5, 0) = p(4, 0) + lb - 2 * c
p(5, 1) = p(4, 1)
Select Case ComboBox2.ListIndex
Case 0
kolek_rzut_glowny
Case 1
'kolek_rzut_boczny'
Case 2
'kolek_rzut_glowny'
'kolek_rzut_boczny'
Case 3
ucs
Case 4
'kolek_rzut_glowny'
'kolek_rzut_boczny'
'kolek_3d'
End Select
p(6, 0) = p(5, 0) + c
p(6, 1) = p(5, 1) - c * Tan(15 * pi / 180)
UserForm1.Hide
p(7, 0) = p(6, 0)
p(7, 1) = p(6, 1) - d + 2 * c * Tan(15 * pi / 180)
End Sub
p(8, 0) = p(7, 0) - c
p(8, 1) = p(7, 1) - c * Tan(15 * pi / 180)
Private Sub Frame1_Click()
End Sub
p(9, 0) = p(3, 0)
p(9, 1) = p(3, 1)
Private Sub TextBox1_Change()
tk(4) = TextBox1.Value
End Sub
For i = 0 To 8
For j = 0 To 2
start_l(j) = p(i, j)
end_l(j) = p(i + 1, j)
Next j
Set linia = ThisDrawing.ModelSpace.AddLine(start_l, end_l)
Next i
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
Dim srednice_kolkow(3)
Dim rodzaj_rzutu(4)
End Sub
Private Sub ComboBox1_Change()
Select Case ComboBox1.ListIndex
Case 0
tk(0) = 5
tk(1) = 0.8
tk(2) = 10
tk(3) = 50
Case 1
tk(0) = 6
tk(1) = 1.2
tk(2) = 12
tk(3) = 60
Case 2
srednice_kolkow(0) = 5
srednice_kolkow(1) = 6
srednice_kolkow(2) = 8
srednice_kolkow(3) = 10
ComboBox1.ColumnCount = 3
ComboBox1.List = srednice_kolkow
ComboBox1.ListIndex = 0
rodzaj_rzutu(0) = "Rzut Główny"
rodzaj_rzutu(1) = "Rzut Boczny"
rodzaj_rzutu(2) = "Rzut Główny + Boczny"
rodzaj_rzutu(3) = "Rzut 3D"
rodzaj_rzutu(4) = "Rzut Główny + Boczny + 3D "
ComboBox2.ColumnCount = 1
ComboBox2.List = rodzaj_rzutu
ComboBox2.ListIndex = 0
TextBox1.Value = 0
TextBox2.Value = 0
TextBox3.Value = 0
TextBox4.Value = 0
wys = tk(1)
atap = 15 * pi / 180
'wyciagniecie extrude'
Set bryla = ThisDrawing.ModelSpace.AddExtrudedSolid(obreg(0),
wys, atap)
Dim isoline As String
End Sub
Sub ucs()
Dim ucs As AcadUCS
Dim srodek(0 To 2) As Double
Dim PX(0 To 2) As Double
Dim PY(0 To 2) As Double
Dim nazwa As String
Dim okrag(0) As AcadCircle
Dim sr(0 To 2) As Double
Dim r As Double
ThisDrawing.SetVariable "IsoLines", 32
ThisDrawing.SendCommand "_VPOINT R 135 45 "
wys = -tk(4)
atap = 0
Set bryla = ThisDrawing.ModelSpace.AddExtrudedSolid(obreg(0),
wys, atap)
sr(0) = x + tk(1) + 3 * l
sr(1) = y
sr(2) = 0
r = tk(0) / 2
Set okrag(0) = ThisDrawing.ModelSpace.AddCircle(sr, r)
srodek(0) = 0: srodek(1) = 0: srodek(2) = 0
PX(0) = 0: PX(1) = 0: PX(2) = 1
PY(0) = 0: PY(1) = 1: PY(2) = 0
nazwa = "ZY"
Set ucs = ThisDrawing.UserCoordinateSystems.Add(srodek, PX,
PY, nazwa)
ThisDrawing.ActiveUCS = ucs
obreg = ThisDrawing.ModelSpace.AddRegion(okrag)
l = tk(4)
x = TextBox2.Value
y = TextBox3.Value
sr(0) = x + tk(1) + 2 * l
sr(1) = y
sr(2) = 0
r = tk(0) / 2
Set okrag(0) = ThisDrawing.ModelSpace.AddCircle(sr, r)
Dim plineObj As AcadPolyline
Dim points(0 To 14) As Double
Dim obreg As Variant
'tworzymy region'
obreg = ThisDrawing.ModelSpace.AddRegion(okrag)
Dim bryla As Acad3DSolid
Dim wys As Double
Dim atap As Double
wys = -tk(1)
atap = 15 * pi / 180
Set bryla = ThisDrawing.ModelSpace.AddExtrudedSolid(obreg(0),
wys, atap)
' Define the 2D polyline points
points(0) = 1: points(1) = 1: points(2) = 0
points(3) = 1: points(4) = 2: points(5) = 0
points(6) = 2: points(7) = 2: points(8) = 0
points(9) = 3: points(10) = 2: points(11) = 0
points(12) = 4: points(13) = 4: points(14) = 0
' Create a light weight Polyline object in model space
Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
ThisDrawing.SendCommand "_UCS W"
End Sub

Podobne dokumenty