本帖最后由 u011802624 于 2013-09-01 09:30:34 编辑

解决方案 »

  1.   

    错误提示是对象变量或with变量未设置。就是红色的这部分出问题。是不是没配合上啊,但是不知道为什么?调试中set matefeature 这句返回nothing。
      

  2.   

    @Chen8013
    错误提示是对象变量或with变量未设置。就是红色的这部分出问题。是不是没配合上啊,但是不知道为什么?调试中set matefeature 这句返回nothing
      

  3.   

    那就是你红色语句之前的那一句:
    Set matefeature = swAssy.AddMate3(swMateCOINCIDENT, ............)
    未能成功执行,返回值为 Nothing 呀。
      

  4.   

    Set matefeature = swAssy.AddMate3
    添加没有成功,返回的应该是NothingSet matefeature = swAssy.AddMate3
    if not matefeature is nothing then'一般需要加人判断
    'do something
    end if
      

  5.   

    Set matefeature = swAssy.AddMate3(swMateCOINCIDENT, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, mateError)
    应该是参数有问题
    具体我感觉可以通过检查mateError值,确定错误原因
      

  6.   

    我知道问题在哪了,
    boolstat = swDocExt.SelectByID2(FirstSelection, "FACE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    boolstat = swDocExt.SelectByID2(SecondSelection, "FACE", 0, 0, 0, True, 1, Nothing, swSelectOptionDefault)
    中因为我前面用的是基准面所以不能用FACE,应该用PLAE这是solidworks中默认的。如果不是基准面才能用FACE
    大家以后可以注意一下。