乐筑天下

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

从VBA Begin Plot事件加载并运行LISP例程

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-8-17 12:52:16 | 显示全部楼层 |阅读模式
您好,如果我正在使用begin plot事件,并且我想在begin plot上加载并运行lisp例程,这可能吗
即:
[代码谢谢你,马克
回复

使用道具 举报

0

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2007-8-17 12:54:22 | 显示全部楼层
绝对可能。
回复

使用道具 举报

0

主题

12

帖子

3

银币

初来乍到

Rank: 1

铜币
12
发表于 2007-8-17 13:04:24 | 显示全部楼层
最好在Acad2中提前加载Lisp???文件。lsp具有以下内容:
  1. (load "c:/Path/LispRoutine")
然后将其放置在;本图纸;dvb部分:
  1. Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String)
  2.     ThisDrawing.SendCommand "(LispRoutine)" & vbCr
  3. End Sub
回复

使用道具 举报

0

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
11
发表于 2007-8-17 13:17:11 | 显示全部楼层

是的,我理解并意识到我可以做到,但我想;负载“;并从事件标记运行它
回复

使用道具 举报

0

主题

14

帖子

5

银币

初来乍到

Rank: 1

铜币
14
发表于 2007-8-17 13:23:53 | 显示全部楼层
好的,就这样做(已经测试过):
  1. Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String)
  2.     ThisDrawing.SendCommand "(load "c:/Path/LispRoutine")" & vbCr
  3.     ThisDrawing.SendCommand "(LispRoutine)" & vbCr
  4. End Sub
回复

使用道具 举报

0

主题

14

帖子

5

银币

初来乍到

Rank: 1

铜币
14
发表于 2007-8-17 15:16:16 | 显示全部楼层

这是一次很好的尝试,第一行仍然出错,所以我试了一下
  1. Private Sub ACADApp_BeginPlot(ByVal DrawingName As String)
  2. ThisDrawing.SendCommand Load("c:/custom/color2style") & vbCr     <-----
  3. ThisDrawing.SendCommand "(color2style)" & vbCr
  4. End Sub
有了这个,它没有出错,但事件也没有运行,我可能需要在模型空间中循环,因为它查找变量drawingname可能是这样的
你觉得怎么样
谢谢你,马克
  1. Private Sub ACADApp_BeginPlot(ByVal DrawingName As String)
  2. For each Drawingname in Thisdrawing.Modelspace
  3. ThisDrawing.SendCommand Load("c:/custom/color2style") & vbCr     <-----
  4. ThisDrawing.SendCommand "(color2style)" & vbCr
  5. Next Drawingname
  6. End Sub
回复

使用道具 举报

0

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
11
发表于 2007-8-18 09:46:29 | 显示全部楼层
所以你&#039;我们试图在绘图之前加载CTB/PC3?如果是这样,为什么不使用quickplot类型的功能,一个包含所有打印参数的按钮/命令,例如:
  1. ThisDrawing.SendCommand "-plot" & vbCr & "y" & vbCr & "Model" & vbCr
  2. & "Oce TDS600 3.x.pc3" & vbCr & "ARCH expand D (36.00 x 24.00 Inches)" & vbCr
  3. & "inches" & vbCr & "Landscape" & vbCr & "no" & vbCr & "extents" & vbCr & "fit"
  4. & vbCr & "Center" & vbCr & "yes" & vbCr & "comed36x24.ctb" & vbCr & "yes" & vbCr
  5. & "n" & vbCr & vbCr & vbCr & vbCr
当然,这不是#039;我没有真正回答你最初的问题,但它确实完成了工作(如果这是你需要做的)。
回复

使用道具 举报

0

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
9
发表于 2007-8-18 10:42:53 | 显示全部楼层
或者,为什么不将lisp转换为VBA
或者,搜索VLAX。CLS使在VBA中使用lisp变得相当容易
SendCommand的问题是A.)事件don&#039;t喜欢命令调用,&amp;B、 )不会与VBA应用程序同步处理。
回复

使用道具 举报

0

主题

10

帖子

6

银币

初来乍到

Rank: 1

铜币
11
发表于 2007-8-18 21:51:22 | 显示全部楼层

我喜欢学习,有时是;这很有趣
谢谢你,杰夫,
我刚才遇到过,但忘记了它的复杂性。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 10:46 , Processed in 0.866068 second(s), 70 queries .

© 2020-2025 乐筑天下

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