Option Explicit Sub Main Dim doc As FMDocument Set doc = ActiveDocument If( doc.Features("test_side") Is Nothing) Then MakeSide Else ModifySide End If End Sub Public Sub MakeSide Dim doc As FMDocument Dim curve As FMCurve Dim side As FMSide Set doc = ActiveDocument If( doc.curves("crv1") Is Nothing) Then MsgBox "'crv1' not found" Exit Sub End If Set side = doc.Features.AddSide( "crv1", .75,,,,,,,) side.Name = "test_side" side.SetCutSide( side.ProfileCurves.Item(1), True,,False) End Sub Public Sub ModifySide Dim doc As FMDocument Dim side As FMSide Dim cutside As Boolean Dim curves(2) As String Dim crv As FMCurve Set doc = ActiveDocument Set side = doc.Features("test_side") If( side.ProfileCurves.Count = 1) Then curves(1) = "crv1" curves(2) = "crv2" side.SetProfileCurves( curves,,False) side.SetStockCurve( "curve1",,False) Else side.SetDepth( side.Depth + 0.5,,False) side.SetBottomRadius( side.BottomRadius + .125,,False) side.SetChamfer( side.Chamfer + .125,,False) side.SetDraftAngle( side.DraftAngle + 1,,False) If( side.StockCurve Is Nothing) Then side.SetStockCurve( "curve1",,False) Else side.SetStockCurve( "",,False) End If For Each crv In side.ProfileCurves cutside = side.CutSide( crv) side.SetCutSide( crv, Not cutside,,False) Next crv End If doc.InvalidateAll End Sub