Stránka 1 z 2

Struktura stl souboru

Napsal: 17. 5. 2009, 12:09
od Formish
Zdravím, rád bych se zeptal jestli někdo nevíte jak z stl souboru zjistit jednotlivé souřadnice trojúhelníků a normál.

Díky

Napsal: 17. 5. 2009, 9:46
od bobik
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

Napsal: 17. 5. 2009, 4:31
od CZ_Pascal
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.

Napsal: 17. 5. 2009, 10:35
od Formish
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.
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.

Když otevřu stl soubor v textovém editoru tak se mi většinou zobrazí jen hromada nečitelných znaků.

Napsal: 18. 5. 2009, 8:08
od CZ_Pascal
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)

Napsal: 18. 5. 2009, 10:05
od prochaska
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.

Napsal: 18. 5. 2009, 10:41
od robokop
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

Napsal: 18. 5. 2009, 10:54
od PavelZ

Napsal: 18. 5. 2009, 11:08
od prochaska
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?

Napsal: 18. 5. 2009, 11:25
od PavelZ
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í.

Napsal: 18. 5. 2009, 11:32
od CZ_Pascal
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.

Napsal: 18. 5. 2009, 1:53
od Formish
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)
Specifikaci jsem si samozřejmě nastudoval ještě před založením tohoto vlákna.

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

Napsal: 18. 5. 2009, 2:13
od PavelZ
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ú

Napsal: 18. 5. 2009, 4:47
od CZ_Pascal
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 :twisted: ).

Napsal: 18. 5. 2009, 10:31
od Formish
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ý.