Rooster Posted May 15, 2009 Posted May 15, 2009 I want to use something similar to the Locate Point command (the one that gives you the xyz of a point), and for the command to extract the y value and insert that value as text at the point clicked. Maybe to also insert a block at the same point too. Can anyone think of a LISP already existing that will do this, and if not might some kind soul be able to help me out with one?? Thanks. Hope I have explained myself properly..... Quote
fuccaro Posted May 15, 2009 Posted May 15, 2009 I just dag this old post for you: http://www.cadtutor.net/forum/showthread.php?t=1738 Does it help? Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 not sure that fields quite do what i want. i just want to click a point and then for some text appear with the y value of that point. just a one-click job Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 Maybe: (defun c:ty (/ pt) (while (setq pt (getpoint "\nSelect Point: ")) (Make_Text pt (rtos (cadr pt)) 0.0)) (princ)) (defun Make_Text (pt val rot) (entmake (list '(0 . "TEXT") (cons 8 (getvar "CLAYER")) (cons 10 pt) (cons 40 (getvar "TEXTSIZE")) (cons 1 val) (cons 50 rot) (cons 7 (getvar "TEXTSTYLE")) '(71 . 0) '(72 . 1) '(73 . 1) (cons 11 pt)))) Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 thanks leemac - that's looking v promising.... how can i control the placement & justification of the text? and also i'd like to limit the text to just 2 decimal places. Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 This should explain: (defun c:ty (/ pt) (while (setq pt (getpoint "\nSelect Point: ")) (Make_Text pt (rtos (cadr pt) 2 2) 0.0)) (princ)) (defun Make_Text (pt val rot) (entmake (list '(0 . "TEXT") (cons 8 (getvar "CLAYER")) (cons 10 pt) (cons 40 (getvar "TEXTSIZE")) (cons 1 val) (cons 50 rot) (cons 7 (getvar "TEXTSTYLE")) '(71 . 0) '(72 . 1) ; 0= left 1=center 2=right '(73 . 1) ; 0= baseline 1=bottom 2=middle 3=top (cons 11 pt)))) Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 thats excellent, thanks. sorry to be a pain, but how do I also control to text height & layer. also, the LISP you've written continues inserting text at each click - I just want to insert one at a time. can you end the command after one insert of text? lastly, then is it also possible to insert a block at the same point, all within the same command? Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 (defun c:ty (/ pt) (if (setq pt (getpoint "\nSelect Point: ")) (Make_Text pt (rtos (cadr pt) 2 2) 0.0)) (princ)) (defun Make_Text (pt val rot) (entmake (list '(0 . "TEXT") (cons 8 "0") ; <<-- Layer (String) (cons 10 pt) (cons 40 2.5) ; <<-- Text Height (Real) (cons 1 val) (cons 50 rot) (cons 7 (getvar "TEXTSTYLE")) '(71 . 0) '(72 . 1) ; 0= left 1=center 2=right '(73 . 1) ; 0= baseline 1=bottom 2=middle 3=top (cons 11 pt)))) Follow the comments for changing text layer/height. As for the block, what is the name of the block you want inserted? Also, how would you like the block to be positioned in relation to the text? Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 As for the block, what is the name of the block you want inserted? Also, how would you like the block to be positioned in relation to the text? block has no name yet - let's call it 'ept'. it will just be a simple inverted/upside-down triangle, with the text to be offset slightly to the left of it. really appreciate your help lee Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 This is more code than necessary, but has better error handling, and is faster than using a "command call". [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:ty [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] pt[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] pt [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#ff00ff]"\nSelect Point: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b]SetBlkTF [b][color=#ff00ff]"ept"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]8[/color][/b] . [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Block Layer (String)[/color][/i] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]2[/color][/b] . [b][color=#ff00ff]"ept"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] pt[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b]Make_Text pt [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] pt[b][color=RED])[/color][/b] [b][color=#009900]2[/color][/b] [b][color=#009900]2[/color][/b][b][color=RED])[/color][/b] [b][color=#009999]0.0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] Make_Text [b][color=RED]([/color][/b]pt val rot[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"TEXT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Layer (String)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] pt[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]40[/color][/b] [b][color=#009999]2.5[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Text Height (Real)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]1[/color][/b] val[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]50[/color][/b] rot[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]7[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"TEXTSTYLE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]71[/color][/b] . [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]72[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; 0=left 1=center 2=right[/color][/i] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]73[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; 0=baseline 1=bottom 2=middle 3=top[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]11[/color][/b] pt[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; FORCE BLOCK TABLE (David Bethel)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] SetBlkTF [b][color=RED]([/color][/b]n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]snvalid[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\nInvalid Block Name - "[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]exit[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]tblsearch[/color][/b] [b][color=#ff00ff]"BLOCK"[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]findfile[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] n [b][color=#ff00ff]".DWG"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]command[/color][/b] [b][color=#ff00ff]"_.INSERT"[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]command[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]T[/color][/b] [i][color=#990099]; If all else fails....[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"BLOCK"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]2[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]70[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"TEXT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"BLOCK PLACECARD - "[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]7[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#009900]2[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]tblnext[/color][/b] [b][color=#ff00ff]"STYLE"[/color][/b] [b][color=BLUE]T[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]11[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]40[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]max[/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"TEXTSIZE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]72[/color][/b] [b][color=#009900]4[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"ENDBLK"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] n[b][color=RED])[/color][/b] Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 fantastic - that's almost there. my only prob is that my text is overlapping the block. is it possible to offset the text easily? Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 I'm not quite sure how big you are having your text or how big your block is, so just alter the variable as marked to how you want it [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:ty [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] pt off[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] off [b][color=#009900]5[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Change to Offset Text (Real+)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] pt [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#ff00ff]"\nSelect Point: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b]SetBlkTF [b][color=#ff00ff]"ept"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]8[/color][/b] . [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Block Layer (String)[/color][/i] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]2[/color][/b] . [b][color=#ff00ff]"ept"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] pt[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b]Make_Text [b][color=RED]([/color][/b][b][color=BLUE]polar[/color][/b] pt [b][color=#009900]0[/color][/b] off[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] pt[b][color=RED])[/color][/b] [b][color=#009900]2[/color][/b] [b][color=#009900]2[/color][/b][b][color=RED])[/color][/b] [b][color=#009999]0.0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] Make_Text [b][color=RED]([/color][/b]pt val rot[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"TEXT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Layer (String)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] pt[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]40[/color][/b] [b][color=#009999]2.5[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; <<-- Text Height (Real)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]1[/color][/b] val[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]50[/color][/b] rot[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]7[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"TEXTSTYLE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]71[/color][/b] . [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]72[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; 0=left 1=center 2=right[/color][/i] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]73[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; 0=baseline 1=bottom 2=middle 3=top[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]11[/color][/b] pt[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [i][color=#990099]; FORCE BLOCK TABLE (David Bethel)[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] SetBlkTF [b][color=RED]([/color][/b]n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]snvalid[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\nInvalid Block Name - "[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]exit[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]tblsearch[/color][/b] [b][color=#ff00ff]"BLOCK"[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]findfile[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] n [b][color=#ff00ff]".DWG"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]command[/color][/b] [b][color=#ff00ff]"_.INSERT"[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]command[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]T[/color][/b] [i][color=#990099]; If all else fails....[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"BLOCK"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]2[/color][/b] n[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]70[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"TEXT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"BLOCK PLACECARD - "[/color][/b] n[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]7[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#009900]2[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]tblnext[/color][/b] [b][color=#ff00ff]"STYLE"[/color][/b] [b][color=BLUE]T[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]11[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]40[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]max[/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"TEXTSIZE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]72[/color][/b] [b][color=#009900]4[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entmake[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#ff00ff]"ENDBLK"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b] [b][color=#ff00ff]"0"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] n[b][color=RED])[/color][/b] Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 my text is only 0.2 high, but as you can see it overlaps with the block.... Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 ...with the text to be offset slightly to the left of it. (defun c:ty (/ pt off) (setq off 1.2) ; <<-- Change to Offset Text (Real+) (if (setq pt (getpoint "\nSelect Point: ")) (progn (SetBlkTF "ept") (entmake (list '(0 . "INSERT") '(8 . "0") ; <<-- Block Layer (String) '(2 . "ept") (cons 10 pt))) (Make_Text (polar pt 0 off) (rtos (cadr pt) 2 2) 0.0))) (princ)) (defun Make_Text (pt val rot) (entmake (list '(0 . "TEXT") (cons 8 "0") ; <<-- Layer (String) (cons 10 pt) (cons 40 2.5) ; <<-- Text Height (Real) (cons 1 val) (cons 50 rot) (cons 7 (getvar "TEXTSTYLE")) '(71 . 0) '(72 . 0) ; 0=left 1=center 2=right '(73 . 2) ; 0=baseline 1=bottom 2=middle 3=top (cons 11 pt)))) ; FORCE BLOCK TABLE (David Bethel) (defun SetBlkTF (n) (cond ((not (snvalid n)) (princ "\nInvalid Block Name - " n) (exit)) ((tblsearch "BLOCK" n)) ((findfile (strcat n ".DWG")) (command "_.INSERT" n) (command)) (T ; If all else fails.... (entmake (list (cons 0 "BLOCK") (cons 2 n) (cons 10 (list 0 0 0)) (cons 70 0))) (entmake (list (cons 0 "TEXT") (cons 1 (strcat "BLOCK PLACECARD - " n)) (cons 7 (cdr (assoc 2 (tblnext "STYLE" T)))) (cons 8 "0") (cons 10 (list 0 0 0)) (cons 11 (list 0 0 0)) (cons 40 (max 1 (getvar "TEXTSIZE"))) (cons 72 4))) (entmake (list (cons 0 "ENDBLK") (cons 8 "0"))))) n) Not sure where your block base point is, but try this. Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 ok - that gives me this (see jpg), so the text is now too far! my block's insert point is the tip of the triangle pointing downwards. And yes, sorry - i did mean text offset to the RIGHT of the block! doh! Quote
Lee Mac Posted May 15, 2009 Posted May 15, 2009 As I have said, you can alter the variables to change the offset: (defun c:ty (/ pt off) [b][color=Red] (setq hoff 0.2) ; <<-- Horizontal Offset (setq vOff 0.15) ; <<-- Vertical Offset[/color][/b] (if (setq pt (getpoint "\nSelect Point: ")) (progn (SetBlkTF "ept") (entmake (list '(0 . "INSERT") '(8 . "0") ; <<-- Block Layer (String) '(2 . "ept") (cons 10 pt))) (Make_Text (polar (polar pt (/ pi 2) vOff) 0 hoff) (rtos (cadr pt) 2 2) 0.0))) (princ)) (defun Make_Text (pt val rot) (entmake (list '(0 . "TEXT") (cons 8 "0") ; <<-- Layer (String) (cons 10 pt) (cons 40 2.5) ; <<-- Text Height (Real) (cons 1 val) (cons 50 rot) (cons 7 (getvar "TEXTSTYLE")) '(71 . 0) '(72 . 0) ; 0=left 1=center 2=right '(73 . 2) ; 0=baseline 1=bottom 2=middle 3=top (cons 11 pt)))) ; FORCE BLOCK TABLE (David Bethel) (defun SetBlkTF (n) (cond ((not (snvalid n)) (princ "\nInvalid Block Name - " n) (exit)) ((tblsearch "BLOCK" n)) ((findfile (strcat n ".DWG")) (command "_.INSERT" n) (command)) (T ; If all else fails.... (entmake (list (cons 0 "BLOCK") (cons 2 n) (cons 10 (list 0 0 0)) (cons 70 0))) (entmake (list (cons 0 "TEXT") (cons 1 (strcat "BLOCK PLACECARD - " n)) (cons 7 (cdr (assoc 2 (tblnext "STYLE" T)))) (cons 8 "0") (cons 10 (list 0 0 0)) (cons 11 (list 0 0 0)) (cons 40 (max 1 (getvar "TEXTSIZE"))) (cons 72 4))) (entmake (list (cons 0 "ENDBLK") (cons 8 "0"))))) n) I have added a vertical and horizontal, changes these until you have it where you want it Quote
Rooster Posted May 15, 2009 Author Posted May 15, 2009 just one thing though - it's now giving the number with just one decimal place. did you change this? Quote
Recommended Posts
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.