Message 1 of 48
very important lisp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
hi guys,
in this lisp i should select two point which is the opposite corner of a rectangular but i want to simplify it to select only the rectangular and it will specify the opposite corners automatically
(PROMPT "\n THIS PROGRAM FOR SPRINKLER DISTRIBUTION ") (PROMPT "\n START COMMAND by : SSP:PENDENT SSU:UPRIGHT ") (DEFUN C:SSP () (SETVAR "CMDECHO" 0) (SETQ P1 (GETPOINT "\n ENTER FIRST POINT: ")) (SETQ P3 (GETPOINT "\n ENTER SECOND POINT: ")) (setq BB1 "M-FFSP-PE02-P") (setq x1 (car p1)) (setq y1 (car (cdr p1))) (setq x3 (car p3)) (setq y3 (car (cdr p3))) (setq p2 (list x1 y3)) (setq p4 (list x3 y1)) (setq disx (distance p1 p4)) (setq disy (distance p1 p2)) (setq disxx (abs (- x3 x1))) (setq disyy (abs (- y3 y1))) (SETQ NX (+ (fix (/ disxx 4600)) 1)) (SETQ XXN (/ disx (* NX 2))) (SETQ DS1 (* XXN 2)) (SETQ NY (+ (fix (/ disyy 4600)) 1)) (SETQ YYN (/ disy (* NY 2))) (SETQ DS2 (* YYN 2)) (setq xx1 (+ (car p1) XXN)) (setq yy1 (+ (car (cdr p1)) YYN)) (setq pp2 (list xx1 yy1)) (COMMAND "-layer" "m" "M-FIRE-SYMB-P" "c" "2" "" "") (COMMAND "INSERT" BB1 pp2 "" "" "") ;(COMMAND "ARRAY" "L" "" "R" NY NX DS2 DS1) (if (eq NX 1) (COMMAND "ARRAY" "L" "" "R" NY NX DS2)) (if (eq NY 1) (COMMAND "ARRAY" "L" "" "R" NY NX DS1)) (if (AND (/= NX 1) (/= NY 1))(COMMAND "ARRAY" "L" "" "R" NY NX DS2 DS1)) (PRIN1) (PRIN1) (PROMPT "\n") (PROMPT "\n CREATED by :") (PROMPT "\n ********* M.SAIED. ********* ") (PROMPT "\n MODIFIED by :") (PROMPT "\n ********* Saber Elkassas. ********* ") (PRINC) );DEFUN (DEFUN C:SSU () (SETVAR "CMDECHO" 0) (SETQ P1 (GETPOINT "\n ENTER FIRST POINT: ")) (SETQ P3 (GETPOINT "\n ENTER SECOND POINT: ")) (setq BB1 "M-FFSP-UP01-P") (setq x1 (car p1)) (setq y1 (car (cdr p1))) (setq x3 (car p3)) (setq y3 (car (cdr p3))) (setq p2 (list x1 y3)) (setq p4 (list x3 y1)) (setq disx (distance p1 p4)) (setq disy (distance p1 p2)) (setq disxx (abs (- x3 x1))) (setq disyy (abs (- y3 y1))) (SETQ NX (+ (fix (/ disxx 4600)) 1)) (SETQ XXN (/ disx (* NX 2))) (SETQ DS1 (* XXN 2)) (SETQ NY (+ (fix (/ disyy 4600)) 1)) (SETQ YYN (/ disy (* NY 2))) (SETQ DS2 (* YYN 2)) (setq xx1 (+ (car p1) XXN)) (setq yy1 (+ (car (cdr p1)) YYN)) (setq pp2 (list xx1 yy1)) (COMMAND "-layer" "m" "M-FIRE-SYMB-P" "c" "2" "" "") (COMMAND "INSERT" BB1 pp2 "" "" "") ;(COMMAND "ARRAY" "L" "" "R" NY NX DS2 DS1) (if (eq NX 1) (COMMAND "ARRAY" "L" "" "R" NY NX DS2)) (if (eq NY 1) (COMMAND "ARRAY" "L" "" "R" NY NX DS1)) (if (AND (/= NX 1) (/= NY 1))(COMMAND "ARRAY" "L" "" "R" NY NX DS2 DS1)) (PRIN1) (PRIN1) (PROMPT "\n") (PROMPT "\n CREATED by :") (PROMPT "\n ********* M.SAIED. ********* ") (PROMPT "\n MODIFIED by :") (PROMPT "\n ********* Saber Elkassas. ********* ") (PRINC) );DEFUN