plocha, objem telies
Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD 360, prohlížečů, DWG a DWF, Design Review, Navisworks, nadstavby, 123D, A360 a cloud Autodesk 360
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=34966
Datum vytištění: 22.dub.2026 v 22:35
Téma: plocha, objem telies
Odeslal: mikeborecek
Předmět: plocha, objem telies
Datum odeslání: 20.úno.2024 v 13:50
Zdravímviem nejako automaticky vytiahnúť do výkresu veľkosti plôch 3D objektov, ktoré sú vymodelované? Pomohli by aj objemy. 
|
Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 20.úno.2024 v 14:48
|
Pokud v AutoCADu, tak objemy lze zobrazovat automatickou popiskou fArea (fProp) - viz https://www.cadforum.cz/cz/dynamicke-zobrazeni-libovolne-vlastnosti-objektu-jako-pole-tip9481 - https://www.cadforum.cz/cz/dynamicke-zobrazeni-libovolne-vlastnosti-objektu-jako-pole-tip9481
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 20.úno.2024 v 15:56
|
funguje to, ale každý objekt musím "nastaviť" samostatne. viem potom cez field zrátať všetky položky? Alebo je nejaká možnosť naraz vyviesť plochy označených 3D objektov?
|
Odeslal: mikeborecek
Datum odeslání: 20.úno.2024 v 15:57
|
ako viem potom informáciu o celkovej ploche objektov vyviesť do výkresu?
|
Odeslal: Vladimír Michl
Datum odeslání: 20.úno.2024 v 18:59
Můžete zkusit naši utilitu 3Dprops (viz Download). Výsledný objem či povrch vypíše a uloží do proměnné USERR1. Tu můžete zobrazit např. pomocí textového pole.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 20.úno.2024 v 20:04
|
Možno je to banálna otázka, ale ako dokážem USERR1 dať do textu? Je potom táto informácia o objeme/ploche adaptabilná - ak zmením veľkosť objektu zmení sa aj hodnota? Viem použiť na 2 separátne objekty? Teda aby som mal 2 rôzne adaptabilné hodnoty napr, plocha všetkých stien a plocha strechy?
|
Odeslal: Vladimír Michl
Datum odeslání: 20.úno.2024 v 22:39
|
Do textu ji vložíte kódem: %<\AcVar userr1>% Ale není to adaptivní, to by bylo komplikovanější. Pokud by mělo sloužit pro více různých výběrů, tak by se asi musely ukládat i ty výběry, plus jejich výsledky.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 21.úno.2024 v 07:55
|
Dakujem za info v mojom prípade asi skôr využijem fArea ktoré je adaptívne a viem ho dostať do výkresu. Co by som ešte potreboval je nejakým spôsobom zrátať viac hodnôt takto dostaných cez field do výkresu. viem to urobiť v textovom poli?
|
Odeslal: Vladimír Michl
Datum odeslání: 21.úno.2024 v 07:57
|
Tohle je LISP kód té aplikace. Pokud by někoho napadla rozumná cesta jak ukládat a aktualizovat vlastnosti jednotlivých výběrů těles.
;Display sum of 3D props
;ARKANCE, 2024 - http://www.cadforum.cz%20 - www.cadforum.cz
(defun C:3DPROPS ( / ss ssl en obj cmde i vals valsum minpt maxpt height width depth volume area)
(vl-load-com)
(princ "\nSelect 3D Solids <all>: ")
(setq ss (ssget '((0 . "3DSOLID"))))
(if (not ss) (setq ss (ssget "_X" '((0 . "3DSOLID")))))
(if (and ss (setq ssl (sslength ss)))(progn
(initget "Height Volume Surface")
(setq kwd (getkword "\nReport solids property [Volume/Surface/Height] <Volume>: "))
(if (not kwd)(setq kwd "Volume"))
(setq i 0 vals "" valsum 0)
;(princ "\nSearching... ")
(repeat ssl
(setq en (ssname ss i)
obj (vlax-ename->vla-object en)
)
(vla-getboundingbox obj 'minpt 'maxpt)
(setq minpt (vlax-safearray->list minpt) maxpt (vlax-safearray->list maxpt))
(setq width (- (car maxpt)(car minpt)))
(setq depth (- (cadr maxpt)(cadr minpt)))
(setq height (- (caddr maxpt)(caddr minpt)))
(setq volume (vl-catch-all-apply 'vla-get-volume (list obj )))
(if (vl-catch-all-error-p volume)(setq volume nil))
(if (= kwd "Surface")(progn
(setq cmde (getvar "CMDECHO")) (setvar "CMDECHO" 0)
(command "_AREA" "_Obj" en)(setq area (getvar "AREA"))
(setvar "CMDECHO" cmde)
))
(cond
((= kwd "Height") (setq vals (strcat vals (rtos height 2) "+") valsum (+ valsum height)))
((= kwd "Volume") (if volume (setq vals (strcat vals (rtos volume 2) "+") valsum (+ valsum volume))))
((= kwd "Surface") (setq vals (strcat vals (rtos area 2) "+") valsum (+ valsum area)))
)
(setq i (1+ i))
);rep
(princ (strcat "\nTotal " kwd "=" (rtos valsum 2) " (" (substr vals 1 (1- (strlen vals))) ") - see USERR1"))
(setvar "USERR1" valsum)
));if
(princ)
) ;defun
(princ "\n3Dprops command loaded.")
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: Vladimír Michl
Datum odeslání: 21.úno.2024 v 10:30
|
Tak ještě jedna iterace, obecnější. V nové verzi (1.1) lze promítnout objem do vlastnosti "Měřítko typu čáry", která už jde standardně vykazovat, včetně tabulek (a sumarizací) příkazu EXTRDATA. Reaktor na příkazu REGEN se postará o aktualizace této vlastnosti při případných změnách těles.
Viz:
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 23.úno.2024 v 08:53
|
zistil som že regen nefunguje
musím nanovo spustiť 3dprops, potom dať updatedataextrakt až potom to obnoví 
|
Odeslal: Vladimír Michl
Datum odeslání: 23.úno.2024 v 10:38
Na objemy by fungovat měl. Ale musíte v každém sezení "nahodit" ten reaktor - volba "Use object's LTscale" v příkazu 3DProps. Asi by také šlo nějak zautomatizovat.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 23.úno.2024 v 10:42
|
aaa ja som to skúšal použiť na plochu, asi preto to nešlo automaticky
|
Odeslal: mikeborecek
Datum odeslání: 26.úno.2024 v 09:11
|
je možné dostať z 3D objektov maximálne rozmery? Objekty budú vždy hranaté
|
Odeslal: Vladimír Michl
Datum odeslání: 26.úno.2024 v 13:30
Myslíte ohraničující kvádr? Pokud bude stačit bez otáčení, tedy kvádr v globálních osách XYZ, pak ano, ale asi bez toho dynamického vykazování (už není, kam ty 3 souřadnice ukládat aby to byly vykazovatelné vlastnosti).
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 26.úno.2024 v 13:41
niektoré objekty mám natočené aj o 45° , takže výsledok bude nesprávny
|
Odeslal: Vladimír Michl
Datum odeslání: 26.úno.2024 v 19:06
Ta "kartézská" verze bounding-boxů (tedy bez pootáčení) je k dispozici ve verzi 1.2. Ta také už umí dynamické aktualizace povrchů a automaticky aktivuje reaktor (po načtení aplikace) pokud byl v daném DWG zapnut.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 06.bře.2024 v 16:38
|
farea viem nejakým spôsobom zmeniť formát výsledku?
teraz to hádže číselnú hodnotu v mm na 4 desatinné miesta a na konci m2 napr 5555555.5555 m2
viem upraviť lisp tak aby výsledok bol bez jednotiek na 2 desatinné miesta a číselná hodnota v metroch? napr 5.55
viem že sa to dá v nastaveniach pri spustení v konkrétnom výkrese, ale je potrebné to robiť pri každom novom výkrese
|
Odeslal: Vladimír Michl
Datum odeslání: 06.bře.2024 v 18:43
|
Počet des.míst (nejen pro tuto funkci) lze nastavit v šabloně, nebo vytvořením automaticky načítaného LSP souboru s řádkem (setvar "LUPREC" 2).
Jestli to ale chcete jen pro výkazovou tabulku, tam můžete formát nastavit přímo v DXE šabloně - v průvodci klikněte pravým tlačítkem na název sloupce a zvolte požadovaný formát.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 06.bře.2024 v 19:14
|
Teraz sa to ssnažím dostať len do textu a ten cez field do textu vo výkrese. desatinné miesto sa mi podarilo zmeniť, ale ako by sa dalo vyhodiť m2 a vynásobiť to 0.000001 aby bola vyrátaná plocha v metroch?
|
Odeslal: mikeborecek
Datum odeslání: 06.bře.2024 v 19:16
ale teraz som si všimol, že aj to " (setvar "LUPREC" 2)." je potrebné robiť pri každom spustení autocadu 
Vladimír Michl napsal(a):
Počet des.míst (nejen pro tuto funkci) lze nastavit v šabloně, nebo vytvořením automaticky načítaného LSP souboru s řádkem (setvar "LUPREC" 2).
Jestli to ale chcete jen pro výkazovou tabulku, tam můžete formát nastavit přímo v DXE šabloně - v průvodci klikněte pravým tlačítkem na název sloupce a zvolte požadovaný formát. |
|
Odeslal: Vladimír Michl
Datum odeslání: 06.bře.2024 v 21:41
|
Dokonce při každém otevření výkresu, proto také navrhuji ten automaticky načítaný soubor - např. ACADDOC.LSP. Tím se to zařídí "samo".
V textovém poli také můžete použít přepočítávací koeficient a počet desetinných míst. Viz pole Přesnost a Doplňkový formát v dialogu Pole (Field).
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
Odeslal: mikeborecek
Datum odeslání: 07.bře.2024 v 07:44
|
akým spôsobom sa zadávajú príkazy do textu, ako macro?
^C^Cfarea;s;.;0.000001;2;;
|
Odeslal: Vladimír Michl
Datum odeslání: 07.bře.2024 v 12:21
|
Ano, buď takto, nebo ty hodnoty přednastavit programově, podobně jako u toho LUPREC. Zde konkrétně:
(setq _FAREASUFFIX "") (setq _FAREAFACTOR 0.000001)
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz helpdesk.arkance-systems.cz)
|
|