24小时热门版块排行榜    

查看: 1350  |  回复: 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的回帖

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的回帖

arsasus

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by 2457 at 2014-11-25 09:32:59
但是改了之后出现一侧的圆柱过长,是什么原因呢 ?

1.png
...

这句Dir2 = -1 * Sin(l),把1改成0.1,因为你上面是Dir1 = 0.1 * Sin(l)

» 本帖已获得的红花(最新10朵)

5楼2014-11-25 13:18:16
已阅   回复此楼   关注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)...

成功了,谢谢!
6楼2014-11-26 09:15:36
已阅   回复此楼   关注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的回帖

arsasus

铜虫 (初入文坛)

引用回帖:
7楼: Originally posted by 2457 at 2014-11-26 09:42:51
可不可以加一个您的QQ呢?我还有些地方不太懂。...

你可以说说那些方面的问题,我对二次开发也只是略知一点皮毛,之前毕业设计做过,如果会的我可以帮助你一下
8楼2014-11-26 13:59:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

2457

铁虫 (小有名气)

引用回帖:
8楼: Originally posted by arsasus at 2014-11-26 13:59:07
你可以说说那些方面的问题,我对二次开发也只是略知一点皮毛,之前毕业设计做过,如果会的我可以帮助你一下...

我也是毕业设计要用到,旋转叶片的优化设计,需要编程画叶片,然后优化,只不过我现在还停留在文献阅读的阶段。
9楼2014-11-28 15:28:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 2457 的主题更新
信息提示
请填处理意见