乐筑天下

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

使用vba例程透明

[复制链接]

5

主题

10

帖子

2

银币

初来乍到

Rank: 1

铜币
30
发表于 2004-9-1 03:24:33 | 显示全部楼层 |阅读模式
我有这个小的vba例程来设置osnap值:
[code]
Sub SnapToggle(VarSnapType As Integer)
Dim VarOsmode As Integer
Dim VarAftrek As Integer
Dim VarOsmodeOrg As Integer
VarOsmode = ThisDrawing.GetVariable("osmode")
VarOsmodeOrg = ThisDrawing.GetVariable("osmode")
VarAftrek = 16384
While VarAftrek > VarSnapTyp
VarAftrek = VarAftrek / 2
If VarOsmode > VarAftrek Then VarOsmode = VarOsmode - VarAftrek
Wend
If VarOsmode = VarSnapType Then VarOsmodeOrg = VarOsmodeOrg - VarSnapType
If VarOsmode  VarSnapType
VarAftrek = VarAftrek / 2
If VarOsmode > VarAftrek Then VarOsmode = VarOsmode - VarAftrek
Wend
If VarOsmode = VarSnapType Then VarOsmodeOrg = VarOsmodeOrg - VarSnapType
If VarOsmode
回复

使用道具 举报

14

主题

194

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
250
发表于 2004-9-1 08:43:31 | 显示全部楼层
在查看代码后,我意识到发生了一些事情。
VBA SnapToggle 将在 lisp 完成之前触发,所以让我们这样做.....
将 TOS 程序更改为:
[代码 5]
现在让我们将 BeginLisp 更改为 this:
[代码 6]
,并将 SnapToggle 更改为 this:
  1. Sub SnapToggle( VarSnapType As Variant)
  2. Dim VarOsmode As Integer
  3. Dim VarAftrek As Integer
  4. Dim VarOsmodeOrg As Integer
  5. VarOsmode = ThisDrawing.GetVariable("osmode")
  6. VarOsmodeOrg = ThisDrawing.GetVariable("osmode")
  7. VarAftrek = 16384
  8. While VarAftrek > VarSnapType
  9. VarAftrek = VarAftrek / 2
  10. If VarOsmode > VarAftrek Then VarOsmode = VarOsmode - VarAftrek
  11. Wend
  12. If VarOsmode = VarSnapType Then VarOsmodeOrg = VarOsmodeOrg - VarSnapType
  13. If VarOsmode < VarSnapType Then VarOsmodeOrg = VarOsmodeOrg + VarSnapType
  14. ThisDrawing.SetVariable ("osmode"), VarOsmodeOrg
  15. End Sub
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 03:15 , Processed in 1.414498 second(s), 57 queries .

© 2020-2025 乐筑天下

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