Zobrazit plnou verzi příspěvku: Chyba příkazu PLOCHA (AREA)

Petr Bláha
04.04.2013, 22:40
Zdravím všechny. Nevíte prosím někdo, zda existuje oprava chyby ACADu 2013 v počítání plochy křivek? Problém popsán zde na odkazu (poslední příspěvek asi nejvíce vystihuje):http://forums.autodesk.com/t5/AutoCAD-2013-2014/Area-calculations-in-2008-and-2013/m-p/3538926V podstatě jde o to, že příkaz AREA v A2013 má jakousi interní chybu a počítá špatně plochu u křivek, které mají některé segmenty přes sebe. To vznikne typicky třeba tak, když objede křivkou plochu místnosti, ve které je sloup - ten si odečte obtáhnutím křivkou, kde část je přes sebe.Projevuje se to tak, že A2013 nevidí ve vlastnostech křivky plochu, ale příkaz AREA jí vypíše (ovšem špatnou). Diference mohou činit klidně i 1/2 celkové plochy!!! Pro mě naprosto neuvěřitelný bug, na který jsem přišel zcela náhodou.Pokud výkres otevřete v A2012, je vše v pořádku.Děkuji.

Vladimír Michl
04.04.2013, 23:14

Vím, že byla změna v algoritmu ve verzi 2010 (resp. 2009 s Bonus packem) - viz:http://www.cadforum.cz/cadforum/u-nekterych-krivek-a-sraf-se-nezobrazuje-plocha-tip7649ale mezi verzemi 2013 a 2012 snad ne. V Service Packu 1.1 je nějaká oprava plochy - pokud nemáte AutoCAD zaktualizovaný na SP1.1, zkuste jej.

Petr Bláha
05.04.2013, 00:26
ACAD mám aktualizovaný a opravdu to dělá tak, jak to popisuji, bohužel.Pro ilustraci zlobivá křivka na odkazu (ale není to jen jedna, jsou jich desítky), schválně zkuste. Na chování nemá vliv PC, dělá mi to napříč celou firmou na různých PC: http://www.uschovna.cz/zasilka/L4UUISUMK32X5DJL-JWRACAD 2012 SP2 CZ = 798 m2 (správná plocha)ACAD 2013 SP1.1 CZ = 432 m2Petr Bláha2013-04-05 09:33:36

Vladimír Michl
05.04.2013, 08:34
Výkres obsahuje nějaké proxy a ta obvodová křivka je trochu speciální (to je výsledek příkazu HRANICE nebo je to konstruováno ručně?), ale skutečně se verze 2012/2013/2014 chovají odlišně. Pro verzi 2013 je to sebeprotínající křivka a plochu (ve Vlastnostech) tak nespočte, příkaz MEASUREGEOM ukáže kde se ta plocha "zmenšuje".
Verze 2014 ukáže plochu i ve Vlastnostech správně. Příkaz AddArea ukáže plochu správně ve všech verzích.

Mikemamm
05.04.2013, 09:04
Dobrý den, mohl byste sem vložit dwg s příkladem ? zajímá mne co přesně máte namysli, protože ať zkouším jak chci, tak mi v ACAD 2013 počítá správně.

PepaR
05.04.2013, 09:20
Odkaz na DWG je výše v příspěvku pod slovem uschovna.cz.

Petr Bláha
05.04.2013, 09:24
Ten balast je z původního výkresu, jak jsem jen promazal okolí (měl jsme udělat PIŠBLOK, polepším se ).Křivka je normálně oklikaná, ale následně je uzlově protažená a uzlově přidané segmenty. Speciální je pouze tím, že má některé segmenty přes sebe a opačném směru tažení. V naší profesi je to ale poměrně běžná křivka, ze které se počítají plochy.ADDAREA mi v A2013 neukazuje správnou plochu, hází špatnou jako AREA.Potřeboval bych nějaké řešení problému, nefunguje pro nás základní funkce. Máme přes křivky počítány plochy ve všech i velmi rozsáhlých projektech! Není v našich silách vše předělat na jinou metodu počítání nebo to počítat po staru ručně. Downgrade na A2012 není řešení. Upgrade na A2014 také ne, ten ještě CZ není a 3-4 měsíce nebude (máme balíček s Revitem). Děkuji.Petr Bláha2013-04-05 09:30:39

Mikemamm
05.04.2013, 09:42
Omlouvám se, nevšiml jsem si odkazu.Tak v ACAD 2013 mi plochu dává také špatnou.Zkoušel jsem konkurenční Cadkon 2013 a pomocí totožného příkazu určí plochu správně .....

Vladimír Michl
05.04.2013, 09:46
Nejrychlejší řešení je asi ten AddArea - u mně ve verzi 2013 funguje dobře (nemáte nějakou starou variantu?):

 
Upgrade na AutoCAD 2014 CZ by měl být rychle (na Subscription centru už českou verzi vidím). Sada Revit Suite už neexistuje, Building Design Suite bude česky až tak za měsíc.

Peter Jirat
05.04.2013, 10:36
Zvláštní, u mne stačí křivku zreverzovat a zobrazí plochu "skoro" správně, což sice není řešením pro pana Bláhu, ale v nouzi může pomoci.

Mikemamm
05.04.2013, 10:44
Addarea funguje v LT verzi 2013 ?

Petr Bláha
05.04.2013, 10:53
ADDAREA může být starší, nemá kapacitu aktualizovat každý měsíc, dělám to většinou až s novou verzí ACADu. Novější tedy zabere. ADDAREA ale neprováži s tabulkou, tedy to stejně moc nepomůže (máme datově provázené tabulky s těmi křivkami pr počítání ploch).Ta reverze opravdu funguje, to mě nenapadlo. Jen je problém, že pokud se směr vrátí zpět, je plocha opět špatně. Nedá se to tedy aplikovat hromadně, protože některé sice spraví, ale jiné zase rozbije. Ale i tak děkuji, částečně to pomůže.Ten CADCON je zajímavý. Je to jen nadstavba ACADu, tedy jsem myslel, že nemění nativní příkazy ACADu. Asi to bude jinak nebo tuto chybu cíleně autor CADCONu opravil.

Mikemamm
05.04.2013, 11:44
S tím Cadconem nevím jak to je, ale měl by být postaven na plném autocadu, protože dokáže používat vnořené funkce. jist si tím nejsem, třeba je na LTčku, nicméně AREA tam funguje správě a úplně stejně jako v ACAD LT. Tedy jiná funkce to není, příkaz je taky stejný, nicméně chyba je opravena .... zajímavé ....Popravdě jste mne dnešním příspěvkem dosti zaskočil, protože již nevím jestli mohu nadále věřit výpočtům ploch či ne a kontrolování správnosti samozřejmě není řešením ....

Stáhalík
05.04.2013, 11:54
Cadkon je někdy od loňska založený na IntelliCADu a s kompatibilitou a spolehlivostí tak má hodně problémů. Na to bych moc nesázel.

Mikemamm
05.04.2013, 11:59
Nevsázím, jen říkám, že příkaz area se tam chová naprosto totožně, akorát funguje správně. Popravdě mám v práci na pc cadkon zkušebně pro rozhodnutí jeslti jej chci a vím, že ne. Jen jsem napsal, že příkaz zde funguje správně :)

Vladimír Michl
05.04.2013, 12:04
[QUOTE=Petr Bláha]ADDAREA může být starší, nemá kapacitu aktualizovat každý měsíc, dělám to většinou až s novou verzí ACADu. Novější tedy zabere. ADDAREA ale neprováži s tabulkou, tedy to stejně moc nepomůže (máme datově provázené tabulky s těmi křivkami pr počítání ploch).[/QUOTE]
Pozor, příkaz [CMD]EXTRDATA[/CMD] mi ale funguje s touto a podobnými "skoropřekříženými" křivkami správně i ve verzi 2013. Takže s provázáním by neměl být problém. Je evidentně založen na vlastnosti "Area" (jako AddArea) a ta je správně.
 
Na výstupy z MeasureGeom lze zdá se plně spolehnout ve verzi 2012, 2014 (a dalších kromě 2013) a ve verzi 2013 jen pokud měřená křivka neobsahuje překřížené nebo na sobě ležící segmenty.
 
AddArea používá metodu vlastnosti Area myslím někdy od konce roku 2011.

Vladimír Michl
05.04.2013, 13:46
Pro doplnění: psali jsme do "továrny", odpověď je že to je známý problém verze 2013 u úseček a křivek s překrývajícími se nebo zasmyčkovanými hranami; jeho oprava bohužel vyžaduje zásadní přepsání kódu a není možné jej řešit klasickým service packem (takže s opravou asi není možné moc počítat); nicméně ve verzi 2014 je to opraveno

Petr Bláha
05.04.2013, 16:37
Panu Michlovi velice děkuji. Bohužel lze zjištěný stav komentovat snad jen takovou malou parafrází (omlouvám se za OT):"Vážený pane,zasíláme Vám odpověď na Váš dotaz k funkčnosti našeho vysoce kvalitního prémiového výrobku. To, že Váš automobil (náš výrobek) při zatočení volantem doprava zahne doleva, je známá chyba modelu 2013. Oprava vyžaduje přepracování celého systému řízení, což je technicky komplikované a tudíž pro nás nerentabilní.Mrzí nás, že jste tento drobný nedostatek našeho výrobku zjistil až nárazem do zdi ve svém vozidle, ale naše technické oddělení nepovažuje tento nedostatek za nijak fatální a bránící užívání. Proto jsme ani nepovažovali za nutné Vás s tímto drobným detailem při koupi výrobku seznámit.Dovolujeme si Váš informovat, že náš nový model 2014 s cenou 120.000,- touto drobnou nepraktickou vlastností již nedisponuje a máte možnost si ho zakoupit.PS: Závěrem si dovoluji připomenout, že v souladu s licenčními podmínkami, které jste akceptoval otevření našeho vozidla, nenese naše společnost jakékoliv záruky za chyby či škody způsobené používáním našeho vozidla. To se samozřejmě týká také incidentů způsobených prokazatelnou skrytou vadou našeho produktu.S pozdravemAdam Vysmátýgenerální ředitel společnostiKASLEME-NA-VAS a.s."... mám ten pocit jen já nebo i vám přijde, že něco není zcela v pořádku?

Vladimír Michl
05.04.2013, 18:33

Hezké. V tomto případě bych spíš řekl, že v modelu vozu 2013 dochází při huštění pneumatik pumpičkou k nesprávnému zobrazení tlaku (a při huštění kompresorem ne), ale to nic nemění na tom, že fungovat by to mělo i s tou pumpičkou. Zpět k realitě - jak to dopadlo s tím provázáním plochy na tabulku? Zkusil jsem to i na jiném stroji s A2013 a funguje mi to normálně.

alfred
05.04.2013, 18:47
S tím nezbývá než souhlasit. To, že napíšou rovnou, že takhle zásadní BUG se ani nebudou snažit opravit je opravdu otřesné!Zajímalo by mě, jak by se Autodesku líbilo, kdyby si konkurence dala na
reklamu "Na rozdíl od AutoCadu měří náš program plochy SPRÁVNĚ"...

Vladimír Michl
05.04.2013, 19:03

Kdyby to byl zásadní problém, asi by k němu u releasovaného produktu ani nedošlo a nebylo by co opravovat. Tento problém se ale podle mně projevuje jen u nepříliš často používaných, atypicky tvořených křivek (s překříženými nebo cikcak překrývajícími se segmenty) a jen při použití určitého typu příkazu pro zjišťování plochy. Normální hranice počítá ve všech případech správně.Standardní příkaz pro měření plochy (z menu) upozorňuje u měření těchto speciálních hranic vizuálně, že změřená plocha není celá, a další příkazy AutoCADu pro výkazy a sumarizace ploch fungují na těchto speciálních hranicích správně. Určitě by bylo dobré, aby třeba AutoCAD varoval důrazněji, že se mu daný typ hranice nějak nelíbí, to chyba je, ale nepovažuji to za tak zásadní problém verze 2013.

alfred
05.04.2013, 19:08
[QUOTE=Vladimír Michl]
Hezké. V tomto případě bych spíš řekl, že v modelu vozu 2013 dochází při huštění pneumatik pumpičkou k nesprávnému zobrazení tlaku (a při huštění kompresorem ne), ale to nic nemění na tom, že fungovat by to mělo i s tou pumpičkou. Zpět k realitě - jak to dopadlo s tím provázáním plochy na tabulku? Zkusil jsem to i na jiném stroji s A2013 a funguje mi to normálně.[/QUOTE]Už se těším, až budu vysvětlovat na stavbě a investorovi, proč je ve výkazu výměr poloviční plocha dlažby, silnice, ... atd. A proč je stavba o několik miliónů dražší. Řeknu jim - to jen způsobila drobná chybka v tom software co používáme. Sorry. Kdyby jste si to objednali za několik měsíců, tak už bude nová verze a pak by jsme Vám to spočítali správně. Tak se nebojte si u nás zase něco objednat. Trochu se v debatě vrátím - chápu to dobře, že utilita Addarea měří plochu dobře? Dá se nějak specifikovat jaká nejjednodušší křivka tento BUG vyvolá?

Vladimír Michl
05.04.2013, 19:16

Žádná skutečně obrysová křivka není spočtena špatně. Pokud je ale "obrysová" křivka překřížená ("motýlek") nebo její některé segmenty leží cikcak přes sebe, nezobrazí ve verzi 2013 okno Vlastnosti žádnou plochu a starý příkaz AREA zobrazí neúplnou plochu. Standardní příkaz (z menu) MEASUREGEOM indikuje, že změřená plocha není úplná. Příkaz pro automatický výkaz (DATAEXTRACTION) a AddArea (a jakákoliv další utilita pracující s objektovou vlastností Area) vrací plochu vždy správně - alespoň u mne.

Mikemamm
05.04.2013, 20:29
Pocit mám stejný. Na základě dnešního vlákna jsem dostal velmi špatnou myšlenku.... Před koncem roku jsme ve firmě upgradovali z verze 2012 veškeré licence na 2013, tedy teď vzniká problém v tom, že je potřeba upgradovat na 2014 co nejdříve nebo prostě downgradovat na 2012 (což je divné řešení). Zrovna tato funkce, pokud se na ní člověk nemůže spolehnout, je dosti nepříjemná. V práci jsem již kolegům oznámil, že není možné teéto funkci důvěřovat, zvláště při složitých křivkách - pak tedy nevím jak vyhodnocovat plochu u těchto křivek ..... no není to moc hezké ...

Mikemamm
05.04.2013, 20:31
mimo jiné addarea mi v LT verzi vůbec nejde zadat :(

Peter Jirat
05.04.2013, 20:56
[QUOTE=Vladimír Michl]
Žádná skutečně obrysová křivka není spočtena špatně. Pokud je ale "obrysová" křivka překřížená ("motýlek") nebo její některé segmenty leží cikcak přes sebe, nezobrazí ve verzi 2013 okno Vlastnosti žádnou plochu a starý příkaz AREA zobrazí neúplnou plochu. Standardní příkaz (z menu) MEASUREGEOM indikuje, že změřená plocha není úplná. Příkaz pro automatický výkaz (DATAEXTRACTION) a AddArea (a jakákoliv další utilita pracující s objektovou vlastností Area) vrací plochu vždy správně - alespoň u mne.[/QUOTE]
Dvě věci mne na tomto zarážejí: Pro uživatele je plocha jako plocha a má mu být úplně jedno, jaký příkaz tento údaj měří - tady píšete, že jich je několik a každý může dát na té samé entitě jiný výsledek - to je špatně už z principu a ani změna kódu to nespraví.Druhá věc je vztah prodejce - uživatel: K čemu vám je platinové ocenění, kdyža) nevíte o této chybě a o možnostech průšvihů, které přináší do praxeb) víte o ní a nemáte možnost ji opravitc) další možnosti si doplňte...My jako uživatelé jsme na dodavatelích v mnoha věcech závislí (stejně jako na kvalitním servisu auta), nemáme šanci vidět hluboko do produktu a takovéto chování předvídat.Jinak právě takovéto problémy s plochami mne vedli k doporučování používat šrafy namísto křivek pro plochy místností a propojení do tabulek - u šrafy hned vidíte, že je něco špatně a nezobrazuje plochu ve vlastnostech - sice se musí sloupy mnohdy dělat jako samostatné hranice, ale zase se rychleji kopírují...
Peter Jirat2013-04-05 21:02:45

ETrost
05.04.2013, 20:59
Já používám příkaz Vložit->Extrahovat data. Už jsem tím zpracoval hodně výkresů a na žádný problém jsem nenarazil. Chyba plochy už by se někde projevila. Používal jsem to ve verzi 2012 i 2013. Mám se nějak bát?

Vladimír Michl
05.04.2013, 21:20
Ne, nijak se bát nemusíte. Myslím že rozruch je hodně přehnaný. Tedy ještě jednou:Veškeré normální obrysové křivky jsou AutoCADem 2013 (a LT2013) počítány správně a všechny příkazy pro výpočet plochy dávají stejný a správný výsledek. Uživateli je jedno jaký příkaz pro výpočet plochy použije. O pravděpodobnosti výskytu problému svědčí i to, že se na něj narazilo až po roce existence verze 2013. Problém (jen staré, v menu neodkazované verze) příkazu AREA se týká jen hodně atypických a vzácných hraničních křivek nakreslených vědomě s překrývajícími se nebo překříženými segmenty (což matematicky vzato ani není obrysová křivka). Normální příkaz pro výpočet plochy (MEASUREGEOM) dostatečně vizuálně varuje u podobných podivných křivek (podobně jako šrafy). Naše možnosti oprav jsou v těchto situacích dvě - naprogramování náhradního řešení (to jsme udělali - z jiných důvodů - bezplatnou utilitou AddArea; není pro LT) a nahlášení/eskalaci problému na Autodesk (to jsme udělali v řádu minut od nahlášení problému). V tomto případě eskalace zatím nevedla k rychlé opravě, to jestli tento speciální případ Autodesk ve verzi 2013 nějak technicky ošetří, teď záleží na nich (a na hlášeních a tlaku těch uživatelů, kteří podobné speciální objekty používají).

alfred
05.04.2013, 22:20
[QUOTE=Vladimír Michl]Ne, nijak se bát nemusíte. Myslím že rozruch je hodně přehnaný. Tedy ještě jednou:Veškeré normální obrysové křivky jsou AutoCADem 2013 (a LT2013) počítány správně a všechny příkazy pro výpočet plochy dávají stejný a správný výsledek. Uživateli je jedno jaký příkaz pro výpočet plochy použije. O pravděpodobnosti výskytu problému svědčí i to, že se na něj narazilo až po roce existence verze 2013. Problém (jen staré, v menu neodkazované verze) příkazu AREA se týká jen hodně atypických a vzácných hraničních křivek nakreslených vědomě s překrývajícími se nebo překříženými segmenty (což matematicky vzato ani není obrysová křivka). Normální příkaz pro výpočet plochy (MEASUREGEOM) dostatečně vizuálně varuje u podobných podivných křivek (podobně jako šrafy).[/QUOTE]Nedivte se, rozruch je protože  (alespoň pro mě) je otřesné, že funkce, na kterou se uživatelé naprosto s důvěrou spoléhají vůbec nemusí být spolehlivá. Možná, že z hlediska programátorů je to drobnost, ale dokážu si snadno představit opravdu nehezký průšvih... Pokud něco nedokážu změřit, tak nemohu vypustit žádné číslo! Nechápu jak to, že v předchozích verzích takto "problematické" křivky měří zcela bez problémů. Prostě jakékoli měření v CADu musí být bez takovýhle chyb a pokud se vyskytnou, tak by to měl výrobce bleskurychle opravit nejen u aktuální verze (což stále AutoCad 2013 je!) ,ale čekal bych to i u verze starší... Byť by to byla oprava ve smyslu, že se vypíše "Tuto plochu nelze změřit."Nesouhlasím, že se na chybu přišlo až po roce - ta diskuse odkazovaná v prvním příspěvku je rok stará. Je pro mě nepochopitelné jak to že to to Autodesk za tu dobu nebyl schopen řešit. Jen chci podotknout,. že to není výtka na nikoho z Cadstudia. Mohl by někdo, kdo má k dispozici AutoCad 2013 (mám k dispozici jen 2011) nakreslit jednoduchý příklad kterých typů křivek se vyvarovat? Nyní to na mě osobně působí, že měření ploch se prostě v 2013 nedá věřit...

Petr Bláha
06.04.2013, 08:25
[QUOTE=Peter Jirat]Jinak právě takovéto problémy s plochami mne vedli k doporučování používat šrafy namísto křivek pro plochy místností a propojení do tabulek - u šrafy hned vidíte, že je něco špatně a nezobrazuje plochu ve vlastnostech - sice se musí sloupy mnohdy dělat jako samostatné hranice, ale zase se rychleji kopírují...[/QUOTE]Ano, toto je dobré řešení, které asi také začneme používat. Díky uzlové editaci šraf to je již použitelné řešení.Nadšen ze situace nejsem, ale pan Michl myslím udělal pro věc maximum co mohl (nechci ho bránit, prostě jen můj názor). U Autodesku nejde nic snadno a pokud je chyba taková, že se to nedá opravit nějakou jednoduchou opravou, nikdo jiný jak programátoři Autodesku to neopraví. Jelikož to ale nějakému vedoucímu týmu vyšlo neefektivní, v poměru počet naštvaných uživatelů vs. cenový náklad, dlabou na to.

Vladimír Michl
06.04.2013, 09:31

Ještě využití nápadu pana Jiráta s obrácením křivky - utilita FixArea13 (viz Download) najde ve výkresu křivky, které by mohly dělat potíže v příkazu AREA a převrátí jejich směr. V našich testovacích výkresech to vedlo vždy k opravě.Je potřeba jen ve verzi 2013 a není potřeba pokud používáte AddArea.

Mikemamm
06.04.2013, 15:59
Je nějaké řešení pro LT verze ? protože v práci máme poměrně hodně LT verzí ....

Vladimír Michl
06.04.2013, 17:45

LISP utility jsou jen pro plnou verzi. Ale "řešení" pro LT2013 je celkem triviální (podobné jako pro plnou verzi) - nekreslit překřížené křivky - a když už se ve výkresu nějak objeví, nepoužívat na ně zastaralý příkaz _AREA. Mimochodem, příkaz "Výkaz ploch po hladinách" z CADstudio LT Extension používá pro výpočet výměr jiný algoritmus (determinanty) a počítá proto obsah také správně.

Petr Bláha
07.04.2013, 18:36
[QUOTE=Vladimír Michl]Ještě využití nápadu pana Jiráta s obrácením křivky - utilita FixArea13 (viz Download) najde ve výkresu křivky, které by mohly dělat potíže v příkazu AREA a převrátí jejich směr. V našich testovacích výkresech to vedlo vždy k opravě.[/QUOTE]Díky!