明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1623|回复: 2

[求助]关于“实现模块插入时后的预览和随鼠标移动“的修改

[复制链接]
发表于 2004-9-18 10:28:00 | 显示全部楼层 |阅读模式

Public Sub BlockInsert(Name As String)
'调用VLAX类实现在VBA下编写AutoLisp程序
'从而实现模块插入时后的预览和随鼠标移动

On Error Resume Next
Dim pLisp As String
Dim obj As VLAX
Dim pnt(2) As Double
Set obj = New VLAX
If BlockScale <= 0 Then BlockScale = 1
Set pobj = ThisDrawing.ModelSpace.InsertBlock(pnt, Name, BlockScale, BlockScale, BlockScale, 0)
obj.EvalLispExpression "(setq ed (entget (handent " & ToStr(pobj.Handle) & ")))"
pLisp = "(while (not (= (caddr " & _
"(setq pTime (grread t) " & _
"pSt (car pTime) " & _
"pnt (cond ((= pSt 3) (List 0 0 -1)) ((= pSt 5) (cadr pTime)) (t (List 0 0 1))))) -1)) " & _
"(setq ed (subst (cons 10 pnt) (assoc 10 ed) ed)) " & _
"(entmod ed) " & _
") "
obj.EvalLispExpression pLisp
pobj.Highlight (True)
Set obj = Nothing
End Sub
上代码拷贝与此网站,且运行正常
我想加上右键取消插入,怎么改?
我对Lisp一窍不通所以不会改

 楼主| 发表于 2004-9-19 09:20:00 | 显示全部楼层
为什么没人回答?
发表于 2004-9-19 11:36:00 | 显示全部楼层
Vlax不太稳定,建议将程序分成两部分,做块在VBA里,插入块在Lisp里
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 01:36 , Processed in 0.172367 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表