AutoCAD VBA对齐对象
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对齐对象相关推荐
- AutoCAD VBA基于对象的分层
AutoCAD VBA基于对象的分层,讲不同对象根据特性分层,代码如下. Dim Value As Variant Value = ThisDrawing.GetVariable("cmde ...
- AutoCAD VBA 通过选择集 删除图层上所有对象和图层
AutoCAD VBA 通过选择集 删除图层上所有对象和图层 '删除图层上所有对象 Function DelAllInLayer(ByVal LName As String) 'On Erro ...
- AutoCAD VBA 离散高程点应用
江苏省地质测绘院 姜法明 离散高程点应用很广,本文介绍AutoCAD VBA进行二资开发,利用离散高程点创建TIN三角形,进而绘制等高线.高程网格.地表曲面图的方法. 1.创建TIN三角形 1.1第 ...
- Autocad VBA初级教程
转载自CAD世界论坛普天同庆老师的作品.深表感谢!! Autocad VBA初级教程(第一课:入门) 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂.其实我转 ...
- AutoCAD VBA简单文字操作
AutoCAD VBA简单文字操作,包括几个简单的文字操作函数,代码如下. Public Function AddText(ByVal text As String, ByVal ptinsert A ...
- 放大缩小保证div对齐_GraphPad Prism 绘图教程 | 如何在图表中对齐对象
自动捕捉 Prism默认会自动捕捉对象以使其与坐标轴或其他对象对齐. 例如,你可以在一个或一组条形图上拖动一个文本框,Prism将尝试对齐该文本框以使其与条形图的中心线对齐. Prism也可以将文本调 ...
- AutoCAD VBA单行文字转换为多行文字
AutoCAD VBA单行文字转换为多行文字,多行文字便于编辑,代码如下. Public Sub TextToMtext() On Error Resume Next Dim ptInsert As ...
- AutoCAD VBA enabler 2010-2017
官方说法是VBA6的发布授权已经结束,AutoDesk 只能继续发布AutoCAD 2014及以后的支持VBA7.1的版本. 搜了下,之前的虽然不公开,但是链接仍然能找到. AutoCad VBA 2 ...
- AutoCAD VBA文字自动对齐操作
AutoCAD VBA文字自动对齐,代码如下. Public Type TextWithPnt Index As Long TextObj As AcadText PntIntX As Double ...
最新文章
- vivo计算机的隐藏功能介绍,vivo手机有哪些隐藏功能?这6个功能实在太好用了,要悄悄用起来...
- 命令查看java的class字节码文件、verbose、synchronize、javac、javap
- so 问题来了,你现在值多少钱?
- Nagios监控系统详解
- Scheme N皇后
- 高德JS依赖分析工程及关键原理
- 倒计时_考研倒计时30天,拼了
- 第十二次课:Servlet实现用户管理
- 考研计算机专业课复试都有什么,2019计算机考研复试科目总结
- 单点登录cas常见问题(十四) - ST和TGT的过期策略是什么?
- Windows如何安装WSL(中途退出后遇到bug该怎么办)
- 干货满满 | 不容错过的数据科学入门数学指南
- python 运行不过去SyntaxError: Non-ASCII character '\xc2' in file
- 计算机电脑显卡基础知识,基础电脑显卡知识,你还不知道吗?别再被坑了!
- 老调重弹:JDBC系列 之 JDBC层次结构和基本构成
- 【计算机系统】如何在阿里云ECS服务器上定时执行Python脚本?
- 学术资源链接(英文论文、书籍等)
- 浅析网站seo优化原则
- oracle脚本导出数据文件
- 几种查找人工智能数据集的方法