iCAx开思网

标题: sw开发自动建模 [打印本页]

作者: 黑暗贤者    时间: 2016-9-12 16:38
标题: sw开发自动建模
小弟初学开发,发现个问题发现如下代码运行和实际不符,主要为倒圆角的位置,请赐教
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.ActiveDoc
boolstatus = Part.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.SketchManager.InsertSketch True
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateCenterLine(0#, 0#, 0#, 0.1, 0#, 0#)
Part.ClearSelection2 True
Set skSegment = Part.SketchManager.CreateLine(0#, 0#, 0#, 0#, 30 / 2000 + 0.005, 0#)
Set skSegment = Part.SketchManager.CreateLine(0#, 30 / 2000 + 0.005, 0#, 0.004, 30 / 2000 + 0.005, 0#)
Set skSegment = Part.SketchManager.CreateLine(0.004, 30 / 2000 + 0.005, 0#, 0.004, 30 / 2000, 0#)
Set skSegment = Part.SketchManager.CreateLine(0.004, 30 / 2000, 0#, 69 / 1000, 30 / 2000, 0#)
Set skSegment = Part.SketchManager.CreateLine(69 / 1000, 30 / 2000, 0#, 69 / 1000, 0#, 0#)
Set skSegment = Part.SketchManager.CreateLine(69 / 1000, 0#, 0#, 0#, 0#, 0#)
Part.ClearSelection2 True

Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureRevolve2(True, True, False, False, False, False, 0, 0, 6.2831853071796, 0, False, False, 0.01, 0.01, 0, 0, 0, True, True, True)

boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.004, 0.015, 0, False, 0, Nothing, 0)
Set myFeature = Part.FeatureManager.FeatureFillet2(195, 0.003, 0, 0, 0, 0, 0)
End Sub

作者: 黑暗贤者    时间: 2016-9-12 16:58
没有人知道么???
作者: DaveChan    时间: 2016-9-13 09:53
倒圆角部分代码更改为
  1. Set myFeature = Part.FeatureManager.FeatureFillet(195, 0.003, 0, 0, 0, 0, 0)
复制代码



作者: 黑暗贤者    时间: 2016-9-13 09:58
改了,试了下,还是没反应,不知道问题出在哪里。。。。。。
作者: DaveChan    时间: 2016-9-13 10:01
黑暗贤者 发表于 2016-9-13 09:58
改了,试了下,还是没反应,不知道问题出在哪里。。。。。。

无反应,连错误信息都没有吗?
可否截图说明

作者: DaveChan    时间: 2016-9-13 10:07
黑暗贤者 发表于 2016-9-13 09:58
改了,试了下,还是没反应,不知道问题出在哪里。。。。。。

运行测试,无误[attach]1239092[/attach]

作者: 黑暗贤者    时间: 2016-9-13 10:32
可我要的不是位置不是那个地方的圆角,是圆柱与台阶处的圆角

作者: 黑暗贤者    时间: 2016-9-13 10:35
我是要倒这个地方的圆角,线条选择也是对的,但倒角的位置就是不对

作者: DaveChan    时间: 2016-9-13 10:56
本帖最后由 DaveChan 于 2016-9-13 11:05 编辑
黑暗贤者 发表于 2016-9-13 10:35
我是要倒这个地方的圆角,线条选择也是对的,但倒角的位置就是不对

在选择边线的前面加一句
  1. Part.ShowNamedView2 "*等轴测", 7
复制代码



作者: 黑暗贤者    时间: 2016-9-13 11:43
为什么需要这样?请指教
作者: DaveChan    时间: 2016-9-13 11:50
本帖最后由 DaveChan 于 2016-9-13 11:56 编辑
黑暗贤者 发表于 2016-9-13 11:43
为什么需要这样?请指教
具体情况不明,
作者: 黑暗贤者    时间: 2016-9-13 17:01
还有个问题请教下,如下,为什么我修改的标注尺寸和实际的不一样?我想改成15度,但是输入0.015改的却不是15度
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim skSegment As SldWorks.SketchSegment
Dim myDisplayDim As SldWorks.DisplayDimension
Dim myDimension As SldWorks.Dimension
Dim myFeature As SldWorks.Feature

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Application.SldWorks.SetUserPreferenceToggle(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.CreateCenterLine(0#, 0#, 0#, 0.2, 0#, 0#)

Set skSegment = Part.SketchManager.CreateLine(0#, 0#, 0#, 0, 0.02, 0#)
Set skSegment = Part.SketchManager.CreateLine(0#, 0.02, 0#, 0.046508, 0.038258, 0#)
Set skSegment = Part.SketchManager.CreateLine(0.046508, 0.038258, 0#, 0.158669, 0.038258, 0#)
Set skSegment = Part.SketchManager.CreateLine(0.158669, 0.038258, 0#, 0.180055, 0#, 0#)
Part.ClearSelection2 True

boolstatus = Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
Set myDisplayDim = Part.AddDimension2(-0.0005, 0.024, 0)
Part.ClearSelection2 True
Set myDimension = Part.Parameter("D1@草图1")
myDimension.SystemValue = 0.015
Part.ClearSelection2 True
end sub
作者: DaveChan    时间: 2016-9-17 10:26
黑暗贤者 发表于 2016-9-13 17:01
还有个问题请教下,如下,为什么我修改的标注尺寸和实际的不一样?我想改成15度,但是输入0.015改的却不是1 ...

0.015改成0.261799388
  1. myDimension.SystemValue = 0.261799388
复制代码
角度需要转换成弧度





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