Struktura stl souboru

aneb pokec o vsem co se netyka CNC
takova nase CNC hospudka

Moderátor: sysel

Formish
Příspěvky: 24
Registrován: 6. 1. 2008, 12:14
Bydliště: Vyškov

17. 5. 2009, 12:09

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
Uživatelský avatar
bobik
Příspěvky: 4556
Registrován: 11. 12. 2007, 7:48
Bydliště: Okres Klatovy

17. 5. 2009, 9:46

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
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

17. 5. 2009, 4:31

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.
Formish
Příspěvky: 24
Registrován: 6. 1. 2008, 12:14
Bydliště: Vyškov

17. 5. 2009, 10:35

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ů.
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

18. 5. 2009, 8:08

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)
prochaska
Sponzor fora
Příspěvky: 8348
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

18. 5. 2009, 10:05

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
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22950
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

18. 5. 2009, 10:41

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
Vsechna prava na chyby vyhrazena (E)
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

18. 5. 2009, 10:54

prochaska
Sponzor fora
Příspěvky: 8348
Registrován: 16. 7. 2006, 12:33
Bydliště: Praha Bohnice + Roudnice nad Labem
Kontaktovat uživatele:

18. 5. 2009, 11:08

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
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

18. 5. 2009, 11:25

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í.
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

18. 5. 2009, 11:32

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.
Formish
Příspěvky: 24
Registrován: 6. 1. 2008, 12:14
Bydliště: Vyškov

18. 5. 2009, 1:53

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
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

18. 5. 2009, 2:13

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ú
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

18. 5. 2009, 4:47

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: ).
Formish
Příspěvky: 24
Registrován: 6. 1. 2008, 12:14
Bydliště: Vyškov

18. 5. 2009, 10:31

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ý.
Přílohy
stl soubory.rar
(36.98 KiB) Staženo 286 x
Odpovědět

Zpět na „Prevazne nevazne“