SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 2321|回复: 7
打印 上一主题 下一主题

新手求助,用SelectByID2命令总是选错边线

  [复制链接]

15

主题

82

帖子

86

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
250
QQ
跳转到指定楼层
楼主
发表于 2017-2-28 14:31:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在做下图中橙色圆圈中倒角的程序时,所用的SelectByID2命令总是选不对正确的边线,原因出在哪里?又该如何解决?
求高手解答,谢谢!

下面是代码
    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:ProgramDataSOLIDWORKSSOLIDWORKS 2016templatesgb_part.prtdot", 0, 0, 0)
    swApp.ActivateDoc2 "零件4", False, longstatus
    Set Part = swApp.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    myModelView.FrameState = swWindowState_e.swWindowMaximized
    swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swInputDimValOnCreate, False
    boolstatus = Part.Extension.SelectByID2("右视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
    Part.SketchManager.InsertSketch True
    Dim skSegment As Object
    Set skSegment = Part.SketchManager.CreateCircle(-0#, 0#, 0#, -0.045, 0, 0#)
    Dim myDisplayDim As Object
    Set myDisplayDim = Part.AddDimension2(0, 0, 0.09)
    Dim myDimension As Object
    Set myDimension = Part.Parameter("D1@草图1")
    myDimension.SystemValue = 0.09
    Part.SketchManager.InsertSketch True
    boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 4, Nothing, 0)
    Dim myFeature As Object
    Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.41, 0.01, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False)
    Part.SelectionManager.EnableContourSelection = False
    Part.ViewZoomtofit2
    boolstatus = Part.Extension.SelectByID2("", "FACE", 0.41, 0, 0, False, 0, Nothing, 0)
    Part.SketchManager.InsertSketch True
    Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, -0.0475, 0, 0#)
    Set myDisplayDim = Part.AddDimension2(0.41, 0, 0.095)
    Set myDimension = Part.Parameter("D1@草图2")
    myDimension.SystemValue = 0.095
    Part.SketchManager.InsertSketch True
    Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.24, 0.41, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False)
    Part.SelectionManager.EnableContourSelection = False
    Part.ViewZoomtofit2
    '*******************************************************************************************************************************************************************************
    '总是不能选中正确的边线,命令中的那三个数值是边线上某一点的坐标
    boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.41, 0, 0.0475, True, 0, Nothing, 0)
    Set myFeature = Part.FeatureManager.InsertFeatureChamfer(4, 1, 0.001, 0.78539816339745, 0, 0, 0, 0)
    boolstatus = Part.DeSelectByID("倒角1", "BODYFEATURE", 0, 0, 0)
    boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.41, 0, 0.045, True, 1, Nothing, 0)
    '********************************************************************************************************************************************************************************
    Dim radiiArray3 As Variant
    Dim radiis3 As Double
    Dim dist2Array3 As Variant
    Dim dists23 As Double
    Dim conicRhosArray3 As Variant
    Dim coniRhos3 As Double
    Dim setBackArray3 As Variant
    Dim setBacks3 As Double
    Dim pointArray3 As Variant
    Dim points3 As Double
    Dim pointDist2Array3 As Variant
    Dim pointsDist23 As Double
    Dim pointRhoArray3 As Variant
    Dim pointsRhos3 As Double
    radiiArray3 = radiis3
    dist2Array3 = dists23
    conicRhosArray3 = coniRhos3
    setBackArray3 = setBacks3
    pointArray3 = points3
    pointDist2Array3 = pointsDist23
    pointRhoArray3 = pointsRhos3
    Set myFeature = Part.FeatureManager.FeatureFillet3(195, 0.001, 0.01, 0, 0, 0, 0, (radiiArray3), (dist2Array3), (conicRhosArray3), (setBackArray3), (pointArray3), (pointDist2Array3), (pointRhoArray3))
    swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swInputDimValOnCreate, True
    End Sub

复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

20

主题

87

帖子

115

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
300
QQ
沙发
发表于 2017-3-1 03:40:09 | 只看该作者
试一下在选边线之前,在零件中将零件的视角方向调整一下
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

14

主题

61

帖子

74

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
223
QQ
板凳
发表于 2017-3-1 07:53:21 | 只看该作者
嗯。放大并旋转视角是吧。那能告诉我,我这个地方哪里出了问题吗
SelectByID2应该是通过输入所选对象的类型,及其所具有的某一个对象(例如所选边线上的某一个点)的坐标位置来进行目标的选取吧?那在提供正确信息之后软件为何会选错?是不是我少设置了什么?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

191

帖子

42

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
445

最佳新人活跃会员热心会员宣传达人灌水之王

地板
发表于 2017-8-7 12:55:57 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

19

帖子

56

金币

天使

Rank: 2Rank: 2

积分
170

最佳新人宣传达人

5#
发表于 2022-11-19 20:26:55 | 只看该作者

   经典案例图书
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

19

帖子

56

金币

天使

Rank: 2Rank: 2

积分
170

最佳新人宣传达人

6#
发表于 2022-11-19 20:28:00 | 只看该作者
楼主辛苦了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

19

帖子

56

金币

天使

Rank: 2Rank: 2

积分
170

最佳新人宣传达人

7#
发表于 2022-11-19 20:33:13 | 只看该作者

   经典案例图书
好东西,努力学习学习!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

19

帖子

56

金币

天使

Rank: 2Rank: 2

积分
170

最佳新人宣传达人

8#
发表于 2022-11-19 20:33:40 | 只看该作者
楼主太有才了,膜拜中……
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-5-10 13:39 , Processed in 0.162241 second(s), 36 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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