Wyjątek Geometry2d.cpp(950): Points are collinear

Polish forum

Moderators: PrzemoF, kaktus

Forum rules
Regulamin forum i pomocne informacje

WAŻNE! Przeczytaj zanim poprosisz o pomoc
Post Reply
Antango
Posts: 3
Joined: Thu Aug 04, 2022 8:10 am

Wyjątek Geometry2d.cpp(950): Points are collinear

Post by Antango »

Witam,

Posiadam wersję 0.20 (29177 Git) Win 10 64 bit, pracuję w tym programie nad projektem tarczy z wieloma wycięciami.
To dopiero 5 projekt w tej ersji, w poprzedniej też tylko kilka projektów na bazie filmów wykonałem, staram sie stosować do zaleceń w filmach, jednak czy nie za dużo chcę zrobic na jednym szkicu?
Podczas szkicowania jednego z ostatnich elementów (w szkicu jest ponad 200 elementów, ponad 500 wiązań) nie mogę sobie poradzić z błędem:
Stosuję wiązania symetrii i linie promieniowe konstrukcyjne do określania położenia łuków wycięć na okręgach.

<Exception> Geometry2d.cpp(950): Points are collinear

Co prawda program pozwala iść dalej ale bardzo długo czekam na zakończenie operacji. Jak unikać takiego błędu i co go powoduje?

Pozdrawiam serdecznie.
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by NewJoker »

Pojawia się to na czerwono w oknie raportowania na dole czy wyskakuje jakieś dodatkowe okienko, które trzeba zatwierdzić ? W pierwszym przypadku to raczej nic groźnego - coś źle się kliknie i FreeCAD nie zastosuje wiązania, ale szkic jest ok. Niemniej jednak zdecydowanie należy unikać pracy na tak dużych szkicach. Z tego najpewniej wynika wspomniany długi czas oczekiwania. Lepiej podzielić to na kilka operacji robionych na kolejnych mniejszych szkicach. Dzięki temu można płynnie pracować i jest mniejsze ryzyko, że coś się wysypie. Lepiej też na wszelki wypadek często zapisywać.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by Shalmeneser »

Picture ? File ?
User avatar
kwahoo
Posts: 680
Joined: Fri Nov 29, 2013 3:09 pm
Contact:

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by kwahoo »

Antango wrote: Thu Aug 04, 2022 12:54 pm (w szkicu jest ponad 200 elementów, ponad 500 wiązań) nie mogę sobie poradzić z błędem:
Przy tej liczbie wiązań to aż dziwne, że szkicownik wciąż działa.

Naprawdę powinieneś starać się nie budować tak ogromnych szkiców, korzystać z kilku mniejszych lub innych narzędzi (szyk, lustro).

Złożonośc układu równań, które musi rozwiązań solwer rośnie w sześcianie do liczby wiązań, a zapotrzebowanie na pamięć w kwadracie[1]. Czyli szkic z 500 wiązaniami potrzebuje 1000x tyle czasu i 100x pamięci co szkic z 50 wiązaniami.
Gigantyczny szkic może być wręcz nierozwiązywalny, ze względu na niedokładność numeryczną i kumulację błędów.

[1]To dane dla PTC Creo, nie znam dla FreeCAD-a, ale powinny być podobne.
Antango
Posts: 3
Joined: Thu Aug 04, 2022 8:10 am

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by Antango »

Dziękuję za podpowiedź. Udało mi się znaleźć błąd w szkicu, to on powodował ten wyjątek. błąd dotyczył jednego niezamkniętego obrysu. Faktycznie nie powinno się rysować tak skomplikowanych szkiców i lepiej jest wykonać kilka szkiców - nie wiedziałem o tym, że są ograniczenia na liczbę wiązań. Tak duża liczba elementów szkicu faktycznie liczy się dłużej.
Jednak wyjątek w pliku Geometry2d.cpp(950): Points are collinear - nie odpowiadał błędowi. Opis błędu nie pasuje do faktycznego problemu z niedomkniętym obrysem (otwarta linia). Być może przy mniejszej liczbie el. ten błąd by nie wystąpił.
Niby problem naprawiłem, ale teraz dodałem kolejny szkic i pojawił się nowy problem w poprzednim szkicu znowu.
Załączam plik, problem w Sketch004.

Pozdrawiam wszystkich,
Attachments
tarcza v1.1.FCStd
(162.45 KiB) Downloaded 80 times
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by NewJoker »

Jak klikniesz na liczbie przy komunikacie o nadmiarowych wiązaniach w szkicowniku i wciśniesz Delete to program je usunie. Może być konieczne "dowiązanie" szkicu, ale chociaż nie będzie problemu z overconstraint. Jest też przydatne narzędzie do oceny i naprawy szkiców: Sketcher ValidateSketch.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by Shalmeneser »

It's impossible a maintain a so complex sketch.
Here is a solution (just check dimensions inside the sketches).
Attachments
tarcza _SHALM.FCStd
(232.6 KiB) Downloaded 73 times
Capture d’écran 2022-08-06 200008.jpg
Capture d’écran 2022-08-06 200008.jpg (89.28 KiB) Viewed 1634 times
Antango
Posts: 3
Joined: Thu Aug 04, 2022 8:10 am

Re: Wyjątek Geometry2d.cpp(950): Points are collinear

Post by Antango »

Dziękuję.
Post Reply