PDA

View Full Version : Annotative Break Mark Lisp


robinsonmd
2008-11-28, 10:35 PM
I have an existing lisp program we use to create a break mark from a given block. The lisp uses the dimscale variable to scale the block for the corresponding scale. I need someone who knows lisp better than I to recommend what changes are needed with the getvar variable such that this lisp will successfully use the cannoscalevalue instead of the dimscale as we are switching everything to annotative.

Thanks
59049

59050

lpseifert
2008-11-28, 11:01 PM
You might want to try replacing the instances of (getvar "dimscale") with (/ 1 (getvar "cannoscalevalue")) and see if that works for you.

robinsonmd
2008-11-29, 05:38 AM
I replaced the two references of dimscale in the lisp as noted and here are my results:

If I insert the symbol at 1'-0"=1'-0" (full scale) the break mark block is inserted into the symbol at 1/8" as expected, 6"=1'-0" 1/4", 3"=1'-0" 1/2" so far so good but starting with 1-1/2"=1'-0" it jumps the block to 8" and every scale after that is exponentially too large. Any ideas?

blybrook
2008-12-01, 07:34 PM
I created an annotative break mark block that is different then you call show, I've attached what I use. I then insert it at the current cannoscalevalue using a macro that calls the following lisp from my toolbar.


;BREAKL draws discontinuity line with jag scaled to paper space or
;model space scale.
(defun c:BREAKL (/ pt0 ANGP)
(setvar "cmdecho" 0)
(setq pt0 (getpoint "\n Break Line Center Point"))
(setq ANGP (getpoint pt0 "\n Symbol Angle"))
(vl-cmdf "-insert" "breakl" pt0 "1" "1" ANGP)
(setvar "cmdecho" 1)
(prin1)
)


It is an option to recreate the block as an annotative object, then insert it that way, as shown above.