找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 22581|回复: 18
打印 上一主题 下一主题

[求助] 我的宏文件可以自动执行吗

[复制链接]
1
发表于 2015-5-17 18:03:22 | 显示全部楼层
让宏自动执行确实是个很有意思的问题。我也不知道如何仅仅依靠宏自己的功能,来实现宏的自动运行,但是,用 vb.net 制作的com加载项是可以在sw启动的时候自动加载的,因此,我们可以利用制作的这个加载项来调用sw的宏。经过我的试验,发现这个过程是比较简单的。
首先,安装位于SW的安装光盘目录下的 apisdk文件夹下 sdk,然后在 visual studio 2010 中就有了 swVBAddin 的模板,利用该模板新建个工程,然后在代码中搜索 SldWorks_DocumentLoadNotify2 这个函数,在该函数中加入两三行代码即可。
  1.     Function SldWorks_DocumentLoadNotify2(ByVal docTitle As String, ByVal docPath As String) As Integer

  2.         Dim boolstatus As Boolean
  3.         If docPath.EndsWith("SLDPRT") Then
  4.             boolstatus = iSwApp.RunMacro2("C:\Documents and Settings\gaowengang\My Documents\sw宏\macro2.swp", "macro21", "main", swRunMacroOption_e.swRunMacroUnloadAfterRun, swRunMacroError_e.swRunMacroError_CallFailed)
  5.         End If
  6.     End Function
复制代码


将这个工程编译,然后每当在SW中打开后缀名为“SLDPRT”的文件的时候,会自动调用 macro2.swp这个宏文件 里面的 macro21 模块下的 main 函数
(注:以上试验只是实现 了宏的自动调用,但是要实现楼猪的真正需求可能是非常困难的。)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-4-4 20:59 , Processed in 0.018804 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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