Piotr Rakowski pisze:1. format nie jest udostępniony publicznie przez firmę COREL Corp. i można się narazić na niepotrzebne nieprzyjemności,
2. zawiera wiele niepotrzebnych śmieci, których interpretacja będzie niepotrzebnie skomplikowana (w końcu są tam informacje o ustwaieniach programu i obiektach zaimpotowanych - np. bitmapach).
A znasz jakieś "nieoficjalne" specyfikacje? Latem 2005 nie znalazłszy żadnej pożytecznej dokumentacji rozgryzałem CDR i doszedłem do wnosku, że to może się udać, ale dałem za wygraną przez pliki skompresowane. Prawdopodobnie to jest kompresja Huffmana, ale jak odzyskać drzewo kompresji?
Piotr Rakowski pisze:Zdecydowanie polecam zrobić interpretację plików IGES i STL - stworzonych specjalnie do zapisu i interpretacji ścieżek modeli 3D.
STL jest fajny (tylko strasznie dużo dysku zajmuje). DXF v.12 też jest O.K. ale ten format został niestety znacznie "ulepszony" - pdf z opisem najnowszej wersji to cała cegła, większość danych to dla generatora G-kodu śmieci.
No niestety wygląda że projekt zdechł w przedbiegu. Sam mam kilka programów (głównie C++), które utknęły w martwym punkcie. Wina - nadmierne rozbudowanie projektu. Ilość czasu potrzebna do pisania programu rośnie wykładniczo do ilości klas i metod. Teraz staram się działać w duchu weekend-hack ( w rzeczywistości month-hack ).
FLTK ma własne środowisko FLUID do budowania interfejsu, i szkieletu programu w C++. Toporne, ale działa.
Gdyby jeszcze ktoś chciał się bawić, to proponuję pisanie w języku skryptowym - np. Python-ie. Znacznie mniej pracochłonne, szybko widać efekty pracy. Jest wiele modułów, w tym toolkity okienkowe, coś do OpenGL. Działa to i pod Win i pod Lin. Sceptycznie nastawionym mogę powiedzieć, że to wcale nie jest takie głupie. Np. interfejs programu ac3d jest robiony w Tcl/TK (wbudowany interpreter). EMC2 pracujący przecież w reżimie czasu rzeczywistego, także ma interfejsy do wyboru m.in. w TCL, i Python-ie. Te 20% kodu który zajmuje większość czasu procesora można później przepisać w C, i dalej używać jako moduł Python-a.
I zdecydowanie zminimalizować zakładaną ilość właściwości, oraz wybrać lidera który wskaże kierunek, i odwali z 10% roboty. A na starcie 150%.
Do czego ten program właściwie ma służyć? Do modelowania? Wczytywania gotowców i przetwarzania na G-code? Komunikacji z modułem wykonawczym? I przy okazji jeszcze wizualizacja i symulacja?