Zobrazit plnou verzi příspěvku: Začátečnický problém s Lispem
Dobrý den,začínám s Lispem a vyskytl se mi problém který mne zlobí. Když spustím LISP poprvé (příkazem "1") nakreslí rohové části tabulky bez problému. Když ale odzoomuji a spustím ho znovu vykreslí pouze horizontální úsečky. Neví prosím někdo čím je to způsobeno?http://uloz.to/xyvYRWt/pokus-1-lsp
Pokud to má zobrazit 4 rohy, 2 kružnice v LH rohu a v mezikruží šrafa, pak mně to funguje bez problémů, ať zoomuji, jak chci ...
Ano má to takto fungovat. To je zajímavé, opravdu mi to kreslí v závislosti na zoomu pouze horizontální úsečky (+ kružnice a šrafy). Respektive to vykreslí i vertikální úsečku, ale pouze jeko bod,tzn parametr u funkce polar pro vzdálenost je roven nule. Nevím čím to bude. A takto to funguje i u dalších úseček tabulky které se tam snažím dokreslit. Když jsem dostatečně blízko tak je to OK.Odzoomuji-li stane se to stejné.
Aniž bych studoval podrobnosti - tipuji na zapnutý režim uchopování. Zkuste vypnout chytací režim, odzoomovat a spustit...Pokud to tím bude, tak před "kreslením" v LISPU vypněte [VAR]OSMODE[/VAR].Pro práci s proměnými jsou příkazy:(getvar)(setvar)
Kouknul jsem na kod LSP a je to tak jak píšu v předchozím příspěvku. Doplňte si do funkce toto: ;těsně před kreslící fukce: (setq old-osmode (getvar "osmode"))(setvar "osmode" 0);tady budou řádky s kreslením;těsně za kreslící funkce: (setvar "osmode" old-osmode)Jen připomínám, že je potřeba nezapomínat na funkci *error*. Zejména pokud přenastavujete nějaké systémové proměnné. Jinak pokud funkce spadne tak Vám zůstane vypntý OSNAP.Pokud používáte jednoduché názvy pro proměnné, které se mohou opakovat, je dobré je nenechávat jako globální. Může to způsobit neočekávané chování zcela jiných funkcí. Stačí to vyřešit doplněním proměnných, které namají být do prvního řídku funkce za lomítko: (defun C:1 ( / X1 X2 X3 X4 K1 K2)
alfred2012-10-18 06:38:08
Ano bylo to tím,mockrát děkuji, to by mě nenapadlo. Také děkuji za ostatní rady, už je píši do kódu.