home *** CD-ROM | disk | FTP | other *** search
- ;****** FA\TJ.LSP ****** 10-19-89 CD
- (if (= mmm "M") (setq mmms "\n !mmm=M,") (setq mmms "\n !mmm=MM,"))
- ;------------
- (defun C:TJ ( )
- (setvar "osmode" 0)
- (setq wcy 1)
- (while wcy
- (setq mode (getint "\n 1.tjx0/2.2dtj/3.3dtj
- <or RETRUN for none>:"))
- (if (= mode nil) (setq wcy nil))
- (if (= mode 1) (pl0))
- (if (= mode 2) (2dtj))
- (if (= mode 3) (3dtj))
- )
- )
- ;-----------
- (defun pl0 ( )
- (setq p1 (getpoint "Start point:"))
- (setq wxr 1 ss (ssadd))
- (while wxr
- (setq p2 (getpoint "\n next point <or RETRUN for continue>:" p1))
- (if p2
- (progn (command "pline" p1 p2 "")
- (setq ss (ssadd (entlast) ss)) (setq p1 p2))
- (setq wxr nil)
- )
- )
- (command "pedit" p1 "j" ss "" "")
- ; (setq ss (entlast))
- )
- ;-----------
- (defun 2dtj ( / n k)
- (setq nss (entsel "\n Select Polyline:"))
- ; (if nss (setq p1 (cadr nss)) (pl0))
- (if nss (setq p1 (cadr nss)))
- (setq n (getint "enter int n <5>:"))
- (if (null n) (setq n 5))
- (setq dl (getreal (strcat mmms "enter dl <300>:")))
- (if (null dl) (setq dl 300.0))
- (setq pt (getpoint "Side to offset?"))
- (setq k 1)
- (while (< k n)
- (command "offset" (* k dl) p1 pt "")
- (setq k (1+ k))
- )
- )
- ;-----------
- (defun 3dtj ( / n k)
- (setq ss (entsel "\n Select Polyline:"))
- ; (if ss (setq p1 (cadr ss)) (pl0))
- (if ss (setq p1 (cadr ss)))
- (setq n (getint "enter int n <5>:"))
- (if (null n) (setq n 5))
- (setq dl (getreal (strcat mmms "enter dl <300>:")))
- (if (null dl) (setq dl 300.0))
- (setq dh (getreal (strcat mmms "enter dh <150>:")))
- (if (null dh) (setq dh 150.0))
- (setq ss (entget (car ss)))
- ; (setq ss (subst (cons 39 dh) (assoc 39 ss) ss))
- (if (= (assoc 39 ss) nil) (setq ss (cons (cons 39 dh) ss))
- (setq ss (subst (cons 39 dh) (assoc 39 ss) ss)))
- (entmod ss)
- (setq pt (getpoint "Side to offset?"))
- (setq k 1)
- (while (< k n)
- (command "offset" (* k dl) p1 pt "")
- (command "move" "l" "" (list 0 0 (* k dh)) "")
- (setq k (1+ k))
- )
- )