Zobrazit plnou verzi příspěvku: LISP - vytvoření středové křivky

hoboj
24.05.2023, 08:41
Dobrý den, věděl by někdo, jak vytvořit lisp na vytvoření křivky uprostřed 2 křivek? Něco jako střed točité silnice vč. zúžení a rozšíření? Děkuji

PepaR
24.05.2023, 09:59
Dobrý den, měl by to umět příkaz [CMD]STŘEDOSA[/CMD] (_CENTERLINE), případně lze použít tento lisp, pokud jej dohledáte někde na netu ke stažení.PepaR2023-05-25 05:50:09

Vladimír Michl
24.05.2023, 10:21
Viz příbuzný tip:https://www.cadforum.cz/cz/jak-zkonstruovat-osu-dvou-krivek-osovou-krivku-tip11024a freeware utilita CurveAxis

hoboj
24.05.2023, 10:38
Dobrý den, pane Michle, děkuji za tip, curveaxis jsem zkoušel, ale je pro mé potřeby nedostačující, třeba u dvou křivek, jak jsem přidal obrázek tento lisp neudělá středovou křivku, jak bych potřeboval, ale je deformovaná. U "S" zatáčky je taky zakřivená jinak, než je střed. Děkuji

Vladimír Michl
24.05.2023, 13:13
Ono je to matematicky trochu "sporné" jak má vypadat osa v těch asymetrických případech - obvykle se používá algoritmus valící se kružnice, ale i ten tam udělá "ocásek" - viz příkaz CURVEAXISRB doplněný do utility CurveAxis.

hoboj
24.05.2023, 13:50
Ano, už jsem dohledal nyní i tento případ. Asi by mi stačil jednoduchý lisp se zadáním počátečního bodu křivky (pline)->počateční bod -> _m2p (výběr poloviny) -> dokud neukončím. Děkuji

johny
24.05.2023, 14:13
(defun c:pmid ( / p r)  (command "_.pline")  (while (setq p (progn (initget "Undo") (getpoint "\nFirst point [Undo]: ")))    (if (= p "Undo")      (command "_Undo")      (and (setq r (getpoint p "\nSecond point: "))    (command "_m2p" "_non" p "_non" r))))  (command "")  (princ)  )

johny2023-05-24 15:40:51