Zobrazit plnou verzi příspěvku: Přesnost kót

johny
14.11.2008, 15:40
Zdravim, často řeším, že potřebuju rychle snížit, nebo zvýšit přesnost kóty. Jaksi znám jen dvě cesty jak to udělat na už vytvořenou kótu. První je nepoužitelná (pravé tlacitko mám předefinované na Enter - ale je to rychlé, škoda že ta nabídka nejde vyvolat jinou kombinací kláves, nebo jde?) no a druhá možnost je ve vlasntostech (jenže je to dost nešikovné, páč se to nachází až skoro dole...).Kolikrát jsem hledal v seznamu standardních příkazů něco jako DimEdit, ale žádnou kompexní editační funkci na kóty jsem nenašel :(Jsem si ochotný na to udelat lispový prográmek, ale bohužel přesnost kóty jsem nenašel v základní listové definici entity Dimension (ani následných entit-jak je to třeba u bloků) - je to docela komplikovaná definice a bohužel do toho tak nevidím... (jakkoli běžnou entitu, nebo i blok bych si upravit uměl)Prostě idea je taková, že zadám nějaký zkratkový příkaz např. EK a pak zadám číslo, což bude počet cifer za desetinnou čárkou.  (podobně to mám na tloušku křivky - je to super, tam jsem si bvystačil ale s keditem :)Předpokládám, že je to mnohem hednodušší ve VBA, ten vša neumím :( Tak nevíte někdo jak lispovsky (nebo nejak) dostat tu aktuální hodnotu z definice a pak to aktualizovat? :) díky.

pavelstyl
14.11.2008, 15:51
A co třeba toto ?
[CODE](defun C:EK (/ ss presnost) (setq presnost (getint "\nPocet desetinnych mist: ")) (setq ss (ssget)) (command "_dimoverride" "dimdec" (itoa presnost) "" ss "") (princ))[/CODE]
 
Pavel Štyl

johny
15.11.2008, 18:11
Díky, nádhera :) Jeden by si myslel, že už ho ten program nemá čím překvapit a ehle. O této funkci jsem neměl ani tucha.

Ferdinand
19.11.2008, 14:23
Paráda. Dal bych tam ještě podmínku, jestli je to entita kóty - takhle to bere cokoli. Bez podmínky na entitu by to šlo i takhle:
(defun C:EK (/ pres1 pres2)
(setq pres1 (getvar "dimdec"))
(setq pres2 (getint (strcat "\nPocet desetinnych mist: " "<" (itoa pres1) ">")))
(if (= pres2 nil)
(progn
(setq pres2 pres1)
(command "_dimoverride" "dimdec" pres2 "" pause)
)
(command "_dimoverride" "dimdec" pres2 "" pause)
)
)

johny
19.11.2008, 14:36
:) ... já jsem si spíš doplnil aby to fungovalo i na úhlové kóty...(defun C:NK (/ ss presnost) (setq ss (ssget)) (setq presnost (getint "\nPocet desetinnych mist: ")) (command "_dimoverride" "dimdec" (itoa presnost) "" ss "") (command "_dimoverride" "dimadec" (itoa presnost) "" ss "") (princ))