Object snaps Turns off Automatically in after loading this lisp

Object snaps Turns off Automatically in after loading this lisp

Anonymous
Not applicable
1,130 Views
3 Replies
Message 1 of 4

Object snaps Turns off Automatically in after loading this lisp

Anonymous
Not applicable

Please find attached lisp to edit it.

i want to control osnap setting in this lisp.

 

Thanks

0 Likes
Accepted solutions (1)
1,131 Views
3 Replies
Replies (3)
Message 2 of 4

ВeekeeCZ
Consultant
Consultant

Try..

 

Spoiler
(defun c:sr2 ( / *error* oOSMODE)
  
  (defun *error* (errmsg)
    (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
      (princ (strcat "\nError: " errmsg)))
    (if oOSMODE (setvar 'osmode oOSMODE))
    (princ))
  
  (setvar "cmdecho" 0)
  
  (setq oOSMODE (getvar 'osmode))
  (setvar "osmode" 33)
  (PROMPT "\nTHIS PROGRAM IS EXECUTED BY ENG. SAMI SAYED REZK")
  (setq fname (getstring "\nEnter File Name To Be saved:  "))
  (setq fnum (getint "\nEnter Start First Number:  "))
  (setq txt (open fname "w"))
  (setq pt 1)
  (while pt
    (setvar "osmode" 33)
    (setq pt (getpoint "Select point: "))
    (command "osnap" "none")
    (if (/= pt nil) (setq pt1 (polar pt 0.2 0.0)))
    (if (/= pt nil) (command "text" pt1 "0.2" "100.0" fnum))
    (if (/= pt nil)
      (progn (setq nm (itoa fnum))
        (setq e (car pt))
        (setq n (cadr pt))
        (setq n2 (rtos n 2 3))
        (setq e2 (rtos e 2 3))(sp)
        (setq str (strcat nm n e2 nn n2))
        (write-line str txt)
        (setq fnum (+ 1 fnum))
        )
      )
    )
  (close txt)
  (setvar 'osmode oOSMODE)
  )


(defun c:num (/ *error* oOSMODE rand currnt ptlst )
  
  (defun *error* (errmsg)
    (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
      (princ (strcat "\nError: " errmsg)))
    (if oOSMODE (setvar 'osmode oOSMODE))
    (princ))
  
  (setq oOSMODE (getvar 'osmode))
  (setvar "cmdecho" 0)
  (command "osnap" "end")
  (setq rand T )
  (setq currnt (getint "\nEnter Start First Number:  "))
  (setq sc1 (getreal "\nEnter The Drawing Scale:   "))
  (setq sc (* 1.5 sc1))
  (while rand
    (setq rand (getpoint "\nSelect Points In Sequence:  "))
    (setq ptlst
           (append ptlst (list rand))))
  (mapcar '(lambda (rand) (if rand (progn (setq x (car rand))
                                     (setq y (cadr rand))
                                     (setq rand (list x   y ))
                                     (command "text" rand sc "0" currnt)
                                     (setq currnt (+ 1 currnt ))))) ptlst )(princ)(command "osnap" "none")
  (setvar 'osmode oOSMODE))



(defun sp ()
  (setq RNM (strlen nm))
  (setq RN  (strlen n2))
  (COND
    ((= RNM 1) (SETQ N (STRCAT "            ")))
    ((= RNM 2) (SETQ N (STRCAT "           " )))
    ((= RNM 3) (SETQ N (STRCAT "          " )))
    ((= RNM 4) (SETQ N (STRCAT "         " )))
    )
  (COND
    ((= RN 1) (SETQ NN (STRCAT "                   ")))
    ((= RN 2) (SETQ NN (STRCAT "                  " )))
    ((= RN 3) (SETQ NN (STRCAT "                 " )))
    ((= RN 4) (SETQ NN (STRCAT "                " )))
    ((= RN 5) (SETQ NN (STRCAT "               " )))
    ((= RN 6) (SETQ NN (STRCAT "              " )))
    ((= RN 7) (SETQ NN (STRCAT "             " )))
    ((= RN 8) (SETQ NN (STRCAT "            " )))
    ((= RN 9) (SETQ NN (STRCAT "           " )))
    ((= RN 10) (SETQ NN (STRCAT "          " )))
    ((= RN 11) (SETQ NN (STRCAT "         " )))
    ((= RN 12) (SETQ NN (STRCAT "        " )))
    ((= RN 13) (SETQ NN (STRCAT "       " )))
    ((= RN 14) (SETQ NN (STRCAT "      " )))
    )
  )


(defun num (s)
  (if (/= s "Function cancelled") (princ (strcat "\nError: " s)) )
  (setq S nil)
  (setvar "CMDECHO" ocmd)
  (setq *error* olderr)
  (princ)
  )
0 Likes
Message 3 of 4

Anonymous
Not applicable

Still Same issue.

0 Likes
Message 4 of 4

ВeekeeCZ
Consultant
Consultant
Accepted solution

I might be more specific about how to "control osnaps" next time...

Try...

 

Spoiler
(defun c:sr2 ( / *error* oOSMODE)
  
  (defun *error* (errmsg)
    (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
      (princ (strcat "\nError: " errmsg)))
    (if oOSMODE (setvar 'osmode oOSMODE))
    (princ))
  
  (setvar "cmdecho" 0)
  
  (setq oOSMODE (getvar 'osmode))
  ;(setvar "osmode" 33)
  (PROMPT "\nTHIS PROGRAM IS EXECUTED BY ENG. SAMI SAYED REZK")
  (setq fname (getstring "\nEnter File Name To Be saved:  "))
  (setq fnum (getint "\nEnter Start First Number:  "))
  (setq txt (open fname "w"))
  (setq pt 1)
  (while pt
    ;(setvar "osmode" 33)
    (setq pt (getpoint "Select point: "))
    ;(command "osnap" "none")
    (if (/= pt nil) (setq pt1 (polar pt 0.2 0.0)))
    (if (/= pt nil) (command "text" "_none" pt1 "0.2" "100.0" fnum))
    (if (/= pt nil)
      (progn (setq nm (itoa fnum))
        (setq e (car pt))
        (setq n (cadr pt))
        (setq n2 (rtos n 2 3))
        (setq e2 (rtos e 2 3))(sp)
        (setq str (strcat nm n e2 nn n2))
        (write-line str txt)
        (setq fnum (+ 1 fnum))
        )
      )
    )
  (close txt)
  (setvar 'osmode oOSMODE)
  )


(defun c:num (/ *error* oOSMODE rand currnt ptlst )
  
  (defun *error* (errmsg)
    (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))
      (princ (strcat "\nError: " errmsg)))
    (if oOSMODE (setvar 'osmode oOSMODE))
    (princ))
  
  (setq oOSMODE (getvar 'osmode))
  (setvar "cmdecho" 0)
  ;(command "osnap" "end")
  (setq rand T )
  (setq currnt (getint "\nEnter Start First Number:  "))
  (setq sc1 (getreal "\nEnter The Drawing Scale:   "))
  (setq sc (* 1.5 sc1))
  (while rand
    (setq rand (getpoint "\nSelect Points In Sequence:  "))
    (setq ptlst
           (append ptlst (list rand))))
  (mapcar '(lambda (rand) (if rand (progn (setq x (car rand))
                                     (setq y (cadr rand))
                                     (setq rand (list x   y ))
                                     (command "text" "_none" rand sc "0" currnt)
                                     (setq currnt (+ 1 currnt ))))) ptlst )(princ);(command "osnap" "none")
  (setvar 'osmode oOSMODE))



(defun sp ()
  (setq RNM (strlen nm))
  (setq RN  (strlen n2))
  (COND
    ((= RNM 1) (SETQ N (STRCAT "            ")))
    ((= RNM 2) (SETQ N (STRCAT "           " )))
    ((= RNM 3) (SETQ N (STRCAT "          " )))
    ((= RNM 4) (SETQ N (STRCAT "         " )))
    )
  (COND
    ((= RN 1) (SETQ NN (STRCAT "                   ")))
    ((= RN 2) (SETQ NN (STRCAT "                  " )))
    ((= RN 3) (SETQ NN (STRCAT "                 " )))
    ((= RN 4) (SETQ NN (STRCAT "                " )))
    ((= RN 5) (SETQ NN (STRCAT "               " )))
    ((= RN 6) (SETQ NN (STRCAT "              " )))
    ((= RN 7) (SETQ NN (STRCAT "             " )))
    ((= RN 8) (SETQ NN (STRCAT "            " )))
    ((= RN 9) (SETQ NN (STRCAT "           " )))
    ((= RN 10) (SETQ NN (STRCAT "          " )))
    ((= RN 11) (SETQ NN (STRCAT "         " )))
    ((= RN 12) (SETQ NN (STRCAT "        " )))
    ((= RN 13) (SETQ NN (STRCAT "       " )))
    ((= RN 14) (SETQ NN (STRCAT "      " )))
    )
  )


(defun num (s)
  (if (/= s "Function cancelled") (princ (strcat "\nError: " s)) )
  (setq S nil)
  (setvar "CMDECHO" ocmd)
  (setq *error* olderr)
  (princ)
  )

 

 

 

 

0 Likes