vcSnapCommand
vcSnapCommand provides options for handling the position and orientation of 3D world points selected using the interactiveSnap command.
Inherits: vcCommand
Properties
Name | Type | Access | Description |
Snap | Boolean | RW | Turns on or off the ability to snap to a target. |
SnapOnCircleCenter | Boolean | RW | Turns on or off the center of circles as potential targets. |
SnapOnCurve | Boolean | RW | Turns on or off curves as potential targets. |
SnapOnEdge | Boolean | RW | Turns on or off edges as potential targets. |
SnapOnEdgeCenter | Boolean | RW | Turns on or off the midpoint of edges as potential targets. |
SnapOnFaceCenter | Boolean | RW | Turns on or off the center of faces as potential targets. |
SnapOnFrame | Boolean | RW | Turns on or off frames as potential targets. |
SnapOnNodeCenter | Boolean | RW | Turns on or off the center of nodes as potential targets. |
SnapOnNodeOrigin | Boolean | RW | Turns on or off the origin of nodes as potential targets. |
SnapOnPoint | Boolean | RW | Turns on or off points on lines and polygons, for example corner points, as potential targets. |
SnapOnPolygon | Boolean | RW | Turns on or off polygons as potential targets. |
SnapOnSurface | Boolean | RW | Turns on or off faces as potential targets. |
TargetAvailable | Boolean | R | Indicates if pointing at an available target in the 3D world. |
TargetCircleCenterAvailable | Boolean | R | Indicates if center of a circle is available as a target. |
TargetCurve | List of vcVector | R | Provides a list of positions for a target curve in World coordinate system. |
TargetCurveAvailable | Boolean | R | Indicates if a curve is available as a target. |
TargetCurveIndex | Integer | R | Indicates the index position of a target curve in a geometry set. |
TargetFaceCenterAvailable | Boolean | R | Indicates if the center of a face is available as a target. |
TargetGeoset | vcGeometrySet | R | Indicates the geometry set of a target. |
TargetLocked | Boolean | R | Indicates if a target has been selected in the 3D world. |
TargetMatrix | vcMatrix | R | Indicates the position and orientation matrix for target in World coordinates. |
TargetMatrixAvailable | Boolean | R | Indicates if the position and orientation matrix for a target is available. (only valid for frame type targets) |
TargetNode | vcNode | R | Indicates the node containing a target. |
TargetNormal | vcVector | R | Indicates the normal vector of a target in World coordinates. |
TargetNormalAvailable | Boolean | R | Indicates if the normal vector of a target is available. (only valid for polygon and frame type targets). |
TargetPosition | vcVector | R | Indicates the position of a target in World coordinates. |
TargetPrimitive | vcPrimitive | R | Indicates the geometry primitive object of a target. |
TargetSurfaceAvailable | Boolean | R | Indicates if the surface of a target is available. |
TargetSurfaceIndex | Integer | R | Indicates the index position of a target surface in a component, for example the faces of a cube. |
Methods
Name | Return Type | Parameters | Description |
clear | None | None | Resets the command and clears its target data. |
Events
Name | Parameters | Description |
OnTargetAvailable | vcSnapCommand command | Triggered when pointer is hovering over a valid target in 3D world.
The command itself as passed as an argument, thereby allowing you to access its updated properties. |
OnTargetSet | vcSnapCommand command | Triggered when a valid target has been selected in 3D world.
The command itself as passed as an argument, thereby allowing you to access its updated properties. |
Examples
Example. Execute snap command and use event handlers
from vcScript import * app = getApplication() snap = app.findCommand('interactiveSnap') def TargetPicked(args): global snap pos = snap.TargetPosition print 'Picked: %.2f %.2f %.2f' % (pos.X, pos.Y, pos.Z) if snap.TargetAvailable: print 'Starting picking!' snap.execute() else: print "Finished snapping!" def StartPicking(): global snap snap.clear() snap.SnapOnPoint = True snap.SnapOnEdge = True snap.SnapOnPolygon = True snap.SnapOnSurface = True snap.SnapOnNodeCenter = False snap.SnapOnNodeOrigin = False snap.OnTargetSet = TargetPicked print 'Starting picking!' snap.execute() def StopPicking(): global snap snap.clear() StartPicking() #StopPicking() |