;Draw wavy line
(defun c:wavy (/ DivideDistance EntList Blg Pt nPt cnt Dist)
(defun DivideDistance ( sPt ePt dist / Ang tempDist SpDist Amnt )
(setq Ang (angle sPt ePt))
(setq tempDist (distance sPt ePt))
(setq SpDist (/ tempDist (setq Amnt (fix (/ tempDist dist)))))
(setq Amnt (1+ Amnt))
(setq cnt (+ Amnt cnt))
(repeat Amnt
(setq EntList
(cons
(cons 42 (setq Blg (- Blg)))
(cons
(cons 41 0.)
(cons
(cons 40 0.)
(cons
(cons 10 (list (car sPt) (cadr sPt)))
EntList
)
)
)
)
)
(setq sPt (polar sPt Ang SpDist))
)
EntList
)
;-------------------------------------------------
(setq Dist 125)
(setq EntList
(list
(cons 90 2)
(cons 100 "AcDbPolyline")
(cons 100 "AcDbEntity")
(cons 0 "LWPOLYLINE")
)
)
(setq Blg 0.5)
(setq cnt 0)
(if (setq Pt (getpoint "\n Select first point: "))
(progn
(while (setq nPt (getpoint Pt "\n Select next point: "))
(setq EntList (DivideDistance Pt nPt (* Dist 1)))
(setq Pt nPt)
(setq cnt (1+ cnt))
)
(entmake (subst (cons 90 cnt) '(90 . 2) (reverse EntList)))
)
)
(princ)
)
;Draw wavy line
(defun c:wavy (/ DivideDistance EntList Blg Pt nPt cnt Dist)
(defun DivideDistance ( sPt ePt dist / Ang tempDist SpDist Amnt )
(setq Ang (angle sPt ePt))
(setq tempDist (distance sPt ePt))
(setq SpDist (/ tempDist (setq Amnt (fix (/ tempDist dist)))))
(setq Amnt (1+ Amnt))
(setq cnt (+ Amnt cnt))
(repeat Amnt
(setq EntList
(cons
(cons 42 (setq Blg (- Blg)))
(cons
(cons 41 0.)
(cons
(cons 40 0.)
(cons
(cons 10 (list (car sPt) (cadr sPt)))
EntList
)
)
)
)
)
(setq sPt (polar sPt Ang SpDist))
)
EntList
)
;-------------------------------------------------
(setq Dist 1.0)
(setq EntList
(list
(cons 90 2)
(cons 100 "AcDbPolyline")
(cons 100 "AcDbEntity")
(cons 0 "LWPOLYLINE")
)
)
(setq Blg 0.5)
(setq cnt 0)
(if (setq Pt (getpoint "\n Select first point: "))
(progn
(while (setq nPt (getpoint Pt "\n Select next point: "))
(setq Pt (trans Pt 1 (trans '(0.0 0.0 1.0) 1 0 t)))
(setq nPt (trans nPt 1 (trans '(0.0 0.0 1.0) 1 0 t)))
(setq EntList (DivideDistance Pt nPt (* Dist 1)))
(setq Pt (trans nPt (trans '(0.0 0.0 1.0) 1 0 t) 1))
(setq cnt (1+ cnt))
)
(setq EntList (cons (cons 38 (caddr Pt)) EntList))
(setq EntList (cons (cons 210 (trans '(0.0 0.0 1.0) 1 0 t)) EntList))
(entmake (subst (cons 90 cnt) '(90 . 2) (reverse EntList)))
)
)
(princ)
)