Uloženie formátu Field
Příspěvků: 7
• Stránka 1 z 1
Uloženie formátu Field
Používame ZWCAD 2017 Pro ENG. Do výkresu vkladáme plochy miestností cez Field (Object-Area). Všetko je kreslené v mm, ale plochy potrebujeme vkladať v m2. V dialógovom okne príkazu FIELD je vybraný Object (vo výkrese potom označený napr. kruh alebo iný uzavretý objekt), vlastnosť Area a potom sú na výber rôzne Formáty čísla/jednotiek (Current Units, Decimal, Architectural...). Plocha je ale zobrazená v mm2, preto následne tlačítkom Additional Format je vyvolané nové dialógové okno, kde nadefinujem Conversion factor na 0,000001 a prípadne Suffix "m2". Po vložení je Field korektne s plochou objektu v m2.
Pri vkladaní ďalšieho, alebo editácii skopírovaného Field-u (a vybraní iného objektu z výkresu) sú však nastavenia v Additional Format vyresetované a je potrebné definovať všetko nanovo.
Akým spôsobom je možné doplniť ďalšiu položku do Format? Na internete som našiel nejaký postup pre Autocad, kde sa to dalo urobiť pomocou editácie súboru acfields.fdc a vložením FormatString z Field expression (v našom prípade napr. "%lu2%ps[, m2]%ds4%ct8[0.000001]"). Je to vôbec v ZWCADe možné - veľmi nás obmedzuje a zdržuje nutnosť ručnej editácie každého Filed.?
Pri vkladaní ďalšieho, alebo editácii skopírovaného Field-u (a vybraní iného objektu z výkresu) sú však nastavenia v Additional Format vyresetované a je potrebné definovať všetko nanovo.
Akým spôsobom je možné doplniť ďalšiu položku do Format? Na internete som našiel nejaký postup pre Autocad, kde sa to dalo urobiť pomocou editácie súboru acfields.fdc a vložením FormatString z Field expression (v našom prípade napr. "%lu2%ps[, m2]%ds4%ct8[0.000001]"). Je to vôbec v ZWCADe možné - veľmi nás obmedzuje a zdržuje nutnosť ručnej editácie každého Filed.?
- JanP
- Administrátor
- Příspěvky: 404
- Registrován: 14 dub 2014, 15:50
- Jméno (bez příjmení): Ján Pajerchin
Re: Uloženie formátu Field
Dobrý deň,
Cez *.fdc súbor to nepojde - ZWCAD ho nepodporuje (ani najnovšia verzia).
Myslím ale na 100% že by sa našla cesta cez LISP... skúste pohľadať na webe a upraviť podľa potreby.
Ak chcete - môžeme to pohľadať / upraviť / odladiť... atď aj my - nebola by to síce bezplatná služba ...ale snáď by sme sa zmestili do cca 1 000,- Kč bez DPH čo by mohlo byť akceptovateľné...
Cez *.fdc súbor to nepojde - ZWCAD ho nepodporuje (ani najnovšia verzia).
Myslím ale na 100% že by sa našla cesta cez LISP... skúste pohľadať na webe a upraviť podľa potreby.
Ak chcete - môžeme to pohľadať / upraviť / odladiť... atď aj my - nebola by to síce bezplatná služba ...ale snáď by sme sa zmestili do cca 1 000,- Kč bez DPH čo by mohlo byť akceptovateľné...
Re: Uloženie formátu Field
Podarilo sa nám nakoniec nájsť na webe 2 použiteľné "workaroundy":
1) Nakopírujeme na miesto, kde chceme umiestniť Field, ľubovoľný text v požadovanom textovom formátovaní (štýle) a pomocou LISPu "Length & Area Field" (http://www.lee-mac.com/lengthfield.html) si označíme Objekt (ktorého plochu chceme priradiť Field-u) a vyberieme si text, ktorý bude nahradený Fieldom, pričom preberie formát tohto textu. Alternatívne môžme pomocou tohto LISPu priamo vkladať Field na požadované miesto v aktívnom textovom štýle. V samotnom LISPe vieme Field-u zadefinovať FormatString (v našom prípade napr. "%lu2%ps[, m2]%ds4%ct8[0.000001]") a ten bude automaticky použitý.
2) Povkladáme Field-y pre jednotlivé objekty s ľubovoľným formátovaním a pomocou LISPu "Match Field Formatting" (http://www.lee-mac.com/matchfieldformatting.html) prenesieme formátovanie z jedného Field-u s požadovaným formátovaním na ostatné.
Tieto veci fungujú, ale sú to pre nás len také neúplné riešenia, pretože pre každý výkres alebo projekt musíme robiť všetky tieto kroky nanovo, pri viacerých ľuďoch ich to zaúčať... Jednoduchšie by bolo nadefinovať požadovaný formát do každej inštalácie ZWCAD a už by to každý len používal.
Neviem, či to nie je na nové vlákno, ale pri týchto LISPoch sa opäť raz vynorila otázka, ktorá sa tiahne už od starých verzií ZWCAD - automatické výpočty v tabuľkách, resp. Field typu Formula (Vzorec). Sú podporované v najnovšej verzii ZWCAD 2019, ak nie, plánujú sa v ďalšej verzii?
LISP z bodu 1. (a aj ďalšie LISPy zo stránky http://www.lee-mac.com) umožňujú vkladať aj súčty hodnôt/plôch ako Field, v Autocade to funguje v ZWCAD nie...
1) Nakopírujeme na miesto, kde chceme umiestniť Field, ľubovoľný text v požadovanom textovom formátovaní (štýle) a pomocou LISPu "Length & Area Field" (http://www.lee-mac.com/lengthfield.html) si označíme Objekt (ktorého plochu chceme priradiť Field-u) a vyberieme si text, ktorý bude nahradený Fieldom, pričom preberie formát tohto textu. Alternatívne môžme pomocou tohto LISPu priamo vkladať Field na požadované miesto v aktívnom textovom štýle. V samotnom LISPe vieme Field-u zadefinovať FormatString (v našom prípade napr. "%lu2%ps[, m2]%ds4%ct8[0.000001]") a ten bude automaticky použitý.
2) Povkladáme Field-y pre jednotlivé objekty s ľubovoľným formátovaním a pomocou LISPu "Match Field Formatting" (http://www.lee-mac.com/matchfieldformatting.html) prenesieme formátovanie z jedného Field-u s požadovaným formátovaním na ostatné.
Tieto veci fungujú, ale sú to pre nás len také neúplné riešenia, pretože pre každý výkres alebo projekt musíme robiť všetky tieto kroky nanovo, pri viacerých ľuďoch ich to zaúčať... Jednoduchšie by bolo nadefinovať požadovaný formát do každej inštalácie ZWCAD a už by to každý len používal.
Neviem, či to nie je na nové vlákno, ale pri týchto LISPoch sa opäť raz vynorila otázka, ktorá sa tiahne už od starých verzií ZWCAD - automatické výpočty v tabuľkách, resp. Field typu Formula (Vzorec). Sú podporované v najnovšej verzii ZWCAD 2019, ak nie, plánujú sa v ďalšej verzii?
LISP z bodu 1. (a aj ďalšie LISPy zo stránky http://www.lee-mac.com) umožňujú vkladať aj súčty hodnôt/plôch ako Field, v Autocade to funguje v ZWCAD nie...
- JanP
- Administrátor
- Příspěvky: 404
- Registrován: 14 dub 2014, 15:50
- Jméno (bez příjmení): Ján Pajerchin
Re: Uloženie formátu Field
Dobrý deň
Aj keď Lee Mac má super LISPy - a keďže vidím že aktívne skúšate - skúste teda ešte dole uvedený LISP:
Ten Vám vloží po výbere krivky políčko s hodnotou definovanou na konci "%lu6%ps[, m2]%ct8[0.01].\" (v tomto prípade je to vynásobenou 0.01)... s výškou textu rovnou aktuálnej výške textu... nemusíte teda nič nastavovať ale všetko je nastavené v LISPe... a netreba dodatočne kopírovať vlastnosti
Čo sa týka tabuliek - bohužiaľ zatial nič nové - samozrejme ZWSOFT na tom pracuje ... kedy bude ale vidno výsledok - nevedno
Aj keď Lee Mac má super LISPy - a keďže vidím že aktívne skúšate - skúste teda ešte dole uvedený LISP:
Ten Vám vloží po výbere krivky políčko s hodnotou definovanou na konci "%lu6%ps[, m2]%ct8[0.01].\" (v tomto prípade je to vynásobenou 0.01)... s výškou textu rovnou aktuálnej výške textu... nemusíte teda nič nastavovať ale všetko je nastavené v LISPe... a netreba dodatočne kopírovať vlastnosti
- Kód: Vybrat vše
;;; AreaText.LSP ver 3.0
;;; Command name is AT
;;; Select a polyline and where to place the text
;;; Sample result: 2888.89 SQ. FT.
;;; As this is a FIELD it is updated based on the FIELDEVAL
;;; or the settings found in the OPTIONS dialog box
;;; By Jimmy Bergmark
;;; Copyright (C) 2007-2010 JTB World, All Rights Reserved
;;; Website: www.jtbworld.com
;;; E-mail: info@jtbworld.com
;;; 2007-09-05 - First release
;;; 2009-08-02 - Updated to work in both modelspace and paperspace
;;; 2010-10-29 - Updated to work also on 64-bit AutoCAD
;;; Uses TEXTSIZE for the text height
(defun Get-ObjectIDx64 (obj / util)
(setq util (vla-get-Utility (vla-get-activedocument (vlax-get-acad-object))))
(if (= (type obj) 'ENAME)(setq obj (vlax-ename->vla-object obj)))
(if (= (type obj) 'VLA-OBJECT)
(if (> (vl-string-search "x64" (getvar "platform")) 0)
(vlax-invoke-method util "GetObjectIdString" obj :vlax-Falsate)
(rtos (vla-get-objectid obj) 2 0)
)
)
)
(defun c:AT (/ entObject entObjectID InsertionPoint ad)
(vl-load-com)
(setq entObject (vlax-ename->vla-object(car (entsel)))
entObjectID (Get-ObjectIDx64 entObject)
InsertionPoint (vlax-3D-Point (getpoint "Select point: "))
ad (vla-get-ActiveDocument (vlax-get-acad-object))
)
(vla-addMText (if (= 1 (vla-get-activespace ad))
(vla-get-modelspace ad)
(if (= (vla-get-mspace ad) :vlax-true)
(vla-get-modelspace ad)
(vla-get-paperspace ad)
)
)
InsertionPoint 0.0 (strcat
"%<\\AcObjProp Object(%<\\_ObjId "
entObjectID
">%).Area \\f \"%lu6%ps[, m2]%ct8[0.01].\">%"
))
)
Čo sa týka tabuliek - bohužiaľ zatial nič nové - samozrejme ZWSOFT na tom pracuje ... kedy bude ale vidno výsledok - nevedno
Re: Uloženie formátu Field
Dobrý deň,
ďakujem za LISP - vyskúšal som ho a funguje OK, len som musel upraviť definíciu formátu na "%lu6%ps[, m2]%ct8[0.000001]\", aby to zobrazovalo hodnotu v m2 (keďže kreslíme v mm) a nepridávalo bodku na konci čísla, pred suffix "m2".
Ešte mám otázku k tomu formátovaniu: je možné nejakým spôsobom zadefinovať suffix tak, aby v "m2" bola 2 ako horný index? Resp. kde nájdem nejakú syntax alebo popis tohto formátovacieho reťazca a jeho možnosti?
ďakujem za LISP - vyskúšal som ho a funguje OK, len som musel upraviť definíciu formátu na "%lu6%ps[, m2]%ct8[0.000001]\", aby to zobrazovalo hodnotu v m2 (keďže kreslíme v mm) a nepridávalo bodku na konci čísla, pred suffix "m2".
Ešte mám otázku k tomu formátovaniu: je možné nejakým spôsobom zadefinovať suffix tak, aby v "m2" bola 2 ako horný index? Resp. kde nájdem nejakú syntax alebo popis tohto formátovacieho reťazca a jeho možnosti?
- JanP
- Administrátor
- Příspěvky: 404
- Registrován: 14 dub 2014, 15:50
- Jméno (bez příjmení): Ján Pajerchin
Re: Uloženie formátu Field
Dobrý deň,
Malo by stačiť da't do formátu daný znak - teda fyzicky znak: ²
A malo by to fungovat (aspon teda v AutoCADe to funguje)
Malo by stačiť da't do formátu daný znak - teda fyzicky znak: ²
A malo by to fungovat (aspon teda v AutoCADe to funguje)
Re: Uloženie formátu Field
Dobrý deň,
ak som to správne pochopil, do LISPu treba vložiť znak: ². Skúšal som to, ale aby to bolo možné, musel som zmeniť kódovanie LISPu na Unicode a uložiť to. ZWCAD však potom nedokázal takýto LISP načítať a hlásil chybu znaku #\ alebo čosi podobné.
Neviem či môj postup bol správny, alebo nie, no nemal som úspech.
ak som to správne pochopil, do LISPu treba vložiť znak: ². Skúšal som to, ale aby to bolo možné, musel som zmeniť kódovanie LISPu na Unicode a uložiť to. ZWCAD však potom nedokázal takýto LISP načítať a hlásil chybu znaku #\ alebo čosi podobné.
Neviem či môj postup bol správny, alebo nie, no nemal som úspech.
Příspěvků: 7
• Stránka 1 z 1
Zpět na Technické dotazy ZWCADu
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník