Previzualizare proiect:

Extras din proiect:

Programul urmator creaza o interfata functionala si completa pentru programul piesa. Se vor introduce de la tastatura 2 parametrii raza1 si raza3 pentru arcul 1 si arcul 3 si dupa rularea programului se va obtine figura urmatoare.

Dim corect As Boolean

Dim centru(0 To 2) As Double

Dim raza2 As Double

Dim raza3 As Double

Dim raza4 As Double

Dim x As Double

Dim y As Double

Dim circleobj As AcadCircle

Dim arcobj As AcadArc

Dim alfa As Double

Dim unghi As Double

Dim pi As Double

Private Sub userform_initialize()

piesa.raza1.ControlTipText = "trebuie introdus un numar strict pozitiv pentru raza 1"

piesa.raza3.ControlTipText = "trebuie introdus un numar strict pozitiv pentru raza 3 mai mic decat raza1"

piesa.deseneaza.ControlTipText = "deseneaza piesa"

piesa.afisare.ControlTipText = "afiseaza fereastra pentru urmarirea executiei programului"

piesa.listaAfisare.ControlTipText = "afiseaza operatiile efectuate"

corect = True

piesa.afisare.Value = True

piesa.listaAfisare.AddItem ("s-a lansat programul")

End Sub

Private Sub afisare_click()

If piesa.afisare.Value = True Then

piesa.listaAfisare.Visible = True

Else

piesa.listaAfisare.Visible = False

End If

End Sub

Private Sub deseneaza_Click()

If (piesa.raza1.Value = "") Or (piesa.raza3.Value = "") Then

mesaj = MsgBox("trebuie sa introduceti toate datele inainte de a desena piesa", vbOKOnly + vbCritical, "atentie")

piesa.listaAfisare.AddItem ("s-a incercat desenarea fara toate datele introduse")

End If

piesa.listaAfisare.AddItem ("se incepe desenarea")

piesa.listaAfisare.AddItem ("se deseneaza arcul de raza1")

centru(0) = 0#: centru(1) = 0#: centru(2) = 0#

raza2 = (raza1 * 5) / 4

raza4 = (4 * raza3) / 3

alfa = (raza2 * raza2 + raza1 * raza1 - raza4 * raza4) / (2 * raza2 * raza1)

unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)

pi = 3.14159265

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza1, 0, pi - unghi)

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza1, pi + unghi, 2 * pi)

piesa.listaAfisare.AddItem ("se deseneaza arcul de raza2")

alfa = 1 - (raza4 * raza4) / (2 * raza2 * raza2)

unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza2, 0, pi - unghi)

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza2, pi + unghi, 2 * pi)

piesa.listaAfisare.AddItem ("se deseneaza arcul de raza3")

centru(0) = 0# - raza2: centru(1) = 0#: centru(2) = 0#

alfa = Sqr(3) / 2

unghi = Atn(-alfa / Sqr(-alfa * alfa + 1)) + 2 * Atn(1)

pi = 3.14159265

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza3, unghi, pi)

Set arcobj = ThisDrawing.ModelSpace.AddArc(centru, raza3, pi, 2 * pi - unghi)

piesa.listaAfisare.AddItem ("se deseneaza cercul 4 de raza4")

centru(0) = 0# - raza2: centru(1) = 0#: centru(2) = 0#

Set circleobj = ThisDrawing.ModelSpace.AddCircle(centru, raza4)

Dim punctstart(0 To 2) As Double

Dim punctfinal(0 To 2) As Double

Dim frontiera(0 To 2) As AcadEntity

piesa.listaAfisare.AddItem ("se deseneaza polilinia")

punctstart(0) = 0# - raza2 + 6 * raza3 / 7: punctstart(1) = 0# + raza3 / 2: punctstart(2) = 0#

punctfinal(0) = 0# - raza2 + 7 * raza3 / 6: punctfinal(1) = 0# + raza3 / 2: punctstart(2) = 0#

Set frontiera(0) = ThisDrawing.ModelSpace.AddLine(punctstart, punctfinal)

punctfinal(0) = 0# - raza2 + 7 * raza3 / 6: punctfinal(1) = 0# - raza3 / 2: punctstart(2) = 0#

Set frontiera(1) = ThisDrawing.ModelSpace.AddLine(frontiera(0).EndPoint, punctfinal)

punctfinal(0) = 0# - raza2 + 6 * raza3 / 7: punctfinal(1) = 0# - raza3 / 2: punctstart(2) = 0#

Set frontiera(2) = ThisDrawing.ModelSpace.AddLine(frontiera(1).EndPoint, punctfinal)

End Sub

Descarcă proiect

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Programare.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
9/10 (6 voturi)
Nr fișiere:
1 fisier
Pagini (total):
20 pagini
Imagini extrase:
20 imagini
Nr cuvinte:
2 975 cuvinte
Nr caractere:
19 214 caractere
Marime:
197.60KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Master
Tip document:
Proiect
Domeniu:
Alte domenii
Tag-uri:
set, raza, unghi
Predat:
Facultatea de Automatica, Calculatoare, Electronica , Universitatea din Craiova din Craiova
Materie:
Alte domenii
Profesorului:
Cojocaru Dorian
Sus!