乐筑天下

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

如何获取选定维度的扩展

[复制链接]

34

主题

118

帖子

1

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
254
发表于 2006-8-10 04:05:57 | 显示全部楼层 |阅读模式
如何从选定标注中获取定义点X和Y的扩展
例如,
第一个扩展定义点:X=0.0000 Y=0.000 Z=0.万
第二个扩展定义点名:X=2.0000 Y=0.0000 Z=0.000
尺寸线定义点:X=2.000 Y=0.6359 Z=0.0000

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-8-10 04:15:30 | 显示全部楼层
您可以尝试DXF值,如下所示...
  1. ;;;------------------------------------------------------------------
  2. ;;;------------------------------------------------------------------
  3. ;;;
  4. (defun c:dxflist (/ eko)
  5.   (setq eko (getvar "cmdecho"))
  6.   (setvar "cmdecho" 0)
  7.   (setq *lent*
  8.          (entget
  9.            (car (entsel "\nSelect entity to display its DXF value data: ")
  10.            )
  11.            '("*")
  12.          )
  13.   )
  14.   (textscr)
  15.   (list *lent*)
  16.   (foreach n *lent* (print n))
  17.   (setvar "cmdecho" eko)
  18.   (princ)
  19. )
  20. ;;;------------------------------------------------------------------
  21. ;;;------------------------------------------------------------------
  22. ;;;

回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
254
发表于 2006-8-10 04:32:11 | 显示全部楼层
但是从vba怎么做呢?我知道您可以从对齐的尺寸中获得延伸定义点,但不能从旋转的尺寸中获得
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-8-10 04:38:57 | 显示全部楼层
抱歉,我没注意到这是在VBA论坛..
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-8-10 04:50:49 | 显示全部楼层

我相信旋转尺寸的点不会暴露给ActiveX。
编辑:
我认为旋转尺寸的点没有在ActiveX中显示。
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
254
发表于 2006-8-10 05:00:32 | 显示全部楼层
这是真的
,你是对的
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-8-10 10:17:47 | 显示全部楼层
Lisp是一种方式代码1]
和示例
  1. Public Function DimRotation(objDim As AcadDimension, varPick As Variant)
  2. 'code(10)=cross point rhs of text,arrow2
  3. 'code(11)= text insertpt
  4. 'code(13) =Dimstartpt-extendline1
  5. 'code(14) =DimEndpt-extendline2
  6.     Dim dblRot As Double
  7.     Dim dblStartToVarPickAng As Double, dblEndAng As Double
  8.     Dim dblEndToVarPickAng As Double
  9.     Dim StartPt, EndPt, arrow2Pt
  10.     Dim varTest As Variant, Ppt, X(1)
  11.     With ThisDrawing.Utility
  12.    
  13.         'dblRot = vbAssoc(objDim, 50)
  14.            
  15.         varTest = vbAssoc(objDim, 10)
  16.         arrow2Pt = ParseDxfPoint(varTest)
  17.            
  18.         varTest = vbAssoc(objDim, 13)
  19.         StartPt = ParseDxfPoint(varTest)
  20.    
  21.         varTest = vbAssoc(objDim, 14)
  22.         EndPt = ParseDxfPoint(varTest)
  23.         
  24.         dblEndAng = .AngleFromXAxis(EndPt, arrow2Pt)
  25.                
  26.         X(1) = dblEndAng - 0.5 * Pi
  27.         
  28.         Dim dblDist As Double
  29.         dblDist = objDim.ExtensionLineExtend * objDim.ScaleFactor
  30.         Ppt = .PolarPoint(arrow2Pt, dblEndAng, dblDist)
  31.         
  32.         dblStartToVarPickAng = .AngleFromXAxis(StartPt, varPick)
  33.         If dblStartToVarPickAng > (2 * Pi) - 0.001 Then
  34.             dblStartToVarPickAng = dblStartToVarPickAng - 2 * Pi
  35.         End If
  36.         
  37.         dblEndToVarPickAng = .AngleFromXAxis(EndPt, varPick)
  38.         If dblEndToVarPickAng > (2 * Pi) - 0.001 Then
  39.               dblEndToVarPickAng = dblEndToVarPickAng - 2 * Pi
  40.         End If
  41.       
  42.         If Abs(dblStartToVarPickAng - dblEndAng) _
  43.             < Abs(dblEndToVarPickAng - dblEndAng) Then
  44.             
  45.             dblRot = dblEndAng + 0.5 * Pi * isLeft(EndPt, arrow2Pt, StartPt) 'function
  46.             Ppt = .PolarPoint(Ppt, dblRot, objDim.Measurement)
  47.         End If
  48.         
  49.         X(0) = Ppt
  50.         DimRotation = X
  51.         
  52.     End With
  53. End Function
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 03:52 , Processed in 0.787702 second(s), 66 queries .

© 2020-2025 乐筑天下

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