Zobrazit plnou verzi příspěvku: konverze SOLID na 3DFACE, POLYMESH nebo 3DSOLID

Rostislav Říha
21.02.2009, 05:18
...jak to udělat?
Dostali jsme podklady, kus města a celý je ze solidů...nedá se s tím dělat:-(
...autocad na tom padá, a když nespadne, tak v rendru nefunguje smoothing, nedá se to editovat...
-rozbít to nejde
-konvertovat v acadu taky ne
-3DSout vyexportuje z pár tisíc solidů jen třeba 20...
co s tím? v pondělí dopo s tím potřebuju normálně pracovat:-(

zdrk
21.02.2009, 08:50
Postup dle příbuzných CAD tipů 6338 nebo 5019 nepomáhá?

pudis
21.02.2009, 11:21
Kdyby stačilo rozložení na úsečky, tak na to jsem si kdysi napsal jednoduchý lisp, který zjistí souřadnice bodů desky, vymaže ji a body pospojuje úsečkami, teď jsem ho vyzkoušel ve 2009 a funguje, malou úpravou v něm by se dalo docílit vytváření 3D ploch místo úseček.
 
Teď jen přemýšlím, jak připojit soubor k odpovědi, asi to jde jen hyperodkazem, tak mi v případě zájmu sdělte nějakou vhodnou adresu, kam to poslat.
 
Zdeněk Nekvasilpudis2009-02-21 11:30:13

Rostislav Říha
21.02.2009, 15:02
[QUOTE=pudis]Kdyby stačilo rozložení na úsečky[/QUOTE]
...nestačí:-)
[QUOTE=pudis]...kdysi napsal jednoduchý lisp, ...malou úpravou v něm by se dalo docílit vytváření 3D ploch místo úseček. [/QUOTE]
to už je super, polyface mesh by sice byla lepší, ale i s tímto lze žít lépe, než s tím, co (ne)mám teď
[QUOTE=pudis]
Teď jen přemýšlím, jak připojit soubor k odpovědi, asi to jde jen hyperodkazem, tak mi v případě zájmu sdělte nějakou vhodnou adresu, kam to poslat.[/QUOTE]
když odpovídáte ne přes "rychlá odpověď", ale přes ikonu "odpovědět, tak to nabízí ikonu "nahrání souboru" - to je jedna cesta, riha@rh-arch.com pak ta druhá - ať použijete jakoukoli, budu Vám velmi vděčen...
děkuji
rr

maherich
23.02.2009, 08:53
V pripade ze mate k dispozicii Autocad MAP mozete celu zelzitost vyriesit velmi jednoducho.Vyexporujte vsetky SOLID Objekty (pripadne aj ine plosne neziaduce plosne objekty) do SHP formatu ako polygony. Nezabudnite preniest aj atribut Layer.Potom vytvoreny SHP subor naspat naimportujte pricom zaskrtnite moznost vytvorit closed polylines. Tiez pouzite ulozene Layer pre vytvorenie objektov na vrstvach z ktorych boli vyexportovane.Export a Import z a do SHP je velmi dobry sposob ako cistit vykresy od kadejakych "divokych" objektov.

Vladimír Michl
23.02.2009, 11:22
Pokud se bavíme o 3DSOLID (ne 2DSOLID, Deska), pak by měl pomoci onen tip 6338.

Rostislav Říha
23.02.2009, 12:00
[QUOTE=Vladimír Michl]Pokud se bavíme o 3DSOLID (ne 2DSOLID, Deska), pak by měl pomoci onen tip 6338.[/QUOTE]
nebavíme. viz výše. bavíme se o 2Dsolid.

Vladimír Michl
23.02.2009, 14:41
V tom případě viz tip:
http://www.cadforum.cz/cadforum/qaID.asp?tip=6540

Rostislav Říha
23.02.2009, 17:29
zaprve: nechapu, jak je mozne, ze v ramci jednoho software nejde konvertovat entity pribuzneho charakteru jednoduse mezi sebou....ale to je asi taky nadlouho...
zadruhe: tip nepomaha: ze 2D solidu jsem sice jeho pomoci udelal regiony, ale co s nimi dal vazne nevim:) - v tipu uvedeny "convtosurface" udělá totéž, co planesurf - vyrobí mi rozčtverečkovaný surface(Planar), se kterým dále nejde zas nic dělat.
zatreti: zadani mi prijde porad jednoduche - na obrazovce vidim trojuhelnik a v properties se jmenuje solid...to, že nejde přes booleovské operace sčítat s dalšími, proteď neřeším - stačilo by mi, aby se ten trojuhelník jmenoval face....respektive jakkoli, ale tak, abych nakonci měl mesh, na kterou lze aplikovat smoothing atd. ... a to nemam.
zactvrte: uzivatel PUDIS mi poslal lisp: mohl by se na něj prosím někdo podívat a kdyžtak ho prosím upravit? Cíl jsou faces....prosím...
 
;****************************** C:OBRYS3D **************************************;Makro pro AutoCAD 2000;Převede desku a 3D plochu na úsečky - pouze viditelné hrany !!!;ing. Nekvasil 23.9.2001
(defun C:OBRYS3D (/ tl p oldla uch typ dat ent hlad kod bod1 bod2 bod3 bod4 l n pocet)(prompt "\nPřevede desku a 3D plochu na úsečky - pouze viditelné hrany !!!")(command "_UNDO" "_BE")(setq p (ssget))(if p  (progn  (setvar "CMDECHO" 0)  (setq tl (getvar "PLINEWID") oldla (getvar "CLAYER") uch (getvar "OSMODE"))  (setvar "PLINEWID" 0)  (setvar "OSMODE" 0)  (setq n (sslength p) pocet 0 l 0)
  (while (< l n)   (setq typ (cdr (assoc 0 (setq dat (entget (setq ent(ssname p l)))))))   (setq hlad (cdr (assoc 8 dat)))   (setq kod (cdr (assoc 70 dat)))   (setvar "CLAYER" hlad)   (if (= "SOLID" typ)    (progn     (setq bod1 (trans (cdr (assoc 10 dat)) ent 1))     (setq bod2 (trans (cdr (assoc 11 dat)) ent 1))     (setq bod3 (trans (cdr (assoc 12 dat)) ent 1))     (setq bod4 (trans (cdr (assoc 13 dat)) ent 1))     (if (= 0 (distance bod3 bod4))      (command "_LINE" bod1 bod2 bod3 "_C")      (command "_LINE" bod1 bod2 bod4 bod3 "_C")     )     (entdel ent)     (setq pocet (1+ pocet))    )   )      (if (= "3DFACE" typ)    (progn     (setq bod1 (trans (cdr (assoc 10 dat)) ent 1))     (setq bod2 (trans (cdr (assoc 11 dat)) ent 1))     (setq bod3 (trans (cdr (assoc 12 dat)) ent 1))     (setq bod4 (trans (cdr (assoc 13 dat)) ent 1))     (if (= 0 (logand kod 1)) (command "_LINE" bod1 bod2 ""))     (if (= 0 (logand kod 2)) (command "_LINE" bod2 bod3 ""))     (if (= 0 (logand kod 4))      (if (= 0 (distance bod3 bod4))       (command "_LINE" bod3 bod1 "")       (command "_LINE" bod3 bod4 "")      )     )     (if (= 0 (logand kod 8))      (if (/= 0 (distance bod3 bod4))       (command "_LINE" bod4 bod1 "")      )     )     (entdel ent)     (setq pocet (1+ pocet))    )   )      (setq l (1+ l))  )   ;while
  (setvar "PLINEWID" tl)  (setvar "CLAYER" oldla)  (setvar "OSMODE" uch)  (command "_UNDO" "_E")  (prompt (strcat "\nZpracováno " (itoa pocet) " entit")) ))
(command "_UNDO" "_E")(princ))
 

Vladimír Michl
23.02.2009, 22:48
Povrchy lze převést na 3D tělesa a ty pak rozbít na plochy - pokud výsledkem musí být skutečně dvourozměrná verze 3DFACE. Nicméně pro přímý převod 2DSOLID na 3DFACE neb PFACE můžete použít utilitu Sol2Face (viz tip 6540 a Download).