Reference for exported types and functions

API docstrings

These types and functions are the exported API by this package.

BlankLocalizationCore.HoleLocalizationFeatureType
HoleLocalizationFeature(descriptor::FeatureDescriptor, rough::R, machined::M) where {R<:AbstractHoleGeometry,M<:AbstractHoleGeometry}

A holelike localization feature. The rough and machined geometries don't necessarily have to be the same type.

source
BlankLocalizationCore.LocalizationFeatureType
LocalizationFeature{R,M}

Supertype of any localization features. A localization feature contains a feature descriptor (FeatureDescriptor) and a rough and machined geometry (AbstractLocalizationGeometry). The two geometries must be of same type (hole, plane, etc.). If a feature doesn't have a rough of machined state, an empty object should be used (and the feature descriptor should also store this information). based on its rough geometry.

source
BlankLocalizationCore.MeshHoleType

MeshHole <: AbstractHoleGeometry

A simple mesh hole geometry, that contains the mesh of the hole's surface and the convex hull of the points (see our paper for details).

source
BlankLocalizationCore.MultiOperationProblemMethod
MultiOperationProblem(partzeros, holes, planes, tolerances, parameters)

Construct a multi operation problem. For usage, please see the example section in the documentation. The parameters for the optimization are also described there with greater details.

Arguments

  • partzeros::Vector{PartZero}: array of part zeros.
  • holes::Vector{HoleLocalizationFeature}: array of holes.
  • planes::Vector{PlaneLocalizationFeature}: array of planes.
  • tolerances::Vector{Tolerance}: array of tolerances.
  • parameters::Dict{String,Any}: parameters in the form of a dictionary. Keys include: minAllowance, OptimizeForToleranceCenter, UseTolerances, SetPartZeroPosition, maxPlaneZAllowance.
source
BlankLocalizationCore.PartZeroType
PartZero(name, position, rotationmatrix)

Define a part zero with name, position and rotationmatrix relative to the workpiece datum.

Example

julia> PartZero("front", [0,0,0], hcat([0,1,0], [0,0,1], [1,0,0]))
Part zero: "front"
[0.0 0.0 1.0 0.0; 1.0 0.0 0.0 0.0; 0.0 1.0 0.0 0.0; 0.0 0.0 0.0 1.0]
source
BlankLocalizationCore.PlaneLocalizationFeatureType
PlaneLocalizationFeature(descriptor::FeatureDescriptor, rough::R, machined::M) where {R<:AbstractPlaneGeometry,M<:AbstractPlaneGeometry}

A planelike localization feature. The rough and machined geometries don't necessarily have to be the same type.

source
BlankLocalizationCore.SimpleHoleType

SimpleHole <: AbstractHoleGeometry

A simple "hole" structure with a center point and a radius. Axis of the hole is defined by its partzero taken from the feature descriptor.

source
BlankLocalizationCore.SimplePlaneType

SimplePlane <: AbstractPlaneGeometry

A simple plane structure with one point. Normal vector of the plane is defined by its partzero taken from the feature descriptor.

source
BlankLocalizationCore.filteredsurfacepointsFunction
filteredsurfacepoints()

Return the filtered points of the surface of an IsFreeForm geometry, that may define active constraints in the optimization task (for example convex hull of mesh). Definition signature should look like: filteredsurfacepoints(::IsFreeForm, x).

source

Private functions

These functions and types are not exported, though they can be used if needed.

BlankLocalizationCore.getfeaturebynameMethod
getfeaturebyname(mop::MultiOperationProblem, featurename)

Get a hole or plane feature by its name. It is assumed that all features have distinct names. Return nothing, if no feature is found with featurename.

source