b8e8d0b0a0
Neues Modul KettenFoerderer.lsp: baut aus KF_UM_<winkel>, KF_LAENGE und KF_AN_<winkel> (je KS_AUS auf KS_EIN) plus der Draufsicht KF_2D einen Block KF_<n>. Die Bausteine werden aufgerichtet eingebaut (Rz*Rx(90)*Rz), die Hoehe laeuft in Z; KF_2D liegt deckungsgleich mit der Kette. Der Einbauwinkel jedes Folgebausteins wird aus der Richtung des KS_AUS seines Vorgaengers gemessen, KF_LAENGE ueber die Einbauhoehe skaliert. - Dialog (DCL-Vorlage, Typ als Radiobuttons), Hoehe per Zahl oder aus zwei Punkten, Doppelklick auf KF_n oeffnet KF_EDIT mit Neuaufbau - eigenstaendiges Attribut-Schema, Auswahllisten mit Sivas-Optionstexten in data/json/kettenfoerderer.json - Sivas-Export: Merkmale 350, 353-357, 359-361, 391, baugleiche Foerderer werden zu einer Zeile zusammengefasst (Artikelnummer 6120) - ssg_ks_insert.lsp: neue Primitiven ks-xy-winkel, ks-block-messen, insert-block-ks-skaliert und insert-block-ks-matrix (freie 3x3-Rotation); ensure-block-loaded nimmt Bloecke ohne Dimensionssuffix unveraendert - Menueeintrag KettenFoerderer aktiviert, toter Dummy OMNI_KettenFoerderer entfernt; KF_* im Export-Pattern, in der ID-Vergabe und im Dispatcher SSG_BLOCKEDIT (vor dem Omniflo-Zweig) - Unit-Tests tu-tests-kf fuer die reinen Rechenkerne; Modul wird in der MNL vorgeladen, dbg-Schalter kf-zeit zur Laufzeitmessung Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
105 lines
3.3 KiB
Plaintext
105 lines
3.3 KiB
Plaintext
// ============================================================
|
|
// kettenfoerderer.dcl - Kettenfoerderer (Schraegfoerderer Stahl)
|
|
// Verwendet von KettenFoerderer.lsp (kf-dialog, Befehl KETTENFOERDERER).
|
|
//
|
|
// VORLAGE mit Markerzeilen: nur der Varianten-Block ist datenabhaengig und
|
|
// wird zur Laufzeit an //@VARIANTEN@ eingesetzt (kf-dcl-ersetzungen ->
|
|
// ssg-dcl-vorlage-fuellen in ssg_core, Temp-Datei). Grund: DCL kann
|
|
// radio_button-Tiles weder zur Laufzeit erzeugen noch ihre Labels per
|
|
// set_tile aendern - gleiches Vorgehen wie geruest_traeger.dcl.
|
|
//
|
|
// Varianten bewusst als Radiobuttons statt popup_list: es sind nur zwei
|
|
// Werte (26/30 Grad), beide sollen ohne Aufklappen sichtbar sein.
|
|
// Die Gruppenbeschriftung steht am boxed_row - ein zusaetzliches Label am
|
|
// Tile waere doppelt gemoppelt.
|
|
//
|
|
// Die Beschriftungen folgen dem Sivas-Merkmalstamm, damit Dialog und
|
|
// Stueckliste dieselbe Sprache sprechen (Merkmalnummer in Klammern):
|
|
// Schraegfoerderer Stahl Typ (359) H - Einbauhoehe Schraegfoerderer (360)
|
|
// Farbe Foerderer (354) Antriebsmotor Foerderer (355)
|
|
// Antrieb mit Movimot (356) Verbindungselemente (391)
|
|
// Farbe und Antriebsmotor sind dabei ZWEI eigenstaendige Merkmale
|
|
// (Attribute FARBE und ANTRIEBSMOTOR), nicht ein kombinierter Text.
|
|
//
|
|
// Kein Geruest-Bereich: der Kettenfoerderer traegt sich selbst.
|
|
// ============================================================
|
|
|
|
kettenfoerderer : dialog {
|
|
label = "Kettenfoerderer";
|
|
width = 62;
|
|
|
|
: boxed_radio_row {
|
|
key = "variante";
|
|
label = "Schraegfoerderer Stahl Typ";
|
|
//@VARIANTEN@
|
|
}
|
|
|
|
: boxed_column {
|
|
label = "Geometrie";
|
|
|
|
: row {
|
|
: edit_box {
|
|
key = "hoehe";
|
|
label = "H - Einbauhoehe Schraegfoerderer [ mm ]:";
|
|
edit_width = 12;
|
|
}
|
|
// Zweite Eingabeart: Hoehe aus zwei gewaehlten Punkten messen.
|
|
// Der Knopf schliesst den Dialog (done_dialog 2), der Aufrufer pickt
|
|
// die Punkte und zeigt ihn mit dem Ergebnis erneut - aus einem
|
|
// action_tile heraus laesst sich kein getpoint aufrufen.
|
|
: button {
|
|
key = "hoehe_messen";
|
|
label = "aus 2 Punkten messen";
|
|
}
|
|
}
|
|
}
|
|
|
|
: boxed_column {
|
|
label = "Ausfuehrung";
|
|
|
|
// Reihenfolge wie im Sivas-Merkmalstamm: 361 vor 354 - Dialog,
|
|
// Attributschema und Merkmalstamm bleiben damit in derselben Folge.
|
|
: popup_list {
|
|
key = "standard_steuerung";
|
|
label = "mit Standard Steuerung:";
|
|
width = 40;
|
|
}
|
|
|
|
: popup_list {
|
|
key = "farbe";
|
|
label = "Farbe Foerderer:";
|
|
width = 40;
|
|
}
|
|
|
|
: popup_list {
|
|
key = "antriebsmotor";
|
|
label = "Antriebsmotor Foerderer:";
|
|
width = 40;
|
|
}
|
|
|
|
// Antriebsart (Merkmal 357): Dropdown mit genau EINER Option, die immer
|
|
// gewaehlt ist - beim Kettenfoerderer ist sie fest 1.1 kW. Als Dropdown
|
|
// statt als Textzeile, damit alle Merkmale gleich aussehen; kommt spaeter
|
|
// eine zweite Antriebsart dazu, ist es nur eine weitere Zeile in der JSON.
|
|
: popup_list {
|
|
key = "antriebsart";
|
|
label = "Antriebsart 0,55 / 1,1 kW:";
|
|
width = 40;
|
|
}
|
|
|
|
: popup_list {
|
|
key = "movimot";
|
|
label = "Antrieb mit Movimot:";
|
|
width = 40;
|
|
}
|
|
|
|
: popup_list {
|
|
key = "verbindung";
|
|
label = "Verbindungselemente:";
|
|
width = 40;
|
|
}
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|