Vytisknout stránku | Zavřít okno

PolyLine ve VB

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=1078
Datum vytištění: 13.kvě.2026 v 19:32


Téma: PolyLine ve VB
Odeslal: orlik
Předmět: PolyLine ve VB
Datum odeslání: 08.čvc.2005 v 14:32
Mohl by mne nekdo nakopnout (poradit)?
Jak rychle poznat ve vypisu polyline ve VB Autocadu po E.Explode (kde E.ObjectName = "AcDbPolyline") smer kruhovych oblouku, kdyz vsechny maji shodny smer otaceni ? Pritom krivka obsahuje oblouky jak proti tak i po smeru hod. rucicek. Potom pocatecni bod neni shodny s koncovym bodem predchazejiciho elementu.
Ve vypisu prikazu ... (edata ...) je smer rozlisen napr. (42 . -0.414214) tj. radius po smeru.

Diky



Odpovědi:
Odeslal: Chlebník
Datum odeslání: 11.čvc.2005 v 08:06

Nedávno jsem se setkal s něčím podobným ale v LISPu a řekl bych že v tomto je to naprosto shodné

důležité jsou tři údaje,

bod-1 = bod počátku oblouku (10 . x y z)

bod-2 = bod konce oblouku (10 . x y z)

a mezi nimy hodnota zaoblení (42 . +/-xxxxxxxxxx)

pak když spojím body bod-1 a bod-2 přímkou tak oblouk je od této přímky vlevo pokud hodnota zaoblení je < 0, a v pravo od přímky pak musí být hodnota > 0.

samotný poloměr se pak spočítá :

dist = (distance bod-1 bod-2)

x = 0.5 * dist

f = x * zaoblení

r = (x*x + f*f)/(2*f) i poloměr vychází kladný nebo záporný dle toho kam směřáje viz výše.



-------------
Ing. Martin Chlebovský
Projektant a vývojář
Veletrhy Brno a.s.


Odeslal: orlik
Datum odeslání: 12.čvc.2005 v 06:54
Diky, jelikoz ve vypisu VB nejsou rozliseny polomery kladnou a zapornou hodnotou, nelze zpusob z lispu pouzit. Nakonec se to snazim resit tak, ze najdu pokud tam je, nejaky primkovy element(ty maji smer spravny), nactu jeho koncovy bod, ktery musi souhlasit s pocatecni bodem nasledujiciho elementu. Pokud je tim elementem radius a navic opacneho smeru, prehodim jen krajni body. Cele to se musi odehravat v novem souboru, protoze na promennou nactenou z vykresu, ktera je 'read only', to nelze aplikovat. To aplikuju postupne na vsechny elementy. Ma to vsak jeden zadrhel, nemam to domysleno, pokud v polylajne neni ani jeden primkovy element.



Vytisknout stránku | Zavřít okno