Jump to content

break circle at one point lisp doesn't work in 2012, anyone?


rkent

Recommended Posts

Any lisp gurus know why this won't work in ACAD2012?

Thanks.

 

;TIP918: CBRK.LSP ©1993, NOEL DE LA MERCED

 

; BREAKS A CIRCLE USING A SINGLE POINT.

; ERASES THE ORIGINAL CIRCLE AND DRAWS AN ARC

; THAT HAS THE SAME RADIUS AND CENTER POINT

; AS THE ORIGINAL CIRCLE.

; THIS COMMAND IS A QUICK AND EXCELLENT COMMAND

; FOR HATCHING A CERTAIN PORTION OF A CIRCLE,

; EXAMPLE: FOR GRAPHING.

 

(DEFUN C:CBRK (/ CMD AA OSN A C D B E F)

(SETQ CMD (GETVAR "CMDECHO"))

(SETVAR "CMDECHO" 0)

(SETQ OSN (GETVAR "OSMODE"))

(COMMAND "OSNAP" "NEAR")

(PROMPT "SELECT CIRCLE TO BREAK ")

(SETQ A (ENTSEL))

(SETQ C (ENTGET (CAR A)))

(SETQ D (CDR (ASSOC 10 C)))

(SETQ CIRC1 (CADR C))

(SETQ CIRC2 (CDR CIRC1))

(SETQ CIRC3 "CIRCLE")

(IF (= CIRC2 CIRC3)

(PROGN

(SETQ AA (GETVAR "UCSORG"))

(COMMAND "UCS" "")

(PROMPT "USE ONE OF THE OSNAP TO BREAK CIRCLE (DEFAULT = NONE) ")

(SETQ B (GETPOINT))

(COMMAND "ERASE" A "")

(COND

((> (CAR D) (CAR B))

(PROGN

(IF (> (CADR D) (CADR B))

(PROGN

(SETQ E (- (CAR B) 0.0000000001))

(SETQ F (+ (CADR B) 0.0000000001))

)

(PROGN

(SETQ E (+ (CAR B) 0.0000000001))

(SETQ F (+ (CADR B) 0.0000000001))

)

)

)

)

((

(PROGN

(IF (> (CADR D) (CADR B))

(PROGN

(SETQ E (- (CAR B) 0.0000000001))

(SETQ F (- (CADR B) 0.0000000001))

)

(PROGN

(SETQ E (+ (CAR B) 0.0000000001))

(SETQ F (- (CADR B) 0.0000000001))

)

)

))

((= (CAR D) (CAR B))

(PROGN

(IF (> (CADR D) (CADR B))

(PROGN

(SETQ E (- (CAR B) 0.0000000001))

(SETQ F (+ (CADR B) 0.0000000001))

)

(PROGN

(SETQ E (+ (CAR B) 0.0000000001))

(SETQ F (- (CADR B) 0.0000000001))

)

)

)

)

((= (CADR D) (CADR B))

(PROGN

(IF (> (CAR D) (CAR B))

(PROGN

(SETQ E (+ (CAR B) 0.0000000001))

(SETQ F (+ (CADR B) 0.0000000001))

)

(PROGN

(SETQ E (- (CAR B) 0.0000000001))

(SETQ F (- (CADR B) 0.0000000001))

)

)

)

)

 

)

(COMMAND "ARC" "C" (list (car D) (cadr D)) (list (car B) (cadr B)) (list E F))

);PROGN

(PROMPT "\nEntity selected is not a circle.")

);IF

(SETVAR "OSMODE" OSN)

(COMMAND "UCS" "O" AA)

(SETVAR "CMDECHO" CMD)

(PRINC)

); end cbrk.lsp

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...