89 lines
3.4 KiB
C#
89 lines
3.4 KiB
C#
|
|
using System;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using System.Linq;
|
||
|
|
using System.Text;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
using CaeMesh;
|
||
|
|
using CaeGlobals;
|
||
|
|
using System.ComponentModel;
|
||
|
|
using DynamicTypeDescriptor;
|
||
|
|
|
||
|
|
namespace CPSO.Forms
|
||
|
|
{
|
||
|
|
[Serializable]
|
||
|
|
public class ViewThickenShellMesh : ViewMeshSetupItem
|
||
|
|
{
|
||
|
|
// Variables
|
||
|
|
private ThickenShellMesh _thickenShellMesh;
|
||
|
|
|
||
|
|
|
||
|
|
// Properties
|
||
|
|
[Category("Data")]
|
||
|
|
[OrderedDisplayName(0, 10, "Name")]
|
||
|
|
[Description("Name of the mesh setup item.")]
|
||
|
|
[Id(1, 1)]
|
||
|
|
public override string Name { get { return _thickenShellMesh.Name; } set { _thickenShellMesh.Name = value; } }
|
||
|
|
//
|
||
|
|
[Category("Region")]
|
||
|
|
[OrderedDisplayName(0, 10, "Region type")]
|
||
|
|
[Description("Select the region type for the creation of the mesh setup item.")]
|
||
|
|
[Id(1, 2)]
|
||
|
|
public override string RegionType { get { return _regionType; } set { _regionType = value; } }
|
||
|
|
//
|
||
|
|
[Category("Mesh size")]
|
||
|
|
[OrderedDisplayName(1, 10, "Thickness")]
|
||
|
|
[Description("Enter the thickness of the resulting solid mesh.")]
|
||
|
|
[TypeConverter(typeof(StringLengthConverter))]
|
||
|
|
[Id(1, 3)]
|
||
|
|
public double Thickness { get { return _thickenShellMesh.Thickness; } set { _thickenShellMesh.Thickness = value; } }
|
||
|
|
//
|
||
|
|
[Category("Mesh size")]
|
||
|
|
[OrderedDisplayName(2, 10, "Number of layers")]
|
||
|
|
[Description("Enter the number of finite element layers of the resulting solid mesh.")]
|
||
|
|
[Id(2, 3)]
|
||
|
|
public int NumberOfLayers
|
||
|
|
{
|
||
|
|
get { return _thickenShellMesh.NumberOfLayers; }
|
||
|
|
set { _thickenShellMesh.NumberOfLayers = value; }
|
||
|
|
}
|
||
|
|
//
|
||
|
|
[Category("Mesh settings")]
|
||
|
|
[OrderedDisplayName(0, 10, "Offset")]
|
||
|
|
[Description("Enter the offset of the resulting solid mesh.")]
|
||
|
|
[TypeConverter(typeof(StringLengthConverter))]
|
||
|
|
[Id(1, 4)]
|
||
|
|
public double Offset { get { return _thickenShellMesh.Offset; } set { _thickenShellMesh.Offset = value; } }
|
||
|
|
//
|
||
|
|
[Category("Mesh settings")]
|
||
|
|
[OrderedDisplayName(1, 10, "Keep model edges")]
|
||
|
|
[Description("If model edges are not kept the thicken direction is averaged from neighboring faces.")]
|
||
|
|
[Id(2, 4)]
|
||
|
|
public bool KeepModelEdges
|
||
|
|
{
|
||
|
|
get { return _thickenShellMesh.KeepModelEdges; }
|
||
|
|
set { _thickenShellMesh.KeepModelEdges = value; }
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
// Constructors
|
||
|
|
public ViewThickenShellMesh(ThickenShellMesh thickenShellMesh)
|
||
|
|
{
|
||
|
|
_thickenShellMesh = thickenShellMesh; // 1 command
|
||
|
|
_dctd = ProviderInstaller.Install(this); // 2 command
|
||
|
|
InitializeRegion(); // 3 command
|
||
|
|
//
|
||
|
|
_dctd.RenameBooleanPropertyToYesNo(nameof(KeepModelEdges));
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
// Methods
|
||
|
|
public override MeshSetupItem GetBase()
|
||
|
|
{
|
||
|
|
return _thickenShellMesh;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|