![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję pomocy przy czytaniu plików .STL (modele do druku 3D). Używam skryptu podpatrzonego na jednej ze stron. Umożliwia on określenie rozmiarów modelu. Generalnie skrypt działa i w większości przypadków się sprawdza, ale... Gdy model w pliku nie jest wycentrowany tylko przeniesiony od punkt 0,0,0 to jego skrypt wczytuje jego rozmiar właśnie od 0,0,0 do maksymalnych wartości. Przykład: Mamy boxa 3x3x3, przeniesionego o 2 punkty na każdej osi. Skrypt nie wskaże rozmiaru modelu jako 3x3x3 ale 5x5x5. Mam nadzieję, że wiecie o co chodzi. Poniżej funkcja:
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
$x_min, $y_min, $z_min powinny być zainicjowane dużą, dodatnią wartością.
Skoro obiekt jest przesunięty od (2,2,2), to minimum z X, Y, Z stanowią odpowiednio: (0.5, 0.5, 0.5), więc przy porównywaniu z 0 (min($x_vals) < $x_min), $x_min, $y_min oraz $z_min, zawsze będą mieć wartość 0. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki
![]() -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
I przy okazji zmienne $x_max, $y_max, $z_max powinny mieć duże wartości ujemne.
Jeśli obiekt będzie przesunięty w przeciwnym kierunku, to będziesz mieć identyczny problem (X, Y, Z miałyby odpowiednio: -0.5, -0.5, -0.5). -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest taki że nigdy nie wiem w którą stronę jest przesunięty obiekt. Jak to rozwiązać?
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo rozumiem.
$x_min i pochodne ustawiasz na duże dodatnie, $x_max i pochodne ustawiasz na duże ujemne. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
$x_max ma być sporo ujemne, a $x_min sporo dodatnie. Myślałem że jak będzie obiekty przesunięte w -2,-2,-2 to też będzie problem. Będzie ok?
EDIT: Chyba jest okej, bo przeniosłem obiekt w inne miejsce i dalej wymiary są prawidłowe. Ten post edytował deha21 22.02.2018, 16:15:53 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:44 |