AutoCAD偏移问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 20:08:54
在一张AutoCAD的图里,有很多的“闭合多段线”组成的图形,都不是一样的。现要将它们全部内偏移0.1mm(就像一个圆的直径向内Offset0.1mm,减小0.1mm一样)。但由于数量很多,手动起来很啰嗦。就想着用VBA来写脚本来搞定它。但我实在不知道如何下手,这里就想请各位高人指点一下。

自己看帮助吧。
思路如下:
1、建立选择集
2、用过滤器选择所有多线段

3、遍历选择集中所有对象,如果属性是闭合,则调用偏移方法,偏移距离-0.1就可以了

Dim sstext As AcadSelectionSet
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Set ss = ThisDrawing.SelectionSets.Add("SS2")
FilterType(0) = 100
FilterData(0) = "AcDbPolyline"
ss.Select acSelectionSetAll ,,, FilterType, FilterData
dim obj as AcadLWPolyline
for each obj in ss
if obj.closed then obj.offset -0.1
next obj

点击工具栏‘移动’ > 光标呈方框状 > 选中图形 > 回车 > 光标呈十字状 > 左键点击即可移动(或填入数字 + 回车 = 直接移动)。