Szkicownik: Wiązania pomocnicze

From FreeCAD Documentation
Revision as of 07:25, 14 May 2023 by Kaktus (talk | contribs) (Created page with "isPointOnCurve sprawdza, czy punkt wirtualny określony przez współrzędne szkicu <tt>x,y</tt> ''(wartości zmiennoprzecinkowe)'' spełnia wymogi wirtualnego punktu na obiekcie - tj. leży na krzywej określonej przez indeks krzywej <tt>icurve </tt>. Zwraca wartość {{True/pl}}, jeśli punkt jest na krzywej, i {{False/pl}}, jeśli tak nie jest.")

Przegląd

Przykład wiązania pomocniczego (Constraint5 - punkt na okręgu) dla wiązania stycznego (Constraint6 w trybie styczna-przez-punkt). W tym przypadku używane jest tylko jedno wiązanie pomocnicze, ponieważ punkt styczności jest punktem końcowym głównej średnicy elipsy, która z natury leży na elipsie.

Wiązanie pomocnicze jest zwykłym wiązaniem szkicownika, które jest potrzebne jako część bardziej złożonego wiązania, ale jest widoczne w interfejsie użytkownika, aby pomóc w radzeniu sobie z redundancją. Na przykład, dla prawo Snell'a, dwie linie reprezentujące promienie światła muszą być połączone (zbieżnością punktów), a złącze musi leżeć na interfejsie (Zwiąż punkt na obiekcie).

Wiązania pomocnicze są dodawane automatycznie, gdy są potrzebne. Decyzja o tym, czy są one potrzebne, jest obecnie podejmowana przez ocenę błędu wiązania pomocniczego dla bieżącego stanu geometrii (może to się zmienić w przyszłych wersjach). Jeśli błąd jest wystarczająco mały, wiązanie jest uważane za niepotrzebne i nie jest dodawane. W niektórych przypadkach ta logika może prowadzić do błędów (wiązanie może zostać spełnione przez przypadek, co może się łatwo zdarzyć, gdy włączona jest funkcja przyciągania siatki szkicownika).

Jeśli tak się stanie (brakuje jakiegoś wiązania pomocniczego, a wymagane warunki nie są spełnione w inny sposób), wiązanie złożone zostanie uszkodzone. Wykona ono coś, ale rzeczywiste zachowanie jest niezdefiniowane. Takie uszkodzone wiązanie może być naprawione przez ręczne dodanie brakującego wiązania pomocniczego.

Wiązania pomocnicze są obecnie wymagane dla:

Tworzenie skryptów

Gdy wiązania wymagające elementów pomocniczych są dodawane z poziomu środowiska Python, żadne wiązania pomocnicze nie są dodawane automatycznie. Można odtworzyć automatyczne podejmowanie decyzji przez polecenia UI w skrypcie, testując funkcje, specjalnie dodane w tym celu i używane w procedurach UI:

Sketch.isPointOnCurve(icurve,x,y)

isPointOnCurve sprawdza, czy punkt wirtualny określony przez współrzędne szkicu x,y (wartości zmiennoprzecinkowe) spełnia wymogi wirtualnego punktu na obiekcie - tj. leży na krzywej określonej przez indeks krzywej icurve . Zwraca wartość Prawda, jeśli punkt jest na krzywej, i Fałsz, jeśli tak nie jest.

Sketch.calculateConstraintError(iconstr)

calculateConstraintError evaluates an error function of a constraint specified by its index iconstr in the sketch. If there is only one error function in the constraint, the return value is the signed return value of the error function. If there is more than one error function associated with the constraint (i.e. the constraint removes more than one degree of freedom), the return value is the RMS of all the error functions (always positive).

Wersja

Wiązania pomocnicze zostały wprowadzone w wersji 0.15.4387