2011ayoon 发表于 2018-10-16 15:54:12

shentu 发表于 2018-10-16 13:32
零件动画,需要不建地重建。。与关键帧有啥关系

SW的动画是通过插入关键帧来实现的,比如0秒拉伸高度为10,10秒拉伸高度改为100,那么就可以生成一段长度10秒的,从高度10拉伸到100的动画

七曜神权 发表于 2018-10-16 16:12:11

这个动画是不是隔几个帧把左边的转一个角度,然后右边的弹簧长度拉伸一下

shentu 发表于 2018-10-17 11:09:32

2011ayoon 发表于 2018-10-16 15:54
SW的动画是通过插入关键帧来实现的,比如0秒拉伸高度为10,10秒拉伸高度改为100,那么就可以生成一段长度 ...

你说的前提是装配体,多零件。并且只是位置变化。。
这种零件动画,和帧没产系,是通过宏程序,不断改变草图的尺寸,比如每1秒某尺寸减小0.1,这样来实现动画的。不信你试试。

2011ayoon 发表于 2018-10-17 12:23:25

本帖最后由 2011ayoon 于 2018-10-17 12:30 编辑

shentu 发表于 2018-10-17 11:09
你说的前提是装配体,多零件。并且只是位置变化。。
这种零件动画,和帧没产系,是通过宏程序,不断改变 ...
你自己试试就知道了,需不需要这么麻烦,看看SOLIDWORKS Motion的帮助吧

shentu 发表于 2018-10-17 13:09:41

2011ayoon 发表于 2018-10-17 12:23
你自己试试就知道了,需不需要这么麻烦,看看SOLIDWORKS Motion的帮助吧

感觉驴头不对马嘴。做动画心里没点数吗

shentu 发表于 2018-10-17 13:15:52

https://www.jxcad.com.cn/data/attachment/forum/pw/Mon_1205/45_379520_81a75616c04f66f.gif

这东西是6年前我做的,当时就因为不懂VBA编程,只能用装配体来动画之。今年又看到类同的,惭愧,还是不懂VBA(没基础,年纪大,事情也多),有感而发。

https://www.jxcad.com.cn/forum.php?mod=viewthread&tid=1362460

shentu 发表于 2018-10-17 13:17:58


ryouss 发表于 2018-10-17 13:53:03

shentu 发表于 2018-10-17 11:09
你说的前提是装配体,多零件。并且只是位置变化。。
这种零件动画,和帧没产系,是通过宏程序,不断改变 ...

多討論多思考不管是對是錯總是會有進步.

1#動畫就是如s大說的作法,附sw2012文件及宏swp文件.


' ***********************************************
' macro recorded on 01/16/17 by scliang
' ***********************************************
Option Explicit '強制用戶需先聲明定義變數型態

Dim swApp                        As SldWorks.SldWorks '(Early Binding)
Dim Part                           As SldWorks.ModelDoc2
Dim myModelView                  As ModelView 'Object 通用數據類型(Late Binding 運算速度較慢)
Dim boolstatus                     As Boolean
Dim L, L1, L2, D1, D2, M2, N1, N2As Double

Sub main()
    Set swApp = Application.SldWorks
    Set Part = swApp.ActiveDoc
    Set myModelView = Part.ActiveView

    Dim myDimension_1 As Dimension 'Object
    Dim myDimension_2 As Dimension
    Set myDimension_1 = Part.Parameter("D5@螺旋曲線/渦捲線1") '材料圈數
    Set myDimension_2 = Part.Parameter("D5@螺旋曲線/渦捲線2") '彈簧圈數
   
    myDimension_1.SystemValue = 10
    myDimension_2.SystemValue = 0.5
    boolstatus = Part.EditRebuild3()
    myModelView.RotateAboutCenter 0, 0

    L = 3788.97938701496 '"D5@螺旋曲線/渦捲線1"+"D5@螺旋曲線/渦捲線2" 的線圈總長
    D1 = 376.996476741742 '"D5@螺旋曲線/渦捲線1" 的單圈長
    D2 = 38.0292391950834 '"D5@螺旋曲線/渦捲線2" 的單圈長

    For N2 = 1 To 25.5 Step 0.5 '彈簧圈數之循環
      myDimension_2.SystemValue = N2
      L2 = D2 * (N2 - 0.5) '"D5@螺旋曲線/渦捲線2"展開長的增量
      L1 = L - L2 '"D5@螺旋曲線/渦捲線1" 的目前展開長
      N1 = L1 / D1 '"D5@螺旋曲線/渦捲線1" 的目前圈數
      myDimension_1.SystemValue = N1
      boolstatus = Part.EditRebuild3()
      myModelView.RotateAboutCenter 0, 0
    Next
   
    Debug.Print "END"
End Sub




shentu 发表于 2018-10-17 14:20:16

ryouss 发表于 2018-10-17 13:53
多討論多思考不管是對是錯總是會有進步.

1#動畫就是如s大說的作法,附sw2012文件及宏swp文件.


多谢楼主放源文件。

多讨论多进步~但这个代码,对我来说,还是像天书一样难懂。但难说某日我也能略通一二呢,时间挤一挤,总会有的,未来什么样,谁能说得定呢。
页: 1 [2]
查看完整版本: 彈簧成型-零件動畫