VB 对Solidworks进行二次开发,怎么编辑Solidworks录制的宏,然后再放入VB中?

我录制了一个画圆柱的宏,复制到commandbutton的click事件中,只能启动solidworks,却不能实现建模,请问怎么做?宏程序如下:DimswAppAsOb... 我录制了一个画圆柱的宏,复制到commandbutton的click事件中,只能启动solidworks,却不能实现建模,请问怎么做?
宏程序如下:
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2010\templates\零件.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "零件1", False, longstatus
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, 0.019126, 0.005847, 0#)
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
Part.ShowNamedView2 "*上下二等角轴测", 8
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.02, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)
Part.SelectionManager.EnableContourSelection = False
End Sub
我自己修改放入VB程序的是:
Private Sub Command1_Click()
Dim s As String
s = "C:\Program Files (x86)\SolidWorks Corp\SolidWorks\SLDWORKS.exe"
ShellExecute hwnd, "open", s, "", "", 0
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2010\templates\零件.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "零件1", False, longstatus
Set Part = swApp.ActiveDoc
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, 0.019126, 0.005847, 0#)
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
Part.ShowNamedView2 "*上下二等角轴测", 8
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.02, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)
Part.SelectionManager.EnableContourSelection = False
End Sub
运行VB,按下按钮,只能打开solidworks,却不能生成图。请问怎么修改?
展开
 我来答
慕佛一行僧
2011-06-24 · 超过13用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:32.1万
展开全部
试试这一个,我试过,可以的,如果还有问题的话,联系我

Dim swApp As SldWorks.SldWorks
Dim swPart As SldWorks.PartDoc
Dim boolstatus As Boolean
Dim warning As Long
Dim error As Long

Private Sub Command1_Click()

Set swApp = CreateObject("SldWorks.Application")
Set swPart = swApp.ActiveDoc
swApp.Visible = True
Set swPart = swApp.OpenDoc6("C:\Documents and Settings\All Users\Application Data\SolidWorks\SolidWorks 2010\templates\零件.prtdot", swDocPART, swOpenDocOptions_Silent, "", error, warning)

boolstatus = swPart.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
swPart.SketchManager.InsertSketch True
swPart.ClearSelection2 True
Dim skSegment As Object
Set skSegment = swPart.SketchManager.CreateCircle(0#, 0#, 0#, 0.034254, 0.010473, 0#)
swPart.ClearSelection2 True
swPart.SketchManager.InsertSketch True
swPart.ShowNamedView2 "*上下二等角轴测", 8
swPart.ClearSelection2 True
boolstatus = swPart.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = swPart.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.01, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)
swPart.SelectionManager.EnableContourSelection = False

End Sub
TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式