Zobrazit plnou verzi příspěvku: Kalkulačka v Autocad

kgrygar
18.11.2017, 09:17

Dobrý den, často používáme kalkulačku spouštěnou z Autocadu pro kontrolu součtu dílčích hodnot vs. celková délka (viz obrázek - jedná se o speciální blok, kde jsou jednotlivé vzdálenosti načítany postupným naklikáváním myši na jednotlivé otvory a na konci je vytvořen číselný řetězec pod kotovaným profilem). Jedná se o velmi rychlý a efektivní způsob kontroly v porovnání s manuální kontrolou na kalkulačce. Jednotlivé hodnoty musí mít čárku jako oddělovač desetinných míst. Používáme zaokrouhlování na půl milimetru, pokud je to potřeba (dost často). Bohužel v AutoCAD kalkulačce nelze použít čárku jako systémový oddělovač - okamžitě hlásí chybnou syntaxi zadání - člověk musí pracně všechny čárky změnit na tečky. Lze to pozměnit nějakou systémovou proměnnou? Ve Windows i v kotovacím stylu Autocadu je čárka jako oddělovač nastavena. 

Vladimír Michl
18.11.2017, 10:17
Při zadávání čísel a souřadnic je AutoCAD natvrdo nastaven na desetinný oddělovač "." a seznamový oddělovač ",". Respektování národních nastavení by kolidovalo s dalšími přednastavenými symboly a syntaxemi.Třeba by ale šlo použít odlišný přístup. Ta postupná "staničení" vznikají automaticky kliknutím a potřebujete jen celkový součet?

johny
18.11.2017, 11:06
Vy ten řetězec pak normálně přes schránku zkopírujete a vložíte do kalkulačky?Pak by šlo udělat utilitku, která jako mezikrok ve schránce změní čárky na tečky.

kgrygar
18.11.2017, 12:09

Ten součet (celková délka profilu) se pouze kalkulačkou ověřuje. Řetězec je skopírován do schránky a vložen do kalkulačky.

Vladimír Michl
18.11.2017, 12:53
Pro prosté posčítání numerických hodnot vybraných textových entit (i s des.čárkami) postačí např. LISP utilita AddMe (spíchnuto narychlo, neřeší všechny chyby):[CODE](defun c:AddMe () (apply '+ (vl-remove-if-not 'numberp                 (mapcar '(lambda (x) (atof (vl-string-subst "." "," (vl-catch-all-apply 'vla-get-textstring (list (vlax-ename->vla-object x))))))                          (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "*TEXT"))))))))))[/CODE]Popř. viz GrSelNum - http://www.cadforum.cz/cadforum/poscitani-vybranych-cisel-z-dwg-vykresu-tip11491Vladimír Michl2017-11-18 15:01:30