refactor: Kettenfoerderer als Seitenansicht mit Beschriftung und Hoehenmass, Draufsicht als eigener Hilfsblock KF2D_n
- Hauptblock KF_n: flache, ungedrehte Seitenansicht mit Beschriftung und Hoehenmass; nur er wird exportiert - Draufsicht KF_2D als getrennter Hilfsblock KF2D_n (projizierte Laenge, frei verschiebbar, per KF_EDIT regenerierbar), Verknuepfung ueber XDATA-Schluessel - L_KF_mm = waagerechte Laenge, Sivas-Zeile ohne Laenge, Export nur KF_<Ziffern> - ensure-block-loaded: Block ohne ILS-Datei (KF_2D) nicht mehr als fehlend melden - Layer kettenfoerderer_beschriftung, Dispatcher-Zweig KF2D_*, Sprachdateien und Unit-Tests angepasst Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
+16
-4
@@ -85,10 +85,21 @@
|
||||
;; Realer Fehler, den das behebt: die KS-Messung eines KF-Bausteins lief ins
|
||||
;; Leere und meldete "KS_EIN/KS_AUS fehlt", obwohl beide KS im Block vorhanden
|
||||
;; waren - gesucht wurde nur ein Blockname, den es nicht gibt.
|
||||
;;
|
||||
;; Zweiter Sonderfall - Namen, die SELBST auf _2D/_3D enden (z.B. die
|
||||
;; Kettenfoerderer-Draufsicht "KF_2D"): ssg-ils-blockname laesst solche Namen
|
||||
;; unveraendert (eff = blockname), die Bedingung "eff existiert nicht" kann
|
||||
;; dann nie zutreffen, und der Block ging in den ILS-Ladepfad. Der suchte
|
||||
;; data/ils/KF_2D.dwg und meldete "Block-Datei nicht gefunden", obwohl der
|
||||
;; Block in der Zeichnung vorhanden war. Massgeblich ist darum, ob es fuer den
|
||||
;; Namen ueberhaupt eine ILS-Datei gibt: ohne Datei ist es kein ILS-Block und
|
||||
;; die vorhandene Definition wird genommen. Echte ILS-Bloecke haben eine Datei
|
||||
;; und laufen unveraendert durch den Ladepfad (Aktualisierung aus der Datei).
|
||||
(defun ensure-block-loaded (blockname / eff)
|
||||
(setq eff (ssg-ils-blockname blockname))
|
||||
(if (and (not (tblsearch "BLOCK" eff))
|
||||
(tblsearch "BLOCK" blockname))
|
||||
(if (and (tblsearch "BLOCK" blockname)
|
||||
(or (= eff blockname) (not (tblsearch "BLOCK" eff)))
|
||||
(null (ssg-ils-block-datei blockname)))
|
||||
blockname
|
||||
(progn
|
||||
(if (not (ssg-ils-block-laden blockname))
|
||||
@@ -558,8 +569,9 @@
|
||||
;; Bewusst matrixbasiert statt mit einem weiteren Winkelparameter: die
|
||||
;; Aufrichtung ist nur EIN Anwendungsfall, und jeder weitere haette eine
|
||||
;; weitere Spezialfunktion gebraucht. Den Aufrufern bleibt freigestellt,
|
||||
;; welche Drehungen sie kombinieren (beim Kettenfoerderer
|
||||
;; Rz(basis) * Rx(90) * Rz(eigen), siehe kf-matrix-aufrecht).
|
||||
;; welche Drehungen sie kombinieren. (Der Kettenfoerderer hat sie kurz fuer
|
||||
;; Rz(basis) * Rx(90) * Rz(eigen) genutzt, ist inzwischen aber wieder eine flache
|
||||
;; Seitenansicht - aktuell ohne Aufrufer.)
|
||||
|
||||
;; Elementare Rotationsmatrizen (3x3, Winkel in GRAD).
|
||||
(defun ks-rot-x (grad / r c s)
|
||||
|
||||
Reference in New Issue
Block a user