24小时热门版块排行榜    

查看: 1351  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

2457

铁虫 (小有名气)

[求助] SolidWorks二次开发编程出现问题 已有1人参与

刚刚接触Solidworks的二次开发,利用软件的宏命令编写程序,应该是一个圆柱矩阵的图形,代码如下:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Dim k As Single
Dim l As Single
Dim Dir1 As Single
Dim Dir2 As Single
    Set swApp = Application.SldWorks
    Set Part = swApp.NewPart
    Set Part = swApp.ActiveDoc
For k = 1 To 36
    l = k * 3.1416 / 18
If Sin(l) >= 0 Then
Dir1 = 0.1 * Sin(l)
Dir2 = 0.001
ElseIf Sin(l) < 0 Then
Dir1 = 0.001
Dir2 = -1 * Sin(l)
End If
Set skSegment = Part.SketchManager.CreateCircle(0.1 * Cos(1), 0.1 * Sin(l), 0#, 0.1 * Cos(l), 0.1 * Sin(l) + 0.005, 0#)
Set myFeature = Part.FeatureManager.FeatureExtrusion2(False, False, False, 0, 0, Dir1, Dir2, False, False, False, False, 1, 1, False, False, False, False, True, True, True, 0, 0, False)
Part.ShowNamedView2 "*上下二等角轴测", 8
Next k
End Sub
但是,执行命令出现的图形却是错误的,如图所示。请各位大神帮忙看看我是哪里错了,谢谢

SolidWorks二次开发编程出现问题
自己编程.png


SolidWorks二次开发编程出现问题-1
理论结果.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

2457

铁虫 (小有名气)

引用回帖:
5楼: Originally posted by arsasus at 2014-11-25 13:18:16
这句Dir2 = -1 * Sin(l),把1改成0.1,因为你上面是Dir1 = 0.1 * Sin(l)...

可不可以加一个您的QQ呢?我还有些地方不太懂。
7楼2014-11-26 09:42:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

arsasus

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
2457: 金币+5, ★★★★★最佳答案 2014-11-25 09:25:17
Set skSegment = Part.SketchManager.CreateCircle(0.1 * Cos(1), 0.1 * Sin(l), 0#, 0.1 * Cos(l), 0.1 * Sin(l) + 0.005, 0#)
这句圆心坐标中的0.1 * Cos(1)应该改为0.1*Cos(l)吧而不是1
2楼2014-11-24 13:23:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

2457

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by arsasus at 2014-11-24 13:23:10
Set skSegment = Part.SketchManager.CreateCircle(0.1 * Cos(1), 0.1 * Sin(l), 0#, 0.1 * Cos(l), 0.1 * Sin(l) + 0.005, 0#)
这句圆心坐标中的0.1 * Cos(1)应该改为0.1*Cos(l)吧而不是1

果然是这样的,谢谢
3楼2014-11-25 09:25:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

2457

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by arsasus at 2014-11-24 13:23:10
Set skSegment = Part.SketchManager.CreateCircle(0.1 * Cos(1), 0.1 * Sin(l), 0#, 0.1 * Cos(l), 0.1 * Sin(l) + 0.005, 0#)
这句圆心坐标中的0.1 * Cos(1)应该改为0.1*Cos(l)吧而不是1

但是改了之后出现一侧的圆柱过长,是什么原因呢 ?
SolidWorks二次开发编程出现问题-2
1.png

4楼2014-11-25 09:32:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见