iCAx开思网

标题: [求助solidworks二次开发]关于InsertMoveCopyBody2 [打印本页]

作者: xawit    时间: 2006-3-21 16:30
标题: [求助solidworks二次开发]关于InsertMoveCopyBody2
我用sldworks宏录制了一段macro,大致操作是插入一个零件,然后零件沿y轴移动一定距离,录完宏然后执行,发现可以插入零件,但却没有移动到指定位置,也就是说InsertMoveCopyBody2所在的一行代码未执行,请那位大侠指点一下该怎么解决?

非常感谢~

附:

代码
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim Feature As Object

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set Feature = Part.InsertPart("F:\my documents\冲头一.SLDPRT", False, False, False)

Part.FeatureManager.InsertMoveCopyBody20 , 0.01, 0, 0, 0, 0, 0, 0, 0, 0, False, 1


End Sub
作者: iamyetom    时间: 2006-3-30 21:27
改成下面的试试,主要是运行InsertMoveCopyBody2前要有个选择语句,这样InsertMoveCopyBody2方法才知道要移动那一个对象。
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim Feature As Object

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set Feature = Part.InsertPart("F:\my documents\冲头一.SLDPRT", False, False, True)
boolstatus = Part.Extension.SelectByID("<冲头一>-<拉伸1>", "SOLIDBODY", 0, 0, 0, True, 1, Nothing)

Part.FeatureManager.InsertMoveCopyBody20 , 0.01, 0, 0, 0, 0, 0, 0, 0, 0, False, 0


End Sub
作者: xawit    时间: 2006-4-7 10:04
问题解决啦,谢谢~
确实是因为没选中实体,应该在插入零件以后,选择“移动/复制实体”,而不是修改插入实体的特征(这个在手工操作的时候是可以实现移动和复制的,但是录制宏来运行是不可以的)。




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3