本文主要讲LightweightPolyline ,即轻量多段线。
LightweightPolyline (每一顶点用2个元素表示,数组大小必须为2的倍数)对象, 而对比polyline(每一顶点用三个元素表示,数组大小必须为3的倍数) |
优化多段线(轻量多段线),由线和弧段组成的可调节宽度的二维线。
VBA 类名: | AcadLWPolyline |
---|---|
创建方法: | ModelSpace.AddLightweightPolyline |
访问途径: | ModelSpace.Item |
要创建优化多段线,可使用 AddLightweightPolyline 方法。要编辑或查询优化多段线,可使用以下方法和属性:
方法 AddVertex ArrayPolar ArrayRectangular Copy Delete Explode GetBoundingBox GetBulge GetExtensionDictionary GetWidth GetXData Highlight IntersectWith Mirror Mirror3D Move Offset Rotate Rotate3D ScaleEntity SetBulge SetWidth SetXData TransformBy Update | 属性 Application Area Closed ConstantWidth Coordinate Coordinates Document Elevation Handle HasExtensionDictionary Hyperlinks Layer Length Linetype LinetypeGeneration LinetypeScale Lineweight Normal ObjectID OwnerID PlotStyleName Thickness TrueColor Visible |
AddLightweightPolyline 方法 |
由顶点列表创建优化多段线。
参阅 | 示例
语法
RetVal = object.AddLightweightPolyline(VerticesList)
Object
ModelSpace 集合, PaperSpace 集合, Block
使用该方法的对象。
VerticesList
Variant[变体] (双精度数组)
指定多段线顶点的二维 OCS 坐标数组。至少需要两点(四个元素)以构成优化多段线。数组大小必须为2的倍数。
RetVal
LightweightPolyline 对象
新创建的 LightweightPolyline 对象。
说明
顶点是生成多段线的线段端点。要添加弧段,首先创建全部为直线段的多段线,然后为个别需要变为弧段的线段添加凸度。要为线段添加凸度值,可使用 SetBulge 方法。
多段线的标高将被设置为布局的当前标高。使用 ElevationModelspace 或 ElevationPaperspace 属性可确定多段线的标高。
坐标可使用 TranslateCoordinates 方法在OCS坐标与其它坐标系统相互转换。
代码如下:
Sub 二维轻量多段线LWpolyline设置凸度bulge()
Dim ent As AcadEntity
Dim ent1 As AcadObject
Dim pt As Variant
Dim points(0 To 9) As Double
' 定义二维多段线顶点
points(0) = 1: points(1) = 1
points(2) = 1: points(3) = 2
points(4) = 2: points(5) = 2
points(6) = 3: points(7) = 2
points(8) = 4
points(9) = 4
Dim a As AcadPoint
Dim VerticesList As Variant
'VerticesList = ThisDrawing.Utility.GetPoint(, "dian")
'VerticesList1 = ThisDrawing.Utility.GetPoint(, "dian")
Set plobj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
'Set plobj = ThisDrawing.ModelSpace.AddPolyline(points)
For Each ent In ThisDrawing.ModelSpace
ent.SetBulge 0, 0.5
Next
ThisDrawing.Regen acActiveViewport
Stop
End Sub
如图,已设置好弧度
由下图可知,该该线类型为多段线
为了对比,另附polyline(每一顶点用三个元素表示,数组大小必须为3的倍数)
Polyline 对象 |
多段线,可调整宽度的二维线,或不可调整宽度的由线和弧段组成的三维线或网络。
VBA 类名 | AcadPolyline |
---|---|
创建方法 | ModelSpace.AddPolyline |
访问途径 | ModelSpace.Item |
语法
RetVal = object.AddPolyline(VerticesList)
Object
ModelSpace 集合, PaperSpace 集合, Block
使用该方法的对象。
VerticesList
Variant[变体] (双精度数组); 仅用于输入
用于创建多段线顶点的OCS坐标数组。每一顶点用三个元素表示,前两个元素为OCS的X和Y坐标;而第三个元素为忽略。至少需要两点(六个元素)来构成一个多段线对象。该数组的大小必须为3的倍数。
RetVal
Polyline 对象
新创建的 Polyline 对象。