乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 148|回复: 9

如何获取到一DBText文字的长度

[复制链接]

8

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
49
发表于 2011-2-10 17:24:00 | 显示全部楼层 |阅读模式
如何获取到一DBText文字的长度,有没有简单的方法啊?不用判断输入的是否是数字、汉字全角还是半角的
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2011-2-10 17:52:00 | 显示全部楼层
尺寸长度还是字节长度?
回复

使用道具 举报

8

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
49
发表于 2011-2-10 17:59:00 | 显示全部楼层
回复
我现在要做的就是要在AutoCad单行dbtext下画一条直线,直线看起来要和此dbtext具有相同长度,请问怎么做?
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2011-2-10 18:12:00 | 显示全部楼层

DBText实体有GeometricExtents属性(2006版以前是GeomExtents),即包围文本的矩形轮廓,注意若文本是斜摆的结果可能不是你想要的(Entity对象都有GeometricExtents属性)
另外注意这里说的是DBText,若是MText应该有问题,会麻烦些,其GeometricExtents属性应该是出错了,应该是个Bug
回复

使用道具 举报

8

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
49
发表于 2011-2-11 09:11:00 | 显示全部楼层
回复
怎么我用DBText实体中GeometricExtents属性求不出准确的文字长度啊,我用四个汉字和四个字母所得出的文字长度不一样,在字高是300的情况下四个汉字用此属性得出的长度是900,视觉效果比四个汉字短,四个字母所得出的是1100,视觉效果比四个字母长很多,而且所有的角度都设为了0,不知道是为什么会出现这样的效果?
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2011-2-11 09:37:00 | 显示全部楼层
有可能,你换一下字体看看会怎样?或者自己做一下增减,按理说应该不会差太大
回复

使用道具 举报

8

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
49
发表于 2011-2-11 09:48:00 | 显示全部楼层
回复
恩,按道理应该不会出现什么问题,但就是得不到想要的结果,纠结
回复

使用道具 举报

8

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
49
发表于 2011-2-11 09:50:00 | 显示全部楼层
回复
如果跟字体有关的话那也是很麻烦啊,系统中就是要用这种字体啊
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2011-2-11 10:56:00 | 显示全部楼层
看看文字的对齐点和对齐方式对轮廓尺寸是否有影响,用中间对齐看看尺寸会不会准确些。
要不试试将DBText炸开,用得到的曲线来计算轮廓尺寸?太疯狂了吧!呵呵,没试过。
回复

使用道具 举报

9

主题

100

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2011-2-12 10:33:00 | 显示全部楼层
还可以直接用Utils.GetTextExtents(styleid,textstring,textheight)得到一个二维点,点的X、Y应该分别代表DBTEXT的宽度和高度
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 12:42 , Processed in 3.273038 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表