[ADD] Layerdefinitionen und Farben durch layer.cfg für zusammengesetzte Blöcke wie Gefällestrecke oder Varioförderer werden beim Zusammenbau der Baugruppen in den Skripten verwendet; Ebenfalls als Fallback für Blöcke möglich, die kein Attribut LAYER besitzen.
This commit is contained in:
+31
-8
@@ -194,7 +194,7 @@
|
||||
)
|
||||
|
||||
;; Beschriftungstext erzeugen
|
||||
(defun kreisel-make-label (nummer abstand kreiselart / textStr insertPoint radius mitteX mitteY textHoehe)
|
||||
(defun kreisel-make-label (nummer abstand kreiselart / textStr insertPoint radius mitteX mitteY textHoehe lay)
|
||||
;; Text: "KREISEL 1: PIN_4000"
|
||||
(setq textStr (strcat "KREISEL " (itoa nummer) ": " kreiselart "_" (rtos abstand 2 0)))
|
||||
|
||||
@@ -216,13 +216,20 @@
|
||||
;; Schriftart Arial einstellen
|
||||
(kreisel-setup-textstyle)
|
||||
|
||||
;; Layer erstellen
|
||||
(ssg-make-layer *kreisel-beschriftung-layer* (itoa *kreisel-beschriftung-farbe*) T)
|
||||
|
||||
;; Layer erstellen: bevorzugt aus cfg/layer.cfg (Baugruppe
|
||||
;; "kreisel_beschriftung"), sonst der bisherige Hartwert.
|
||||
(setq lay (ssg-layer-anlegen "kreisel_beschriftung" T))
|
||||
(if (null lay)
|
||||
(progn
|
||||
(setq lay *kreisel-beschriftung-layer*)
|
||||
(ssg-make-layer lay (itoa *kreisel-beschriftung-farbe*) T)
|
||||
)
|
||||
)
|
||||
|
||||
;; Text mit entmake erstellen (zentriert)
|
||||
(entmake (list
|
||||
'(0 . "TEXT")
|
||||
(cons 8 *kreisel-beschriftung-layer*)
|
||||
(cons 8 lay)
|
||||
(cons 10 insertPoint)
|
||||
(cons 40 textHoehe)
|
||||
(cons 1 textStr)
|
||||
@@ -423,8 +430,11 @@
|
||||
;; SP8 Kreis (Spannstation) bei (radius+abstand, 0) - Dim-Suffix im Dateinamen
|
||||
(command "_.INSERT" (strcat *block-path* "SP8_" *ki-dxfm-dim* ".dwg") (list (+ radius abstand) 0.0 0.0) 1 1 0)
|
||||
|
||||
;; Tangenten auf Layer S_LP
|
||||
(ssg-make-layer "S_LP" "7" T)
|
||||
;; Tangenten-Layer: bevorzugt aus cfg/layer.cfg (Baugruppe
|
||||
;; "kreisel_tangente"), sonst der bisherige Hartwert S_LP.
|
||||
(if (null (ssg-layer-anlegen "kreisel_tangente" T))
|
||||
(ssg-make-layer "S_LP" "7" T)
|
||||
)
|
||||
(if is-pin
|
||||
(setvar "CECOLOR" (itoa (ssg-cfg-or "kreisel" "color_linie_1" 5)))
|
||||
(setvar "CECOLOR" (itoa (ssg-cfg-or "kreisel" "color_linie_2" 1)))
|
||||
@@ -438,7 +448,11 @@
|
||||
;; PIN-Linien
|
||||
(if is-pin
|
||||
(progn
|
||||
(ssg-make-layer "pinbereich" (itoa (ssg-cfg-or "kreisel" "color_pin" 3)) T)
|
||||
;; PIN-Layer: bevorzugt aus cfg/layer.cfg (Baugruppe
|
||||
;; "kreisel_pinbereich"), sonst der bisherige Hartwert pinbereich.
|
||||
(if (null (ssg-layer-anlegen "kreisel_pinbereich" T))
|
||||
(ssg-make-layer "pinbereich" (itoa (ssg-cfg-or "kreisel" "color_pin" 3)) T)
|
||||
)
|
||||
(setvar "CECOLOR" (itoa (ssg-cfg-or "kreisel" "color_pin" 3)))
|
||||
|
||||
;; Obere PIN-Linie
|
||||
@@ -489,6 +503,12 @@
|
||||
|
||||
;; --- Attribut-Werte durch direkte Datenbankänderung setzen ---
|
||||
(setq block-ent (entlast))
|
||||
;; Ziel-Layer der Baugruppe aus cfg/layer.cfg. Wichtig: der Wrapper hing
|
||||
;; bisher am CLAYER-Seiteneffekt von ssg-make-layer (S_LP bzw. pinbereich)
|
||||
;; und landete bei bereits vorhandener Blockdefinition auf dem aktiven Layer -
|
||||
;; jetzt ist er in beiden Faellen gleich. Ohne cfg-Eintrag bleibt es beim
|
||||
;; bisherigen Verhalten.
|
||||
(ssg-layer-setzen block-ent (if is-pin "kreisel_pin" "kreisel"))
|
||||
(setq att-entity (entnext block-ent))
|
||||
|
||||
(while att-entity
|
||||
@@ -1269,6 +1289,9 @@
|
||||
|
||||
;; Attribut-Werte durch direkte Datenbankaenderung setzen
|
||||
(setq block-ent (entlast))
|
||||
;; Ziel-Layer der Baugruppe aus cfg/layer.cfg (der Eckrad-Zweig setzte bisher
|
||||
;; gar keinen Layer, das ECKRAD_n landete also immer auf Layer "0").
|
||||
(ssg-layer-setzen block-ent "eckrad")
|
||||
(setq att-entity (entnext block-ent))
|
||||
(dbgp "Setze Attribut-Werte:")
|
||||
(while att-entity
|
||||
|
||||
Reference in New Issue
Block a user