home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p047 / 4.ddi / PM / QX.LSP < prev   
Encoding:
Text File  |  1989-12-11  |  3.3 KB  |  103 lines

  1. ;****** PM\QX.LSP ****** 10-12-89
  2. (defun C:QX ( )
  3.   (setvar "osmode" 0)
  4.   (if (= mmm "M") (setq ss "\n !mmm=M,") (setq ss "\n !mmm=MM,"))
  5.   (prompt ss)
  6.   (setq mode 1)
  7.   (while mode
  8.     (setq mode (getint "\n 1.2pqx/2.fqx0/3.plqx0/4.plqx1/5.plqx2
  9.       6.pl0<or RETRUN for none>:"))
  10.     (if (= mode 1) (2pqx))
  11.     (if (= mode 2) (fqx0))
  12.     (if (= mode 3) (plqx0))
  13.     (if (= mode 4) (plqx1))
  14.     (if (= mode 5) (plqx2))
  15.     (if (= mode 6) (pl0))
  16.   )
  17. )
  18. ;-----------
  19. (defun 2pqx ( )
  20.   (setq p1 (getpoint "enter point p1:"))
  21.   (setq p2 (getpoint "enter point p2:"))
  22.   (setq af (angle p1 p2))
  23.   (command "pline" p1 p2 "")
  24.   (setq p2 (ssname (ssget p1) 0))
  25.   (setq d1 (getdist (strcat ss "enter d1 <120>:")))
  26.   (if (= d1 nil) (setq d1 120.0))
  27.   (setq d2 (getdist (strcat ss "enter d2 <240>:")))
  28.   (if (= d2 nil) (setq d2 240.0))
  29.   (command "copy" "l" "" p1 (polar p1 (+ af (* 0.5 pi)) d1))
  30.   (command "copy" "l" "" p1 (polar p1 (+ af (* -0.5 pi)) (+ d1 d2)))
  31.   (command "change" p2 "" "p" "ltype" "dashdot" "")
  32. )
  33. (defun fqx0 ( )
  34.   (setq p1 (getpoint "enter point p1:"))
  35.   (setq p2 (getpoint "enter point p2:"))
  36.   (command "pline" p1 "w" 0.0 0.0 (list (car p2) (cadr p1))
  37.     p2 (list (car p1) (cadr p2)) "c")
  38.   (setq p2 (ssname (ssget p1) 0))
  39.   (setq dd (getdist (strcat ss "enter dd <120>:")))
  40.   (if (= dd nil) (setq dd 120.0))
  41.   (setq pt (getpoint "Side to offset?"))
  42.   (command "offset" dd p1 pt "")
  43.   (entdel p2)
  44. )
  45. (defun plqx0 ( )
  46.   (command "osnap" "nea")
  47.   (setq ppp (entsel "Select polyline:"))
  48.   (setq p0 (cadr ppp) ppp (car ppp))
  49.   (setvar "osmode" 0)
  50.   (setq pp (cdr (assoc 0 (entget ppp))))
  51.   (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
  52.     (setq dd (getdist (strcat ss "enter dd <120>:")))
  53.     (if (= dd nil) (setq dd 120.0))
  54.     (setq pt (getpoint "Side to offset?"))
  55.     (command "offset" dd p0 pt "")
  56.     (entdel ppp)))
  57. )
  58. (defun plqx1 ( )
  59.   (command "osnap" "nea")
  60.   (setq ppp (entsel "Select polyline:"))
  61.   (setvar "osmode" 0)
  62.   (setq p0 (cadr ppp) ppp (car ppp))
  63.   (setq pp (cdr (assoc 0 (entget ppp))))
  64.   (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
  65.     (setq dd (getdist (strcat ss "enter d1 <240>:")))
  66.     (if (= dd nil) (setq dd 240.0))
  67.     (setq pt (getpoint "Side to offset?"))
  68.     (command "offset" dd p0 pt "")
  69.     (command "change" ppp "" "p" "ltype" "dashdot" "")))
  70. )
  71. (defun plqx2 ( )
  72.   (command "osnap" "nea")
  73.   (setq ppp (entsel "Select polyline:"))
  74.   (setvar "osmode" 0)
  75.   (setq p0 (cadr ppp) ppp (car ppp))
  76.   (setq pp (cdr (assoc 0 (entget ppp))))
  77.   (if (or (= pp "LINE") (= pp "POLYLINE")) (progn
  78.     (setq dd (getdist (strcat ss "enter d1 <240>:")))
  79.     (if (= dd nil) (setq dd 240.0))
  80.     (setq pt (getpoint "Side to offset?"))
  81.     (command "offset" dd p0 pt "")
  82.     (setq dd (getdist (strcat ss "enter d2 <120>:")))
  83.     (if (= dd nil) (setq dd 120.0))
  84.     (setq pt (getpoint "Side to offset?"))
  85.     (command "offset" dd p0 pt "")
  86. ;   (command "offset" dd ppp pt "")
  87.     (command "change" ppp "" "p" "ltype" "dashdot" "")))
  88. )
  89. ;-----------
  90. (defun pl0 ( )
  91.   (setq p1 (getpoint "Start point:"))
  92.   (setq wxr 1 pp (ssadd))
  93.   (while wxr
  94.     (setq p2 (getpoint "\n next point <or RETRUN for continue>:"))
  95.     (if p2
  96.       (progn (command "pline" p1 p2 "")
  97.         (setq pp (ssadd (entlast) pp)) (setq p1 p2))
  98.       (setq wxr nil)
  99.     )
  100.   )
  101.   (command "pedit" p1 "j" pp "" "")
  102. )
  103.