Zitat Zitat von kaugummi
... brauche einen Quellcode ... Position ... nach zurüchgelegter Strecke in x,y-Richtung ...
Wie wärs damit ?
Code:
; :::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x::
; **********************************************************************
; *         *
; *  W  E  G  E  N  .  L  S  P          *
; * Gegenwaertiger ( 12. Juli     1989 ) Bestand an Modulen: *
; *  defun c:wegen      *
; *  defun ...      *
; **********************************************************************
; :::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x::
; Winkel von Altgrad ins Bogenmass konvertieren
(defun aib (w)
 (* pi (/ w 180.0))
)
; Benoetigte Informationen fuer den Weg
(defun wegbenutzer ()
 (setq sp (getpoint "\nStartpunkt des Wegs: "))
 (setq ep (getpoint "\nEndpunkt des Wegs: "))
;
 (setq wwinkel (angle sp ep))
 (setq wlaenge (distance sp ep))
 (setq breite (* 2 hbreite))
 (setq winp90 (+ wwinkel (aib 90))) ; Weg Winkel + 90 Grad
 (setq winm90 (- wwinkel (aib 90))) ; Weg Winkel - 90 Grad
)
;
;
(defun umriss ()
    (command "plinie"
 (setq p (polar sp winm90 hbreite))
 (setq p (polar p wwinkel wlaenge))
 (setq p (polar p winp90 breite))
 (polar p (+ wwinkel (aib 180)) wlaenge)
 "schliessen"
    )
)
;
(defun zreihe (wa versetz)
 (setq perster (polar sp wwinkel wa))
 (setq pcplatte (polar perster winp90 versetz))
 (setq p1platte pcplatte)
 (while (< (distance perster p1platte) (- hbreite prad))
     (command "kreis" p1platte prad)
     (setq p1platte (polar p1platte winp90 (+ pabst prad prad)))
 )
 (setq p1platte (polar pcplatte winm90 (+ pabst prad prad)))
 (while (< (distance perster p1platte) (- hbreite prad))
     (command "kreis" p1platte prad)
     (setq p1platte (polar p1platte winm90 (+ pabst prad prad)))
 )
)
(defun platzeich ()
   (setq wstrecke (+ prad pabst))
   (setq vers 0.0)
   (while (<= wstrecke (- wlaenge prad))
      (zreihe wstrecke vers)
      (setq wstrecke (+ wstrecke (* (+ pabst prad prad) (sin (aib 60)))))
      (if (= vers 0.0)
 (setq vers (* (+ pabst prad prad) (cos (aib 60))))
 (setq vers 0.0)
      )
   )
)
;
; >>> Befehl ausfuehren, Funktionen aufrufen
;
(defun C:WEG ()
 (wegbenutzer)
 (setq bildkp (getvar "blipmode"))
 (setq bildcmde (getvar "cmdecho"))
 (setvar "blipmode" 0)
 (setvar "cmdecho" 0)
 (umriss)
 (platzeich)
 (setvar "blipmode" bildkp)
 (setvar "cmdecho" bildcmde)
)
; :::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x:::::::::x::