CAM Library
API Reference
Variables/Constants

Common variables and constants used by CAM Library. More...

Enumerations

enum  CAM_FigureType {
  CAM_FIGURE_NONE = 0, CAM_FIGURE_POLYGON = 1, CAM_FIGURE_PATH = 2, CAM_FIGURE_LINE = 3,
  CAM_FIGURE_TEXT = 4, CAM_FIGURE_FLASH = 5, CAM_FIGURE_INSERT = 6, CAM_FIGURE_ARC = 7
}
 Used to describe the figures imported from various formats. More...
 
enum  CAM_PathType { CAM_PATHTYPE_TRUNCATE = 0, CAM_PATHTYPE_EXTEND = 1, CAM_PATHTYPE_ROUND = 2, CAM_PATHTYPE_VARIABLE = 3 }
 CAM Library DLL provides several path types that are used to describe the paths imported from various formats. More...
 
enum  CAM_MirrorType { CAM_MIRRORTYPE_NONE = 0, CAM_MIRRORTYPE_HORIZONTAL = 1, CAM_MIRRORTYPE_VERTICAL = 2 }
 CAM Library provides several mirror types that are used to describe the orientation of Text and Inserts imported from various formats. More...
 
enum  CAM_ArcDirectionType { CAM_DIRECTIONTYPE_CLOCKWISE = 0, CAM_DIRECTIONTYPE_COUNTERCLOCKWISE = 1 }
 CAM Library provides several Arc Direction types that are used to describe the direction of the Arc : Clockwise, or Counter Clockwise. More...
 
enum  CAM_CompensationSideType { CAM_COMPONSENTATIONSIDE_NONE = 0, CAM_COMPONSENTATIONSIDE_LEFT = 1, CAM_COMPONSENTATIONSIDE_RIGHT = 2 }
 CAM Library provides several NC path compensation values. More...
 
enum  CAM_NCToolType {
  CAM_NCTOOLTYPE_STANDARD = 0, CAM_NCTOOLTYPE_ROUTCIRCLE_CW = 32, CAM_NCTOOLTYPE_ROUTCIRCLE_CCW = 33, CAM_NCTOOLTYPE_DRILLED_CIRCLE = 84,
  CAM_NCTOOLTYPE_DRILLED_SLOT = 85, CAM_NCTOOLTYPE_ROUTEDSTEPSLOTCANNEDCYCLE = 87, CAM_NCTOOLTYPE_DRILLEDTEXT_HORIZONTAL = 97, CAM_NCTOOLTYPE_DRILLEDTEXT_VERTICAL = 98
}
 CAM Library provides several NC type values. More...
 
enum  CAM_FillType { CAM_FILLMODE_OUTLINE = 0, CAM_FILLMODE_STICK = 1, CAM_FILLMODE_SOLID = 2 }
 CAM Library provides several fill mode values which affect how figures are drawn. More...
 
enum  CAM_FlashType {
  CAM_FLASH_NONE = 0, CAM_FLASH_CIRCLE = 1, CAM_FLASH_DIAMOND = 2, CAM_FLASH_DONUT = 3,
  CAM_FLASH_DONUT_SQUARE = 4, CAM_FLASH_OBLONG = 5, CAM_FLASH_RECT = 6, CAM_FLASH_RECT_ROUNDED = 7,
  CAM_FLASH_RECT_CHAMFERED = 8, CAM_FLASH_TARGET = 9, CAM_FLASH_THERMAL = 10, CAM_FLASH_THERMAL_SQUARE = 11,
  CAM_FLASH_THERMAL_SQUAREROUND = 12, CAM_FLASH_THERMAL_RECTANGLE = 13, CAM_FLASH_TRAPEZIOD = 14, CAM_FLASH_TRIANGLE = 15,
  CAM_FLASH_BUTTERFLY = 16, CAM_FLASH_SQUARE_BUTTERFLY = 17, CAM_FLASH_HEXAGON = 18, CAM_FLASH_HEXAGON_HORIZONTAL = 19,
  CAM_FLASH_HEXAGON_VERTICAL = 20, CAM_FLASH_OCTAGON = 21, CAM_FLASH_BULLET = 22, CAM_FLASH_MOIRE = 23,
  CAM_FLASH_ELLIPSE = 24, CAM_FLASH_CUSTOM = 25, CAM_FLASH_POEX = 26, CAM_FLASH_POIN = 27,
  CAM_FLASH_DONUT_SQUAREROUND = 28, CAM_FLASH_DONUT_ROUNDEDSQUARE = 29, CAM_FLASH_DONUT_RECTANGLE = 30, CAM_FLASH_DONUT_ROUNDEDRECTANGLE = 31,
  CAM_FLASH_DONUT_OVAL = 32, CAM_FLASH_THERMAL_ROUNDEDSQUARE = 33, CAM_FLASH_THERMAL_ROUNDEDRECTANGLE = 34, CAM_FLASH_THERMAL_OVAL = 35,
  CAM_FLASH_THERMAL_OBLONG = 36, CAM_FLASH_THERMAL_LINE = 37, CAM_FLASH_HOMEPLATE = 38, CAM_FLASH_HOMEPLATE_INVERTED = 39,
  CAM_FLASH_HOMEPLATE_RADIUSED = 40, CAM_FLASH_HOMEPLATE_INVERTED_RADIUSED = 41, CAM_FLASH_HOMEPLATE_FLAT = 42, CAM_FLASH_CROSS = 43,
  CAM_FLASH_DOGBONE = 44, CAM_FLASH_DPACK = 45
}
 Available Aperture shapes supported by CAM Library. More...
 
enum  CAM_LayerType {
  CAM_LAYERTYPE_NONE = 0, CAM_LAYERTYPE_TOP = 1, CAM_LAYERTYPE_BOTTOM = 2, CAM_LAYERTYPE_INTERNAL = 3,
  CAM_LAYERTYPE_NEGPLANE = 4, CAM_LAYERTYPE_POSPLANE = 5, CAM_LAYERTYPE_DRILL_THRUHOLE = 6, CAM_LAYERTYPE_DRILL_BLINDBURIED = 7,
  CAM_LAYERTYPE_SILKTOP = 8, CAM_LAYERTYPE_SILKBOT = 9, CAM_LAYERTYPE_MASKTOP = 10, CAM_LAYERTYPE_MASKBOT = 11,
  CAM_LAYERTYPE_PASTETOP = 12, CAM_LAYERTYPE_PASTEBOT = 13, CAM_LAYERTYPE_ROUTMILL = 14, CAM_LAYERTYPE_DIELECTRIC = 15,
  CAM_LAYERTYPE_COMPONENTSTOP = 16, CAM_LAYERTYPE_COMPONENTSBOT = 17, CAM_LAYERTYPE_TEMPORARY = 18, CAM_LAYERTYPE_FAB = 19,
  CAM_LAYERTYPE_BORDER = 20, CAM_LAYERTYPE_SCORE = 21, CAM_LAYERTYPE_GRAPHIC = 22, CAM_LAYERTYPE_DRILL_NONPLATED = 23,
  CAM_LAYERTYPE_NETLIST = 24, CAM_LAYERTYPE_ASSEMBLY = 25, CAM_LAYERTYPE_MECHANICAL = 26
}
 Available Layer Types supported by CAM Library. More...
 

Detailed Description

Common variables and constants used by CAM Library.

Enumeration Type Documentation

◆ CAM_ArcDirectionType

CAM Library provides several Arc Direction types that are used to describe the direction of the Arc : Clockwise, or Counter Clockwise.

Enumerator
CAM_DIRECTIONTYPE_CLOCKWISE 

Clockwise direction of the arc.

CAM_DIRECTIONTYPE_COUNTERCLOCKWISE 

Counter clockwise direction of the arc.

◆ CAM_CompensationSideType

CAM Library provides several NC path compensation values.

Enumerator
CAM_COMPONSENTATIONSIDE_NONE 

No NC Path Compensation.

CAM_COMPONSENTATIONSIDE_LEFT 

NC Path compensation on the left side.

CAM_COMPONSENTATIONSIDE_RIGHT 

NC Path compensation on the right side.

◆ CAM_FigureType

Used to describe the figures imported from various formats.

Enumerator
CAM_FIGURE_NONE 

Nothing / Invalid.

CAM_FIGURE_POLYGON 

Represents a polygon figure that consists of a point array. Two coincident and three collinear points are illegal, and if detected, cause an exception to be thrown.

CAM_FIGURE_PATH 

Represents a path figure that contains a point array, has defined width (greater than zero) and a path type.

CAM_FIGURE_LINE 

Represents a line figure that contains a point array, has defined width of zero.

CAM_FIGURE_TEXT 

Represents a text figure that contains an insert point, text value, text style, height, angle, mirror, and alignment variable.

CAM_FIGURE_FLASH 

Represents a flashed figure that contains an insert point, and dcode value (which references an aperture table).

CAM_FIGURE_INSERT 

An insert represents the inclusion of one cell as a part of the contents of another. The cell containing the insert is the parent cell, and the cell that is included is the master cell of the insert. Inserts can create hierarchical designs. The master of an insert can contain inserts of other masters. This hierarchy can continue for as many levels as needed to express a complete design. An Insert consists of an insert point, insert name (master cell), angle, mirror. For arrayed inserts there are additional varialbes: row count, column count, row distance, column distance.

CAM_FIGURE_ARC 

Represents an arc figire that contains a start point, end point, center point, direction, has defined width (greater than zero) and a path type.

◆ CAM_FillType

CAM Library provides several fill mode values which affect how figures are drawn.

Enumerator
CAM_FILLMODE_OUTLINE 

All figures boundaries will be drawn with a 0-width line.

CAM_FILLMODE_STICK 

All figures will be drawn with a 0-width line.

CAM_FILLMODE_SOLID 

All figures are filled normally.

◆ CAM_FlashType

Available Aperture shapes supported by CAM Library.

Enumerator
CAM_FLASH_NONE 

None.

CAM_FLASH_CIRCLE 

Circle.

CAM_FLASH_DIAMOND 

Diamond.

CAM_FLASH_DONUT 

Donut.

CAM_FLASH_DONUT_SQUARE 

DonutSquare.

CAM_FLASH_OBLONG 

Oblong.

CAM_FLASH_RECT 

Rectangle.

CAM_FLASH_RECT_ROUNDED 

RectRounded.

CAM_FLASH_RECT_CHAMFERED 

RectChamfered.

CAM_FLASH_TARGET 

Target.

CAM_FLASH_THERMAL 

Thermal.

CAM_FLASH_THERMAL_SQUARE 

ThermalSq.

CAM_FLASH_THERMAL_SQUAREROUND 

ThermalSqRound.

CAM_FLASH_THERMAL_RECTANGLE 

ThermalRectangle.

CAM_FLASH_TRAPEZIOD 

Trapezoid.

CAM_FLASH_TRIANGLE 

Triangle.

CAM_FLASH_BUTTERFLY 

Butterfly.

CAM_FLASH_SQUARE_BUTTERFLY 

SButterfly.

CAM_FLASH_HEXAGON 

Hexagon.

CAM_FLASH_HEXAGON_HORIZONTAL 

HexagonHorizontal.

CAM_FLASH_HEXAGON_VERTICAL 

HexagonVertical.

CAM_FLASH_OCTAGON 

Octagon.

CAM_FLASH_BULLET 

Bullet.

CAM_FLASH_MOIRE 

Moire.

CAM_FLASH_ELLIPSE 

Ellipse.

CAM_FLASH_CUSTOM 

Custom.

CAM_FLASH_POEX 

Poex.

CAM_FLASH_POIN 

Poin.

CAM_FLASH_DONUT_SQUAREROUND 

DonutSquareRound.

CAM_FLASH_DONUT_ROUNDEDSQUARE 

DonutRoundedSquare.

CAM_FLASH_DONUT_RECTANGLE 

DonutRectangle.

CAM_FLASH_DONUT_ROUNDEDRECTANGLE 

DonutRectRounded.

CAM_FLASH_DONUT_OVAL 

DonutOval.

CAM_FLASH_THERMAL_ROUNDEDSQUARE 

ThermalRoundedSquare.

CAM_FLASH_THERMAL_ROUNDEDRECTANGLE 

ThermalRoundedRectangle.

CAM_FLASH_THERMAL_OVAL 

ThermalOval.

CAM_FLASH_THERMAL_OBLONG 

ThermalOblong.

CAM_FLASH_THERMAL_LINE 

ThermalLine.

CAM_FLASH_HOMEPLATE 

HomePlate.

CAM_FLASH_HOMEPLATE_INVERTED 

HomePlateInverted.

CAM_FLASH_HOMEPLATE_RADIUSED 

HomePlateRadiused.

CAM_FLASH_HOMEPLATE_INVERTED_RADIUSED 

HomePlateInvertedRadiused.

CAM_FLASH_HOMEPLATE_FLAT 

HomePlateFlat.

CAM_FLASH_CROSS 

Cross.

CAM_FLASH_DOGBONE 

Dogbone.

CAM_FLASH_DPACK 

DPack.

◆ CAM_LayerType

Available Layer Types supported by CAM Library.

Enumerator
CAM_LAYERTYPE_NONE 

None.

CAM_LAYERTYPE_TOP 

Top.

CAM_LAYERTYPE_BOTTOM 

Bottom.

CAM_LAYERTYPE_INTERNAL 

Internal.

CAM_LAYERTYPE_NEGPLANE 

Neg Plane.

CAM_LAYERTYPE_POSPLANE 

Pos Plane.

CAM_LAYERTYPE_DRILL_THRUHOLE 

Drill ThruHole.

CAM_LAYERTYPE_DRILL_BLINDBURIED 

Drill BlindBuried.

CAM_LAYERTYPE_SILKTOP 

Silk Top.

CAM_LAYERTYPE_SILKBOT 

Silk Bottom.

CAM_LAYERTYPE_MASKTOP 

Mask Top.

CAM_LAYERTYPE_MASKBOT 

Mask Bottom.

CAM_LAYERTYPE_PASTETOP 

Paste Top.

CAM_LAYERTYPE_PASTEBOT 

Paste Bottom.

CAM_LAYERTYPE_ROUTMILL 

Rout/Mill.

CAM_LAYERTYPE_DIELECTRIC 

Dielectric.

CAM_LAYERTYPE_COMPONENTSTOP 

Components Top.

CAM_LAYERTYPE_COMPONENTSBOT 

Components Bottom.

CAM_LAYERTYPE_TEMPORARY 

Temporary.

CAM_LAYERTYPE_FAB 

Fab Drawing.

CAM_LAYERTYPE_BORDER 

Border.

CAM_LAYERTYPE_SCORE 

Score.

CAM_LAYERTYPE_GRAPHIC 

Graphic.

CAM_LAYERTYPE_DRILL_NONPLATED 

Drill NonPlated.

CAM_LAYERTYPE_NETLIST 

Netlist.

CAM_LAYERTYPE_ASSEMBLY 

Assembly Drawing.

CAM_LAYERTYPE_MECHANICAL 

Mechanical Drawing.

◆ CAM_MirrorType

CAM Library provides several mirror types that are used to describe the orientation of Text and Inserts imported from various formats.

Enumerator
CAM_MIRRORTYPE_NONE 

No mirror required.

CAM_MIRRORTYPE_HORIZONTAL 

Mirror horizontally (about the Y Axis).

CAM_MIRRORTYPE_VERTICAL 

Mirror vertically (about the X Axis).

◆ CAM_NCToolType

CAM Library provides several NC type values.

Enumerator
CAM_NCTOOLTYPE_STANDARD 

No specific NC Type is defined. Typically these figures will be a standard drill hit or rout nc path.

CAM_NCTOOLTYPE_ROUTCIRCLE_CW 

Routed Circle (Clockwise).

CAM_NCTOOLTYPE_ROUTCIRCLE_CCW 

Routed Circle (Counter-Clockwise).

CAM_NCTOOLTYPE_DRILLED_CIRCLE 

Drilled Circle.

CAM_NCTOOLTYPE_DRILLED_SLOT 

Drilled Slot.

CAM_NCTOOLTYPE_ROUTEDSTEPSLOTCANNEDCYCLE 

Canned Cycle Routed slot.

CAM_NCTOOLTYPE_DRILLEDTEXT_HORIZONTAL 

Text drilled horizontally.

CAM_NCTOOLTYPE_DRILLEDTEXT_VERTICAL 

Text drilled vertically.

◆ CAM_PathType

CAM Library DLL provides several path types that are used to describe the paths imported from various formats.

Enumerator
CAM_PATHTYPE_TRUNCATE 

This style results in no extension beyond the beginning and ending points for the Path.

CAM_PATHTYPE_EXTEND 

This style results in a one-half width extension beyond the beginning and ending points for the Path.

CAM_PATHTYPE_ROUND 

This style results in an extension with a radius equal to one-half the Path width.

CAM_PATHTYPE_VARIABLE 

TBD.