乐筑天下

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

请在门口检查你的大脑

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-4-12 16:11:52 | 显示全部楼层 |阅读模式
我今天有一个巨大的大脑放屁。 我们今天在工作中发生了死亡,我似乎不能让我的大脑思考代码。 如果我使用Utility.GetPoint,我如何使用While或DoWhile继续选择积分直到零?
  1. Private Sub cmdLayoutLines_Click()
  2.       Me.Hide
  3.       Dim intBusSpacing As Integer, strLayer As AcadLayer, objLine As AcadLine
  4.       Set strLayer = ThisDrawing.Layers.Add("3d-Layout-Lines")
  5.       strLayer.color = 173
  6.       ThisDrawing.ActiveLayer = strLayer
  7.       With ThisDrawing.Utility
  8.             Dim pt1 As Variant, pt2 As Variant
  9.             pt1 = .GetPoint(, "Pick Starting Point: ")
  10.             pt2 = .GetPoint(pt1, "Pick Next Point: ")
  11.             ThisDrawing.ModelSpace.AddLine pt1, pt2
  12.             While pt2  Empty
  13.                   pt1 = pt2
  14.                   pt2 = .GetPoint(pt1, "Pick Next Point: ")
  15.                   ThisDrawing.ModelSpace.AddLine pt1, pt2
  16.             Wend
  17.       End With
  18.       Me.Show
  19. End Sub

这不起作用

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-12 16:13:38 | 显示全部楼层
出于某种奇怪的原因,在绘制第一行之后,Intellisense告诉我pt2=Empty,因此检查
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-12 16:18:44 | 显示全部楼层
好的,我正在进步
  1. Private Sub cmdLayoutLines_Click()
  2.       Me.Hide
  3.       Dim intBusSpacing As Integer, strLayer As AcadLayer, objLine As AcadLine
  4.       Set strLayer = ThisDrawing.Layers.Add("3d-Layout-Lines")
  5.       strLayer.color = 173
  6.       ThisDrawing.ActiveLayer = strLayer
  7.       With ThisDrawing.Utility
  8.             Dim pt1 As Variant, pt2 As Variant
  9.             pt1 = .GetPoint(, "Pick Starting Point: ")
  10.             pt2 = .GetPoint(pt1, "Pick Next Point: ")
  11.             ThisDrawing.ModelSpace.AddLine pt1, pt2
  12.             While Not pt2(0)
  13.                   pt1 = pt2
  14.                   pt2 = .GetPoint(pt1, "Pick Next Point: ")
  15.                   ThisDrawing.ModelSpace.AddLine pt1, pt2
  16.             Wend
  17.       End With
  18.       Me.Show
  19. End Sub

现在它保持拾取点,但在输入键时崩溃
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-12 16:23:16 | 显示全部楼层

哇!哇!哇!后退......死亡??!?什......?
这是我想出的...
  1. Private Sub cmdLayoutLines_Click()
  2.     Me.Hide
  3.     Dim intBusSpacing As Integer, strLayer As AcadLayer, objLine As AcadLine
  4.     Set strLayer = ThisDrawing.Layers.Add("3d-Layout-Lines")
  5.     strLayer.color = 173
  6.     ThisDrawing.ActiveLayer = strLayer
  7.    
  8.     On Error Resume Next
  9.     Do
  10.         With ThisDrawing.Utility
  11.             Dim pt1 As Variant, pt2 As Variant
  12.             pt1 = .GetPoint(, "Pick Starting Point: ")
  13.             pt2 = .GetPoint(pt1, "Pick Next Point: ")
  14.             ThisDrawing.ModelSpace.AddLine pt1, pt2
  15.             While Not pt2(0)
  16.                 pt1 = pt2
  17.                 If Err.Number  0 Then
  18.                     Exit Do
  19.                 Else
  20.                     pt2 = .GetPoint(pt1, "Pick Next Point: ")
  21.                     ThisDrawing.ModelSpace.AddLine pt1, pt2
  22.                 End If
  23.             Wend
  24.         End With
  25.     Loop
  26.     Me.Show
  27. End Sub

回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-12 16:40:07 | 显示全部楼层
谢谢马特,我来转一转
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-12 23:20:42 | 显示全部楼层
这是一种没有 On 错误恢复的方法,(我使用Randall的自动错误处理程序功能,所以它很快。Sub Lines()。
Dim Pt1, Pt2。
Dim Util as AcadUtility。
错误时 转到Err_Control。
Set Util = ThisDrawing.Utility。
    。
使用 Util。
Pt1 = .GetPoint(, “Pick Start Point: ”)。
做。
Pt2 = .GetPoint(Pt1, “Pick Next Point: ”)。
ThisDrawing.ModelSpace.AddLine Pt1, Pt2。
Pt1 = Pt2。
圈。
结尾为。

Exit_Here:。
退出子。
Err_Control:。
选择案例错误.编号。
案例-2147352567,-2145320928。
对象“IAcadUtility2”的方法'GetPoint'失败。
'用户输入是一个关键词。
错误.清除。
简历Exit_Here。
案例 其他。
MsgBox Err.Description。
错误.清除。
简历Exit_Here。
结束选择。
结束子kdub->formatting code=vb。
回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-4-15 11:10:33 | 显示全部楼层
布莱科,
亚达曼
我很喜欢你的代码。
问候,
Oleg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 13:47 , Processed in 0.673307 second(s), 67 queries .

© 2020-2025 乐筑天下

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