Hallo,
das angehängte Makro (den Ursprungsthread finde ich nicht) versuche ich zu ändern, damit auch die Tangentenlinien und die verdeckten geändert werden.
Leider macht es mir die Farbe nur für den letzten Linientyp.
So habe ich es probiert:
....
(sd-call-cmds (part_layout_geo_styles
:for_parts teil_bgr
:in_view ansicht-path
:N_LTYPE linart
:T_LTYPE linart
:H_LTYPE linart
:T_COLOR farbe
:H_COLOR farbe
:N_COLOR farbe
:done)
)
...
Unterschiedliche Reihenfolgen habe ich auch schon getestet.
Es werden alle Linienarten aber nur die letzte Farbe geändert.
Hat jemand eine Tip für mich?
Wo finde ich eigendlich die Syntax von "part_layout_geo_styles"?
Grüße
Bernd
;;--------------------------------------------------------------------------*
;; Dateiname: AM_Teilefarben.lsp
;; Version : 2.1
;; Datum : 20.04.2015
;; Author : BFE
;;--------------------------------------------------------------------------*
;; Vereinfachtes Umfärben von Teilen und Baugruppen in Anno
;;--------------------------------------------------------------------------*
(in-package :BFE)
(use-package '( :oli))
;;******************************
(sd-defdialog 'Teilefarben
;;******************************
:dialog-title "Linien umfaerben"
:trace nil
:variables
'(
(3D
:value-type :boolean
:toggle-type :wide-toggle
:title (sd-multi-lang-string "3D-view" :german "im 3D-Fenster waehlen")
:initial-value nil
:after-input
(if (equal 3D t)
(progn
(sd-store-window-placement :all)
(sd-call-cmds (am_aux_3d_VP))
);;progn
(sd-restore-window-placement :all)
);;end if
)
(teil_bgr
:selection (*sd-part-seltype*)
:multiple-items t
:show-select-menu t
;;:additional-token-string ":recursive :in_assembly"
:additional-token-string ":part"
:prompt-text "Teile angeben"
:title "Teil"
:initial-value nil
:after-input
(sd-restore-window-placement :all)
)
(ansicht
:selection *sd-anno-view-seltype*
:title "Ansicht"
:prompt-text "Ansichten angeben, in welcher die Teile/Baugruppen umgefaerbt werden soll"
:multiple-items t
:initial-optional nil
:check-function
#'(lambda (ansicht)
(let ()
(if (sd-am-view-struct-view-3d (sd-am-inq-view ansicht))
:ok
(values :error "Diese Ansicht hat keine 3D-Repraesentation!")
);;if
);;let
);;lambda
)
(auto-akt
:value-type :boolean
:toggle-type :wide-toggle
:title (sd-multi-lang-string "Auto-update" :german "automatische Aktualisierung")
:initial-value t
)
(farbe :range ((16777215 :label "Weiss")
(16776960 :label "Gelb")
(16711680 :label "Rot")
(65325 :label "Gruen")
(4326396 :label "Blau")
(0 :label "Schwarz")
(65535 :label "Cyan")
(16711935 :label "Magenta"))
:title "Farbe"
:initial-value 16711680
)
(linart :range ((:SOLID :label "Solid")
(:DASHED :label "Strichliert")
(:LONG_DASHED :label "Lang Strichl.")
(:DOT_CENTER :label "Strichpunkt")
(:DASH_CENTER :label "Lang Strichp.")
(:PHANTOM :label "___ _ _ __")
(:CENTER_DASH_DASH :label "__..__")
(:DOTTED :label "Punktiert"))
:title "Linienart"
:initial-value :LONG_DASHED
)
(next
:push-action (sd-call-cmds (next-action))
)
)
:local-functions
'(
(ansicht-action ()
(progn
(dolist (ansicht-einzeln ansicht)
(progn
(setf ansicht-path
(sd-inq-obj-pathname (sd-am-view-struct-view-3d (sd-am-inq-view ansicht-einzeln)))
);; setf
);; progn
(progn
(sd-call-cmds (part_layout_geo_styles
:for_parts teil_bgr
:in_view ansicht-path
:N_LTYPE linart
:N_COLOR farbe
:T_LTYPE linart
:T_COLOR farbe
:H_LTYPE linart
:H_COLOR farbe
:done)
);;sd-call-cmds
(when auto-akt t
(sd-call-cmds (am_view_update
:do_forced_update :on
:update_selected_views ansicht-path
);;am_view_update
);;sd-call-cmds
);;when
);;progn
);;dolist
);;progn
)
)
:ok-action
'(ansicht-action)
:help-action
'()
:cancel-action
(sd-restore-window-placement :all)
)
[Diese Nachricht wurde von rmcc1980 am 13. Jan. 2016 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP