Struktura stl souboru
Moderátor: sysel
Stáhni si prohlížeč 3DTool. Otevře ve free verzi jen stl a můžeš v něm měřit.
http://www.3d-tool.de/index.htm
http://www.3d-tool.de/index.htm
Přesně o to se pokouším, ty souřadnice potřebuji dál zpracovávat ve vlastním softwaru, ale nedaří se mi je načíst.CZ_Pascal píše:Další možností je nastudovat si datový formát STL jako takový a napsat si prográmek který zmákne to co požadujete. Jednotlive vrcholy trojuhelniku jsou ulozeny v souboru primo a normalu si jednoduse spocitate.
Když otevřu stl soubor v textovém editoru tak se mi většinou zobrazí jen hromada nečitelných znaků.
Jak jsem řekl: Najděte si na netu specifikaci toho datového formátu. Pokud byste tak učinil zjistil byste že jsou dva zpusoby - ASCII a binární. Obě verze obsahují ty samé informace. STL formát je velice primitivní : žádná komprese, žádné složité materiálové struktury (přesněji řečeno žádný údaj o povrchu : barva textury, texturove koordinaty, no prostě nic), žádné rekurentni struktury apod.. Jak jsem teď zjistil dokonce ani ty normály nemusíte počítat - jsou tam taky uloženy. Když jsem to před par lety hledal tak to nebyl problem. (nemam tolik casu abych to hledal za Vas)
-
- Sponzor fora
- Příspěvky: 8348
- Registrován: 16. 7. 2006, 12:33
- Bydliště: Praha Bohnice + Roudnice nad Labem
- Kontaktovat uživatele:
Nemáte někdo tip na knížku, kde by bylo napsané jak tyhle programy (solid a surface modeling) fungují? Myslím obecně, "zevnitř", ne nějakou obsluhu nějakého konkrétního CADu.
Aleš Procháska
- robokop
- Site Admin
- Příspěvky: 22950
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
kdysi bylo nekolik knizek ktere se zabyvali prostorovy modelovanim z pohledu analyticke geometrie ale vzdy povrchne v zakladech
spise az neuzitecne, jednu jsem mel nekde v knihovne ale asi jsem ji nekomu pujcil
tusim ze bylo neco na programovani 3d zobrazeni pomoci opengl a tak podobne
mnohem lepsi studnice informaci v tomto je rozhodne internet protoze ty knizky byli opravdu povrchni
spise az neuzitecne, jednu jsem mel nekde v knihovne ale asi jsem ji nekomu pujcil

tusim ze bylo neco na programovani 3d zobrazeni pomoci opengl a tak podobne
mnohem lepsi studnice informaci v tomto je rozhodne internet protoze ty knizky byli opravdu povrchni
Vsechna prava na chyby vyhrazena (E)
Zkus toto http://www.ennex.com/~fabbers/StL.asp
-
- Sponzor fora
- Příspěvky: 8348
- Registrován: 16. 7. 2006, 12:33
- Bydliště: Praha Bohnice + Roudnice nad Labem
- Kontaktovat uživatele:
Dík. Ale není ten formát STL něco úplně jiného než jaká je vnitřní datová struktura toho modelu třeba v Solidworksu? Když se vyexportuje třeba válec a zase importuje, je z něj mnohostěn. Nebo se jen ztratí nějaké informace o tom, že nějaká série trojúhelníků popisuje hladkou plochu?
Aleš Procháska
To je právě to, že vnitřní formát v každém softu se liší podle vývojářů. V obecných souborech exportu jako je STL nebo STEP apod. pak jsou 3D objekty definovány buď plošnými objekty (např. u STL trojúhelníky) nebo objemovými primitivy ... co jsem programoval v OpenGL, tak jsem měl tělesa popsána parametricky (a přesně) objemově, ale při zobrazování v OpenGL se to stejnak musí rozkuchat na jednotlivé plochy, které se naládují do enginu OpenGL, který to zpracuje (vesněs jsou to opět trojúhelníky tvořící plochy). Z čehož vyplývá, že skutečně se to zobrazuje "přibližně" a u formátu STL dochází ke ztrátě informace. Jsou ale formáty, kde ke ztrátě nedochází.
Ano samozrejme STL format je pouze hromada pohazenych trojuhelniku tvoricich povrch telesa. Spousta dalsich formatu (vetsinou vizualizacnich programu jako je RHINO nebo 3DS MAX) pouzivaji take pouze trojuhelniky, ale maji pridany jeste slozitejsi materialy (mapovani textur, osvetlovaci model apod..). Konstrukterske CAD programy uz maji podstatne slozitejsi formaty a popisuji objekty parametricky, ale samozrejme vnitrni format techto souboru je KnowHow a je prisne strezen aby i blbe prekladace z jednotlivych formatu do jinych prodali za nekrestanske prachy. Takze pokud je jednou soubor importovan do neceho jednodussiho je to uz jen hromada trojuhelniku v lepsim pripade seskupenych podle nejakych objektu. Chytrejsi CAD (zalezitost poslednich par let) dokazi i z techto pohazenych trojuhelniku zpetne rekonstruovat objekty na parametricke, ovsem algoritmy na to pouzivane jsou zase velice prisne strezeny a rozhodne nejsou jednoduche. Vse je to pouze matematika 3D prostoru (v zakladu nic moc sloziteho), ale i tam lze pomoci jednodussich matematickych postupu dobre zvolenych a vymyslenych udelat divy. A prave prijit na to jak tyto jednoduche veci dobre pouzit (to je na tom to slozite) je to strezene KnowHow.
Specifikaci jsem si samozřejmě nastudoval ještě před založením tohoto vlákna.CZ_Pascal píše:Jak jsem řekl: Najděte si na netu specifikaci toho datového formátu. Pokud byste tak učinil zjistil byste že jsou dva zpusoby - ASCII a binární. Obě verze obsahují ty samé informace. STL formát je velice primitivní : žádná komprese, žádné složité materiálové struktury (přesněji řečeno žádný údaj o povrchu : barva textury, texturove koordinaty, no prostě nic), žádné rekurentni struktury apod.. Jak jsem teď zjistil dokonce ani ty normály nemusíte počítat - jsou tam taky uloženy. Když jsem to před par lety hledal tak to nebyl problem. (nemam tolik casu abych to hledal za Vas)
Ale můj problém je v tom, že když si otevřu nějaký stl v textovém editoru tak kromě prvního řádku, který odpovídá specifikaci se mi zobrazí jen spousta nečitelných znaků. Jediné soubory, které se mi podařilo "přečíst" jsem objevil tady: http://people.sc.fsu.edu/~burkardt/data/stla/stla.html
No, tak ty, co jsou "nečitelné" jsou binární a je třeba je takto interpretovat. Mimochodem, v tom odkazu, co jsem dával, je popsána i binární datová struktura.
Ještě dodám, že ty binární je třeba otvírat ne v textovém, ale hexa editoru, co podporuje zobrazení numerických formátů (např. XVI ... http://www.chmaas.handshake.de/delphi/f ... xvi32.htmú
Ještě dodám, že ty binární je třeba otvírat ne v textovém, ale hexa editoru, co podporuje zobrazení numerických formátů (např. XVI ... http://www.chmaas.handshake.de/delphi/f ... xvi32.htmú
Ano samozrejme vetsina STL je binarni protoze zabiraji PODSTATNE mene mista. Textova verze je zrejme jen pro ucely nejakeho ladeni, ale krom toho ze clovek precte ocima nejake cisilka nema sanci si ani predstavit jak ten objekt vypada pokud ma vic jak 3 ty trojuhelnicky jakoze vetsinou aby stal za to jich ma tisice až statisice (muze jich tam byt az 4,3 miliardy
).

Všechny stl soubory které jsem zkoušel byly v ASCII formátu, tedy začínaly definicí: solid name ... Ale i tak pro mě byli některé nečitelné. Tak nevím kde dělám chybu, zatím jsem programoval pouze grafiku a v těchto formátech se absolutně nevyznám.
Např. soubor od wolfa je pro mě nečitelný.
Např. soubor od wolfa je pro mě nečitelný.
- Přílohy
-
- stl soubory.rar
- (36.98 KiB) Staženo 286 x