乐筑天下

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

从VBA运行lisp命令并暂停

[复制链接]

4

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
20
发表于 2010-6-24 12:44:49 | 显示全部楼层 |阅读模式
我有一个lisp命令,我用它来插入块(动态或常规)
(C: BBREAK)它要求一行上的插入点,然后是块名称,然后如果它是动态块,可见性参数值是什么。然后它插入块并根据块中的属性值将行拆开。
对于具有可见性参数“NO”的动态块EB020.dwg,典型的宏用法如下所示
bust;\EB020; y; NO;
我的问题是我也想从VBA程序运行这个lisp程序。
我想我可以使用ThisDrawing.SendCommand但如何暂停用户输入行上的插入点。

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

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

使用道具 举报

1

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
9
发表于 2010-12-27 10:32:09 | 显示全部楼层

我的建议是在VB / VBA中重写整个LISP例程
但是,只需对LISP稍作修改,您就可以...在使用 SendCommand 之前捕获用户输入。 然后在 send 命令行中输入您的点数据,如下例所示。
  1.     Dim returnPnt(1) As Variant
  2.     returnPnt(0) = ThisDrawing.Utility.GetPoint(, "Enter StartPoint: ")
  3.     returnPnt(1) = ThisDrawing.Utility.GetPoint(, "Enter EndPoint: ")
  4.     ThisDrawing.SendCommand "line " & returnPnt(0)(0) & "," & returnPnt(0)(1) & "," & returnPnt(0)(2) & vbCr _
  5.         & returnPnt(1)(0) & "," & returnPnt(1)(1) & "," & returnPnt(1)(2) & vbCr & vbCr
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 03:51 , Processed in 1.795103 second(s), 56 queries .

© 2020-2025 乐筑天下

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