明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1598|回复: 9

[讨论] acad r14 vba

[复制链接]
发表于 2003-5-17 09:49:00 | 显示全部楼层 |阅读模式
r14的vba中没有sendcommand这个命令
不知道大家是如何解决vba中调用lisp命令的?
发表于 2003-5-18 12:16:00 | 显示全部楼层

实用函数中有相关函数

http://www.mjtd.com/function/list.asp?id=366
发表于 2003-5-18 15:43:00 | 显示全部楼层

有问题阿!!

我在进行VBA编程时遇到了一问题:
在进行绘制弧的程序编写时:
     Dim cenpt AS Variant
     Dim centerpt() AS Variant
     Dim radius AS Double
     cenpt=centerpt(p1,p2,p3)
     radius=R
     set cenpt=ThisDrawing.Modelspace.AddArc(cenpt,radius)
但在运行时出错了,说是 centerpt 和 cenpt 的类型不符,这是怎么一回事阿??              
                      请帮帮忙!!!!!
                   时间紧阿!!!!
 楼主| 发表于 2003-5-19 08:45:00 | 显示全部楼层

函数和sendkeys一样,不是我需要的结果

代码可以使用,但是和sendkeys没有区别,我的想法是在vba的窗体中调用sendcommand,调用结束后返回,但是这个函数是在窗体关闭后再运行相关的lisp语句
 楼主| 发表于 2003-5-19 08:55:00 | 显示全部楼层

可能是我调试有问题,但是程序本身代码也有问题

程序调试通过后,我把成功的代码贴上来
发表于 2003-5-19 10:06:00 | 显示全部楼层

我们的软件是R14.01版本上开发的,

我们的软件是R14.01版本上开发的,可是我们一直没有这个,一直用R14来代替,而这个二次开发的软件许多的功能是用VBA开发的,这一部分功能就丢失了,我认为丢失的这部分才是精华.
  R14.01中文的市场上有,可我们的工作是对日的,要英文的才行,能帮帮我们公司吗?
 楼主| 发表于 2003-5-19 14:39:00 | 显示全部楼层

用mdt3.0

发表于 2003-5-19 19:35:00 | 显示全部楼层

你必须先隐藏窗体才能向ACAD发送命令

 楼主| 发表于 2003-5-20 00:50:00 | 显示全部楼层

隐藏窗体是肯定的,但是没有达到lisp命令完成后才返回vba,程序修改入内

可能你们没有装r14,所有下面的代码才能在r14下运行,有2处修改

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Const WM_COPYDATA = &H4A
  Type COPYDATASTRUCTURE
    dwData As Long
    cbData As Long
    lpData As String
  End Type

Public Sub SendCommand(CommandString As String)
    Dim udtData As COPYDATASTRUCTURE
    Dim lngHwnd As Long
    udtData.dwData = 1
    udtData.lpData = CommandString
    udtData.cbData = LenB(CommandString) + 2
    lngHwnd = FindWindow(vbNullString, ThisDrawing.Application.Caption)
    SendMessage lngHwnd, WM_COPYDATA, 0, udtData
End Sub
发表于 2003-5-21 17:55:00 | 显示全部楼层

看看以下文章试试

在调用一个交互式对话框之后生成VBA执行代码
http://www.mjtd.com/a2/list.asp?id=501
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 16:36 , Processed in 0.450314 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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