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

iCAx开思网

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

[求助] 在使用VB调用SW时遇到一个问题

[复制链接]
跳转到指定楼层
1
发表于 2006-5-23 07:44:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Private Sub Command1_Click()
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Set swApp = CreateObject("sldworks.application")
swApp.UserControl = True
Set Part = swApp.NewDocument("D:\Program Files\SOLIDWORKS\data\templates\零件.prtdot", 0, 0#, 0#)
'Set Part = swApp.NewDocument("D:\Program Files\SolidWorks\lang\chinese-simplified\Tutorial\part.prtdot", 0, 0#, 0#)
'有一个问题,选用这个模板后,boolstatus = Part.Extension.SelectByID2 不能选择其他的基准平面,系统自动选择从“前视基准面”开始画草图,即"boolstatus = Part.Extension.SelectByID2("上视基准面", "PLANE", 0#, 0#, 0#, False, 0, Nothing, 0)"无效,执行后boolstatus的值为false

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("上视基准面", "PLANE", 0#, 0#, 0#, False, 0, Nothing, 0)
Part.InsertSketch2 True
Part.CreateCircleByRadius2 0, 0, 0, 0.01
End Sub


开始我以为是solidworks系统选项->默认模板->零件(P)设置问题
但不论我把零件(P)设成“D:\Program Files\SolidWorks\data\templates\零件.prtdot”或“D:\Program Files\SolidWorks\lang\chinese-simplified\Tutorial\part.prtdot”都出现前面提到的问题

选用Set Part = swApp.NewDocument("D:\Program Files\SolidWorks\data\templates\零件.prtdot", 0, 0#, 0#)语句
运行后,圆的草绘平面是“上视基准面”
而选用“D:\Program Files\SolidWorks\lang\chinese-simplified\Tutorial\part.prtdot”运行后,圆的草绘平面是“前视基准面”
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2006-5-23 10:02:42 | 只看该作者
试试这种语句,可能是基准面的名称不对
Private Sub Command1_Click()
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Set swApp = Application.SldWorks
Set Part = swApp.NewDocument("D:\Program Files\SolidWorks\lang\chinese-simplified\Tutorial\part.prtdot", 0, 0#, 0#)
boolstatus = Part.Extension.SelectByID2("上视", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.CreateCircleByRadius2 0, 0, 0, 0.01
Part.InsertSketch2 True
End Sub

[ 本帖最后由 pyczt 于 2006-5-23 10:29 编辑 ]
3
发表于 2006-5-23 13:01:34 | 只看该作者
很幸运与上你们,我用vb开发solidworks,怎么写程序在solidworks里打开一个已经做好的零件啊??
很着急,希望你们能帮帮我,先跪谢了!!
4
发表于 2006-5-23 13:39:29 | 只看该作者
原帖由 iamhappyflyer 于 2006-5-23 13:01 发表
很幸运与上你们,我用vb开发solidworks,怎么写程序在solidworks里打开一个已经做好的零件啊??
很着急,希望你们能帮帮我,先跪谢了!!



80后的年轻人啊,不要动不动就跪谢跪求!

录一下宏,就得到语句,不难啊

Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.OpenDoc6("E:\SW\counter\WENZHOU\WINDBOX.SLDPRT", 1, 0, "", longstatus, longwarnings)
'Set Part = swApp.ActivateDoc2("WINDBOX.SLDPRT", False, longstatus)
'swApp.ActiveDoc.ActiveView.FrameLeft = 0
'swApp.ActiveDoc.ActiveView.FrameTop = 0
'swApp.ActiveDoc.ActiveView.FrameState = 1
'swApp.ActiveDoc.ActiveView.FrameState = 1
'swApp.ActiveDoc.ActiveView.FrameState = 1
End Sub
5
发表于 2006-5-23 16:50:34 | 只看该作者
唉,想当年我的毕业论文就是这个课题
6
发表于 2006-5-23 22:46:53 | 只看该作者
好羞啊~~
真的很感谢,我问了很多人,都帮不上忙,千言万语不能表达我此刻的心情~~
就一句谢谢!!
有问题还会请教你的~~
7
发表于 2006-5-29 21:08:38 | 只看该作者
Sample TextSample Text

[size=-1]我的毕业设计就是利用solidworks建零件库 用vb作为开发语言,一点头绪没有,能不能指点一下,马上要交设计了,很着急,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-3-14 21:15 , Processed in 0.050707 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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