@@ -4,44 +4,38 @@ using ModelingToolkitDesigner
44using  ModelingToolkitStandardLibrary. Blocks
55import  ModelingToolkitStandardLibrary. Mechanical. Translational as TV
66
7- @parameters  t
8- D =  Differential (t)
7+ @mtkmodel  PassThru3 begin 
98
10- @component  function  PassThru3 (; name)
11-     @variables  t
12- 
13-     systems =  @named  begin 
9+     @components  begin 
1410        p1 =  TV. MechanicalPort ()
1511        p2 =  TV. MechanicalPort ()
1612        p3 =  TV. MechanicalPort ()
1713    end 
1814
19-     eqs  =  [ connect (p1, p2, p3)] 
20- 
21-     return   ODESystem (eqs, t, [], []; name, systems) 
15+     @equations   begin 
16+          connect (p1, p2, p3) 
17+     end 
2218end 
2319
24- @component    function   MassSpringDamper (; name) 
25-     systems  =   @named  begin 
26-         dv =  TV. Damper (d =  1 , v_a_0  =   1 )
27-         sv =  TV. Spring (k =  1 , v_a_0  =   1 , delta_s_0  =   1 )
28-         bv =  TV. Mass (m =  1 , v_0  =   1 )
20+ @mtkmodel    MassSpringDamper  begin 
21+     @components  begin 
22+         dv =  TV. Damper (d =  1 )
23+         sv =  TV. Spring (k =  1 )
24+         bv =  TV. Mass (m =  1 )
2925        gv =  TV. Fixed ()
3026
3127        pt1 =  PassThru3 ()
3228        pt2 =  PassThru3 ()
3329    end 
3430
35-     eqs  =  [ 
31+     @equations   begin 
3632        connect (bv. flange, pt2. p2)
3733        connect (sv. flange_a, pt2. p1)
3834        connect (dv. flange_a, pt2. p3)
3935        connect (dv. flange_b, pt1. p3)
4036        connect (sv. flange_b, pt1. p1)
4137        connect (gv. flange, pt1. p2)
42-     ]
43- 
44-     return  ODESystem (eqs, t, [], []; name, systems)
38+     end 
4539end 
4640
4741@named  msd =  MassSpringDamper ()
@@ -50,7 +44,8 @@ path = joinpath(@__DIR__, "design")
5044design =  ODESystemDesign (msd, path)
5145ModelingToolkitDesigner. view (design)
5246
53- #  using CairoMakie
54- #  CairoMakie.set_theme!(Theme(;fontsize=12))
55- #  fig = ModelingToolkitDesigner.view(design, false)
47+ using  CairoMakie
48+ CairoMakie. set_theme! (Theme (;fontsize= 12 ))
49+ fig =  ModelingToolkitDesigner. view (design, false )
50+ save (joinpath (@__DIR__ , " mechanical.svg"  ), fig; size= (400 ,200 ))
5651#  save(joinpath(@__DIR__, "mechanical.svg"), fig; resolution=(400,200))
0 commit comments