求助:多线的SetBulge方法问题
lightweight polyline 对象的SetBulge方法用来给多线增加圆弧,比如先画一个矩形,然后调用SetBulge方法来将其中的两条线段转化为半圆弧,在2002中好用,但为什么同样的代码在2007中运行时就不起作用了呢?下面代码:poly_line.SetBulge 1, 1
你不贴全代码没有人能帮你,poly_line是不是有效的对象?是否试试UPDATE一下? 不好意思,昨天没有贴全代码.
Sub test_of_SetBulge(ByVal l As Double, ByVal w As Double) '2*l为矩形长度,2*W为宽度
Dim acadapp As Object
Dim insert_point As Variant
Dim insert_point_x As Double
Dim insert_point_y As Double
Dim poly_line As Object
Dim p(9) As Double
Set acadapp = GetObject(, "autocad.application")
insert_point = acadapp.ActiveDocument.Utility.GetPoint(, vbCr + "请在屏幕上指定插入点:") '矩形对角线交叉点
insert_point_x = insert_point(0)
insert_point_y = insert_point(1)
p(0) = insert_point_x + l - w: p(1) = insert_point_y + w
p(2) = insert_point_x - l + w: p(3) = insert_point_y + w
p(4) = insert_point_x - l + w: p(5) = insert_point_y - w
p(6) = insert_point_x + l - w: p(7) = insert_point_y - w
p(8) = insert_point_x + l - w: p(9) = insert_point_y + w
Set poly_line = acadapp.ActiveDocument.ModelSpace.AddLightWeightPolyline(p)
poly_line.SetBulge 1, 1
poly_line.SetBulge 3, 1
acadapp.Update
Set acadapp = Nothing
End Sub
Private Sub Command1_Click()
test_of_SetBulge 100, 40
End Sub
没有vb,但改成vba运行没问题,试试UPDATE对象
POLY_LINE.UPDATE
您的AutoCAD的版本是什么,上面的代码我没在VBA中试过.在VB中2007中只能画个矩形础来,没有圆弧,不知为什么,还请各位高手赐教 POLY_LINE.UPDATE
在VB6中,
在
poly_line.SetBulge 1, 1
poly_line.SetBulge 3, 1
语句后加上
POLY_LINE.UPDATE
仍然没有圆弧?请高手继续赐教.多谢.
你三楼的代码我一字没改,VB6在2008运行完全没问题。 感谢所有关注我的提问的高手.
我是在2007中运行的,运行结果就是一个矩形,我还没有装2008;不知道画包含圆弧的多线还有没有其它的办法.因为在开发绘图软件时,使用多线可以减少对象的数量.为以后的手工编辑工作提供便利.
页:
[1]