乐筑天下

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

[编程交流] VBA-多行文字属性“定义

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 21:41:12 | 显示全部楼层 |阅读模式
你好
 
我在从多行文字提取属性时遇到了一个问题。
如何使用VBA代码提取“定义高度”和“位置Y”?
正常的高度,宽度,文字我没有问题,但这两个我需要的,我找不到办法。
 
谁能帮我一点忙吗?
 
谢谢
 
回复

使用道具 举报

18

主题

118

帖子

101

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
89
发表于 2022-7-6 21:56:02 | 显示全部楼层
这里是代码
如果您有任何问题,请告诉我。
关于定义的高度,我不理解你的意思。使用上述代码,您将获得文本高度(请参阅MyHeight变量)
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:01:32 | 显示全部楼层
 
嗨,PeterPan9720,
我得到的位置。谢谢你!
定义的高度不是文字高度。
它指定多行文字的定义高度,即构成多行文字外部边界的框的高度。
我仍在试图找到一种方法来得到这个。。。
回复

使用道具 举报

18

主题

118

帖子

101

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
89
发表于 2022-7-6 22:19:23 | 显示全部楼层
好的,我明白了
我不确定,但你可以试试:
 
GetBoundingBox方法(ActiveX)
 
对象GetBoundingBox最小点,最大点
 
https://knowledge.autodesk.com/it/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2015/ITA/AutoCAD-ActiveX/files/GUID-A20C361C-BBF0-4EAB-8BE7-709154CEEE09-htm.html
 
方法应返回对象周围的边界框。
MinPoint、MaxPoint表示左下角、右上角的x、y、z坐标集。
回复

使用道具 举报

18

主题

118

帖子

101

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
89
发表于 2022-7-6 22:29:55 | 显示全部楼层
你好
出于好奇,我尝试了一个简单的DWG,其中包含两行多行文字和边界框
从上面的例程开始,在DWG上选择多行文字对象后,我添加了以下代码。
因此,如果您需要定义的高度,与上一个对象插入点相同,您可以仅检索MinPoint和MaxPoint的Y值,并计算从MinPoint和MaxPoint检索到的Y值之间的差。
-----
DWG搜索文本。GetBoundingBox最小点,最大点
设置Dline=ThisDrawing。模型空间。AddLine(MinPoint、MaxPoint)
            
MyXMaxPoint=最大点(0)
MyyMapPoint=最大点(1)
MyZMaxPoint=最大点(2)
            
MyXMinPoint=MinPoint(0)
myMinPoint=MinPoint(1)
MyZMinPoint=MinPoint(2)
            
差分Y=MyYMaxPoint-MyYMinPoint
DifferenceX=MyXMaxPoint-MyXMinPoint
------
从边界框坐标开始跟踪的直线具有多行文字框架的精确尺寸。
因此,如果你检查DifferenceX的值,它正好是跟踪的线的DX,等于多行文字定义的宽度,当然DifferenceY应该是定义的高度,即使你检查绘图上的属性,这是0,我不知道为什么。
 
见附图。
让我知道。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:36:49 | 显示全部楼层
你好,PeterPan9720,
你再一次拯救了这一天。
我现在可以得到我想要的一切。非常感谢你。
它在属性中为0,因为对于属性“Columns”=“Dynamic”,您在选项“手动高度”中选择了。如果将其更改为“自动高度”,它将显示正确的高度。
非常感谢。
回复

使用道具 举报

18

主题

118

帖子

101

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
89
发表于 2022-7-6 22:45:34 | 显示全部楼层
 
不客气,我不知道原因,因为定义的宽度和高度似乎无法从MTEXT VBA属性访问,但是我很高兴你解决了你的问题。同时,我发现了多行文字缺少的一些特征。
当做
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 14:44 , Processed in 0.426310 second(s), 66 queries .

© 2020-2025 乐筑天下

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