Thank you all.
Code: Select all
// JavaScript Document
// Funktion zum Zeichnen eines Viertelkreises
function drawQuarterCircle(center, radius, clockwise) {
var startAngle = clockwise ? 0 : 90;
var endAngle = clockwise ? 90 : 0;
var circle = this.addAnnot({
page: this.pageNum,
type: "Circle",
rect: [center[0] - radius, center[1] - radius, center[0] + radius, center[1] + radius],
lineWidth: 2,
startAngle: startAngle,
endAngle: endAngle
});
console.println("Viertelkreis gezeichnet um Punkt (" + center[0] + ", " + center[1] + ") mit Radius " + radius + " (Uhrzeigersinn: " + clockwise + ")");
console.println("Anmerkung hinzugefügt: " + circle);
return circle;
}
// Funktion zum Zeichnen des Stahlprofils
function drawSteelProfile(h, b, t, s, r) {
console.println("Funktion drawSteelProfile aufgerufen.");
console.println("Aktuelle Seite: " + this.pageNum);
console.println("Profilhöhe: " + h);
console.println("Flanschbreite: " + b);
console.println("Flanschdicke: " + t);
console.println("Stegdicke: " + s);
console.println("Ausrundungsradius: " + r);
// Array für die Punkte entlang des Profils
var points = [];
// Punkte am Untergurt
console.println("Punkte am Untergurt:");
points.push([0, 0]); // Punkt 1
console.println("Punkt 1: " + points[0]);
points.push([b, 0]); // Punkt 2
console.println("Punkt 2: " + points[1]);
points.push([b, t]); // Punkt 3
console.println("Punkt 3: " + points[2]);
points.push([b/2+s/2+r, t]); // Punkt 4
console.println("Punkt 4: " + points[3]);
points.push([b/2+s/2, t+r]); // Punkt 5
console.println("Punkt 5: " + points[4]);
// Mittelpunkte für den Ausrundungsradius
console.println("Mittelpunkte für den Ausrundungsradius:");
var midpoint14_15 = [b/2-s/2-r, t+r]; // Mittelpunkt zwischen Punkt 14 und 15
console.println("Mittelpunkt14_15: " + midpoint14_15);
var midpoint4_5 = [b/2+s/2+r, t+r]; // Mittelpunkt zwischen Punkt 4 und 5
console.println("Mittelpunkt4_5: " + midpoint4_5);
// Viertelkreise zwischen den Punkten
console.println("Viertelkreise zwischen den Punkten:");
var quarterCircle14_15 = drawQuarterCircle(midpoint14_15, r, true);
var quarterCircle4_5 = drawQuarterCircle(midpoint4_5, r, false);
// Punkte am Obergurt
console.println("Punkte am Obergurt:");
points.push([b/2+s/2, h-t-r]); // Punkt 6
console.println("Punkt 6: " + points[5]);
points.push([b/2+s/2+r, h-t]); // Punkt 7
console.println("Punkt 7: " + points[6]);
points.push([b, h-t]); // Punkt 8
console.println("Punkt 8: " + points[7]);
points.push([b, h]); // Punkt 9
console.println("Punkt 9: " + points[8]);
points.push([0, h]); // Punkt 10
console.println("Punkt 10: " + points[9]);
points.push([0, h-t]); // Punkt 11
console.println("Punkt 11: " + points[10]);
points.push([b/2-s/2-r, h-t]); // Punkt 12
console.println("Punkt 12: " + points[11]);
points.push([b/2-s/2, h-t-r]); // Punkt 13
console.println("Punkt 13: " + points[12]);
// Viertelkreise zwischen den Punkten
console.println("Viertelkreise am Obergurt:");
var midpoint12_13 = [b/2-s/2-r, h-t-r]; // Mittelpunkt zwischen Punkt 12 und 13
console.println("Mittelpunkt12_13: " + midpoint12_13);
var midpoint6_7 = [b/2+s/2+r, h-t-r]; // Mittelpunkt zwischen Punkt 6 und 7
console.println("Mittelpunkt6_7: " + midpoint6_7);
var quarterCircle12_13 = drawQuarterCircle(midpoint12_13, r, true);
var quarterCircle6_7 = drawQuarterCircle(midpoint6_7, r, false);
// Punkte am Untergurt
console.println("Punkte am Untergurt (vollständig):");
points.push([b/2-s/2, t+r]); // Punkt 14
console.println("Punkt 14: " + points[13]);
points.push([b/2-s/2-r, t]); // Punkt 15
console.println("Punkt 15: " + points[14]);
points.push([0, t]); // Punkt 16
console.println("Punkt 16: " + points[15]);
// Punkte für die Linienverbindungen
console.println("Punkte für die Linienverbindungen:");
points.push([0, 0]); // Punkt 17
console.println("Punkt 17: " + points[16]);
// Iteration über die Punkte, um die Linien zu zeichnen und als Anmerkungen einzufügen
console.println("Linien zeichnen:");
for (var i = 0; i < points.length - 1; i++) {
var from = points[i];
var to = points[i + 1];
var line = this.addAnnot({
page: this.pageNum,
type: "Line",
rect: [from[0], from[1], to[0], to[1]],
lineWidth: 2
});
console.println("Linie gezeichnet von (" + from[0] + ", " + from[1] + ") nach (" + to[0] + ", " + to[1] + ")");
console.println("Anmerkung hinzugefügt: " + line);
}
}