乐筑天下

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

为什么会出错呢?请教

[复制链接]

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2005-5-24 22:52:00 | 显示全部楼层 |阅读模式

                               
登录/注册后可看大图

        为什么会出错呢?请教!
有以下一段代码        用来创建一个面域                : '定义点                         
                         Dim pt1(0 To 2) As Double
                         Dim pt3(0 To 2) As Double
                         Dim hpt1(0 To 2) As Double
                         Dim hpt3(0 To 2) As Double
                         Dim upt1 As Variant
                         Dim upt3 As Variant
                         Dim uhpt1 As Variant
                         Dim uhpt3 As Variant
                        '获得点的坐标
                       
                         pt1(0) = 0 - 1 / 2 * 100 * Val(Form1.MCbox1.Text) - 100 * Val(Form1.LPbox1.Text) -                 100 * Val(Form1.LTbox1.Text): pt1(1) = 0: pt1(2) = 0
                         hpt1(0) = 0 - 1 / 2 * 100 * Val(Form1.MCbox1.Text) - 100 * Val(Form1.LPbox1.Text) - 100 * Val(Form1.LTbox1.Text): hpt1(1) = r + t + r: hpt1(2) = 0
                         pt3(0) = 1 / 2 * 100 * Val(Form1.MCbox1.Text) + 100 * Val(Form1.RPbox1.Text) + 100 * Val(Form1.RTbox1.Text): pt3(1) = 0: pt3(2) = 0
                         hpt3(0) = 1 / 2 * 100 * Val(Form1.MCbox1.Text) + 100 * Val(Form1.RPbox1.Text) + 100 * Val(Form1.RTbox1.Text): hpt3(1) = r + t + r: hpt3(2) = 0
                         '将点pt1,pt3,hpt1,hpt3的坐标转换为世界坐标
                 upt2 = ThisDrawing.Utility.TranslateCoordinates(pt2, acUCS, acWorld, False)
                         upt4 = ThisDrawing.Utility.TranslateCoordinates(pt4, acUCS, acWorld, False)
                         upt1 = ThisDrawing.Utility.TranslateCoordinates(pt1, acUCS, acWorld, False)
                         upt3 = ThisDrawing.Utility.TranslateCoordinates(pt3, acUCS, acWorld, False)
                         uhpt1 = ThisDrawing.Utility.TranslateCoordinates(hpt1, acUCS, acWorld, False)
                         uhpt3 = ThisDrawing.Utility.TranslateCoordinates(hpt3, acUCS, acWorld, False)
                               
                                                       
                         '定义一组直线
                         Dim curs(0 To 3)         As AcadLine
                               
                                Set curs(0) = ThisDrawing.ModelSpace.AddLine(upt1, uhpt1)
                         curs(0).Layer = "0"
                         Set curs(1) = ThisDrawing.ModelSpace.AddLine(uhpt1, uhpt3)
                         curs(1).Layer = "0"
                         Set curs(2) = ThisDrawing.ModelSpace.AddLine(uhpt3, upt3)
                         curs(2).Layer = "0"
                         Set curs(3) = ThisDrawing.ModelSpace.AddLine(upt3, upt1)
                         curs(3).Layer = "0"
以下代码为:
                         根据以上衔接直线段创建一个面域         
                         Dim regionobj1 As Variant
                         Set regionobj1 = ThisDrawing.ModelSpace.AddRegion(curs)
                         regionobj1(0).Layer = "0"
可运行期间出现"运行时错误"的提示: 说是类型不[匹配,调试出现
->        Set regionobj1 = ThisDrawing.ModelSpace.AddRegion(curs)
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-5-24 23:19:00 | 显示全部楼层
不用Set,因为regionobj1不是对象,而是对象变体数组。
回复

使用道具 举报

14

主题

32

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2005-5-25 12:06:00 | 显示全部楼层
谢谢指点!
检查好多遍都没发现这个问题
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-3 09:13 , Processed in 1.132576 second(s), 58 queries .

© 2020-2025 乐筑天下

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