Entmake annotative texts with scales

Anonymous

Entmake annotative texts with scales

Anonymous
Not applicable

Hi everyone, as said in title, i want to entmake texts with annotative scales (one depending on current scale and two preset) but i cant find the way. I tryed creating it and then making it annotative and giving it those extra scales, but the size of the text was changed depending on what scale i had activated (so i was changing it to 1:100 every time i did that and worked that way).

Im entmaking a block with a polygon and attributes to export it to ArcGIS, and creating another with "COMMAND "_block"" including the polygon and all those texts (measures and names) cause they are going to be printed (pdf or paper, i dont know yet) 

0 Likes
Reply
879 Views
2 Replies
Replies (2)

tyler.youngZKNVG
Contributor
Contributor

opazojonatan,

 

Try this:

 

txt is the single string you supply

sty is the text style

pos is the position of the mtext object

hgt is the height of the text based on a (getvar "CANNOSACLE") value where in my case i divide whatever the CANNOSCALE value is by 2

ang is the angle of the mtext in radians

jus is the justification a value of 1-9

 

(defun makemtext (txt sty pos hgt ang jus)
(entmakex
(list
(cons 0 "MTEXT")
(cons 100 "AcDbEntity")
(cons 100 "AcDbMText")
(cons 1 txt)
(cons 7 sty)
(cons 10 pos)
(cons 40 hgt)
(cons 41 0.0)
(cons 50 ang)
(cons 71 jus)
);end list
);end entmake
(command "_change" (entlast) "" "P" "Anno" "Y" "")
);end defun makemtext

 

Regards,

Tyler Young

Anonymous
Not applicable

Thats what im doing now. I create the text in scale 1:1, that way it wont modify its size, and then use a (FOREACH i lst (COMMAND...)) where lst is a list of scale names to apply. But anyway im looking for a way to entmod those texts, because i build blocks with them and i cannot use (command "_change") with items inside blocks... Now im exploding the block, changing text scales then rebuilding the block with same name and attributes, it works well but i still want to know if its possible to do it with entmake/entmod...

 

Thanks!

0 Likes