Jump to content

Recommended Posts

Posted

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.....

  • Replies 48
  • Created
  • Last Reply

Top Posters In This Topic

  • Rooster

    24

  • Lee Mac

    20

  • ronjonp

    3

  • fuccaro

    2

Top Posters In This Topic

Posted Images

Posted

Did you consider using Fields?

Posted

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

Posted

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))))

Posted

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.

Posted

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))))

Posted

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?

Posted

(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?

Posted
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 ;)

Posted

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]

Posted

fantastic - that's almost there. my only prob is that my text is overlapping the block. is it possible to offset the text easily?

Posted

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]

Posted

my text is only 0.2 high, but as you can see it overlaps with the block....

1.jpg

Posted

this is how i want it to look

2.jpg

Posted
...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.

Posted

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!

3.jpg

Posted

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 :)

Posted

just one thing though - it's now giving the number with just one decimal place. did you change this?

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...