Examples
In aPriori’s starting point cost model for plastic molding, the feasibility module for the Injection Molding process checks that the current material is compatible with injection molding.
 
Rule CompatibleMaterial: material.canIM_SFM
Message CompatibleMaterial: _
'Failed because you cannot Injection Mold this type of material'
 
This rule uses the CSL standard input material, which has one field for each attribute of the current material (as listed in the Material Composition table of aPriori’s Material Selection dialog). The attribute canIM_SFM is set to true for thermoplastics and false for thermosetting materials.
In the Bar&Tube process group, the operation that uses a tube laser to create a simple hole has the following feasibility module:
 
import libGtolProcessCapabilities.csl
 
Rule GtolValueOk: IsProcessAllGtolCapable(gcd, 'Laser Cut')
Message GtolValueOk: IsProcessAllGtolCapableMsg(gcd, 'Laser Cut')
 
Rule NonPositiveDiameter: gcd.diameter > 0
Message NonPositiveDiameter: _
'Cant laser cut a simple hole with a non-positive diameter: ' + _
diameter + ' mm'
 
diameter = roundEps(gcd.diameter, 0.01)
 
Rule NonPositiveLength: gcd.length > 0
Message NonPositiveLength: _
'Can t laser cut a simple hole with a non-positive length (depth): ' + _
holeLength + ' mm'
 
holeLength = roundEps(gcd.length, 0.01)
 
Rule IsFlanged: (not gcd.isFlanged)
Message IsFlanged: _
'Hole is flanged so cannot be completed by laser cutting'
 
Rule isUnthreaded: gcd.threaded == false
Message isUnthreaded: _
'The hole is threaded. Laser cutting alone will not make a threaded hole'
 
Rule isNotCountersunk: gcd.isCountersunk == false
Message isNotCountersunk: _
'The hole is countersunk. Laser Cutting alone will not make a countersunk hole'
 
Rule isNotBlind: gcd.isBlind == false
Message isNotBlind: _
'The hole is blind. A blind hole cannot be laser cut'
 
The rules use the following fields of the CSL standard input gcd:
diameter
length
tolerance
isFlanged
threaded
isCountersunk
isBlind
The messages rely on formulas that round off the numerical values to the nearest 1/100th.
The function IsProcessAllGtolCapable is defined in the library libGtolProcessCapabilities.csl.