kaminki Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Czy jest jakaś możliwość naprawy takiej sytuacji? Długości linii są pełne, natomiast pole jest z błędem. Mamy dostęp do tylko 8 miejsc po przecinku dla wartości. Czy tylko u mnie tak się zdarza? Jest to Polilinia złożona z kilku linii (połączone w jedną całość). Gdy przerysuje się wszystko jedną polilinia to jest ok. Ale przerysowywanie każdego obiektu zajmie wieki. Co może być przyczyną? Cytuj
dmatusz3 Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Nie jestem pewien do końca na czym polega problem. Czy może Pan załączyć jakiś przykład w pliku? Osiem miejsc po przecinku to raczej maksymalna dokładność wyświetlania. Cytuj
Parikon Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Narysował ten obiekt liniami i potem komendą połącz zrobił z nich polyline. Twierdzi, że pole jest inne gdyby narysował obiekt od razu jako polyline. Cytuj
dmatusz3 Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Zrobiłem taką próbę, ale wynik jest jednakowy. Po lewej - połączenie linii, po prawej rysowane polilinią. Cytuj
kaminki Opublikowano 6 Listopada 2017 Autor Zgłoś Opublikowano 6 Listopada 2017 (edytowane) test.dwg Jednostka: mm Typ: Dziesiętny i dokładność maksymalna Co jest nie tak w tym rysunku? Po rozbiciu i sprawdzeniu długości każdego elementu powinno być poprawnie. Edytowane 6 Listopada 2017 przez kaminki Cytuj
dmatusz3 Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Sprawdziłem plik w AC 2018, ZWCAD 2015 i ZWCAD 2018. Wynik jest identyczny. Po rozbiciu elementów i połączeniu poleceniem PEDIT obszar się nie zmienia. Cytuj
kaminki Opublikowano 6 Listopada 2017 Autor Zgłoś Opublikowano 6 Listopada 2017 10 minut temu, dmatusz3 napisał: Sprawdziłem plik w AC 2018, ZWCAD 2015 i ZWCAD 2018. Wynik jest identyczny. Po rozbiciu elementów i połączeniu poleceniem PEDIT obszar się nie zmienia. Nie zmienia się ale dlaczego pole jest niedokładne, jeżeli każdy element jako linia/polilinia posiada równą długość. Gdyby obwód był nierówny to było by to zrozumiałe ale w takiej sytuacji nie powinno tak być. Gdy rysujemy z ręki, podając wymiary każdej linii to jest ok. Ale podczas rysowania używa się funkcji np. odsuń, utnij czy kopiuj. Finalnie łączy się to w całość i powstaje taki problem. Cytuj
dmatusz3 Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 Wydaje mi się, że programy pracują jednak z pewną dokładnością. Algorytmy raczej (jak sądzę) nie używają długości, lecz operują na współrzędnych. Sama zmiana położenia obiektów w układzie współrzędnych może wpływać na te obliczenia. Czy taka dokładność wyświetlania jest dla Pana taka ważna? Może zmiana dokładności wyświetlania z 8 miejsc po przecinku do 7 miejsc po przecinku (polecenie _UNITS)? Cytuj
perlon Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 W świecie komputerów liczby rzeczywiste są ZAWSZE obarczone błędem dokładności ich zapisu. Żeby to sprawdzić wystarczy w dowolnym dostępnym języku programowania sprawdzić następującą wartość logiczną : (1/3) * 3 == 1. Oczywiście my ludzie wiemy, że jest to prawda, ale nie jest to oczywiste dla systemu komputerowego. Po wykonaniu tych obliczeń niestety 1 <> 1. Dlatego obliczenia powinno się wykonywać z większą dokładnością niż chcemy uzyskać wynik odrzucając liczby na miejscach nieznaczących. W tym konkretnym przypadku powierzchnia jest liczona jakimś algorytmem, który jak mniemam może dawać rózne wyniki w zależności od kierunku polilinii, sposobu reprezentacji czy chociażby samej lokalizacji wierzchołków. Jaki jest cel lub potrzeba oznaczania powierzchni elementu z dokładnością do 8 miejsca po przecinku? Czy jest to gdzieś używane/liczone/wyświetlane lub ma jakieś inne istotne znaczenie? Cytuj
perlon Opublikowano 6 Listopada 2017 Zgłoś Opublikowano 6 Listopada 2017 O i kol. dmatusz3 mnie nieco uprzedził w konkluzji. Cytuj
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.