Description | Example | Return message | Group

VO Primitive

Defines and modifies programmable graphics primitives.

Syntax

VO <ScenarioPath> Primitive {Add | Modify | Delete | Import | Export} {PrimitiveID} [Type {PrimitiveType}] ({PrimitiveOption} <Value>)...

Related commands

Description

You must define each primitive by a unique ID number. This number can be negative, 0, or positive. No two primitives can share the same ID. Specify the {PrimitiveID} by one of the following methods:

{PrimitiveID}Description
ID <UniqueID>Specify a single primitive by its unique ID number.

When ADDing a primitive, you must specify a single UniqueID.

ID AllApply options to all primitives.
StartID <StartID> EndID <EndID>Specify all primitives within a range. The <EndID> must be greater or equal to the <StartID>.
IDList <NumIDs> <ID1> <ID2>...Define a list of primitives to be modified or deleted.

When adding a primitive, use the VO_R Primitive command to request that STK generate, and return, a unique ID.

Valid values for {PrimitiveType} are as follows:

{PrimitiveType}Value
LineDefined using points
ArcDefined using points; follows the arc of the central body
RhumbLineDefined using points, with a line of constant bearing
PolygonDefined using points
ArcPolygonDefined using points; follows the arc of the central body
SurfacePolygonDefined using points; conforms to terrain
ModelDefined by a single position
EllipseDefined by a center point, major and minor axes, and bearing
SurfaceEllipseDefined by a center point, major and minor axes, and bearing; conforms to terrain
CircleDefined by a center point and radius
SurfaceCircleDefined by a center point and radius; conforms to terrain
RectangleDefined by a center point, length, width, and bearing
SurfaceRectangleDefined by a center point, length, width, and bearing; conforms to terrain
SectorDefined by a center point, start and end bearings, and inner and outer radii
SurfaceSectorDefined using points; conforms to terrain
CorridorDefined using points and a width
WallDefined using an existing primitive (any type except Model and Wall)

The Type {PrimitiveType} is required if the action is Add.

Options that define a primitive are required if the action is Add.

The following tables describe the {PrimitiveOption} <Value> pairs used to define or modify any type of primitive.

Import and Export

You can use these options to create a file containing the Primitives defined in the current scenario and then load those primitives into another scenario.

The format for these options is: VO <ScenarioPath> Primitive {Import | Export} "<FilePath>"

When Exporting, the specified directory must already exist. If the file exists, it will be overwritten; otherwise it will be created.

When importing, please be aware of the following issues:

  • STK will not import primitives with duplicate IDs.
  • If an imported primitive is attached to a BodyFrame and the body frame object does not exist in the scenario, then STK will not display the primitive.
  • If an imported primitive includes time intervals and the time intervals are outside the scenario's analysis period, then STK will not display the primitive.

The following are examples using the Import and Export options.

VO * Primitive Export "C:\Users\Documents\STK 9\Prims6509.txt"
VO * Primitive Import "C:\Users\Documents\STK 9\Prims6509.txt"

Common Primitive Options

The following options are valid for all primitive types (except as noted).

{PrimitiveOption}<Value>Description
Show{On | Off}Show or Hide this primitive.
CentralBody<CBName>Associate a primitive with a central body.

This option is not valid if you attach a primitive to an object, see BodyFrame option.

BodyFrame<TruncObjectPath>Attach a primitive to a specific object. The primitive will move along with the object in its body frame. Once attached to an object, you can move a primitive to other objects using the command: VO * Primitive Modify ... BodyFrame <NewObjectPath>

When you attach a primitive to an object, it takes on the central body of that object, so the CentralBody <CBName> command option is invalid for these primitives.

If an object has primitives attached to it, the primitives are deleted when the object is deleted.

This option is not valid for Wall type primitives nor for SurfacePolygon, SurfaceCircle, SurfaceEllipse, SurfaceRectangle, and SurfaceSector type primitives.

Color{Color}Indicates the color of the primitive. For valid {Color} options, see Common Color Options.
WindowState Show {On | Off} WindowID {<WindowNum> | All} Turn on or off the display of the selected primitives on the selected 3D windows.
IntervalType{AlwaysOn | UseIntervals}Indicate whether or not to use a list of intervals for displaying the primitive.
AddIntervals<NumberOfIntervals> ("<StartTime>" "<StopTime>")...Define a list of intervals to be used to display primitives.
ModifyInterval"<StartTime>" "<StopTime>" ({Option} <Value>)...Modify the properties of a primitive for the specified interval. The following {Option} <Value> pairs are valid for all primitive types:
  • Color {{Color} | Default}

The following options are valid for Line or PreCBLine primitives:

  • LineStyle {{LineStyle} | Default}
  • LineWidth {<Width> | Default}

For valid {LineStyle} and {Color} options, see Common Options.

For <Width>, enter a pixel width value between 1.0 and 10.0.

This option is valid for Modify only.

LoadIntervals"<IntervalFile>" Load intervals from an STK interval file. For help on creating the STK interval file, see Create & Import External Files - Interval List in STK Help.

"<IntervalFile>" can be the path to a file on your local drive or the path to a file on an SDF server. See Specifying Paths for "<SDFFilePath>" syntax information.

DeleteIntervals<NumberOfIntervals> ("<StartTime>" "<StopTime>")...Delete the specified intervals from the list.

This option is valid for Modify only.

DeleteAllIntervalsN/ADelete all intervals for the primitive.

This option is valid for Modify only.

Line Primitive Options

The Line primitive is defined using Points. Options available for Line {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for a Line primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to a Line primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
DrawType{Surface | OnTerrain | Space}
  • Surface : Appropriate for primitives drawn on the surface. This is the default value.
  • OnTerrain : This option is valid when using the LL or XYSurface points format. If terrain is under the primitive, the primitive will conform to the terrain.
  • Space : This is appropriate for primitives drawn at altitude or for primitives perpendicular to the central body that may cut through it.

Examples

Draw a green arrow at the surface for Aircraft airArrow:

VO * Primitive Add ID 20 Type Line Bodyframe Aircraft/airArrow Color Green LineWidth 2 Points 8 XYSurface -1500 -500 1000 -500 1000 -1500 2000 0 1000 1500 1000 500 -1500 500 -1500 -500

Arc Primitive Options

The Arc primitive is defined using Points. Options available for Arc {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for an Arc primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to an Arc primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. For Arc, a valid value is between 0.001 and 90.0. The default value is 1.0 degree.
DrawType{Surface | OnTerrain | Space}
  • Surface : Appropriate for primitives drawn on the surface. This is the default value.
  • OnTerrain : This option is valid when using the LL or XYSurface points format. If terrain is under the primitive, the primitive will conform to the terrain.
  • Space : This is appropriate for primitives drawn at altitude or for primitives perpendicular to the central body that may cut through it.

RhumbLine Primitive Options

The RhumbLine primitive is defined using Points. Options available for RhumbLine {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for a RhumbLine primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to a RhumbLine primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.001 and 90.0. The default value is 1.0 degree.
DrawType{Surface | OnTerrain | Space}
  • Surface : Appropriate for primitives drawn on the surface. This is the default value.
  • OnTerrain : This option is valid when using the LL or XYSurface points format. If terrain is under the primitive, the primitive will conform to the terrain.
  • Space : This is appropriate for primitives drawn at altitude or for primitives perpendicular to the central body that may cut through it.

Polygon Primitive Options

The Polygon primitive is defined using Points. Options available for Polygon {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The Polygon primitive must have at least three points defined.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for a Polygon primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to a Polygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

ArcPolygon Primitive Options

The ArcPolygon primitive is defined using Points. Options available for ArcPolygon {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The ArcPolygon primitive must have at least three points defined.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for an ArcPolygon primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to an ArcPolygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. Default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
BoundaryType{GreatArc | RhumbLine}This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.001 and 90.0. The default value is 1.0 degree.

Examples

Add an ArcPolygon primitive:

VO * Primitive Add ID 10 Type ArcPolygon Points 4 LL 50 0 60 0 60 10 50 10 BoundaryType RhumbLine LineStyle Dotted

SurfacePolygon Primitive Options

The SurfacePolygon primitive is defined using Points, and conforms to terrain. Options available for SurfacePolygon {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the SurfacePolygon primitive type.

The SurfacePolygon primitive must have at least three points defined.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for an SurfacePolygon primitive. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfacePolygon is LL.

ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to an SurfacePolygon primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfacePolygon is LL.

LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

Examples

Add a SurfacePolygon primitive:

VO * Primitive Add ID 12 Type SurfacePolygon Points 4 LL 50 0 60 0 60 10 50 10 LineWidth 2

Model Primitive Options

The Model primitive is defined by a single Position and model Filename. Options available for Model {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
FileName"<FilePath>"Specify the model file.
Position{PointType} <Point>Define the position of the model primitive. See Point Type Options below for {PointType} formats.
ScaleLog<ScaleLog>Define the model scale exponentially. <ScaleLog> must be greater than 0.0.
Scale<Scale>Define the model scale absolutely. <Scale> must be greater than 0.0.
OnDist<Value>This is the distance from the camera when the model display will be turned on. Enter it in Connect distance units, greater than 0.0. The default value is 0.0.
OffDist<Value>This is the distance from the camera when the model display will be turned off. Entere it in Connect distance units, greater than 0.0. The default value is 2,000,000.0.

You can use the OnDist and OffDist options to prevent models that are far away from the viewer from being drawn.

YPR<Yaw> <Pitch> <Roll>STK applies the YPR angles in the sequence PRY (i.e., 213). Enter the angles in degrees. The default values are 0, 0, 0.

Similarly to Euler angles, YPR angles specify attitude using three rotations in a chosen sequence: the rotation about the reference X axis is called roll (R), the rotation about the reference Y axis is called pitch (P), and the rotation about the reference Z axis is called yaw (Y). Sequences are identified using either numbers (1 is the X axis, 2 is the Y axis, 3 is the Z axis) or letters (R is the X axis, P is the Y axis, Y is the Z axis). Unlike Euler angles, the rotations are not made about axes defined by an earlier rotation. Instead, each rotation is made about the reference system's axes.

In YPR angles, the names yaw, pitch, and roll do NOT refer to the angles normally used in aviation; the terms yaw, pitch, and roll in aviation refer to 321 Euler angles.

Examples

Show a 747 airplane model under Satellite1:

VO * Primitive Add ID 22 Type Model Bodyframe Satellite/Satellite1 Position XYZ 0 0 120000 ScaleLog 3 FileName "c:\747.mdl" YPR 0 0 30

Ellipse Primitive Options

The Ellipse primitive is defined by a Center point, MajorAxis, MinorAxis, and Bearing. Options available for Ellipse {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the center of the ellipse. See Point Type Options below for {PointType} formats.
MajorAxis<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
MinorAxis<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree.

Examples

Define an Ellipse primitive:

VO * Primitive Add ID 1 Type Ellipse Center LLA 40 -100 75000 MajorAxis 55000 MinorAxis 40000 Bearing 30 Show On Color green

SurfaceEllipse Primitive Options

The SurfaceEllipse primitive is defined by a Center point, MajorAxis, MinorAxis, and Bearing, and conforms to terrain. Options available for SurfaceEllipse {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the SurfaceEllipse primitive type.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the Center of the SurfaceEllipse. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfaceEllipse is LL.

MajorAxis<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
MinorAxis<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

Examples

Define a SurfaceEllipse primitive:

VO * Primitive Add ID 1 Type SurfaceEllipse Center LL 40 -100 MajorAxis 55000 MinorAxis 40000 Bearing 30 Show On Color green

Circle Primitive Options

The Circle primitive is defined by a Center point and Radius. Options available for Circle {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the center of the circle. See Point Type Options below for {PointType} formats.
Radius<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree.

Examples

Define a Circle primitive:

VO * Primitive Add ID 1 Type Circle Center LL 40 -80 Radius 75000

SurfaceCircle Primitive Options

The SurfaceCircle primitive is defined by a Center point and Radius and conforms to terrain. Options available for SurfaceCircle {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the SurfaceCircle primitive type.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the Center of the SurfaceCircle. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfaceCircle is LL.

Radius<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

Examples

Define a SurfaceCircle primitive:

VO * Primitive Add ID 1 Type SurfaceCircle Center LL 40 -80 Radius 75000

Rectangle Primitive Options

The Rectangle primitive is defined by a Center point, Length, Width, and Bearing. Options available for Rectangle {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the center of the rectangle. See Point Type Options below for {PointType} formats.
Length<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
Width<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
BoundaryType{GreatArc | RhumbLine}This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree.

Examples

Define a Rectangle primitive:

VO * Primitive Add ID 3 Type Rectangle ShowLine On ShowPoints On Color Red Translucency 40 Length 250000 Width 85000 Bearing 90 Center XYSurface 95000 0 Bodyframe "Aircraft/Aircraft1"

SurfaceRectangle Primitive Options

The SurfaceRectangle primitive is defined by a Center point, Length, Width, and Bearing, and conforms to terrain. Options available for SurfaceRectangle {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the SurfaceRectangle primitive type.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the Center of the SurfaceRectangle. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfaceRectangle is LL.

Length<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 60 meters.
Width<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

Examples

Define a SurfaceRectangle primitive:

VO * Primitive Add ID 3 Type SurfaceRectangle ShowLine On Color Red Translucency 40 Length 100000 Width 10000 Bearing 30 Center LL 44 -120

Sector Primitive Options

The Sector primitive is defined by a Center point, InnerRadius, OuterRadius, Bearing, and EndBearing. Options available for Sector {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the center for a Sector primitive. See Point Type Options below for {PointType} formats.
InnerRadius<Value>Enter this value in Connect distance units; it must be between 0.0. and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius.
OuterRadius<Value>Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
EndBearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. For Arc and RhumbLine a valid value is between 0.001 and 90.0. For Ellipse, Circle, Rectangle, Sector, and Corridor, a valid value is between 0.1 and 6.0. The default value is 1.0 degree.

Examples

Define a Sector primitive:

VO * Primitive Add ID 71 Type Sector Bodyframe "Aircraft/Aircraft2" Center XYZ 0 0 0 InnerRadius 0 OuterRadius 2500 Bearing 45 EndBearing 90

SurfaceSector Primitive Options

The SurfaceSector primitive is defined by a Center point, InnerRadius, OuterRadius, Bearing, and EndBearing, and conforms to terrain. Options available for SurfaceSector {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the SurfaceSector primitive type.

{PrimitiveOption}<Value>Description
Center{PointType} <CenterPoint>Define the center for a SurfaceSector primitive. See Point Type Options below for {PointType} formats.

The only valid {PointType} for SurfaceSector is LL.

InnerRadius<Value>Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius.
OuterRadius<Value>Enter this value in Connect distance units; it must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius.
Bearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
EndBearing<Value>Enter this value in degrees; it must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by fewer than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
ShowLine{On | Off}Show or Hide the lines for this primitive. Default value is On.
Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.

Examples

Define a SurfaceSector primitive:

VO * Primitive Add ID 71 Type SurfaceSector Center LL 44 -120 InnerRadius 10000 OuterRadius 250000 Bearing 45 EndBearing 90

Corridor Primitive Options

The Corridor primitive is defined using Points and a Width. Options available for Corridor {PrimitiveType} are described in the following table.

See also Common Primitive options above.

{PrimitiveOption}<Value>Description
Points<NumPoints> {PointType} <Point1> [<Point2>...]Define the points for a Corridor primitive. See Point Type Options below for {PointType} formats.
ExtendPoints<NumPoints> {PointType} <Point1> [<Point2>...]Add points to a Corridor primitive. You must add points to a primitive using the same format in which they were defined. See Point Type Options below for {PointType} formats.
ShowPoints{On | Off}Show or Hide the vertices for this primitive. The default value is Off.
Width<Value>Enter this value in Connect distance units; it must be greater than 0.0. The default is 50 meters.
LineWidth<Width>Indicates the width of the primitive line. <Width> is a value between 1.0 and 10.0.
LineStyle{LineStyle}Indicates the style of the primitive line. {LineStyle} can be a name such as Solid, Dashed, Dotted, etc., or a number (0, 1, 2, etc.). For all valid {LineStyle} options, see Common Line Options.
ShowLine{On | Off}Show or Hide the lines for this primitive. The default value is On.
BoundaryType{GreatArc | RhumbLine}This options enables you to choose between Great Arcs and Rhumb Lines for connecting the end points. The default value is GreatArc.
Granularity<Angle>Define the arc granularity, which is the frequency of interpolated points. A low number for this value will look nicer, but draw slower. A valid value is between 0.1 and 6.0. The default value is 1.0 degree.
DrawType{Surface | OnTerrain | Space}
  • Surface : Appropriate for primitives drawn on the surface. This is the default value.
  • OnTerrain : This option is valid when using the LL or XYSurface points format. If terrain is under the primitive, the primitive will conform to the terrain.
  • Space : This is appropriate for primitives drawn at altitude or for primitives perpendicular to the central body that may cut through it.

Examples

Add a Corridor primitive to the scenario:

VO * Primitive Add ID 1 Type Corridor Points 3 LL 40 -100 45 -95 40 -90 Width 35000 BoundaryType RhumbLine

Wall Primitive Options

The Wall primitive is defined using an existing primitive (SrcPrimID). Options available for Wall {PrimitiveType} are described in the following table.

See also Common Primitive options above.

The BodyFrame option is not valid for the Wall primitive type.

{PrimitiveOption}<Value>Description
SrcPrimID<ID>Use the source primitive to provide the latitude and longitude points for the Wall primitive. The points are copied from the source primitive, which you can delete if it is no longer needed. If the source primitive's points change, the Wall is NOT notified. The visual properties of the source primitive such as color, line width, etc., are not copied to the Wall.

The source primitive can not be a Model or Wall type.

Translucency <Value>Translucency sets the amount of light to pass through an object but diffusing it so that objects aren't clearly visible. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 70.
LineTranslucency <Value>LineTranslucency sets the amount of light to pass through lines. <Value> ranges from 0 (opaque) to 100 (completely transparent). The default value is 0.
TopAltRef {RefOption}

If Central Body is Earth, then the valid values for {RefOption} are Terrain, MSL, and WGS84.

If Central Body is not Earth, then the valid values for {RefOption} are Terrain and Ellipsoid.

This option sets the reference of the upper edge limit of the wall. If you enter Terrain, the reference is to the altitude of the terrain. If you enter MSL, the reference is to mean sea level. If you enter WGS84 or Ellipsoid, the reference is to the altitude of the central body's reference ellipsoid. This is the default value.

TopAlt <Value>Specify the altitude of the upper edge limit of the wall. Enter the value in Connect distance units; it should be between -10000000.0 (-1e+007) meters and 10000000000.0 (1e+010) meters. The default value is 2500.0 meters.
BotAltRef{RefOption}

If Central Body is Earth, then the valid values for {RefOption} are Terrain, MSL, and WGS84.

If Central Body is not Earth, then the valid values for {RefOption} are Terrain and Ellipsoid.

This option sets the reference of the lower edge limit of the wall. If you enter Terrain, the reference is to the altitude of the terrain. If you enter MSL, the reference is to mean sea level. If you enter WGS84 or Ellipsoid, the reference is to the altitude of the central body's reference ellipsoid. This is the default value.

BotAlt<Value>Specify the altitude of the lower edge limit of the wall. Enter the value in Connect distance units; it should be between -10000000.0 (-1e+007) meters and 10000000000.0 (1e+010) meters. The default value is 0.0 meters.

Examples

Define a Circle primitive and define a Wall on that Circle, then delete the original Circle primitive:

VO * Primitive Add ID 1 Type Circle Center LL 40 -80 Radius 75000
VO * Primitive Add ID 2 Type Wall SrcPrimID 1 TopAlt 40000 BotAlt 20000

Point Type Options

If the primitive is not attached to a BodyFrame the following {PointType} options are valid:

{PointType}<Point>Description
LLA<Latitude> <Longitude> <Altitude>Enter <Latitude> and <Longitude> in degrees. Enter <Altitude> in meters.
LL<Latitude> <Longitude>Enter <Latitude> and <Longitude> in degrees.
CBF<X> <Y> <Z>Enter central body fixed elements, <X>, <Y> and <Z>, in Connect distance units.

If the primitive is attached to a BodyFrame, the following {PointType} options are valid:

{PointType}<Point>Description
XYZ<X> <Y> <Z>Enter body fixed elements, <X>, <Y> and <Z>, in Connect distance units.
XYSurface<X> <Y>Body fixed elements, points are scaled to surface. Enter <X> and <Y> in Connect distance units.

Technical Notes for Primitives on Terrain:

This information is in regard to the DrawType OnTerrain option.

LineStyle is ignored when a primitive is on terrain.

Picking is not supported when a primitive is on terrain.

If ShowPoints is on and the primitive is on terrain, the points are not drawn on terrain.

Using the OnTerrain DrawType is not as fast as Surface , so AGI only recommends using OnTerrain when terrain is present.

AGI only recommends using the Line primitive when the end points are within a degree of each other. If it does not display correctly, use an Arc primitive instead. Do not set the Granularity for Arc or RhumbLine above their default, for proper behavior.

Notes on Debugging:

If a VO * Primitive command fails (due to invalid syntax, invalid primitive ID, etc.), a NACK is returned. By default, primitive debugging is turned off. To get extended debugging information, enable primitive debugging with the following command:

VO * Primitive Debug On

When debugging is enabled and a VO * Primitive command NACKs, debugging information is displayed in the message viewer. In STK, go to View -> Message Viewer. This information will help you pinpoint what is wrong with the command. To disable primitive debugging, use:

VO * Primitive Debug Off

Note that the debugging state is not saved with the scenario, so it needs to be turned on before it is used.

Notes on Performance:

If several VO * Primitive commands are sent in a row, use batch graphics to avoid redrawing between each command. See BatchGraphics.

Since line primitives are line strips, it is better to create one line with several points than several lines with only two points each.

Primitives drawn in fixed lat lon space tend to be the fastest, while primitives attached to an object, drawn as great arcs on the surface, tend to be the slowest.

Avoid drawing attached line primitives as a great arc. If the line is short enough, a great arc isn't needed.

If a primitive is no longer needed, delete it using VO * Primitive Delete, instead of just hiding it with VO * Modify ... Show Off.

Identifying Primitives

The ID of a primitive can be determined using asynchronous 3D picking. When asynchronous 3D picking is enabled, double-clicking a primitive will return a string, via Connect, that includes the primitive ID. See Async3DPick for more information.

Examples

The following series of commands will create two line primitives, add intervals to both, and modify the intervals to change the line color and width over time:

Define the first primitive:

VO * Primitive Add ID 40 Type Line Bodyframe Aircraft/airGA Points 2 XYZ -30000 -15000 5000 -30000 15000 5000

Define the second primitive:

VO * Primitive Add ID 41 Type Line Bodyframe Aircraft/airGA Points 2 XYZ -25000 -17000 3400 -25000 17000 3400

Modify both primitives to draw using the great arc:

VO * Primitive Modify StartID 40 EndID 41 ShowPoints On Color Red DrawType GreatArc GreatArcInc .1

Add 3 intervals to both primitives:

VO * Primitive Modify StartID 40 EndID 41 AddIntervals 3 "1 Jun 2004 12:00:00" "1 Jun 2004 12:10:00" "1 Jun 2004 12:10:00" "1 Jun 2004 12:20:00" "1 Jun 2004 12:20:00" "1 Jun 2004 12:30:00"

Modify the primitives to be red, with a width of 1 during the first interval:

VO * Primitive Modify StartID 40 EndID 41 ModifyInterval "1 Jun 2004 12:00:00" "1 Jun 2004 12:10:00" Color Red LineWidth 1

Modify the primitives to be white, with a width of 2 during the second interval:

VO * Primitive Modify StartID 40 EndID 41 ModifyInterval "1 Jun 2004 12:10:00" "1 Jun 2004 12:20:00" Color White LineWidth 2

Modify the primitives to be blue, with a width of 3 during the third interval:

VO * Primitive Modify StartID 40 EndID 41 ModifyInterval "1 Jun 2004 12:20:00" "1 Jun 2004 12:30:00" Color Blue LineWidth 3

Examples

Define a Circle primitive and define a Wall on that Circle, then delete the original Circle primitive:

VO * Primitive Add ID 1 Type Circle Center LL 40 -80 Radius 75000
VO * Primitive Add ID 2 Type Wall SrcPrimID 1 TopAlt 40000 BotAlt 20000
VO * Primitive Delete ID 1

Examples

Turn on the display of primitive 1 on 3D Window 1:

VO * Primitive Modify ID 1 WindowState Show On WindowID 1

Turn off the display of primitives 34 and 35 on All 3D Windows:

VO * Primitive Modify IDList 2 34 35 WindowState Show Off WindowID All

Return message

Group membership

This command belongs to the following group(s):

VO

VO Window

Version

12.1