leGetSnapTransform
leGetSnapTransform
d_figToSnap
d_targetRow | nil
l_projectionTransform
l_ignoreFigs
l_options
g_detailedResults
)
=> l_result / nil
Description
Returns snap transform for the figure. The cellview of the figure is the one where the snapping is taking place. This function does not modify figure or cellview so it works for read only cellview as well. The cellview and the specified options are used to determine the licenses needed for the function to run. If the licenses can be checked out, the function runs. If not, the return value signifies failure because of licensing.
Arguments
|
d_figToSnap
|
The database figure to be snapped. Snapping is done in the cellview of the figure.
|
|
d_targetRow | nil
|
The instance snaps to the target row if specified else it searches for a valid row. The target row can be dbRow, dbPlaceArea, a row in a row region, and an area bounday figure which is inside the dbPlaceArea or an oaRow inside a dbRow. If the target row is a random dbId, the function returns nil.
|
|
l_projectionTransform
|
|
|
A list that specifies the projection transform which when concatenated to the database position of the figure to snap is the new position where snapping is performed.
|
|
l_ignoreFigs
|
A list that specifies the set of figures to be ignored for snapping.
|
|
l_options
|
This is a DPL (disembodied property list) with options to set snap input parameters.
DPL list should look like:
l_options = '( nil toSP t|nil toWSP t|nil toRow t|nil toPlacementGrid t | nil toMfgGrid t | nil toXYGrid t | nil toWSPDetail t | nil toWSPDetailSnapAllShapes t | nil snapMethod "defaultAbstractOverride" | "defaultDetailOverride" |"abstractOnly" | "detailOnly" snapGrid "any" | "local" | "global" snapDirection "nearest" | "low" | "high" snapXEdge "low" | "high" snapYEdge "low" | "high" snapDepth 0 | 0-31 freeSnapDepth 0 | 0-31 fixedSnapDepth 0 | 0-31 matchPinColor t | nil xSnapSpacing 0.001 | any value multiple of mfg grid ySnapSpacing 0.001 | any value multiple of mfg grid fastDetailModeSnapping t | nil abstractModeSnapAnyBoundaryEdge t | nil allSPGridsEnclosures t | nil snapToXYGridFirst t | nil boundarySnapXGrids "" | t_names boundarySnapYGrids "" | t_names boundarySnappingLayer "" | t_names ignoreParallelMinWidthForSquarePinResize t | nil rowSiteSymmetry t | nil snapDeviceInDetailMode t | nil ignoreRef t | nil propBasedInstSnap t | nil polyGridFeatures t | nil )
|
|
g_detailedResults
|
This boolean flag specifies if detailed snap data is displayed in the result.
|
Value Returned
|
l_result
|
Displays the result as:
list (nil) | list (transform | detailed snap result + transform)
|
|
nil
|
The command is not successful.
|
Examples
xform = leGetSnapTransform(inst nil list(list(0 0) "R0") list(nil) options t)
======================= START SNAP INFO =======================
Snap Mode = Detail
Axis snapped-to = Horizontal
SPDefName snapped to = GPG90 (PPitch, poly90)
Layer of snapped-to LPP = Poly
Purpose of snapped-to LPP = drawing
Enclosure = 0.009000
Bounding box for snapped-to LPP=((34.791000 13.957000) (35.349000 14.211000))
======================= END SNAP INFO =======================
((-0.015 0.0) "R0" 1.0)
Error due to licensing
nil
A valid error message - "Valid license needed to run leGetSnapTransform API."
Non-detailed result
Successful
xform = leGetSnapTransform(inst nil list(list(0 0) "R0") list(nil) options nil)
((-0.015 0.0) "R0" 1.0)
Not successful
xform = leGetSnapTransform(inst fakeRow list(list(0 0) "R0") list(nil) options nil)
nil
Return to top