JestemKotem Napisano 9 Lipiec 2018 Napisano 9 Lipiec 2018 Cześć, Dostałem do rozwiązania problem od którego zależy czy dostanę pracę. Mam model 3d w stl jako siatkę trójkątów, którego grubość wynosi 0. Potrzebuje wydobyć z tego modelu sam jego obrys(żółty obrys na screen'ie), a dokładnie same obrysy wewnątrz modelu(zębodoły). Jestem automatykiem, nie znam się na 3d, więc mam 2 pytania: 1. Czy jest taka możliwość aby oprogramowanie narysowało mi sam obrys modelu? Albo podało współrzędne punktów na obrysie? 2. Oprogramowanie w jakiś sposób dochodzi do tego, jak narysować sam obrys. Czy ktoś wie w jaki sposób jest to wyliczane, bądź czy ktoś ma pomysł jak mogę to wyliczyć ? Wiem, że po konwersji jestem wstanie wydobyć współrzędne każdego małego trójkąta. Jeśli to się uda, to będę musiał stworzyć aplikację do robota który będzie wycinał model po takich właśnie obrysach. Pozdrawiam
deshu Napisano 10 Lipiec 2018 Napisano 10 Lipiec 2018 Hej 1. Podstawowe pytanie. Chcesz do tego podejść jako programista czy po prostu w aplikacji 3d? 2. Masz to robić w maxie, czy masz dowolnośc? Genralnie to czego potrzebujesz to można by googlac jako "extract borders lines from 3d model" albo podobnie. W 3d maxie to kilka klików: 1. zaznaczasz obiekt, klikasz prawym, wybierasz convert to edit poly 2. naciskasz "3" na klawiaturze -> wchodzisz w tryb edycji bordersów 3. przeciagasz prostokąt selekcji nad całym obiektem -> zaznaczają się same obrysy. 4. Na panelu po prawej szukasz sekcji Edit Borders, w niej klikasz "create shape from selection" No i program tworzy ci obiekt spline w którym masz same obrysy.
JestemKotem Napisano 10 Lipiec 2018 Autor Napisano 10 Lipiec 2018 Dziękuje za cenne wskazówki. 1. Muszę podejść do tematu jako programista. Docelowo należy napisać program który sam, na podstawie modelu w STL i bez pomocy człowieka, przekaże współrzędne otworów do robota (masowa produkcja). 2. Korzystam z aplikacji 3d, aby mieć podgląd modelu oraz w celu sprawdzenia poprawności wyników z programu. Ciekawi mnie także sposób, w jaki taka aplikacja znajduje obrys. Środowisko które będzie mi do tego służyło jest całkowicie dowolne. Pozdrawiam
deshu Napisano 11 Lipiec 2018 Napisano 11 Lipiec 2018 Prawdopodobnie C++. No to z grubsza każda biblioteka która pozwoli sprawdzić, czy krawędź należy tylko do jednego trójkąta, da ci możliwość zdobycia informacji które potrzebujesz.
JestemKotem Napisano 11 Lipiec 2018 Autor Napisano 11 Lipiec 2018 Myślałem żeby samemu napisać taki program, ale rzeczywiście, taka biblioteka na pewno już jest. Mam tylko nadzieję że nie będę miał problemu z optymalizacją, to w końcu 70 000 trójkątów.
deshu Napisano 12 Lipiec 2018 Napisano 12 Lipiec 2018 W naszym świecie 70000 trójkątów to śmieszna ilość. Nie znam c++ wiec nie będę szukał konkretnych rozwiazań dla ciebie. Myślę że szukając "cpp stl model border extraction" dostaniesz odpowiedź jakiej potrzebujesz.
JestemKotem Napisano 2 Sierpień 2018 Autor Napisano 2 Sierpień 2018 Witam ponownie, udało mi się napisać program, będę musiał go zoptymalizować ponieważ obliczenia trwają ponad 8 minut, ale nie o to chciałem zapytać. Wynikiem w moim programie jest tablica punktów tworzących obrys modelu, teraz potrzebuje nanieść te współrzędne na pierwotny model, po to, aby sprawdzić wizualnie czy rzeczywiście znalazłem odpowiednie punkty. Zastanawiam się w jakim formacie najprościej zapisać współrzędne x,y,z, aby następnie odtworzyć je w środowisku 3d.
deshu Napisano 3 Sierpień 2018 Napisano 3 Sierpień 2018 Format obj jest banalny, zwykły format tekstowy. https://en.wikipedia.org/wiki/Wavefront_.obj_file Sprawdzić poprawność możesz choćby w darmowym Blenderze - bo on importuje zarówno obj jak i stl.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się