Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností
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, 3ds Max, Vault a s dalšími CAD/BIM/PDM 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ě.
|
Odpovědět
|
archiv |
| Autor | |
Mantlík
TOP uživatel
Přihlášen: 01.říj.2004 Lokalita: ČR (Pha) Používám: ACAD/Map/Civil R10-> 2022 Stav: Offline Bodů: 2578 |
Téma: Lisp - zaokrouhlování funkce RTOSZasláno: 12.dub.2005 v 13:16 |
|
Dobrý den U jedné rutiny v lispu jsem potřeboval použít funkci rtos. A teď nevím, jestli tato funkce zároveň na zadaný počet míst zaokrouhluje, nebo jen ořezává. Z kontrolních výpočtů mi připadá, že někdy to zaokrouhluje a jindy ořezává. Víte nekdo, jaká je tedy správná funkce (nikde jsem to nenašel) Díky |
|
|
J. Mantlík
|
|
![]() |
|
Vladimír Michl
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor
ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 22020 |
Zasláno: 12.dub.2005 v 13:52 |
|
(rtos) zaokrouhluje - jen pozor, v závislosti na DIMZIN též ořezává nevýznamné nuly - viz Help nebo:
http://www.cadforum.cz/cadforum/qaID.asp?tip=1671 |
|
![]() |
|
Mantlík
TOP uživatel
Přihlášen: 01.říj.2004 Lokalita: ČR (Pha) Používám: ACAD/Map/Civil R10-> 2022 Stav: Offline Bodů: 2578 |
Zasláno: 11.kvě.2005 v 10:51 |
|
Dobrý den
Ještě jednou se vrátím k funkci rtos. Idea" ukážu na bod a na patřičná místa se napíšou souřadnice x, y (y 10x zmenšené) . Problémy jsou u souřadnice y výsek kódu" (setq pt (getpoint "\nUkaž vrchol polygonu: ")) . (setq y3(/ y 10)) (setq y1 (rtos y3 2 2)) . . následuje vložení hodnot
Problém spočívá v tom, že pokud např. y= 2400, vloží se hodnota 240.01 místo 240.00 (nebo 240 ). Kontrola proměnných !y3 = 240.005 a !y1 = "240.01" ale pokud na příkazovém řádku zadám (setq y3(/ y 10)) -> vyjde správně 240.00 Jak je tohle možné ? Přitom nikde jinde se tyhle lokální proměnné v rutině nevyskytují a nepomůže ani jejich přejmenování
Děkuji za rady
|
|
|
J. Mantlík
|
|
![]() |
|
pavlacka
Nováček
Přihlášen: 04.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD C3D Stav: Offline Bodů: 21 |
Zasláno: 11.kvě.2005 v 16:13 |
|
Zkontrolujte promennou !pt. roman pavlacka |
|
![]() |
|
Mantlík
TOP uživatel
Přihlášen: 01.říj.2004 Lokalita: ČR (Pha) Používám: ACAD/Map/Civil R10-> 2022 Stav: Offline Bodů: 2578 |
Zasláno: 11.kvě.2005 v 16:30 |
|
To bylo samozřejmě to první, co jsem zkontroloval
|
|
|
J. Mantlík
|
|
![]() |
|
Kubeczka
Zasloužilý člen
Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 11.kvě.2005 v 16:47 |
|
Zdravím. Vyzkoušel jsem zadat souřadnici y jako celé číslo (např 2402). V tomto případě funkce (setq y3(/ y 10)) vypočítá y3=240. Pokud y bude reálné číslo, pak y3=240.2. Nevím, nač to potřebujete. Pokud chcete zaokrouhlovat, tak si vytvořte jednoduchou rutinku, kterou použijete na každý vstup getpoint.
|
|
![]() |
|
Kubeczka
Zasloužilý člen
Přihlášen: 01.říj.2004 Lokalita: Czech Republic Používám: AutoCAD 2018, Inventor 2018 Stav: Offline Bodů: 141 |
Zasláno: 11.kvě.2005 v 16:54 |
|
Jakou to má plnit funkci a jaký výstup potřebujete? Mohu se o něco pokusit.
|
|
![]() |
|
pavlacka
Nováček
Přihlášen: 04.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD C3D Stav: Offline Bodů: 21 |
Zasláno: 11.kvě.2005 v 17:14 |
|
Ja bych postupoval vylucovaci metodou (je mozne i trasovat a sledovat chovani promennych). Zkusil jsem si jen tu cast, kterou jste zverejnil a funguje mi korektne (dokonce jsem vybiral body podobne tomu vasemu). Muzete zkusit prerusit program v miste pred prikazem (setq y3 (/ y 10)) a potom ho zapsat na prikazovou radku a zkontrolovat !y. roman pavlacka |
|
![]() |
|
Mantlík
TOP uživatel
Přihlášen: 01.říj.2004 Lokalita: ČR (Pha) Používám: ACAD/Map/Civil R10-> 2022 Stav: Offline Bodů: 2578 |
Zasláno: 11.kvě.2005 v 18:29 |
|
Chyba samozřejmě není v programu, ale ve mně. Nejlépe použít moudrou větu pánů Š+G "A jakpak dělá kozička, pane inženýre ?") Měl jsem totiž na disku dvě verze. Na starou, rozpracovanou, opuštěnou (a zapomenutou na disku) s pokusem o zaokrouhlování přitom vedla cesta v autocadu, zatímco k té novější, z níž byl výsek kódu cesta nevedla. A tak se samozřejmě pořád načítala verze stará. No nic ..
Děkuji všem, kteří se ozvali s radou nebo doplňujícími dotazy |
|
|
J. Mantlík
|
|
![]() |
|
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět
|
|
| Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,402 sekund.



Lisp - zaokrouhlování funkce RTOS
Možnosti tématu


Heuréka ! záhada je vyřešena ! 

