FC_CommonCircleOfTwoSpheres

 

FC_CommonCircleOfTwoSpheres - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung des Schnittkreises aus zwei Kugeln im 3-dimensionalen Raum.

Beschreibung

Berechnet den Kreis, in dem sich die Kugelhüllen schneiden. Schneiden sich die Kugeln in einem Punkt, so ist der Radius des Schnittkreises 0. Schneiden sich die Kugeln nicht oder fallen ihre Zentren zusammen, so wird ein Fehler ausgegeben.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stSphere1

ST_Sphere

Kugel 1

i_stSphere2

ST_Sphere

Kugel 2

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

Rückgabewert

Datentyp

Beschreibung

ST_Circle3D

Schnittkreis der zwei Kugeln i_stSphere1 und i_stSphere2

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

CentresEqual

46

Die Mittelpunkte liegen aufeinander.

InputParameterInvalid

RadiusRangeSphere1

23

Der Radius der Kugel 1 ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RadiusRangeSphere2

24

Der Radius der Kugel 2 ist außerhalb des gültigen Bereichs.

InputParameterInvalid

SpheresNotCutting

47

Die Kugeln schneiden sich nicht.

CentresEqual

Enumerationsname:

CentresEqual

Enumerationswert:

46

Beschreibung:

Die Mittelpunkte liegen aufeinander.

Problem

Ursache

Lösung

-

Der Abstand zwischen i_stSphere1.StCentre und i_stSphere2.stCenter ist kleiner als Gc_lrZeroTolerance.

Die Mittelpunkte der Kugeln dürfen nicht aufeinander fallen.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Der Schnittkreis der beiden Kugeln wurde erfolgreich berechnet.

RadiusRangeSphere1

Enumerationsname:

RadiusRangeSphere1

Enumerationswert:

23

Beschreibung:

Der Radius der Kugel 1 ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_stSphere1.lrRadius wurde eine Zahl <= 0 angelegt.

Der Radius der Kugel muss größer als 0 sein.

RadiusRangeSphere2

Enumerationsname:

RadiusRangeSphere2

Enumerationswert:

24

Beschreibung:

Der Radius der Kugel 2 ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_stSphere2.lrRadius wurde eine Zahl <= 0 angelegt.

Der Radius der Kugel muss größer als 0 sein.

SpheresNotCutting

Enumerationsname:

SpheresNotCutting

Enumerationswert:

47

Beschreibung:

Die Kugeln schneiden sich nicht.

Problem

Ursache

Lösung

-

Die beiden Kugeln i_stSphere1 und i_stSphere2 schneiden sich nicht.

Die Zentren der beiden Kugeln dürfen nicht weiter als die Summe aus den Radien der Kugeln voneinander entfernt sein.