Zobrazit plnou verzi příspěvku: Zaokrouhlení čísel v textu výkresu

ny156
28.01.2017, 00:50
Ahoj, mám dotaz.Nějaký nápad jak zaokrouhlit desetinné číslo na jedno? Mám podlaží bytových jednotek, každý byt má vynesenou plochu 0.00 m2 , potřebuji na jedno 0.0 m2http://www.cadforum.cz/cadforum/zaokrouhleni-cisel-v-textech-ve-vykresu-tip8180Bohužel tip nejde, nefunguje když je v textu m2 Děkuji za případné rady

Vladimír Michl
28.01.2017, 12:24

Aplikace by asi šla upravit i na čísla s uvedeným měrnými jednotkami, ale je myšlená spíš na ručně zadaná čísla. Výměry jsou asi generovány nějak automaticky, ne? Pokud je to např. textovým polem, lze zaokrouhlení určit přímo v definici pole.

ny156
28.01.2017, 23:10
Děkuji, mohu poprosit postup? Potřebuji to udělat hromadně, hodnot je tam opravdu hodně, pro každou místnost.Vlastnosti textu:

ny156
29.01.2017, 14:49
Tak zřejmě nejsou :( Nevím jak to udělali, tváří se to jako textové pole. (MTEXT)

PepaR
29.01.2017, 17:10
Dobrý večer,pan Michl měl na mysli možnost nastavení přesnosti u definice textového pole, která vykazovanou hodnotu zaokrouhluje, viz obrázek.Ještě jedna praktická poznámka, dle mého pokud vykazujete podlahovou plochu, tak tato se zaokrouhluje na dvě desetinná místa, viz Plochy ve stavebnictví.

Vladimír Michl
29.01.2017, 18:36

Je to holý MTEXT nebo dynamické (generované) textové pole? Má to na obrazovce šedé pozadí? Zkuste dvojklik na danou hodnotu.

PepaR
29.01.2017, 18:43
Přes PM s ny156 jsem zjistil, že jde o holý text.Dle mého by to šlo řešit regulárními výrazy. 

Vladimír Michl
29.01.2017, 18:59

Regulární výrazy (např. náš srxText) mohou pomoci, ale druhé des.číslo jen odříznou, nezaokrouhlí. Pokud by to nevadilo, tak nahrazovací řetězce budou např: search: (.*\d+\.)(\d)(\d*)(m.*)replace: $1$2$4  

Vladimír Michl
29.01.2017, 20:50

Tak utilitu RoundT jsme upravili i na zpracování textů, kde se zaokrouhlované číslo nebo čísla objevují i uprostřed řetězce nebo řídících znaků MTextu - vyzkoušejte příkaz RoundT2. Verze 1.3 je ke stažení na Download. Poradí si i se zaokrouhlením čísel v textech nebo atributech typu "Při drsnosti větší než 1.23 srazit hranu na 9.87".

ny156
29.01.2017, 21:39
Děkuji moc! Vyzkouším.Také velice děkuji PepaR!

Ondřej Urban
30.01.2017, 09:00

Dobré ráno,je to šikovné, ale zrovna u "m2", to udělá "m2". Jinak teda dotaz: Proč je to holý text, proč ne pole - při změně efektivní. hoj Ondřej

johny
30.01.2017, 13:07
Také jsem ze zvědavosti vyzkoušel... Popis zní lákavě, ale asi dělám něco špatně, páč výsledky nejsou úplně dle očekávání.uploads/1045/Roundt-test.dwg

Vladimír Michl
30.01.2017, 16:32

Nejsou, to máte pravdu - opraveno ve verzi 1.4. (zpracovávalo to i celá čísla a při opakování je to nahrazovalo dvojmo) pro Ondřej Urban: "m2" by to brát mělo - u MTextu se musí použít RoundT2, protože obsahuje řídící kódy.
Vladimír Michl2017-01-30 17:35:18

johny
30.01.2017, 17:29
Nová verze to opravila vše - díky
johny2017-01-31 10:17:56

johny
31.01.2017, 10:23
Ještě se zeptám... zkoušel jsem jen tu verzi ROUNDT2, která vypadá že funguje dobře i na TEXT, proč tedy používat ROUNDT? 

Vladimír Michl
31.01.2017, 13:49

Ve speciálních případech (více různých čísel v jednom textu) může nahrazení cifer selhat nebo vám nahradit i texty, kde to nebylo zamýšleno (např. popisné číslo v adrese v rohovém razítku) - hloupější RoundT pracuje jen s čistě numerickými texty, takže tam to nehrozí. Každopádně jsme RoundT2 nyní zobecnili do nové aplikace NumInText, která umí texty různě filtrovat a s čísly kromě zakrouhlení provádět i další operace, např. přičíst/odečíst číslo nebo hodnotu vynásobit koeficientem (např. převod na palce). NumInText je ke stažení opět na stránce Freeware (Download).

johny
31.01.2017, 14:35
+1 :)No to zní velmi komplexně... je pár tipů na další oblíbené a časté operace...ZaobkouhliNahoruZaokrouhliDoluZaokrouhli na reálné číslo (často 0,5)Odřízni řád 212.23 -> 2.23Doplnění prefix 0.Mezera jako odělovač (nebo obecný) převod 12_12_ na 12.12 (_ jako mezera)Trochu výzva je  práce s staničením km 12,502 12 (+/-, zformátuj na)Ale jsou to jen tipy z toho co jsem kdy pro sebe nebo někoho programoval... Požívám to rád, někdy se to docela hodí.

Vladimír Michl
31.01.2017, 15:19

To jsou dobré nápady, díky. RoundUp, RoundDown, zaokrouhlení na meziřádové hodnoty a nějaký způsob doplnění na pevný počet cifer jsou určitě užitečné věci (a nedají se dělat jinými metodami). Některá nahrazení lze dělat pomocí srxText a regulárních výrazů.

Mrázek
01.02.2017, 09:27

Existuje nějaká podobná utilita pro Inventor? Zaujala mne možnost zaokrouhlení na 0,5, kterou občas potřebuji a řeším to naprosto nesystémově přepsáním kóty natvrdo.

Vladimír Michl
01.02.2017, 09:37

Asi by nebyl problém udělat podobný nástroj i pro Inventor, ale ono to pořád je nesystémové - ty hodnoty se zde také přepisují natvrdo. Ode dneška je NumInText v nové verzi 1.1, která přidává další funkce pro zpracování čísel. Aplikace už se docela rozrostla, takže část funkcí zůstává jako freeware, část je aktivní až po zadání aktivačního kódu (pro zákazníky zdarma na Helpdesku). Aktualizovaný popis:http://www.cadforum.cz/cadforum/operace-s-cisly-uvnitr-vykresovych-textu-a-atributu-tip11287ahttp://www.cadstudio.cz/numintext 

Karel Brázda
01.02.2017, 16:43
Ta nová verze je pěkná. Napadlo mně když změním oddělovač čísla na mezeru, jestli pak jde s číslem ještě  manipulovat jako s desetinným.

johny
01.02.2017, 17:55
Přimlouval bych se za specifikaci atributuAttribute Tag name [Select] <all>:   (jeden/vše)U toho Setupu by bylo dobré kdyby si to pamatovalo poslední volby... Defaulní nerozpoznávání celých čísel je trochu nečekané.Rovněž by bylo dobré neměnit to co není předmětem úpravy... např. pokud už je číslo ve formátu 01,01 a navolím zaokrouhlení, pak to vrátí 1,00A osobně bych posílil kontrolu - např. výpisem všech změněných hodnot do příkazového řádku01,01 --> 1,0012,05 --> 12,00(třeba i vč. formátovacích znaků mtextu)Už mlčim :)
johny2017-02-02 11:27:10

Vladimír Michl
02.02.2017, 12:50

Nahrazením des.oddělovače za mezeru číslo "zničíte", už se nebude chovat jako desetinné číslo. Velké filtrování objektů tam moc dávat nechceme (na to jsou jiné metody), ale atributy se jinak volí těžko, takže tato volba je nyní doplněna do nastavení (maska štítku/tag atributu). Ve verzi 1.2 (viz Download) je navíc doplněna funkce umožňující vyhnout se většině numerických parametrů ve formátovacích znacích MTextu a byl odstraněn problém s opakovaným nahrazováním skupin znaků - ten byl možná příčinou onoho problému s "01,01"*. Nastavené volby jsou nyní platné po celou dobu sezení. Report to generuje do Schránky. * teprve později mi došlo že odkazujete na zachování levostranných nul - ošetření by bylo dost složité navíc se zaokrouhlením může změnit celková délka čísla (kvůli které se levostranné nuly přidávají), takže asi jednodušší bude doporučit postup "nejdříve zaokrouhlit, pak doplňovat nuly". Ještě jednou díky za podněty.
Vladimír Michl2017-02-02 15:14:17

ny156
05.02.2017, 17:45
To já bohužel nevím :(

Vladimír Michl
05.02.2017, 20:57

Podle podnětných návrhů Johnyho (díky!) byly do nové verze NumInText V1.3 (viz Download) doplněny nové funkce a urychlení.