ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Již 10.000+ CAD tipů. Přes 118.500 registrovaných u nás, celkem 1.096.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor. Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenochyba v příkazu "PLOCHA"

 Odpovědět Odpovědět archiv
Autor
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Téma: chyba v příkazu "PLOCHA"
    Zasláno: 09.říj.2009 v 07:49
Používám utilitu ADDLEN pro měření sumy délek. V CIVILU 2010 jsem si všiml nesrovnalosti v naměřené hodnotě a začal jsem pátrat proč a došel jsem k této chybě. Civil mám spuštěný v režimu čistého AutoCadu, tak to možná není jen otázka Civilu, ale i dalších verzí 2010, což ale nemůžu vyzkoušet. V Civilu 2010 mám nainstalovaný SP1 i SP2.

Pokud použiji příkaz PLOCHA (_AREA) a kliknu na objekt (křivku) tak mi za určitých okolností plochu křivky vypíše a za určitých ne, respektive u určité křivky ano a u určité ne.
Přikládám výkres, kde jsou nakresleny dvě křivky.
U první ve tvaru neuzavřeného obdélníku příkaz
(command "_area" "_e")

normálně změří plochu a obvod - vše je v pořádku

U křivky ve tvaru "Z" vypíše hlášku
"Selhal výpočet plochy"

Přičemž postačí přetáhnout koncový uzel první křivky tak aby z ní byla "klikatice" a příkaz přestane měřit také.

V AutoCadu 2006 toto fungovalo bezchybně.

Mohl by někdo zkusit zda se jedná skutečně o chybu?

Nahraný soubor:

Připojené souboryzipuploads/20091009_074530_chyba_ve_mereni.zip



Zpět nahoru
martinfolber Zobrazit panel
ARKANCE support
ARKANCE support

Přihlášen: 26.dub.2007
Lokalita: ČR (Pha)
Používám:
AutoCAD Civil 3D
Stav: Offline
Bodů: 1642
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 09:18
Dobrý den,
zkoušel jsem Váš výkres a mohu potvrdit, že záleží, jak ta křivka vypadá. Pokud při výpočtu plochy protíná hranice plochy sebe sama, tak není schopen ji spočítat. Plocha uvedená ve vlastnostech není u takovéto křivky pravdivá.
Pokud nemá křivka rozumný tvar, přikazem plocha <objekt> určitě její obsah nezískáme.
Martin Folber
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 09:50
V tom případě se jedná o BUG!!
Problém ve funkci ADDLEN a i vdalších mých funkcích jsem vyřešil snadno (viz níže), ale to neřeší vlastní příčinu. Bylo by prosím možné sjednat u Autodesku nápravu? Jak je to s jinými verzemi AutoCadu? Nebo je to jen otázka Civilu 2010?


Ve funkci ADDLEN se tímto způsobem zjišťuje délka křivky:
 (command "_area" "_e" en)
 (setq tot_len (+ tot_len (getvar "perimeter")))


;kde en je entita a tot_len je délka (real)

Toto lze nahradit takto:
  (vl-load-com)
  (setq tot_len (+ tot_len (vlax-curve-getDistAtPoint en (vlax-curve-getEndPoint en))))


ale to funguje jen na neuzavrene krivky!




Upravil alfred - 09.říj.2009 v 10:02
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21935
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 10:09
Příkaz  _AREA se chová asi logicky - obsah jde počítat jen u uzavřených hranic a pokud "náhradní" uzavření (první-poslední) vede k sebeprotínající se ploše, nemá výpočet obsahu smysl. Použití "obvodu" pro výpočet délky byla trochu oklika. Správný výpočet (pro aplikace) je:
 
(vlax-get object 'Length)
 
Nicméně tato funkce (je použitá i v okně Vlastnosti) nedává pro tu křivku v ukázce správné údaje - což je chyba. Nahlásíme pro opravu.
 
Moment, moment - spletla mně ta popiska u "Z" křivky, její skutečná délka nemá být 15. AutoCAD zobrazuje její délku dobře. A vrací ji správně i LISP funkce délky.
 
Pro AddLen to můžeme opravit přes tu vlastnost Length (je univerzálnější než staničení po křivce).


Upravil Vladimír Michl - 09.říj.2009 v 10:21
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 10:24
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

Příkaz  _AREA se chová asi logicky - obsah jde počítat jen u uzavřených hranic a pokud "náhradní" uzavření (první-poslední) vede k sebeprotínající se ploše, nemá výpočet obsahu smysl. Použití "obvodu" pro výpočet délky byla trochu oklika. Správný výpočet (pro aplikace) je:
(vlax-get object 'Length)
 
Nicméně tato funkce (je použitá i v okně Vlastnosti) nedává pro tu křivku v ukázce správné údaje - což je chyba. Nahlásíme pro opravu.
 
Pro AddLen to můžeme opravit přes to staničení po křivce.


V tom případě se příkaz choval nelogicky v předchozích verzích!

Příkaz na měření délky pro otevřené i uzavřené křivky lze takhle:
(vlax-curve-getDistAtParam en (vlax-curve-getEndParam en))

kde "en" je entita (křivka)

vlax-get v nápovědě nemám (i když nejak fungule)

Neměl jste náhodou na mysli toto?

(setq vlaobj (vlax-ename->vla-object en))
(vlax-get-property vlaobj 'Length)


to by také fungovalo
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 10:28
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

Moment, moment - spletla mně ta popiska u "Z" křivky, její skutečná délka nemá být 15. AutoCAD zobrazuje její délku dobře. A vrací ji správně i LISP funkce délky.


Ano, moje chyba - v souboru je skutečně napsaná špatná délka - omlouvám se. Původně jsem nakreslil skutečně křivku délky 15, ale mezi napsáním popisku a posláním jsem ještě s křivkou něco zkusil (hýbal jsem s koncovým bodem) a délku jsem zmršil...

Otázka je co je chyba - příkaz plocha měřil plochu ve všech verzí AutoCadu a i v C3D 2010 je u křivky ve vlastnostech nějaká plocha. Nicméně najednou se to začalo chovat jinak...
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21935
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 10:41
Ano, (vlax-get-property) je tatáž funkce. Vlastnost délka (Length) funguje i na další výkresové objekty odvozené od základních "liniových" objektů.
 
Zobrazovat číslo u nezjistitelné plochy asi není dobře. Mělo by to být prázdné. Možná se změnil vnitřní algoritmus výpočtu ploch. Ale plocha samoprotínajících se objektů není jednoznačně určitelná.
 
PS: AddLen byl upraven (stále ke stažení na BBS/VIP)


Upravil Vladimír Michl - 09.říj.2009 v 11:45
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 12:01
Nevíte od jaké verze se to projevuje?
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21935
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 13:34
Poslední změna týkající se ploch byla v AutoCADu dělána v Bonus Packu 1 k verzi 2009 - takže možná od tehdy.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2009 v 13:41
Zkoušel jsem to u kolegyně - AutoCad 2009 s nějakými service packy (1, 2?? ) bez bonus paků měří normálně postaru (a tedy podle mě dobře).

Čistý AutoCad 2010 nemohu vyzkoušet...
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 11682:VIPZdraví 3D modelu a další tajné klávesové zkratky Inventoru.
Tip 7631:Chyba modelování: Vrchol nemá žádné řešení.
Tip 9062:Převrácení 3D ploch (rub/líc) v AutoCADu.
Tip 751:VIPMáte potíže s uživatelským sešitím složitých ploch v Mechanical Desktopu? Pomůže vám nedokumentovaný příkaz:
Tip 5093:Převrácení normál v povrchovém 3D modelu Inventoru.
Tip 2259:Jak spočíst plochu povrchu 3D modelu Mechanical Desktopu?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,313 sekund.