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. word2010忽然无法撤销
  2. Android handler Thread 修改UI Demo
  3. python在mac上运行不用装模块_MAC OSX使用Python安装mysql模块问题
  4. ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
  5. modelandview 可以返回html么_Python: 爬虫网页解析工具lxml.html(一)
  6. 阿里云部署Docker(5)----管理和公布您的镜像
  7. JavaScript之jQuery够用即可(each循环、位置偏移量和大小、克隆外层标签、嵌套返回顶部、集体绑定事件)
  8. C++---STL中迭代器失效的总结
  9. 《编写有效用例》阅读笔记04
  10. Swiper 在vue中的使用,loop=true获取真实index,数据更新刷新初始化swiper
  11. SpringClould之应用层鉴权Oauth2
  12. PuTTY免输密码自动登录Linux,让 Putty 保存密码,自动登陆的三种方法
  13. YUV 后面数字的含义_奔富红酒“Bin”后的数字,是什么意思?
  14. python 多线程 线程池的四种实现方式
  15. flymcu烧录stm32L151问题
  16. 15 JS运算符优先级
  17. express 验证码功能
  18. UltraISO使用和U盘安装原版系统指南
  19. callback 回调函数
  20. 社区发现算法原理与louvain源码解析

热门文章

  1. html文件导入奥维,如何使用关联点将CAD导入到奥维 | 奥维互动地图浏览器
  2. 计算机软件中地图数据分为,地理信息系统功能
  3. lvgl 说明3关于lvgl guider的使用
  4. 116.移除指定元素 removeSpecifyElement
  5. SIM APDU学习
  6. matlab的面积法,基于MATLAB的面积计算方法
  7. 一个令人赞不绝口的代码 Debug 神器
  8. 达梦两个表模糊查询_Excel财务记账管理套表,弹窗快捷录入,多维查询汇总,告别加班...
  9. 视图(view)|数据库
  10. 《热血传奇2》wix、wil文件解析Java实现