Season's Greetings

      A holiday card LISP routine. July 21, 2006

Question
Here's a lisp file that I thought many of you might enjoy:
(Merry Christmas!)
;;; *** XMASCARD.LSP ***
;;; * For 2004-2005 *
;;; ************************
(defun C:XMASCARD ()
;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;
;; SUBROUTINES
;
;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;
;;--------------------------------------------------------------------------;
;; DELAY
;
;;--------------------------------------------------------------------------;
(defun Delay (SEC)
(setq SECS (getvar "Date") ; get current time
BASETIME (* 86400.0 (- SECS (fix SECS))) ; convert to seconds
SECONDS BASETIME) ; set new time
(while (not ( (setq SECS (getvar "Date") ; get new current time
SECONDS (* 86400.0 (- SECS (fix SECS)))) ; convert to seconds
)
)
;;--------------------------------------------------------------------------;
;; LASTN
;
;;--------------------------------------------------------------------------;
(defun LastN (NUMB / COUNT SMAX)
(setq SS3 (ssadd)) ; create empty selection set
(repeat NUMB ; repeat input number of times
(ssadd (entlast) SS3) ; add last entity to selection
(entdel (entlast)) ; temporary delete last entity
)
(setq COUNT 0 ; initialize a counter
SMAX (sslength SS3)) ; length of selection set
(while ( (entdel (ssname SS3 COUNT)) ; undelete the delete
(setq COUNT (1+ COUNT)) ; increment counter
)
SS3 ; return the selection set
)
(setq EPSILON 0.02
AFRACT (/ PI 5))
;;--------------------------------------------------------------------------;
;; FRACTAL
;
;;--------------------------------------------------------------------------;
;; Function Fractal by others, wish I could remember who did it to give
;; them the credit.
(defun Fractal (P1 P2 / P3 A DISTS)
(setq DISTS (distance P1 P2)
A (angle P1 P2))
(command "._ucsicon" "OFF"
"._zoom" "W" "-1.03,-1.1875" "1.03,2.15")
(if ( (command "._line" P1 P2 nil)
(progn
(setq P3 (polar P1 (angle P1 P2) (* DISTS 0.5)))
(command "._line" P1 P3 nil)
(Fractal P3 (polar P3 (+ (angle P1 P2) AFRACT) (* DISTS 0.5 )))
(Fractal P3 (polar P3 (- (angle P1 P2) AFRACT) (* DISTS 0.5 )))
(Fractal P1 P3)
)
)
)
(setvar "Cmdecho" 0)
(setvar "Blipmode" 0)
;;--------------------------------------------------------------------------;
;; DrawTree
;
;;--------------------------------------------------------------------------;
(defun DrawTree ()
(command "._color" "3")
(Fractal '(0 2) '(0 0))
(command "._line" '(0 0) '(0 1) nil
"._color" "bylayer")
)
;;--------------------------------------------------------------------------;
;; MakeText
;
;;--------------------------------------------------------------------------;
(defun MakeText ()
(setq W:SSX (ssadd))
(command "._style" "SIMPLEX" "SIMPLEX" "" "" "" "" "" "")
(entmake '((0 . "TEXT") (10 -3.37934 1.12871 0.0)(40 . 0.245209)
(1 . "MERRY")))
(setq W:SSX (ssadd (entlast) W:SSX))
(entmake '((0 . "TEXT") (10 -3.37934 0.662811 0.0)(40 . 0.245209)
(1 . "CHRISTMAS")))
(setq W:SSX (ssadd (entlast) W:SSX))
(entmake '((0 . "TEXT") (10 1.23658 1.13534 0.0)(40 . 0.245209)
(1 . "HAPPY")))
(setq W:SSX (ssadd (entlast) W:SSX))
(entmake '((0 . "TEXT") (10 1.23658 0.669438 0.0)(40 . 0.245209)
(1 . "NEW YEAR")))
(setq W:SSX (ssadd (entlast) W:SSX))
(command "._chprop" W:SSX "" "_C" "1" "")
(entmake '((0 . "TEXT") (10 -0.969983 2.29321 0.0) (40 . 0.245209)
(1 . "2005-")))
(setq W:SSX2 (entlast))
(command "._change" "_L" "" "" "" "SIMPLEX" "" "" ""
"._chprop" (entlast) "" "_C" "2" "")
(entmake '((0 . "TEXT") (10 0.221032 2.29321 0.0) (40 . 0.245209)
(1 . "2006")))
(setq W:SSX3 (entlast))
(command "._change" "_L" "" "" "" "SIMPLEX" "" "" ""
"._chprop" (entlast) "" "_C" "6" "")
)
;;--------------------------------------------------------------------------;
;; MakeBalls
;
;;--------------------------------------------------------------------------;
(defun MakeBalls ()
(setq W:SSX4 (ssadd))
(command "._donut" "0" "0.032" '(-4.0 1.0 0.0) "")
(repeat 15
(command "._copy" (entlast) "" "@" "@")
)
(setq W:SSX4 (LastN 16))
(setq X:CNTR 0)
(repeat 16
(set (read (strcat "BALL" (itoa (1+ X:CNTR))))(ssname W:SSX4 (1+
X:CNTR)))
(setq X:CNTR (1+ X:CNTR))
)
(setq X:CNTR 0)
(repeat 6 ; make color red
(command "._chprop" (ssname W:SSX4 X:CNTR) "" "_C" "1" "")
(setq X:CNTR (1+ X:CNTR))
)
(setq PTS '(-4.0 1.0 0.0)
PT1 '(0.4190 0.1906 0.0)
DIST1 (/ (distance PTS PT1) 10.0)
ANGL1 (angle PTS PT1))
(setq PT2 '(0.0545 1.8671 0.0)
DIST2 (/ (distance PTS PT2) 10.0)
ANGL2 (angle PTS PT2))
(setq PT3 '(0.0424 1.3664 0.0)
DIST3 (/ (distance PTS PT3) 10.0)
ANGL3 (angle PTS PT3))
(setq PT4 '(0.1551 1.1030 0.0)
DIST4 (/ (distance PTS PT4) 10.0)
ANGL4 (angle PTS PT4))
(setq PT5 '(0.2660 0.7045 0.0)
DIST5 (/ (distance PTS PT5) 10.0)
ANGL5 (angle PTS PT5))
(setq PT6 '(0.1612 0.1896 0.0)
DIST6 (/ (distance PTS PT6) 10.0)
ANGL6 (angle PTS PT6))
(repeat 4 ; make color magenta
(command "._chprop" (ssname W:SSX4 X:CNTR) "" "_C" "6" "")
(setq X:CNTR (1+ X:CNTR))
)
(setq PT7 '(0.1984 1.2364 0.0)
DIST7 (/ (distance PTS PT7) 10.0)
ANGL7 (angle PTS PT7))
(setq PT8 '(0.1584 0.6073 0.0)
DIST8 (/ (distance PTS PT8) 10.0)
ANGL8 (angle PTS PT8))
(setq PT9 '(0.3049 0.2800 0.0)
DIST9 (/ (distance PTS PT9) 10.0)
ANGL9 (angle PTS PT9))
(setq PT10 '(0.4102 0.5149 0.0)
DIST10 (/ (distance PTS PT10) 10.0)
ANGL10 (angle PTS PT10))
(repeat 4 ; make color cyan
(command "._chprop" (ssname W:SSX4 X:CNTR) "" "_C" "4" "")
(setq X:CNTR (1+ X:CNTR))
)
(setq PT11 '(0.1221 1.5899 0.0)
DIST11 (/ (distance PTS PT11) 10.0)
ANGL11 (angle PTS PT11))
(setq PT12 '(0.3371 1.2399 0.0)
DIST12 (/ (distance PTS PT12) 10.0)
ANGL12 (angle PTS PT12))
(setq PT13 '(0.3590 0.3872 0.0)
DIST13 (/ (distance PTS PT13) 10.0)
ANGL13 (angle PTS PT13))
(setq PT14 '(0.6829 0.5182 0.0)
DIST14 (/ (distance PTS PT14) 10.0)
ANGL14 (angle PTS PT14))
(repeat 2 ; make color white
(command "._chprop" (ssname W:SSX4 X:CNTR) "" "_C" "7" "")
(setq X:CNTR (1+ X:CNTR))
)
(setq PT16 '(0.0320 1.6280 0.0)
DIST16 (/ (distance PTS PT16) 10.0)
ANGL16 (angle PTS PT16))
(command "._zoom" "_W" "-3.5494,-1.0558" "3.3490,3.5817")
)
;;--------------------------------------------------------------------------;
;; MoveBalls
;
;;--------------------------------------------------------------------------;
(defun MoveBalls ()
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9))
(delay 0.25)
(command "._move" BALL1 "" PTS (polar PTS ANGL1 DIST1)
"._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10))
(delay 0.25)
(command "._move" BALL2 "" PTS (polar PTS ANGL2 DIST2)
"._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11))
(delay 0.25)
(command "._move" BALL3 "" PTS (polar PTS ANGL3 DIST3)
"._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12))
(delay 0.25)
(command "._move" BALL4 "" PTS (polar PTS ANGL4 DIST4)
"._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13))
(delay 0.25)
(command "._move" BALL5 "" PTS (polar PTS ANGL5 DIST5)
"._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL6 "" PTS (polar PTS ANGL6 DIST6)
"._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL7 "" PTS (polar PTS ANGL7 DIST7)
"._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL8 "" PTS (polar PTS ANGL8 DIST8)
"._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL9 "" PTS (polar PTS ANGL9 DIST9)
"._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL10 "" PTS (polar PTS ANGL10 DIST10)
"._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL11 "" PTS (polar PTS ANGL11 DIST11)
"._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL12 "" PTS (polar PTS ANGL12 DIST12)
"._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL13 "" PTS (polar PTS ANGL13 DIST13)
"._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._move" BALL14 "" PTS (polar PTS ANGL14 DIST14))
(delay 0.25)
(command "._mirror" (LastN 16) "" "0,0" "0,1" "N")
(setq LASTSSX (LastN 16))
(setq W:CNTR 0)
)
;;--------------------------------------------------------------------------;
;; ChangeText
;
;;--------------------------------------------------------------------------;
(defun ChangeText ()
; (repeat 5
; (setq EN (ssname W:SSX W:CNTR)
(setq W:SSX (ssget "X" '((0 . "TEXT"))))
(repeat (sslength W:SSX)
(setq EN (ssname W:SSX W:CNTR)
EL (entget EN)
EL (subst (cons 7 "SIMPLEX") (assoc 7 EL) EL))
(entmod EL)
(setq W:CNTR (1+ W:CNTR))
)
(setq EL (entget W:SSX2)
EL (subst (cons 7 "SIMPLEX") (assoc 7 EL) EL))
(entmod EL)
)
;;--------------------------------------------------------------------------;
;; FlashText
;
;;--------------------------------------------------------------------------;
(defun FlashText ()
(repeat 5
(command "._erase" W:SSX "")
(Delay 0.25)
(command "._U")
(Delay 0.1)
(command "._erase" W:SSX2 "")
(Delay 0.25)
(command "._U")
(command "._erase" W:SSX3 "")
(Delay 0.25)
(command "._U")
)
(repeat 5
(command "._erase" W:SSX4 "")
(Delay 0.25)
(command "._U")
(command "._erase" LASTSSX "")
(Delay 0.25)
(command "._U")
)
)
;;--------------------------------------------------------------------------;
;; MakeTrain
;
;;--------------------------------------------------------------------------;
(defun MakeTrain ()
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.81856 -0.333977 0.0)
(11 -4.81856 -0.422624 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.63435 -0.333977 0.0)
(11 -4.81856 -0.333977 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.63435 -0.422624 0.0)
(11 -4.63435 -0.333977 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.81856 -0.422624 0.0)
(11 -4.63435 -0.422624 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.4102 -0.387363 0.0)
(11 -5.41705 -0.393333 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.40388 -0.383264 0.0)
(11 -5.4102 -0.387363 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.39803 -0.380704 0.0)
(11 -5.40388 -0.383264 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.39257 -0.379353 0.0)
(11 -5.39803 -0.380704 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.38741 -0.378878 0.0)
(11 -5.39257 -0.379353 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.3825 -0.378949 0.0)
(11 -5.38741 -0.378878 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.37776 -0.379235 0.0)
(11 -5.3825 -0.378949 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.3731 -0.379404 0.0)
(11 -5.37776 -0.379235 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.36848 -0.379201 0.0)
(11 -5.3731 -0.379404 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.36387 -0.378674 0.0)
(11 -5.36848 -0.379201 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.35926 -0.37795 0.0)
(11 -5.36387 -0.378674 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.35465 -0.377151 0.0)
(11 -5.35926 -0.37795 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.35003 -0.376404 0.0)
(11 -5.35465 -0.377151 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.34539 -0.375834 0.0)
(11 -5.35003 -0.376404 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.34074 -0.375564 0.0)
(11 -5.34539 -0.375834 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.33605 -0.37572 0.0)
(11 -5.34074 -0.375564 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.33131 -0.376377 0.0)
(11 -5.33605 -0.37572 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.32647 -0.377409 0.0)
(11 -5.33131 -0.376377 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.32145 -0.378643 0.0)
(11 -5.32647 -0.377409 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.3162 -0.379901 0.0)
(11 -5.32145 -0.378643 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.31064 -0.381011 0.0)
(11 -5.3162 -0.379901 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.3047 -0.381796 0.0)
(11 -5.31064 -0.381011 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.29831 -0.382082 0.0)
(11 -5.3047 -0.381796 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.29142 -0.381693 0.0)
(11 -5.29831 -0.382082 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.28398 -0.380517 0.0)
(11 -5.29142 -0.381693 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.27611 -0.378688 0.0)
(11 -5.28398 -0.380517 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.26794 -0.376401 0.0)
(11 -5.27611 -0.378688 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.25962 -0.373853 0.0)
(11 -5.26794 -0.376401 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.25129 -0.37124 0.0)
(11 -5.25962 -0.373853 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.24309 -0.368757 0.0)
(11 -5.25129 -0.37124 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.23517 -0.366601 0.0)
(11 -5.24309 -0.368757 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.22767 -0.364968 0.0)
(11 -5.23517 -0.366601 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.22069 -0.363998 0.0)
(11 -5.22767 -0.364968 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.21422 -0.36361 0.0)
(11 -5.22069 -0.363998 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.2082 -0.363668 0.0)
(11 -5.21422 -0.36361 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.20258 -0.364035 0.0)
(11 -5.2082 -0.363668 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.1973 -0.364574 0.0)
(11 -5.20258 -0.364035 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.1923 -0.36515 0.0)
(11 -5.1973 -0.364574 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.18753 -0.365625 0.0)
(11 -5.1923 -0.36515 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.18294 -0.365864 0.0)
(11 -5.18753 -0.365625 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.17848 -0.365769 0.0)
(11 -5.18294 -0.365864 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.17411 -0.365403 0.0)
(11 -5.17848 -0.365769 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.16982 -0.36487 0.0)
(11 -5.17411 -0.365403 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.16559 -0.364271 0.0)
(11 -5.16982 -0.36487 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.16137 -0.363709 0.0)
(11 -5.16559 -0.364271 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.15717 -0.363288 0.0)
(11 -5.16137 -0.363709 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.15294 -0.363109 0.0)
(11 -5.15717 -0.363288 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.14868 -0.363275 0.0)
(11 -5.15294 -0.363109 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.14434 -0.363852 0.0)
(11 -5.14868 -0.363275 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.13992 -0.364753 0.0)
(11 -5.14434 -0.363852 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.13537 -0.365855 0.0)
(11 -5.13992 -0.364753 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.13067 -0.367033 0.0)
(11 -5.13537 -0.365855 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.1258 -0.368165 0.0)
(11 -5.13067 -0.367033 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.12072 -0.369127 0.0)
(11 -5.1258 -0.368165 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.1154 -0.369795 0.0)
(11 -5.12072 -0.369127 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.10983 -0.370045 0.0)
(11 -5.1154 -0.369795 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.10398 -0.369795 0.0)
(11 -5.10983 -0.370045 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.09792 -0.369127 0.0)
(11 -5.10398 -0.369795 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.09171 -0.368165 0.0)
(11 -5.09792 -0.369127 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.08544 -0.367033 0.0)
(11 -5.09171 -0.368165 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.07917 -0.365855 0.0)
(11 -5.08544 -0.367033 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.07297 -0.364753 0.0)
(11 -5.07917 -0.365855 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.06693 -0.363852 0.0)
(11 -5.07297 -0.364753 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.06112 -0.363275 0.0)
(11 -5.06693 -0.363852 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.05558 -0.363113 0.0)
(11 -5.06112 -0.363275 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.05028 -0.363323 0.0)
(11 -5.05558 -0.363113 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.04517 -0.363827 0.0)
(11 -5.05028 -0.363323 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.04017 -0.364551 0.0)
(11 -5.04517 -0.363827 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.03525 -0.365417 0.0)
(11 -5.04017 -0.364551 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.03033 -0.366348 0.0)
(11 -5.03525 -0.365417 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.02536 -0.36727 0.0)
(11 -5.03033 -0.366348 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.02028 -0.368104 0.0)
(11 -5.02536 -0.36727 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.01501 -0.368835 0.0)
(11 -5.02028 -0.368104 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.00939 -0.369688 0.0)
(11 -5.01501 -0.368835 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.00324 -0.370948 0.0)
(11 -5.00939 -0.369688 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.99637 -0.3729 0.0)
(11 -5.00324 -0.370948 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.98861 -0.37583 0.0)
(11 -4.99637 -0.3729 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.97978 -0.380021 0.0)
(11 -4.98861 -0.37583 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.96968 -0.385761 0.0)
(11 -4.97978 -0.380021 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.95814 -0.393333 0.0)
(11 -4.96968 -0.385761 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.36761 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.41705 -0.594459 0.0)
(11 -4.95814 -0.594459 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.41705 -0.594459 0.0)
(11 -5.41705 -0.393333 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.14248 -0.438766 0.0)
(11 -4.1577 -0.438766 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.14248 -0.48498 0.0)
(11 -4.14248 -0.438766 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.1577 -0.48498 0.0)
(11 -4.14248 -0.48498 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.2592 -0.308728 0.0)
(11 -4.18443 -0.308728 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.24037 -0.373235 0.0)
(11 -4.2592 -0.308728 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.20326 -0.373235 0.0)
(11 -4.18443 -0.308728 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -4.68302 -0.615417 0.0)
(40 . 0.0508404)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -4.55453 -0.615417 0.0)
(40 . 0.0508404)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.1577 -0.628332 0.0)
(11 -4.1577 -0.55051 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.03736 -0.628332 0.0)
(11 -4.1577 -0.628332 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.1577 -0.55051 0.0)
(11 -4.03736 -0.628332 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -4.29071 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -4.21604 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.85569 -0.533354 0.0)
(11 -4.75976 -0.533354 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.85569 -0.461221 0.0)
(11 -4.85569 -0.533354 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.75613 -0.55051 0.0)
(11 -4.77502 -0.461221 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.77502 -0.461221 0.0)
(11 -4.87271 -0.461221 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.1577 -0.55051 0.0)
(11 -4.75613 -0.55051 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.1577 -0.373235 0.0)
(11 -4.1577 -0.55051 0.0) (210
0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.55579 -0.373235 0.0)
(11 -4.1577 -0.373235 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.58024 -0.307734 0.0)
(11 -4.55579 -0.373235 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.87271 -0.307734 0.0)
(11 -4.58024 -0.307734 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.87271 -0.461221 0.0)
(11 -4.87271 -0.307734 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.00862 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.08329 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.29294 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -4.95814 -0.594459 0.0)
(11 -4.95814 -0.393333 0.0)
(210 0.0 0.0 1.0)))
(setq W:TRAIN (LastN 114))
(command "._chprop" W:TRAIN "" "_C" "7" "")
;; add smoke
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.31574 -0.250341 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 6.02146)
(51 . 1.96613)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.76184 -0.0775557 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.436408)
(51 . 2.66426)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.90733 -0.0745786 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.436408)
(51 . 2.66426)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.83459 -0.0760672 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.436408)
(51 . 2.66426)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.48539 -0.122093 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 7.6136e-005)
(51 . 2.22793)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.55007 -0.0970401 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.174609)
(51 . 2.40246)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.42604 -0.157996 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 6.10873)
(51 . 2.0534)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.37051 -0.202442 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 6.02146)
(51 . 1.96613)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.6891 -0.0790443 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.436408)
(51 . 2.66426)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.61812 -0.0836001 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 0.349142)
(51 . 2.577)))
(entmake '((0 . "ARC")
(8 . "0")
(10 -4.26097 -0.298239 0.0)
(40 . 0.0405365)
(210 0.0 0.0 1.0)
(50 . 6.02146)
(51 . 1.96613)))
(setq W:SMOKE (LastN 11))
;; Make Gondola car with boxes
;; 1ST BOX
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.94657 -0.481324 0.0)
(11 -5.94657 -0.578014 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.78211 -0.481324 0.0)
(11 -5.94657 -0.481324 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.78211 -0.578014 0.0)
(11 -5.78211 -0.481324 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.94657 -0.578014 0.0)
(11 -5.78211 -0.578014 0.0)
(210 0.0 0.0 1.0)))
(command "._wipeout" "-5.8083,-0.4802" ; cover tree
"-5.7182,-0.4802"
"-5.8027,-0.3472"
"-5.7237,-0.3472" ""
"._wipeout" "Frames" "OFF")
(setq W:MASK (entlast))
(command "._pline" "-5.86434,-0.358177" ; make tree
"-5.84606,-0.38871"
"-5.85544,-0.386628"
"-5.8412,-0.40571"
"-5.84919,-0.405363"
"-5.83253,-0.427569"
"-5.84051,-0.427222"
"-5.82801,-0.448039"
"-5.83322,-0.448386"
"-5.82663,-0.462264"
"-5.86434,-0.462264" ""
"._chprop" (entlast) "" "C" "3" "")
(command "._mirror" (entlast) "" "-5.86434,-0.358177" "@0,1" "")
(command "._line" "-5.86434,-0.462264" "-5.86434,-0.481324" ""
"._chprop" (entlast) "" "C" "38" "")
(command "._line" "-5.876266,-0.481324" "-5.876266,-0.578014" ""
"._chprop" (entlast) "" "C" "2" ""
"._line" "-5.852414,-0.481324" "-5.852414,-0.578014" ""
"._chprop" (entlast) "" "C" "2" "")
(command "._line" "-5.782110,-0.517743" "-5.946570,-0.517743" ""
"._chprop" (entlast) "" "C" "1" ""
"._line" "-5.782110,-0.541595" "-5.946570,-0.541595" ""
"._chprop" (entlast) "" "C" "1" "")
(command "._select" (Lastn 12) "R" W:MASK "")
(setq W:BOXES1 (ssget "P"))
(command "._move" W:BOXES1 "" "@" "@0.1,0")
(command "._copy" W:BOXES1 "" "@" "@")
(setq W:BOXES2 (Lastn 11))
(command "._copy" W:BOXES1 "" "@" "@")
(setq W:BOXES3 (Lastn 11))
(command "._copy" W:BOXES1 "" "@" "@")
(setq W:BOXES4 (Lastn 11))
;; GONDOLA
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.97955 -0.517821 0.0)
(11 -5.52064 -0.517821 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.85544 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.64579 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.57112 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.97955 -0.594459 0.0)
(11 -5.97955 -0.517821 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.97955 -0.594459 0.0)
(11 -5.52064 -0.594459 0.0)
(210 0.0 0.0 1.0)))
(entmake '((0 . "CIRCLE")
(8 . "0")
(10 -5.93011 -0.632364 0.0)
(40 . 0.0338936)
(210 0.0 0.0 1.0)))
(entmake '((0 . "LINE")
(8 . "0")
(10 -5.52064 -0.594459 0.0)
(11 -5.52064 -0.517821 0.0)
(210 0.0 0.0 1.0)))
(setq W:GONDOLA (Lastn 8))
(command "._chprop" W:SMOKE "" "_C" "7" "")
)
;;--------------------------------------------------------------------------;
;; MoveTrain
;
;;--------------------------------------------------------------------------;
(defun MoveTrain ()
;; move all of train with boxes
(repeat 36
(command "._move" W:TRAIN W:SMOKE W:MASK W:BOXES1 W:BOXES2
W:BOXES3 W:BOXES4 W:GONDOLA ""
PTS
(polar PTS 0 (* 0.25 DIST14)))
(delay 0.125)
)
;; start DROPPING box1 and box2
(repeat 5
(command "._move" W:TRAIN W:SMOKE W:MASK W:GONDOLA
W:BOXES2 W:BOXES3 W:BOXES4 ""
PTS
(setq W:PT1 (polar PTS 0 (* 0.25 DIST14))))
(command "._move" W:BOXES1 "" "@"
(strcat "@" (rtos (* 0.15 DIST14) 2 8) ",-0.01"))
(delay 0.125)
)
(repeat 5
(command "._move" W:TRAIN W:SMOKE W:MASK W:GONDOLA
W:BOXES3 W:BOXES4 ""
PTS
(setq W:PT1 (polar PTS 0 (* 0.25 DIST14))))
(command "._move" W:BOXES1 W:BOXES2 "" "@"
(strcat "@" (rtos (* 0.15 DIST14) 2 8) ",-0.01"))
(delay 0.125)
)
(repeat 5
(command "._move" W:TRAIN W:SMOKE W:MASK W:GONDOLA
W:BOXES4 ""
PTS
(setq W:PT1 (polar PTS 0 (* 0.25 DIST14))))
(command "._move" W:BOXES2 W:BOXES3 "" "@"
(strcat "@" (rtos (* 0.15 DIST14) 2 8) ",-0.01"))
(delay 0.125)
)
(repeat 5
(command "._move" W:TRAIN W:SMOKE W:MASK W:GONDOLA ""
PTS
(setq W:PT1 (polar PTS 0 (* 0.25 DIST14))))
(command "._move" W:BOXES3 W:BOXES4"" "@"
(strcat "@" (rtos (* 0.15 DIST14) 2 8) ",-0.01"))
(delay 0.125)
)
(repeat 5
(command "._move" W:TRAIN W:SMOKE W:MASK W:GONDOLA ""
PTS
(setq W:PT1 (polar PTS 0 (* 0.25 DIST14))))
(command "._move" W:BOXES4"" "@"
(strcat "@" (rtos (* 0.15 DIST14) 2 8) ",-0.01"))
(delay 0.125)
)
(setq W:PT1 '(-1.65625 -0.4297 0.0)
W:PT2 '(-1.65625 -0.4297 0.0)
W:PT3 '(-1.65625 -0.4297 0.0)
W:PT4 '(-1.65625 -0.4297 0.0))
(repeat 40
(command "._move" W:TRAIN W:SMOKE W:GONDOLA W:MASK ""
PTS
(polar PTS 0 (* 0.25 DIST14)))
(delay 0.125)
)
)
;;==========================================================================;
;; MAIN ROUTINE
;
;;==========================================================================;
(command "._undo" "GROUP")
(setq CMD (getvar "Cmdecho"))
(setvar "Cmdecho" 0)
(setq OLDSNAP (getvar "Osmode"))
(command "._ucsicon" "OFF")
(setvar "Osmode" 0)
(DrawTree)
(MakeText)
(MakeBalls)
(MoveBalls)
(ChangeText)
(FlashText)
(MakeTrain)
(MoveTrain)
(setvar "Cmdecho" 1)
(setvar "Osmode" OLDSNAP)
(setvar "Blipmode" 1)
(command "_undo" "END")
(princ)
)
(princ "\nC:XMASCARD ")

Forum Responses
(CAD Forum)
From contributor A:
Awesome lisp routine. I sent it to all my AutoCAD friends. Somebody put some serious thought into that one! Merry Christmas.



Would you like to add information to this article?
Interested in writing or submitting an article?
Have a question about this article?


Have you reviewed the related Knowledge Base areas below?
  • KnowledgeBase: Knowledge Base

  • KnowledgeBase: Computerization

  • KnowledgeBase: Computerization: CAD Computer Related Design


    Would you like to add information to this article? ... Click Here

    If you have a question regarding a Knowledge Base article, your best chance at uncovering an answer is to search the entire Knowledge Base for related articles or to post your question at the appropriate WOODWEB Forum. Before posting your message, be sure to
    review our Forum Guidelines.

    Questions entered in the Knowledge Base Article comment form will not generate responses! A list of WOODWEB Forums can be found at WOODWEB's Site Map.

    When you post your question at the Forum, be sure to include references to the Knowledge Base article that inspired your question. The more information you provide with your question, the better your chances are of receiving responses.

    Return to beginning of article.



    Refer a Friend || Read This Important Information || Site Map || Privacy Policy || Site User Agreement

    Letters, questions or comments? E-Mail us and let us know what you think. Be sure to review our Frequently Asked Questions page.

    Contact us to discuss advertising or to report problems with this site.

    To report a problem, send an e-mail to our Webmaster

    Copyright © 1996-2017 - WOODWEB ® Inc.
    All rights reserved. No part of this publication may be reproduced in any manner without permission of the Editor.
    Review WOODWEB's Copyright Policy.

    The editors, writers, and staff at WOODWEB try to promote safe practices. What is safe for one woodworker under certain conditions may not be safe for others in different circumstances. Readers should undertake the use of materials and methods discussed at WOODWEB after considerate evaluation, and at their own risk.

    WOODWEB, Inc.
    335 Bedell Road
    Montrose, PA 18801

    Contact WOODWEB











  • WOODWEB - the leading resource for professional woodworkers


      Home » Knowledge Base » Knowledge Base Article