Jump to content
  • 0
Sign in to follow this  
JestemKotem

Punkty tworzące krzywą obrysu(krawędzi) modelu

Question

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

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy