    

 ## On this page

  

 

 # Class ProfileSprocket\\\_ASA

 Last update: 16.07.2025 

Namespace: [VM.Managed.CAD.Sprocket](VM.Managed.CAD.Sprocket.md)  
Assembly: VMDSprocket.dll

The class create sprocket profile that is ASA type.

```csharp
public class ProfileSprocket_ASA : ProfileSprocketBase

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ProfileSprocketBase](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md) ← [ProfileSprocket\_ASA](VM.Managed.CAD.Sprocket.ProfileSprocket_ASA.md)

#### Inherited Members

[ProfileSprocketBase.m\_Info](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_m_Info), [ProfileSprocketBase.m\_dRadius\_shift](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_m_dRadius_shift), [ProfileSprocketBase.m\_lstPtOrigin](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_m_lstPtOrigin), [ProfileSprocketBase.m\_lstPtWorkPlane](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_m_lstPtWorkPlane), [ProfileSprocketBase.m\_strError](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_m_strError), [ProfileSprocketBase.GetPointData\_For\_XYPlane()](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_GetPointData_For_XYPlane), [ProfileSprocketBase.GetPointData\_For\_WorkPlane()](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_GetPointData_For_WorkPlane), [ProfileSprocketBase.CreateProfile()](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_CreateProfile), [ProfileSprocketBase.Validation()](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Validation), [ProfileSprocketBase.Claculation\_TangentPoint\_Between\_Two\_Circle(VectorBase, double, VectorBase, double)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Claculation_TangentPoint_Between_Two_Circle_VM_Managed_VectorBase_System_Double_VM_Managed_VectorBase_System_Double_), [ProfileSprocketBase.Calculation\_TangentPoint\_Through\_Line\_Circle(double, VectorBase, VectorBase, double)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Calculation_TangentPoint_Through_Line_Circle_System_Double_VM_Managed_VectorBase_VM_Managed_VectorBase_System_Double_), [ProfileSprocketBase.Calculation\_Gradient\_Bewteen\_ArbitraryPoint\_and\_Circle(VectorBase, VectorBase, double)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Calculation_Gradient_Bewteen_ArbitraryPoint_and_Circle_VM_Managed_VectorBase_VM_Managed_VectorBase_System_Double_), [ProfileSprocketBase.Calculation\_TangentPosition(double, VectorBase, VectorBase, double)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Calculation_TangentPosition_System_Double_VM_Managed_VectorBase_VM_Managed_VectorBase_System_Double_), [ProfileSprocketBase.Calculation\_Gradient(VectorBase, VectorBase)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Calculation_Gradient_VM_Managed_VectorBase_VM_Managed_VectorBase_), [ProfileSprocketBase.Calculation\_line\_Equation(VectorBase, double, ref double)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Calculation_line_Equation_VM_Managed_VectorBase_System_Double_System_Double__), [ProfileSprocketBase.vectranspose\_vectieldvec(VectorBase, VectorBase, VectorBase)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_vectranspose_vectieldvec_VM_Managed_VectorBase_VM_Managed_VectorBase_VM_Managed_VectorBase_), [ProfileSprocketBase.vectlvec(VectorBase, VectorBase)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_vectlvec_VM_Managed_VectorBase_VM_Managed_VectorBase_), [ProfileSprocketBase.matvec(double\[\], VectorBase)](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_matvec_System_Double___VM_Managed_VectorBase_), [ProfileSprocketBase.Radius\_Shift](VM.Managed.CAD.Sprocket.ProfileSprocketBase.md#VM_Managed_CAD_Sprocket_ProfileSprocketBase_Radius_Shift)

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### ProfileSprocket\_ASA(ProfileDataSprocket)

Initializes a new instance of the  class.

```csharp
public ProfileSprocket_ASA(ProfileDataSprocket info)

```

#### Parameters

`info` [ProfileDataSprocket](VM.Managed.CAD.Sprocket.ProfileDataSprocket.md)

The info is data for creation profile.

## Methods

### CreateProfile()

Create profile data.

```csharp
protected override bool CreateProfile()

```

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)