home *** CD-ROM | disk | FTP | other *** search
- ;****** PM\QX.LSP ****** 10-12-89
- (defun C:QX ( )
- (setvar "osmode" 0)
- (if (= mmm "M") (setq ss "\n !mmm=M,") (setq ss "\n !mmm=MM,"))
- (prompt ss)
- (setq mode 1)
- (while mode
- (setq mode (getint "\n 1.2pqx/2.fqx0/3.plqx0/4.plqx1/5.plqx2
- 6.pl0<or RETRUN for none>:"))
- (if (= mode 1) (2pqx))
- (if (= mode 2) (fqx0))
- (if (= mode 3) (plqx0))
- (if (= mode 4) (plqx1))
- (if (= mode 5) (plqx2))
- (if (= mode 6) (pl0))
- )
- )
- ;-----------
- (defun 2pqx ( )
- (setq p1 (getpoint "enter point p1:"))
- (setq p2 (getpoint "enter point p2:"))
- (setq af (angle p1 p2))
- (command "pline" p1 p2 "")
- (setq p2 (ssname (ssget p1) 0))
- (setq d1 (getdist (strcat ss "enter d1 <120>:")))
- (if (= d1 nil) (setq d1 120.0))
- (setq d2 (getdist (strcat ss "enter d2 <240>:")))
- (if (= d2 nil) (setq d2 240.0))
- (command "copy" "l" "" p1 (polar p1 (+ af (* 0.5 pi)) d1))
- (command "copy" "l" "" p1 (polar p1 (+ af (* -0.5 pi)) (+ d1 d2)))
- (command "change" p2 "" "p" "ltype" "dashdot" "")
- )
- (defun fqx0 ( )
- (setq p1 (getpoint "enter point p1:"))
- (setq p2 (getpoint "enter point p2:"))
- (command "pline" p1 "w" 0.0 0.0 (list (car p2) (cadr p1))
- p2 (list (car p1) (cadr p2)) "c")
- (setq p2 (ssname (ssget p1) 0))
- (setq dd (getdist (strcat ss "enter dd <120>:")))
- (if (= dd nil) (setq dd 120.0))
- (setq pt (getpoint "Side to offset?"))
- (command "offset" dd p1 pt "")
- (entdel p2)
- )
- (defun plqx0 ( )
- (command "osnap" "nea")
- (setq ppp (entsel "Select polyline:"))
- (setq p0 (cadr ppp) ppp (car ppp))
- (setvar "osmode" 0)
- (setq pp (cdr (assoc 0 (entget ppp))))
- (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
- (setq dd (getdist (strcat ss "enter dd <120>:")))
- (if (= dd nil) (setq dd 120.0))
- (setq pt (getpoint "Side to offset?"))
- (command "offset" dd p0 pt "")
- (entdel ppp)))
- )
- (defun plqx1 ( )
- (command "osnap" "nea")
- (setq ppp (entsel "Select polyline:"))
- (setvar "osmode" 0)
- (setq p0 (cadr ppp) ppp (car ppp))
- (setq pp (cdr (assoc 0 (entget ppp))))
- (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
- (setq dd (getdist (strcat ss "enter d1 <240>:")))
- (if (= dd nil) (setq dd 240.0))
- (setq pt (getpoint "Side to offset?"))
- (command "offset" dd p0 pt "")
- (command "change" ppp "" "p" "ltype" "dashdot" "")))
- )
- (defun plqx2 ( )
- (command "osnap" "nea")
- (setq ppp (entsel "Select polyline:"))
- (setvar "osmode" 0)
- (setq p0 (cadr ppp) ppp (car ppp))
- (setq pp (cdr (assoc 0 (entget ppp))))
- (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
- (setq dd (getdist (strcat ss "enter d1 <240>:")))
- (if (= dd nil) (setq dd 240.0))
- (setq pt (getpoint "Side to offset?"))
- (command "offset" dd p0 pt "")
- (setq dd (getdist (strcat ss "enter d2 <120>:")))
- (if (= dd nil) (setq dd 120.0))
- (setq pt (getpoint "Side to offset?"))
- (command "offset" dd p0 pt "")
- ; (command "offset" dd ppp pt "")
- (command "change" ppp "" "p" "ltype" "dashdot" "")))
- )
- ;-----------
- (defun pl0 ( )
- (setq p1 (getpoint "Start point:"))
- (setq wxr 1 pp (ssadd))
- (while wxr
- (setq p2 (getpoint "\n next point <or RETRUN for continue>:"))
- (if p2
- (progn (command "pline" p1 p2 "")
- (setq pp (ssadd (entlast) pp)) (setq p1 p2))
- (setq wxr nil)
- )
- )
- (command "pedit" p1 "j" pp "" "")
- )