Message 1 of 11
Need help to solve an error in lisp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
in this code, if the routine is canceling or stopped due to invalid values, the Object snap is getting 0. any solution to set back the osnap to user_osmode in all situations?
(defun c:D2E ()
(setq user_osmode (getvar"osmode"))
(setvar "osmode" 512)
(prompt "\nPick Outer Side of Main Duct: ")
(setq en1: (entsel))
(prompt "\nPick Inner Side of Main Duct: ")
(setq en2: (entsel))
(menucmd "s=numb_n")(SETQ CFM:M (GETREAL "\nMAIN CFM"))(menucmd "s=")
(prompt "\nPick Inner Side of FIRST Branch Duct: ")
(setq en3: (entsel))
(prompt "\nPick Outer Side of FIRST Branch Duct: ")
(setq en4: (entsel))
(menucmd "s=numb_n")(SETQ CFM:B1 (GETREAL "\nCFM of BRANCH 1: "))(menucmd "s=")
(prompt "\nPick INNER Side of SECOND Branch Duct: ")
(setq en5: (entsel))
(prompt "\nPick OUTER Side of SECOND Branch Duct: ")
(setq en6: (entsel))
(SETQ CFM:B2 (- cfm:m cfm:b1))
(setvar "osmode" 0)
(M:ELBOW EN1: EN2: EN3: EN4: CFM:B1 NIL r_o_d:1)
(SETQ LP:1 EN1:PP LP:A EN2:PP A:A A:1)
(COMMAND "LINE" LP:1 (POLAR LP:1 A:A (- 1)) "") (SETQ EN?: (list (ENTLAST) LP:1))
(M:ELBOW EN1: EN?: EN5: EN6: CFM:M 1 r_o_d:2)
(SETQ LP:2 EN2:PP LP:B EN1:PP A:B A:1)
(SETQ 😧 (DISTANCE LP:1 LP:2)
)(IF (/= 😧 0)(PROGN
(IF (= (ANGTOS (ANGLE LP:1 LP:2) 0 0) (ANGTOS A:A 0 0))(COMMAND "PLINE" LP:1 (POLAR LP:A A:A D:) "")(COMMAND "PLINE" LP:1 (POLAR LP:B A:A D:) "")
)
)
)
(setvar "osmode" user_osmode)
)