Description | Example | Return Message | Group

VO Primitive

Define and modify programmable graphics primitives.

Syntax

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

Related Commands

Description

Each primitive must be defined by a unique ID number. This number can be negative, 0, or positive. No two primitives can share the same ID. The {PrimitiveID} can be specified by one of the following methods:

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

Note: When ADDing a primitive a single UniqueID must be specified.

ID All Apply 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:

Line : defined using points.
Arc : defined using points, follows the arc of the central body.
RhumbLine : defined using points, with a line of constant bearing.

Polygon : defined using points.
ArcPolygon : defined using points, follows the arc of the central body.
SurfacePolygon : defined using points, conforms to terrain.

Model : defined by a single position.

Ellipse : defined by a center point, major and minor axis and bearing.
SurfaceEllipse :defined by a center point, major and minor axis and bearing, conforms to terrain.

Circle : defined by a center point and radius.
SurfaceCircle : defined by a center point and radius, conforms to terrain.

Rectangle : defined by a center point, length, width and bearing.
SurfaceRectangle : defined by a center point, length, width and bearing, conforms to terrain.

Sector : defined by a center point, start and end bearing and inner and outer radius.
SurfaceSector : defined using points, conforms to terrain.

Corridor : defined using points and a width.
Wall : defined using an existing primitive (any type except Model and Wall).

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

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

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

Import and Export

These options can be used to create a file containing the Primitives defined in the current scenario and then loading 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.

Note: When importing, please be aware of the following issues:

The following are examples using the Import and Export options.

VO * Primitive Export "C:\Documents and Settings\My Documents\STK 9\Prims6509.txt"
VO * Primitive Import "C:\Documents and Settings\My 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 a primitive is attached to an object, see BodyFrame option.

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

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

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

Note: This option is not valid for Wall type primitives, or SurfacePolygon, SurfaceCircle, SurfaceEllipse, SurfaceRectangle, SurfaceSector type primitives.

Color {Color} Indicates the color of the primitive. For valid {Color} options see Common Color Options.
IntervalType {AlwaysOn | UseIntervals} Indicate whether 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.

Note: 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.
DeleteIntervals <NumberOfIntervals> ("<StartTime>" "<StopTime>")... Delete the specified intervals from the list.

Note: This option is valid for Modify only

DeleteAllIntervals N/A Delete all intervals for the primitive.

Note: 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. Points must be added 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. 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.
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.

Example

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. Points must be added 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. 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.
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. 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. Points must be added 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. 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.
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. 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.

Note: 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. Points must be added 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. 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.

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.

Note: 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. Points must be added 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. 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 allows users to pick 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. Default value is 1.0 degree.

Example

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.

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

Note: 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.

Note: The only valid {PointType} for SurfacePolygon is LL.

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

Note: 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. 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.

Example

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. Entered in Connect distance units, greater than 0.0. Default value is 0.0.
OffDist <Value> This is the distance from the camera when the model display will be turned off. Entered in Connect distance units, greater than 0.0. Default value is 2,000,000.0.

The OnDist and OffDist options can be used to prevent models that are far away from the viewer from being drawn.

YPR <Yaw> <Pitch> <Roll> The YPR angles are applied in this sequence: Pitch, Roll, Yaw. Entered in degrees. Default value is 0, 0, 0.

Example

Show the 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> This value is entered in Connect distance units and must be greater than 0.0. The default is 60 meters.
MinorAxis <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 50 meters.
Bearing <Value> This value is entered in degrees and 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. 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.
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. Default value is 1.0 degree.

Example

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.

Note: 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.

Note: The only valid {PointType} for SurfaceEllipse is LL.

MajorAxis <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 60 meters.
MinorAxis <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 50 meters.
Bearing <Value> This value is entered in degrees and 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. 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.

Example

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> This value is entered in Connect distance units and 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. 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.
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. Default value is 1.0 degree.

Example

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.

Note: 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.

Note: The only valid {PointType} for SurfaceCircle is LL.

Radius <Value> This value is entered in Connect distance units and 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. 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.

Example

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> This value is entered in Connect distance units and must be greater than 0.0. The default is 60 meters.
Width <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 50 meters.
Bearing <Value> This value is entered in degrees and 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. 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 allows users to pick 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. Default value is 1.0 degree.

Example

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.

Note: 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.

Note: The only valid {PointType} for SurfaceRectangle is LL.

Length <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 60 meters.
Width <Value> This value is entered in Connect distance units and must be greater than 0.0. The default is 50 meters.
Bearing <Value> This value is entered in degrees and 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. 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.

Example

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> This value is entered in Connect distance units and must be between 0.0 and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius.
OuterRadius <Value> This value is entered in Connect distance units and must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius.
Bearing <Value> This value is entered in degrees and must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by less than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
EndBearing <Value> This value is entered in degrees and must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by less 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. 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.
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. Default value is 1.0 degree.

Example

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.

Note: 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.

Note: The only valid {PointType} for SurfaceSector is LL.

InnerRadius <Value> This value is entered in Connect distance units and must be between 0.0 and 15,000,000 meters. The default is 50 meters. InnerRadius can not equal OuterRadius.
OuterRadius <Value> This value is entered in Connect distance units and must be between 0.0 and 15,000,000 meters. The default is 60 meters. InnerRadius can not equal OuterRadius.
Bearing <Value> This value is entered in degrees and must be between -360.0 and 360.0. The default is 0.0. Bearing and EndBearing must be separated by less than 360 degrees. If Bearing equals EndBearing, a line (great arc) is drawn.
EndBearing <Value> This value is entered in degrees and must be between -360.0 and 360.0. The default is 45.0. Bearing and EndBearing must be separated by less 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.

Example

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. Points must be added 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. Default value is Off.
Width <Value> This value is entered in Connect distance units and 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. Default value is On.
BoundaryType {GreatArc | RhumbLine} This options allows users to pick 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. 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.

Example

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.

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

{PrimitiveOption} <Value> Description
SrcPrimID <ID> The source primitive is used to provide the latitude and longitude points for the Wall primitive. The points are copied from the source primitive, which can then be deleted 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, WGS84.

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

This option sets the reference of the upper edge limit of the wall. If Terrain is entered the reference is to the altitude of the terrain. If MSL is entered the reference is to mean sea level. If WGS84 or Ellipsoid is entered 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. The value is entered in Connect distance units and should be -10000000.0 (-1e+007) meters through 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, WGS84.

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

This option sets the reference of the lower edge limit of the wall. If Terrain is entered the reference is to the altitude of the terrain. If MSL is entered the reference is to mean sea level. If WGS84 or Ellipsoid is entered 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. The value is entered in Connect distance units and should be -10000000.0 (-1e+007) meters through 10000000000.0 (1e+010) meters. The default value is 0.0 meters.

Example

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> <Latitude> and <Longitude> are entered in degrees. <Altitude> is entered in meters.
LL <Latitude> <Longitude> <Latitude> and <Longitude> are entered in degrees.
CBF <X> <Y> <Z> Central body fixed elements. <X>, <Y> and <Z> are entered 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> Body fixed elements. <X>, <Y> and <Z> are entered in Connect distance units.
XYSurface <X> <Y> Body fixed elements, points are scaled to surface. <X> and <Y> are entered 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 it is only recommended to use OnTerrain when terrain is present.

It is only recommended to use 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 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 on a primitive will return a string, via Connect, that includes the primitive ID. See Async3DPick for more information.

Example

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

Example

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

ReturnMessage

If activated, Connect returns an acknowledgement message.

Group Membership

This command belongs to the following group(s):

VO

VO Window

Version

9.2.2

STK Programming Interface 11.0.1