AutoCAD VBA文字自动对齐,代码如下。

Public Type TextWithPnt
Index As Long
TextObj As AcadText
PntIntX As Double
PntIntY As Double
PntLeftX As Double
PntMidX As Double
PntRigX As Double
End Type
Public OrgTexts() As TextWithPnt
Public Function CreateSSet(Optional SS As String = "mjtd") As AcadSelectionSet
On Error Resume Next
ThisDrawing.SelectionSets(SS).Delete
Set CreateSSet = ThisDrawing.SelectionSets.Add(SS)
End Function
Public Sub BuildFilter(typeArray, dataArray, ParamArray gCodes())
Dim fType() As Integer, fData()
Dim Index As Long, i As Long
Index = LBound(gCodes) - 1
For i = LBound(gCodes) To UBound(gCodes) Step 2
Index = Index + 1
ReDim Preserve fType(0 To Index)
ReDim Preserve fData(0 To Index)
fType(Index) = CInt(gCodes(i))
fData(Index) = gCodes(i + 1)
Next
End Sub
Public Function ssExtents(SS As AcadSelectionSet) As Variant
Dim Points(), C As Long
Dim Min As Variant, Max As Variant
Dim i As Long, j As Long
C = 0
For i = 0 To SS.count - 1
SS.Item(i).GetBoundingBox Min, Max
ReDim Preserve Points(0 To C + 1)
Points(C) = Min: Points(C + 1) = Max
C = C + 2
Next
ssExtents = Extents(Points)
End Function
Public Function Extents(Points)
Dim Min As Variant, Max As Variant
Dim i As Long, j As Long, Pt, RetVal(0 To 1)
Min = Points(LBound(Points))
Max = Points(LBound(Points))
For i = LBound(Points) To UBound(Points)
Pt = Points(i)
For j = LBound(Pt) To UBound(Pt)
If Pt(j) < Min(j) Then Min(j) = Pt(j)
If Pt(j) > Max(j) Then Max(j) = Pt(j)
Next
Next
RetVal(0) = Min: RetVal(1) = Max
Extents = RetVal
End Function

代码完。

AutoCAD VBA文字自动对齐操作相关推荐

  1. AutoCAD VBA面域操作

    AutoCAD VBA面域操作,和图案填充类似,代码如下. Public Function AddRegion(ByRef objList() As AcadEntity) As Variant On ...

  2. AutoCAD VBA选择集操作

    AutoCAD VBA选择集操作,示例代码如下. Public Sub Test() Dim pt1(0 To 2) As Double Dim pt2(0 To 2) As Double Dim p ...

  3. AutoCAD VBA简单文字操作

    AutoCAD VBA简单文字操作,包括几个简单的文字操作函数,代码如下. Public Function AddText(ByVal text As String, ByVal ptinsert A ...

  4. AutoCAD VBA单行文字转换为多行文字

    AutoCAD VBA单行文字转换为多行文字,多行文字便于编辑,代码如下. Public Sub TextToMtext() On Error Resume Next Dim ptInsert As ...

  5. Autocad VBA初级教程

    转载自CAD世界论坛普天同庆老师的作品.深表感谢!! Autocad VBA初级教程(第一课:入门) 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂.其实我转 ...

  6. AutoCAD VBA基于对象的分层

    AutoCAD VBA基于对象的分层,讲不同对象根据特性分层,代码如下. Dim Value As Variant Value = ThisDrawing.GetVariable("cmde ...

  7. AutoCAD VBA 离散高程点应用

    江苏省地质测绘院  姜法明 离散高程点应用很广,本文介绍AutoCAD VBA进行二资开发,利用离散高程点创建TIN三角形,进而绘制等高线.高程网格.地表曲面图的方法. 1.创建TIN三角形 1.1第 ...

  8. AutoCAD VBA 获取单个转角标注的相关数据。

    AutoCAD VBA 获取单个转角标注的相关数据.@TOC 菜鸟献丑了,请多指教! 这是一个在AutoCAD VBA中获取转角标注关键点数据的方法. DXF不会弄,只能用这个土方法.不是很标准规范, ...

  9. AutoCAD VBA对齐对象

    AutoCAD VBA对齐对象,代码如下. Sub AlignEnt() Dim ss As AcadSelectionSet Set ss = CreateSelectionSet ss.Selec ...

最新文章

  1. 防火墙 之 iptables 匹配条件讲解
  2. android 上下扫描动画,Android扫描雷达动画
  3. 创建一个dynamics 365 CRM online plugin (四) - PreValidation
  4. Win10 OneDrive无法同步文件怎么办?一个命令搞定
  5. 计算机开机和关机的音乐,电脑开关机音乐设置
  6. FCM——(Fuzzy C-means)模糊C均值算法
  7. 对云桌面、桌面云、私有云的一些看法
  8. 如何才能让你的网店生意好到爆?
  9. RabbitMQ的基础应用
  10. mv命令:移动、重命名文件或文件夹
  11. 中创算力|分布式维基百科新语言版本服务上线,IPFS助力Web3.0!
  12. css inherit
  13. python汇率转换代码_RMB汇率转换
  14. 查看附件html,附件查看器
  15. Apache Phoenix
  16. 如何让家用或公司ADSL宽带拥有国际顶级域名
  17. LGPL 与GPL的区别
  18. 推荐《Linux 多线程服务器端编程》
  19. thrift运行过程报错,多线程环境,docker环境
  20. jQuery炫丽星空3d旋转星空

热门文章

  1. 4篇Optane DC Persistent Memory Module 测试与评估报告
  2. 小红书微服务框架及治理等云原生业务架构演进案例
  3. python爬取流浪地球_python爬取《流浪地球》十万个短评得出以下结论
  4. 字节抖音短视频hr面
  5. jQuery each( ) 遍历 与 $.each( ) 遍历【一篇文章轻松拿下】
  6. Linux/AIX/Freebsd配置宁盾DKEY动态口令登录认证
  7. 【分享】网络安全系列丛书
  8. png格式怎么转换成jpg?
  9. 页面JS缓存问题解决方案
  10. 电子管晶体管集成电路简要介绍