Search the Community
Showing results for tags 'balloon'.
I've seen it done before, but it has been awhile. I have an assembly that I dropped another assembly in that has a few items I want to call out on the BOM and balloon them on the print. How do you expand the assembly in the BOM to do so?
I have a LISP that creates balloons simply for me, the problem is the LISP only makes balloons with a dot on the end. I have been playing about with it trying to make it have the option to put an arrow head on the end but can't work it out after trying for quite a while. The draughtsmen here have been using it since they started so I'm not sure if LISPs will be written the same way now as they were in '87! Any help would be great. Cheers. Here is the code; ;---------- BALLOON.LSP Simon Jones 24-8-87 ; Macro to simplify the construction of item-number labels. ; The size of the dot, text and balloon are based on the dimensioning ; variables. If DIMASZ is set to zero the dot is not drawn. If the ; current text style has a fixed height then that height is used to ; scale the balloon and its text. ; A null response to the first prompt ("From point: ") will terminate ; the command. ; Numeric text is incremented to aid itemising components of a drawing (defun C:BALLOON (/ a b c d h l r txt) ; a : Leader start ; b : Balloon centre ; c : Leader end point ; d : Dot diameter ; h : Text height ; r : Balloon radius ; Store and set system variables (setq ce (getvar "CMDECHO")) (setq bm (getvar "BLIPMODE")) (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) ; Set dot diameter to tenth of arrow head size (setq d (* (getvar "DIMSCALE") (getvar "DIMASZ") 0.3)) ; Check whether the current text style has a fixed height (setq ts (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE"))))) (if (zerop ts) ; Set balloon radius based on dimension text height (setq r (* (getvar "DIMSCALE") (getvar "DIMTXT") 1.85) h (* (getvar "DIMSCALE") (getvar "DIMTXT") 1.3) ) ; Set balloon radius based on current style text height (setq r (* ts 1.85)) ) ; Get start point (a null response will terminate function) (setq a (getpoint "\nFrom point: ")) (if a (progn ; Get balloon cntre disallowing null responses (initget 1) (setq b (getpoint a "\nBalloon centre: ")) (if (null oldtxt) (setq oldtxt "1")) (prompt (strcat "\nText <" oldtxt ">: ")) (setq txt (getstring)) (if (= txt "") (setq txt oldtxt)) (setvar "BLIPMODE" 0) ; Draw dot if DIMASZ is set (if (> d 0) (command "DONUT" "0" d a "")) ; Calculate point where leader crosses balloon (setq c (polar a (angle a b) (- (distance a b) r) ) ) ; Draw leader (command "LINE" a c "") ; Draw balloon (command "CIRCLE" b r) ; Draw text (checking against fixed text height) (if (zerop ts) (command "TEXT" "M" b h "0" txt) (command "TEXT" "M" b "0" txt) ) (setq oldtxt (itoa (1+ (atoi txt)))) ) ) ; Reset system variables (setvar "BLIPMODE" bm) (setvar "CMDECHO" ce) (princ) )