AutoCAD VBA对齐对象,代码如下。

Sub AlignEnt()
Dim ss As AcadSelectionSet
Set ss = CreateSelectionSet
ss.SelectOnScreen
Dim ent As AcadEntity
Dim MinPoint As Variant
Dim MaxPoint As Variant
If ss.Count > 0 Then
Dim AlignMode As String
On Error Resume Next
ThisDrawing.Utility.InitializeUserInput 0, "Left Middle Right"
AlignMode = ThisDrawing.Utility.GetKeyword("选择对齐方式[左对齐(L)/对中(M)/右对齐(R)]<左对齐>:")
If Err Then AlignMode = "Left"
If AlignMode = "" Then AlignMode = "Left"
Dim AlignPoint As Variant
Dim MovePoint(2) As Double
AlignPoint = ThisDrawing.Utility.GetPoint(, "请选择对起点:")
For Each ent In ss
ent.GetBoundingBox MinPoint, MaxPoint
Select Case AlignMode
Case "Left"
MovePoint(0) = MinPoint(0)
MovePoint(1) = AlignPoint(2)
MovePoint(2) = MinPoint(2)
Case "Middle"
MovePoint(0) = (MinPoint(0) + MaxPoint(0)) / 2
MovePoint(1) = AlignPoint(1)
MovePoint(2) = MinPoint(2)
Case "Right"
MovePoint(0) = MaxPoint(0)
MovePoint(1) = AlignPoint(1)
MovePoint(2) = MaxPoint(2)
End Select
ent.Move MovePoint, AlignPoint
Update
Next
Else
ThisDrawing.Utility.Prompt vbCr & "未选定对象,自动退出……"
End If
End Sub
Public Function CreateSelectionSet(Optional ssName As String = "ss") As AcadSelectionSet
Dim ss As AcadSelectionSet
On Error Resume Next
Set ss = ThisDrawing.SelectionSets(ssName)
If Err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
ss.Clear
Set creatselectionset = ss
End Function

代码完。

运行时提示“对象变量或with块变量未设置”。

AutoCAD VBA对齐对象相关推荐

  1. AutoCAD VBA基于对象的分层

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

  2. AutoCAD VBA 通过选择集 删除图层上所有对象和图层

    AutoCAD VBA 通过选择集 删除图层上所有对象和图层 '删除图层上所有对象 Function DelAllInLayer(ByVal LName As String)     'On Erro ...

  3. AutoCAD VBA 离散高程点应用

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

  4. Autocad VBA初级教程

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

  5. AutoCAD VBA简单文字操作

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

  6. 放大缩小保证div对齐_GraphPad Prism 绘图教程 | 如何在图表中对齐对象

    自动捕捉 Prism默认会自动捕捉对象以使其与坐标轴或其他对象对齐. 例如,你可以在一个或一组条形图上拖动一个文本框,Prism将尝试对齐该文本框以使其与条形图的中心线对齐. Prism也可以将文本调 ...

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

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

  8. AutoCAD VBA enabler 2010-2017

    官方说法是VBA6的发布授权已经结束,AutoDesk 只能继续发布AutoCAD 2014及以后的支持VBA7.1的版本. 搜了下,之前的虽然不公开,但是链接仍然能找到. AutoCad VBA 2 ...

  9. AutoCAD VBA文字自动对齐操作

    AutoCAD VBA文字自动对齐,代码如下. Public Type TextWithPnt Index As Long TextObj As AcadText PntIntX As Double ...

最新文章

  1. vivo计算机的隐藏功能介绍,vivo手机有哪些隐藏功能?这6个功能实在太好用了,要悄悄用起来...
  2. 命令查看java的class字节码文件、verbose、synchronize、javac、javap
  3. so 问题来了,你现在值多少钱?
  4. Nagios监控系统详解
  5. Scheme N皇后
  6. 高德JS依赖分析工程及关键原理
  7. 倒计时_考研倒计时30天,拼了
  8. 第十二次课:Servlet实现用户管理
  9. 考研计算机专业课复试都有什么,2019计算机考研复试科目总结
  10. 单点登录cas常见问题(十四) - ST和TGT的过期策略是什么?
  11. Windows如何安装WSL(中途退出后遇到bug该怎么办)
  12. 干货满满 | 不容错过的数据科学入门数学指南
  13. python 运行不过去SyntaxError: Non-ASCII character '\xc2' in file
  14. 计算机电脑显卡基础知识,基础电脑显卡知识,你还不知道吗?别再被坑了!
  15. 老调重弹:JDBC系列 之 JDBC层次结构和基本构成
  16. 【计算机系统】如何在阿里云ECS服务器上定时执行Python脚本?
  17. 学术资源链接(英文论文、书籍等)
  18. 浅析网站seo优化原则
  19. oracle脚本导出数据文件
  20. 几种查找人工智能数据集的方法

热门文章

  1. 深入解析windows XP/2003:内核模式和用户模式
  2. 【NLP】哈工大|NLP数据增强方法?我有15种
  3. 【Python】用Pyecharts制作炫酷的可视化大屏
  4. 【时间序列】时序预测竞赛之异常检测算法综述
  5. 【NLP】使用Python可视化Word2vec的结果
  6. [PLM专题] 十分钟了解文本分类通用训练技巧
  7. pytorch基础知识整理(四) 模型
  8. CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向
  9. 用隐式反馈做推荐模型,你做对了吗
  10. JDK、Spring、Dubbo SPI 原理介绍