几何尺寸与公差论坛

 找回密码
 注册
查看: 953|回复: 0

【转帖】resize te

[复制链接]
发表于 2009-4-12 19:27:47 | 显示全部楼层 |阅读模式
resize text...
i need to resize extruded text in a part from a design table. the problem is that there doesn't seem to be a way to attach a dimension to text. can someone think of a way to do this with code?
i've attached a simple part as an example. the way it should work is that changing the height and width of the base extrusion should cause a change of the height of the extruded text. d2@sketch2 should drive the text height but it is totally disconnected in this case (just change the height of the base extrusion to verify this).
thanks,
-martin
just add a link values relation to the 2 dimensions d1@extrude1 and d2@extrude2. select both dimensions, right-click, link values
you misunderstood my problem. what you are suggesting does not link any one dimension to the height of the text. i need to parameterize text height.
-martin
ah right not the depth then i get you now.
you already have equations set up to work out the height of the text, just alter the equations to incorporate the extrude1's depth as a factor
i apologize, i have obviously failed to make my problem clear enough. i'm sorry. i'll try again:
i need to be able to control text height parametrically, preferably from a design table.
when you enter text into a sketch there is no such thing as a dimension on the sketch that determines the height of that text. in order to modify the height one has to use the font selection dialog and manually alter that value. as far as i can tell there is no way to "touch" text height from an equation.
i have a part (an injection molded emblem) that needs to be manufactured in various sizes. i can parameterize every feature of this emblem with the exception of text height. i can drive part dimensions, extrusion depths, etc. from a design table just fine. no such luck for text height. i really want to avoid having to manually edit text height every time a new size emblem is required. this is opening the door for errors.
anyhow, i thought that, just maybe, there's a way to use the api to create a link between a dimension somewhere on the same sketch that the text is on and the height of the corresponding text. can anyone help me with this?
thanks,
-martin
you cannot do it with a design table but in api what you need to do is get the sketchtext object and set its format, for example this will work on your part:
option explicit
dim swapp as sldworks.sldworks
dim swmodel as modeldoc2
dim selmgr as selectionmgr
dim text as sketchtext
dim format as textformat
sub main()
set swapp = application.sldworks
set swmodel = swapp.activedoc
set selmgr = swmodel.selectionmanager
swmodel.extension.selectbyid2 "sketch2", "sketch", 0, 0, 0, false, 0, nothing, 0
swmodel.editsketch
swmodel.extension.selectbyid2 "sketchtext1", "sketchtext", 0, 0, 0, false, 0, nothing, 0
set text = selmgr.getselectedobject6(1, -1)
set format = text.gettextformat
format.charheight = 1 ' set size you want based on dimensions here
text.settextformat false, format
swmodel.editrebuild3
end sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 23:29 , Processed in 0.035947 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表