Vytisknout stránku | Zavřít okno

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ím
viem nejako automaticky vytiahnúť do výkresu veľkosti plôch 3D objektov, ktoré sú vymodelované? Pomohli by aj objemy. Wink



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íCry


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 Cry


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 Cry


Původně odeslal(a) Vladimír Michl 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)
(setq _FAREAPREC 2)




-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)



Vytisknout stránku | Zavřít okno