在CorelDraw中绘图有时需要获取所绘曲线的长度和面积,但是CorelDraw中并没有CAD中那样方便的查看属性的工具,这里将介绍一种查看长度和面积的方法。
打开CorelDraw,新建文档绘制一个矩形、三角形、闭合的贝塞尔曲线,为后期测量距离和面积做准备。如下图。
按Alt+F11打开VBA编辑器,点击菜单中的“插入”下面的“模块”,在左侧上部的工程管理器中显示“模块1”。双击“模块1”,在右侧代码窗口中输入代码。
右侧代码窗口中拷贝如下代码:
Sub Test()
On Error Resume Next
ActiveDocument.Unit = cdrMillimeter
Dim sl As Shape, xSel As ShapeRange, m As Double, n As Double
Set xSel = ActiveSelectionRange
If ActiveSelectionRange.Count > 1 Or ActiveSelectionRange.Count = 0 Then
MsgBox "请先选中1条曲线。"
Exit Sub
End If
m = xSel.Shapes(1).Curve.Length
n = xSel.Shapes(1).Curve.Area
MsgBox "曲线长度L(mm):" & Format(m, "0.0000") & Chr(13) & "曲线面积S(mm2):" & Format(n, "0.0000")
End Sub
然后切换到CorelDraw绘图窗口,选中先前换的曲线,然后点击工具栏中的运行宏按钮,弹出窗口中选择“模块1.Test”,然后点击“运行”,出现结果。
该函数只能计算曲线的长度和面积,对矩形和三角形等对象无效,下面是测试结果,均显示长度面积为0.
那么要计算矩形和三角形和长度面积怎么办呢?需要先选中它们,如选中三角形,然后点击右键,选择“转化为曲线”(快捷键Alt+Q),然后再进行测量就可以了,如下图。