Skip to content
On this page

FeatureGroups

A KvalCAM FeatureGroup represents a grouping of Features to be run on the door. The FeatureGroup defines references and locations for positioning a group of features on the door in a machine agnostic way. Feature groups can be saved to the FeatureGroup library in KvalCAM for repeated use.

Properties

PropertyDescription
NameUser defined name for the feature group, used to find the feature group in the KvalCAM library and label the feature group in a door job.
DescriptionUser defined description of the feature group, may be used to summarize the feature group or find the feature group in the library.
TDoorReferenceDefines the point of reference for the TLocation of all child features to this feature group. May be "HingePivot", "OppositiveHingePivot", "KeySide", or "OppositeKeySide" - e.g. if set to "HingePivot" then a TLocation of 0.25 will be 0.25 inches from the hinge pivot face of the door along the thickness dimension of the door. Applicable to all child features on the Top, Bottom, Lock or Hinge side of the door.
WDoorReferenceDefines the point of reference for the WLocation of all child features to this feature group. May be "Hinge" or "Lock" - e.g. if set to "Hinge" then a WLocation of 0.25 will be 0.25 inches from the Lock edge of the door along the width dimension of the door. Applicable to all child features on the Top, Bottom or Face side of the door.
LDoorReferenceDefines the point of reference for the LLocation of all child features to this feature group. May be "Top" or "Bottom" - e.g. if set to "Top" then a LLocation of 0.25 will be 0.25 inches from the Top edge of the door along the length dimension of the door. Applicable to all child features on the Hinge, Lock, or Face side of the door.
LocationsList of locations for where to position all child features. Each location contains a L, W, and T coordinate. Multiple locations allow for repeating all child features at different locations on the door, e.g. a set of 3 hinges may be defined by a single hinge feature under a feature group with 3 locations defined.
DefinedPropertiesList of custom defined properties that may be used in property expressions. Each defined property has a name and expression. To reference the defined property in an expression use '#', e.g. a defined property with Name = "propA" would be referenced in an expression as "#propA". One example use case is when defining same sized corner radii for a rectangle a defined property called "Radius" can be created and Radius1, Radius2, Radius3, and Radius4 can all be set to "#Radius". Then to change the radius of the rectangle one can just change the value for the defined property "Radius".
ChildrenList of all of the child features for feature group. Note features may also have their own child features such that the overall structure under a feature group is a tree of features.

Example JSON Structure

json
{
  "Name": "Simple Hinge Set",
  "Description": "Example hinge set",
  "Id": "3b2738c0-be10-446a-a4f4-2bbddd6dd00b",
  "Locations": [
    {
      "TLocation": "0",
      "WLocation": "0",
      "LLocation": "7"
    },
    {
      "TLocation": "0",
      "WLocation": "0",
      "LLocation": "36.25"
    },
    {
      "TLocation": "0",
      "WLocation": "0",
      "LLocation": "65.5"
    }
  ],
  "TDoorReference": "HingePivot",
  "WDoorReference": "Lock",
  "LDoorReference": "Top",
  "DefinedProperties": [
    {
      "Name": "Radius",
      "Expression": "1/4"
    }
  ],
  "Children": [
    {
      "Type": "Hinge",
      "Bevel": "$Door.HingeBevel",
      "Length": "3.5",
      "Backset": "0.25",
      "Depth": "0.134",
      "Radius1": "#Radius",
      "Radius2": "#Radius",
      "IsPredrillOn": true,
      "PredrillDiameter": "0.156",
      "PredrillDepth": "0.5",
      "PredrillLocations": [],
      "Name": "Door Hinge",
      "Description": "",
      "TLocation": "Width / 2.0",
      "WLocation": "0.0",
      "LLocation": "Length/2",
      "DoorSide": "Hinge",
      "Children": []
    }
  ]
}