明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1735|回复: 4

如何判断从图中取得的标注是水平的,还是竖向的

[复制链接]
发表于 2004-7-21 10:23:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2004-7-21 10:55:27 编辑

如何判断从图中取得的标注是水平的,竖向的,还是dimaligned?



他们的type of 都是acaddimenison


也没有objectname属性,


不知道那个属性可以判断出来?
发表于 2004-7-21 11:40:00 | 显示全部楼层
怎么会没有objectname属性,传个图看看
 楼主| 发表于 2004-7-21 13:46:00 | 显示全部楼层
lzh741206发表于2004-7-21 11:40:00怎么会没有objectname属性,传个图看看

有objectname属性的,我用下面的代码在监视窗口看水平和竖向标注的属性,里面没有显示有objectname属性,但用debug.print输出倒是可以的。水平和竖向标注的objectname属性都是AcDbRotatedDimension,他们的Rotation属性也都是0。 我在监视窗口中看不出水平和竖向标注哪个属性不同。 Sub test() Dim ent1 As Object, ent2 As Object
Dim p1
ThisDrawing.Utility.GetEntity ent1, p1
ThisDrawing.Utility.GetEntity ent2, p1
Dim dimobj1 As AcadDimRotated, dimobj2 As AcadDimRotated
Set dimobj1 = ent1
Set dimobj2 = ent2
Debug.Print dimobj1.Rotation
Debug.Print dimobj2.Rotation
Debug.Print dimobj1.ObjectName
Debug.Print dimobj2.ObjectName

End Sub
 楼主| 发表于 2004-7-26 09:18:00 | 显示全部楼层
不好意思,自己顶一下,望高手帮忙指点一下。
发表于 2004-7-26 11:07:00 | 显示全部楼层
Sub Test()
Dim pVlax As New VLAX
Dim pName As String
Dim pEntity As AcadEntity
Dim pBlock As AcadBlock
ThisDrawing.Utility.GetEntity pEntity, pnt
pVlax.NullifySymbol "blockname"
pVlax.EvalLispExpression "(setq blockname (cdr (assoc 2 (entget (handent """ & pEntity.Handle & """)))))"
pName = pVlax.GetLispSymbol("blockname")
pVlax.NullifySymbol "blockname"
Set pVlax = Nothing
Set pBlock = ThisDrawing.Blocks(pName)
For Each i In pBlock
If i.ObjectName = "AcDbMText" Then MsgBox i.Rotation : Exit For
Next i
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 02:30 , Processed in 0.152412 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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