明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2852|回复: 8

求助:多线的SetBulge方法问题

[复制链接]
发表于 2007-9-2 21:19:00 | 显示全部楼层 |阅读模式

 lightweight polyline 对象的SetBulge方法用来给多线增加圆弧,比如先画一个矩形,然后调用SetBulge方法来将其中的两条线段转化为半圆弧,在2002中好用,但为什么同样的代码在2007中运行时就不起作用了呢?下面代码:

poly_line.SetBulge 1, 1                         

发表于 2007-9-3 14:50:00 | 显示全部楼层
你不贴全代码没有人能帮你,poly_line是不是有效的对象?是否试试UPDATE一下?
 楼主| 发表于 2007-9-3 21:43:00 | 显示全部楼层

我的代码

不好意思,昨天没有贴全代码.

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

发表于 2007-9-4 11:05:00 | 显示全部楼层

没有vb,但改成vba运行没问题,试试UPDATE对象

POLY_LINE.UPDATE

 楼主| 发表于 2007-9-4 21:15:00 | 显示全部楼层
您的AutoCAD的版本是什么,上面的代码我没在VBA中试过.在VB中2007中只能画个矩形础来,没有圆弧,不知为什么,还请各位高手赐教
发表于 2007-9-5 08:47:00 | 显示全部楼层

POLY_LINE.UPDATE

 楼主| 发表于 2007-9-12 22:44:00 | 显示全部楼层

在VB6中,

poly_line.SetBulge 1, 1
poly_line.SetBulge 3, 1

语句后加上

POLY_LINE.UPDATE

仍然没有圆弧?请高手继续赐教.多谢.

发表于 2007-9-13 21:51:00 | 显示全部楼层
你三楼的代码我一字没改,VB6在2008运行完全没问题。
 楼主| 发表于 2007-9-16 08:47:00 | 显示全部楼层

感谢所有关注我的提问的高手.

我是在2007中运行的,运行结果就是一个矩形,我还没有装2008;不知道画包含圆弧的多线还有没有其它的办法.因为在开发绘图软件时,使用多线可以减少对象的数量.为以后的手工编辑工作提供便利.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 14:28 , Processed in 0.162089 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表