Hallo Gemeinde,
diesmal habe ich da ein seltsames Problem, was mit Winkelfunktion zu tun hat.
Also, in Calc wird auf einem seperaten Tabellenblatt ein "Kreissegment" gezeichnet. Und zwar hiermit
Code: Alles auswählen
Point.x = lPositionH
Point.y = lPositionV
Size.Width = lRadiusB1*2
Size.Height = lRadiusB1*2
EllipseShape = Doc.createInstance("com.sun.star.drawing.EllipseShape")
EllipseShape.Size = Size
EllipseShape.Position = Point
EllipseShape.CircleStartAngle = 0
EllipseShape.CircleEndAngle = lAlfa
EllipseShape.CircleKind = com.sun.star.drawing.CircleKind.SECTION 'ARC
EllipseShape.LineStyle = com.sun.star.drawing.LineStyle.SOLID
EllipseShape.FillStyle = com.sun.star.drawing.FillStyle.NONE
EllipseShape.LineWidth = 0
oZeichnungsBlatt.add(EllipseShape)
Keine Angst, in der Beispieldatei kann man nachvollziehen welche Variable welchen Wert hat.
Mein Problem besteht darin, das der Variablen
lAlfa der Wert von 29,93 zugewiesen ist, aber der tatsächliche nachzumessende Wert ca. 30,20 beträgt.
Es handelt sich um Winkelgrade. Auch wenn es "nur" 0,3° Unterschied sind, so macht das in diesem speziellen Fall eine Abweichung von ca. 1 mm aus. Okay man könnte ja noch eventuell über die Abweichung diskutieren, ob das denn nun so wild ist, aber das ist ja nicht mein Problem.
Ich frag mich nur; was ich da Falsch mache das es zu dieser Differenz kommt? Wie, oder um was müsste ich EllipseShape ändern/ergänzen, damit die geforderte Gradzahl auch eingehalten wird?
Wenn ich eine bestimmte Gradzahl angebe, dann möchte ich schon das diese eingehalten wird.
Aufgefallen war mir diese differenz, als ich eine verkürzte Linie mit den rechnerischen Eckwerten des Winkel von 29,93° nach unten links zeichnen wollte. Diese Linie wird auch gezeichnet, und man erkennt sie an der Farbe Hellrot.
Könnt ihr mir helfen, damit ich beim Winkel nachmessen keine Differenz mehr feststellen kann?
Ich hoffe ihr kommt mit der abgespeckten Beispieldatei zurecht.
Gruß
balu