乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 142|回复: 8

求助:多线的SetBulge方法问题

[复制链接]

10

主题

32

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 2007-9-2 21:19:00 | 显示全部楼层 |阅读模式
lightweight polyline 对象的SetBulge方法用来给多线增加圆弧,比如先画一个矩形,然后调用SetBulge方法来将其中的两条线段转化为半圆弧,在2002中好用,但为什么同样的代码在2007中运行时就不起作用了呢?下面代码:
poly_line.SetBulge 1, 1                          
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

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

使用道具 举报

10

主题

32

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 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
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-9-4 11:05:00 | 显示全部楼层
没有vb,但改成vba运行没问题,试试UPDATE对象
POLY_LINE.UPDATE
回复

使用道具 举报

10

主题

32

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-9-5 08:47:00 | 显示全部楼层
POLY_LINE.UPDATE
回复

使用道具 举报

10

主题

32

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 2007-9-12 22:44:00 | 显示全部楼层
在VB6中,

poly_line.SetBulge 1, 1
poly_line.SetBulge 3, 1
语句后加上
POLY_LINE.UPDATE
仍然没有圆弧?请高手继续赐教.多谢.
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

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

使用道具 举报

10

主题

32

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 2007-9-16 08:47:00 | 显示全部楼层
感谢所有关注我的提问的高手.
我是在2007中运行的,运行结果就是一个矩形,我还没有装2008;不知道画包含圆弧的多线还有没有其它的办法.因为在开发绘图软件时,使用多线可以减少对象的数量.为以后的手工编辑工作提供便利.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 01:40 , Processed in 0.577611 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表