predcis
21.09.2005, 11:43
Dobry den,
mam este jeden problem, ktory som sice vyriesil, ale sposobom, ktory je podla mna dost divny. Nemam hlbsie znalosti VB, preto priliz nepoznam problematiku dynamickych poli (s C-ckom to nema nic podobneho).
V podstate ide o to, ze som nenasiel nejaku "vstavanu" funkciu, ktora by mi povedala kolko vrcholov ma 3d krivka, ktoru vyberiem. Tak som to vyriesil cez chybu, co sa mi zda byt pritiahnute za vlasy. Vie mi prosim niekto poradit, ako sa to da urobit inteligentnejsie ? Dakujem.
Tu je kod :
Public poly As Acad3DPolyline
Public entita As AcadEntity
Public prepinac As Boolean
Private Sub Vyber3Dpoly_Click()
Dim bod(2) As Double
Me.Hide
AutoCAD.ActiveDocument.Utility.GetEntity entita, bod, "Vyber 3Dpolyline ! : "
'MsgBox entita.ObjectName
If entita.ObjectName = "AcDb3dPolyline" Then
Set poly = entita
prepinac = True
Else
MsgBox "Nevybral si 3Dpolyline !"
End If
'MsgBox poly.ObjectName
Me.Show
End Sub
Private Sub Vykreslit_Click()
Dim pocetVrcholov As Long
Dim bod1 As Variant
Dim bod2 As Variant
pocetVrcholov = 0
'zistenie poctu vrcholov
On Error GoTo vrcholy
Do While 1 > 0 'nekonecny cyklus
bod1 = poly.Coordinate(pocetVrcholov) ' ak nastane chyba, tolko vrcholov je (indexy su potom pocet - 1)
pocetVrcholov = pocetVrcholov + 1 'neexistuje nieco ako pocetVrcholov++ ?
Loop 'koniec nekonecneho cyklu
vrcholy:
'MsgBox "Pocet vrcholov > " & pocetVrcholov
... a pokracuje dalsi kod.
mam este jeden problem, ktory som sice vyriesil, ale sposobom, ktory je podla mna dost divny. Nemam hlbsie znalosti VB, preto priliz nepoznam problematiku dynamickych poli (s C-ckom to nema nic podobneho).
V podstate ide o to, ze som nenasiel nejaku "vstavanu" funkciu, ktora by mi povedala kolko vrcholov ma 3d krivka, ktoru vyberiem. Tak som to vyriesil cez chybu, co sa mi zda byt pritiahnute za vlasy. Vie mi prosim niekto poradit, ako sa to da urobit inteligentnejsie ? Dakujem.
Tu je kod :
Public poly As Acad3DPolyline
Public entita As AcadEntity
Public prepinac As Boolean
Private Sub Vyber3Dpoly_Click()
Dim bod(2) As Double
Me.Hide
AutoCAD.ActiveDocument.Utility.GetEntity entita, bod, "Vyber 3Dpolyline ! : "
'MsgBox entita.ObjectName
If entita.ObjectName = "AcDb3dPolyline" Then
Set poly = entita
prepinac = True
Else
MsgBox "Nevybral si 3Dpolyline !"
End If
'MsgBox poly.ObjectName
Me.Show
End Sub
Private Sub Vykreslit_Click()
Dim pocetVrcholov As Long
Dim bod1 As Variant
Dim bod2 As Variant
pocetVrcholov = 0
'zistenie poctu vrcholov
On Error GoTo vrcholy
Do While 1 > 0 'nekonecny cyklus
bod1 = poly.Coordinate(pocetVrcholov) ' ak nastane chyba, tolko vrcholov je (indexy su potom pocet - 1)
pocetVrcholov = pocetVrcholov + 1 'neexistuje nieco ako pocetVrcholov++ ?
Loop 'koniec nekonecneho cyklu
vrcholy:
'MsgBox "Pocet vrcholov > " & pocetVrcholov
... a pokracuje dalsi kod.