|
楼主 |
发表于 2020-8-1 13:00
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
常用图形修改方法
1、偏移:Offset(距离)
偏移距离可以是正值或负值,但不能等于0。如果偏移为负值,这意味着将得到更“小”的曲线 (例如,一个圆以负值偏移后的得到的圆的半径将会比原对象半径小). 如果“小”没有意义,则AutoCAD将向小的X,Y,Z WCS坐标方向偏移。如果偏移距离无效,则返回错误。对于 LightweightPolyline 和 Polyline 对象,曲线有顺时针方向和逆时针方向,对于顺时针方向,距离值为正值时为向内偏移,距离值为负值时为向外偏移。对于逆时针时刚好相反。对于自相交的多段线的偏移方向需要自己慢慢实践了。
代码示例↓↓↓
- Sub OffsetPolyline()
- Dim doct As AcadDocument
- Set doct = doc
- If doct Is Nothing Then Exit Sub
- '创建多段线
- Dim pt(0 To 7) As Double
- pt(0) = 0: pt(1) = 0
- pt(2) = 100: pt(3) = 0
- pt(4) = 100: pt(5) = 200
- pt(6) = 0: pt(7) = 200
- Set plineObj = doct.ModelSpace.AddLightWeightPolyline(pt)
- plineObj.Closed = True
- ' 偏移多段线
- offsetObj = plineObj.Offset(50)
- End Sub
复制代码 代码中先画一个矩形多段线,然后利用Offset向外偏移50,注意偏移后返回的对象offsetObj变量,返回值是一个数组,而不是一个对象,因为对象经过
偏移后可能有多个图形。
2、镜像:Mirror(point1, point2),point1, point2为镜像轴所在的两点(一维三元素双精度类型数组)
代码示例↓↓↓
- Sub MirrorPolyline()
- Dim doct As AcadDocument
- Set doct = doc
- If doct Is Nothing Then Exit Sub
- '创建多段线
- Dim pt(0 To 7) As Double
- pt(0) = 0: pt(1) = 0
- pt(2) = 100: pt(3) = 0
- pt(4) = 100: pt(5) = 200
- Set plineObj = doct.ModelSpace.AddLightWeightPolyline(pt)
- plineObj.Closed = True
- ' 镜像多段线
- Dim point1(0 To 2) As Double '镜像轴第一点
- Dim point2(0 To 2) As Double '镜像轴第二点
- point1(0) = 0: point1(1) = 0: point1(2) = 0
- point2(0) = 0: point2(1) = 10: point2(2) = 0
- Set mirrorObj = plineObj.Mirror(point1, point2)
- End Sub
复制代码
代码中画了一个多段线三角形,利用Mirror方法镜像三角形。
3、移动:Move Point1, Point2 ,Point1是移动的基准点,Point2是移动第二点,该方法没有返回值
代码示例↓↓↓
- Sub MovePolyline()
- Dim doct As AcadDocument
- Set doct = doc
- If doct Is Nothing Then Exit Sub
- '创建多段线
- Dim pt(0 To 7) As Double
- pt(0) = 0: pt(1) = 0
- pt(2) = 100: pt(3) = 0
- pt(4) = 100: pt(5) = 200
- Set plineObj = doct.ModelSpace.AddLightWeightPolyline(pt)
- plineObj.Closed = True
- ' 移动多段线
- Dim point1(0 To 2) As Double '基准点
- Dim point2(0 To 2) As Double '移动第二点
- point1(0) = 0: point1(1) = 0: point1(2) = 0
- point2(0) = 100: point2(1) = 0: point2(2) = 0
- plineObj.Move point1, point2
- End Sub
复制代码 代码中画了一个多段线三角形,利用Move方法移动三角形。
|
评分
-
2
查看全部评分
-
|