Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 6857 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoVBA a 3dpolyline

 Odpovědět Odpovědět archiv
Autor
predcis Zobrazit panel
Nováček
Nováček

Přihlášen: 18.srp.2005
Lokalita: Slovensko
Používám:
AutoCAD® Map 3D 2013
Stav: Offline
Bodů: 14
Přímý odkaz na tuto zprávu Téma: VBA a 3dpolyline
    Zasláno: 21.zář.2005 v 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.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21490
Přímý odkaz na tuto zprávu Zasláno: 21.zář.2005 v 12:09
není tam náhodou kolekce Coordinates ? (nezkoušeno)
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 21.zář.2005 v 12:13
a co UBound (jmeno_pole[,č_rozm]) ?
Zpět nahoru
predcis Zobrazit panel
Nováček
Nováček

Přihlášen: 18.srp.2005
Lokalita: Slovensko
Používám:
AutoCAD® Map 3D 2013
Stav: Offline
Bodů: 14
Přímý odkaz na tuto zprávu Zasláno: 21.zář.2005 v 12:48
Dakujem, riesenie som nasiel nasledovne :

pocetVrcholov = (UBound(poly.coordinates)+1)/3
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 1487:Jak snadno zjistit délku 3D křivky (3DPOLYLINE)?
Tip 9321:VIPNefunguje mi VBA v Inventoru 2016, 2015, 2014 nebo 2013 - příčiny.
Tip 6790:VIPPřidání ikony vlastního příkazu/makra v Inventoru.
Tip 6490:VIPVBA aplikace v 64bitové verzi AutoCADu (kompatibilita, migrace)
Tip 7247:Chyba C0000005 v AcVBA.arx při pokusu o spuštění VBA makra.
Tip 6603:V AutoCADu 2010 mi nejde načíst VBA aplikace (.DVB)


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,507 sekund.