Hallo allerseits,
Habe mit meinen bescheidenen Lisp-Kenntnissen (die praktisch = Null sind
) ein Programm zusammengestrickt, welches ein Teil oder eine Baugruppe um einen bestimmten Winkel drehen soll und zwar in Einzelschritten. Also so'ne Art Animation halt.
Läuft auch fehlerfrei durch mittlerweile
, allerdings werden die Zwischenschritte gar nicht auf dem Bildschirm dargestellt
.
Vielmehr werden wohl alle Schritte berechnet und dann nur das Endergebnis angezeigt.
Vielleicht kann mal einer von Euch Profis ein Auge darauf werfen und mir sagen was ich anders machen muß ?
Hier das Programm:
(use-package
LI)
(sd-defdialog 'TestKPW
:dialog-title "TestKPW"
:variables
'(
(Werkstueck :value-type
art-assembly
:show-select-menu t
:modifies nil
:multiple-items t
:no-highlight t
:initial-value nil
:title "Teil/Baugr.:"
rompt-text "Teil oder Baugruppe angeben.")
(achse
:value-type :measure-axis
:title "Drehachse"
rompt-text "Achse auswaehlen")
(Winkel
:value-type :angle
:title "Winkel"
rompt-text "Drehwinkel angeben")
(Schrittwinkel
:value-type :angle
:title "Schrittwinkel"
rompt-text "Schrittwinkel eingeben"
:after-input
(setf schritte (/ Winkel Schrittwinkel)))
(schritte :value-type :display-only
:initial-value 0
:title "Schritte:")
(Naechste
ush-action (los-gehts))
) ; end variables
k-action '(los-gehts)
:local-functions '(
(los-gehts ()
(dotimes (Counter schritte)
(sd-call-cmds (position_pa Werkstueck :rotate :axis (nth 0 achse) (nth 1 achse) :rotation_angle Schrittwinkel :done))
(cancel_all)
(redraw_vp "1")
);;dotimes
) ;end los-gehts
) ;end local-functions
) ;end def dialog
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP