Smart3DAutomation Toolkit
Smart3DAutomation Toolkit
Smart3DAutomation Toolkit
User Guide
Intergraph PPM SP3D Automation Services Group
Contents
HOW TO INSTALL & CONFIGURE MENUS _______________________________________________________________ 4
Customizing Commands and Utilities in this Toolkit _______________________________________________ 4
Advanced Configuration _____________________________________________________________________ 5
Adding Custom Menu items to Toolkits PopupMenu ______________________________________________ 5
Adding Custom Tasks to Smart3Ds Tasks menu. _________________________________________________ 5
SUPER SHORTCUTS _____________________________________________________________________________ 6
Using Commands and Utilities in this Toolkit ____________________________________________________ 6
SELECT FILTERS AND OBJECT SET MANIPULATION COMMANDS ________________________________________________ 8
Select Filter Commands with only Keyboard Shortcuts _____________________________________________ 8
Select Set Browser for SmartPlant 3D __________________________________________________________ 8
Add On-the-Fly Select Filter _________________________________________________________________ 11
Add Configured Select Filters ________________________________________________________________ 11
Filter Selected Objects _____________________________________________________________________ 11
Manage Object Sets _______________________________________________________________________ 12
HELPER COMMANDS ___________________________________________________________________________ 13
SmartSketch Settings Palette ________________________________________________________________ 13
PinPoint Lock / Unlock Commands ___________________________________________________________ 14
Lock PinPoint to Centroid Of Geometry Command: ______________________________________________ 14
Set and Lock PinPoint Target to Object: _______________________________________________________ 14
VIEW MANIPULATION COMMANDS _________________________________________________________________ 15
View Manipulation with only Keyboard shortcuts _______________________________________________ 15
View Manipulation with Numeric Keypad ______________________________________________________ 15
FILTER CREATION COMMANDS _____________________________________________________________________ 17
Create Filter from Select Set_________________________________________________________________ 17
Create Nested Systems Filter by Name ________________________________________________________ 17
Create Filter by Specification(s) ______________________________________________________________ 17
SURFACE STYLE RULES, STYLES AND FILTER IMPORT EXPORT COMMANDS ________________________________________ 18
Surface Style Rule Set Manager ______________________________________________________________ 18
Export Surface Styles, Surface Style Rules and Filters _____________________________________________ 18
Import Surface Styles, Surface Style Rules and Filters _____________________________________________ 19
WORKSPACE MODIFICATION COMMANDS _____________________________________________________________ 20
Add Selected Objects to Workspace __________________________________________________________ 20
Add Interfering Objects to Workspace_________________________________________________________ 23
Add Connected Objects to Workspace _________________________________________________________ 23
Add to Workspace by Range ________________________________________________________________ 25
ROUTE COMMANDS ____________________________________________________________________________ 28
Select Empty Runs ________________________________________________________________________ 28
Change Bend Radius _______________________________________________________________________ 28
Spool Selected Pipelines ____________________________________________________________________ 31
Insert Isometric Break _____________________________________________________________________ 31
Isometric Troubleshooting Utility ____________________________________________________________ 32
Join Features _____________________________________________________________________________ 34
Replace Elbow With Tee ____________________________________________________________________ 34
Page ii
Page iii
Uninstallation
1. Run the Uninstall.BAT from the Local Directory where you installed the toolkit. (double-click
it from Windows Explorer)
Page 4
Advanced Configuration
Adding Custom Menu items to Toolkits PopupMenu
A file named menuSP3DAutomationCustomPopupTools.xml is delivered with the toolkit into the
products CommonApp\Environment\Xml directory. You can customize it before/after installing the
toolkit. This allows you to add your own menu items and menus to the toolkits popup menu.
Note: Being an Advanced Configuration, any customization to the below mentioned files must be done
carefully and ensured that it works on a local machine before deploying on to many machines. For more
information, refer to the comments in the respective files delivered with the toolkit.
Page 5
Super ShortCuts
This functionality called the Super ShortCuts, is something which
uses Ctrl and Shift key combinations to invoke some of the most
commonly used commands in this toolkit. Tapping them (i.e. press and
release) in quick succession (anywhere inside the SP3D application,
but not on any active command form) will invoke the functionality.
For example, tapping Shift key thrice, i.e. Shift Shift Shift shows up
the Toolbar that provides access to all commands in this toolkit.
Similarly, another Super ShortCut is Ctrl Ctrl Shift. Tapping that
key sequence in quick succession brings up the PopupMenu of this
Toolkit at the mouse position. This Toolkit PopupMenu has the most
commonly accessed commands and also to Show toolbar that
provides access to all additional commands.
In the above menu which includes all Super ShortCuts, C stands for Ctrl, S for Shift.
Super ShortCut keys can be enabled / disabled by using the key combination Shift Shift Ctrl.
Tip: To turn off the Windows Sticky Keys functionality from getting invoked with 5 consecutive shift
key taps, turn off Sticky keys functionality from the Settings option on the sticky keys dialog which shows
up.
The Toolbar of the Toolkit shows up with Shift Shift Shift Super ShortCut.
The PopupMenu of the Toolkit shows up with Ctrl Ctrl Shift Super ShortCut.
Other Keyboard ShortCuts offered by this toolkit. Listed in various sections in this document.
The Toolbar may be invoked by using the Super ShortCut Shift Shift Shift. This is how the toolbar
appears on the screen.
Note: Some less frequently used commands are hidden by default as delivered, and you can double click
on the toolbar to toggle their show/hide visibility.
Page 6
SmartSketch Settings
Isometric Troubleshooting
Lock PinPoint toUtility
Zero
Copy Run
features
Set and Lock PinPoint Target to Object
Explore SymbolShare
SP3D Automation Toolkit - Select Filters and Object Set Manipulation Commands
You can invoke the Select Set Browser function using the Shift Ctrl Shift Super ShortCut. The Select
Set Browser form stays on top of all windows. For any reason, if it goes behind and you cannot see it,
you can use the Ctrl - Ctrl - Ctrl Super ShortCut to bring it back to the top, along with any other active
forms from this toolkit. You can use Ctrl-C to copy value(s) from informational fields shown.
Page 8
SP3D Automation Toolkit - Select Filters and Object Set Manipulation Commands
Interface>Role(Interface)
Interface>Role[n]
Interface1>Role1(Interface2)[n]:
Interface3>Role3[1]:
Interface4>Role4[1]:
Interface5.Attribute
{LabelName}
Purpose / Remarks/Example
Show value of an attribute of the currently browsed object.
Ex: On any Object, IJDObject.ApprovalStatus shows approval status.
Show currently browsed objects related object count. If evaluates to one object, shows its
OID. Relation is specified by Interface and Role names.
Ex: On a PathRun (Piping/Cabletray/Cableway/Ducting) Object
IJDesignParent>thePathRunFeatures shows count of features on the currently browsed
PathRun object (Piping/Cabletray/Cableway/Ducting)
Same as above, but only shows count of Related Objects which only satisfy a given
interface.
Ex: On a PathRun object (PipeRun/Cabletray/Cableway/DuctRun),
IJDesignParent>thePathSystemFeatures(IJRteStraightPathFeat) shows count of Straight
path features of the currently browsed PathRun object.
th
Refers to n related object (1-based index) over given Interface/Role names. Can be used
to further traverse its related objects or show its properties.
Ex 1: On a PipeRun object, IJRtePathRun>Spec[1]:IJDPipeSpec.SpecName shows Spec
Name of the browsed PipeRun object.
Ex 2: On any PathRun object (PipeRun/Cabletray/Cableway/DuctRun),
IJSystemChild>SystemParent[1]:IJNamedItem.Name shows Parent System name.
Notice the use of colon : to traverse two or more relationship paths, and/or attributes.
th
Traverses Interface1>Role1, gets related Objects which implement Interface2, gets n
st
such object, then traverses such objects Interface3>Role3 and gets 1 such related object,
st
further traverses Interface4>Role4 of such object and gets 1 such related object and
finally get such objects Interface5.Attribute
As an Example, IJRtePathRun>Spec[1]:IJDSpec>PathRun gets you the number of runs in
the model which use a selected runs spec.
Evaluates the given LabelName for the object. Label must be a bulkloaded one and not
interactively created one.
Page 9
SP3D Automation Toolkit - Select Filters and Object Set Manipulation Commands
Options:
Zoom: Fits the Active View to the new Object on Selection Change. Checking this ON is
equivalent to pressing the Fit View to Current Object button on each Selection Change. The
ZoomOut Factor can be specified.
Track: On each Selection Change, the Select Set is cleared and loaded with the new Object. Any
associated commands / ribbon bars active will reflect this change. For example, if you have
Property Page up, then it would show the properties of the new object which we navigated to.
Checking this ON is equivalent to pressing the Select Current Object alone button on each
Selection Change.
Actions:
Fit View to Current Object: Fits the Active View to the Current Object.
Fit View to All Objects: Fits the Active View to All the Objects.
Select Current Object alone: Clears the Select Set and adds the active Object alone to it. If the
Object representing the active Object has a ribbon bar, it comes up. Or, if the Property page is
active, it refreshes to the new object.
Reselect All Original Objects: Restores the Original Select Set, with which this Command was
initialized. If the Refresh action was performed earlier, or a Remove Action was performed,
then it will Restore to that last known Select Set.
Refresh (F5) Restarts this command with Active Select Set.
Note: Remember, if you have Track option ON, then you would only have ONE object,
the active object in the Select Set as you navigate. If you press Refresh at this time, then
the Select Set Browser form would restart with that one object in the list.
Remove Current Object from List: Removes this object from the Current Browsed List and
moves to the next object. If you do not have Track option ON, then the browsed object list is not
the same as Selected Object List. In such case, this action doesnt remove it from the Select Set.
Objects from Clipboard OIDs: If your clipboard contains OIDs list (eg from a Database Query
results list), you can use this function to initialize Select Set with the objects representing those
OIDs. Later you can use the Object Navigation Commands.
Copying values: You can copy any text value shown in the Select set Browsers list view,
including OIDs, custom attribute/relation watch values.
Hiliting Related Objects: Selecting any Relation watch row in the list view hilites those objects in
Blue Color.
Page 10
SP3D Automation Toolkit - Select Filters and Object Set Manipulation Commands
Page 11
SP3D Automation Toolkit - Select Filters and Object Set Manipulation Commands
Page 12
Helper Commands
SmartSketch Settings Palette
The SmartSketch Settings Palette allows one to Control active SmartSketch Options. The
Super Shortcut key to show up this Palette is Ctrl - Shift - Shift.
The palette moves to / shows up at the current mouse position whenever invoked via menu/shortcut
key. Press Esc key to dismiss it. It stays on top of all windows. For any reason, if it goes behind and you
cannot see it, you can press the Super Shortcut key combination again and it comes back to the top, at
your current mouse position. You can also use the Ctrl - Ctrl - Ctrl Super ShortCut which brings all active
Forms from this toolkit to Top.
The options can be toggled at any time, or the 'Number of Divisor points' or the Offset value can be set.
When 'Number of Divisor points' is changed, intuitively the Divisor Point option is turned on.
The Smart Sketch options currently ON show up in Pressed state (green), and those OFF will be in
UnPressed state (red). Note that some options require other options turned on. For example,
Intersection option requires Point on Curve option.
The 'X' button clears the active Smart Sketch Objects list. Intuitively, it turns off the 'Locate only from
List' option.
The '+' button adds currently selected objects to active Smart Sketch Objects list. Intuitively, it turns on
the 'Locate only from List' option. If the stack size is lesser than the number of selected elements, the
active stack size is increased (to a maximum of 10). If you selected fewer objects than the active stack
size, the stack size is not altered, and the list is rolled up, i.e. oldest elements are cleared to add the
selected elements. The combo box at the end shows the active stack size and can be set anytime.
At times you may want to exclusively turn on an option i.e. turn off all except a given one. For
example, to Measure between Ports you may want only Nozzle/Port Points ON and all others OFF. This
can be achieved by Right Mouse button click instead of Left. The previous state can be restored by Right
Mouse Click on the option which was exclusively turned on previously. The previous state is preserved
even when you are switching from one exclusive option to another.
Page 13
PinPoint > Lock menu item Locks all the three PinPoint fields (E, N, El) at their current values.
PinPoint > Unlock menu item unlocks all PinPoint fields (E, N, El).
Page 14
Ctrl
Ctrl Shift +
Ctrl Shift
Ctrl Shift V
Ctrl-0
Ctrl-9
Ctrl-PageUp / PageDown
Previous / Next View function as on View menu (v9.1 HF03 and above)
Page 15
The Set View Depth functionality works on the active View. It is meaningful for orthogonal views. It
prompts you to provide two points (usually best provided from other orthogonal views) defining the
clipping planes in the Active Views viewing direction. Such clipping planes can be edited using the Clip
By Volume command. The Clear View Depth function clears clipping.
The other functionality using Mouse/Keyboard actions is as follows
Mouse / Keyboard
Action
Click and <quickly>
Click across views
Ctrl-Click
Shift-Click
Alt-Click
Left Drag
Left+Right Drag
Scroll (Middle Button)
Right Drag
Middle Drag
S Key
L Key
T Key
Z Key
G Key
Home Key
Space Key
Functionality
Center View to Point 1st Click Picks Point, next quick Click(s) identify view(s)
to Center (the picked Point must be an intelligent point like Point on
line/object/plane etc where you see a glyph from SmartSketch and not a point
in free space)
Center View to Picked Point
Center View to Last Picked Point
Center ALL Other Views to Picked Point
Rotate (Can rotate about a Linear Objects Axes)
Pan
Zoom In/Out
Dynamic Zoom
Zoom Area
Show MessageBox current tracked position coordinates.
Lock PinPoint to currently tracked position. (pinpoint must be running)
Set currently tracked position as PinPoint Target. (pinpoint must be running)
Lock Pinpoint to Zero. (pinpoint must be running)
Center View to Position by Keyin
Fit View
Center to Selected Objects (must be selected before starting the command)
Page 16
Page 17
SP3D Automation Toolkit - Surface Style Rules, Styles and Filter Import Export commands
Page 18
SP3D Automation Toolkit - Surface Style Rules, Styles and Filter Import Export commands
Selecting the check box to export styles and style rules exports all styles and style rules in the model
database. The styles are exported to a text file with the same name as the XML file suffixed with Styles.txt.
When importing filters, user can choose whether to import catalog filters, plant filters, my filters or
some combination of the three. All filters present in the file are imported and filter folders are created
as desired. Filters are imported into the plant using the active permission group while filters are
imported to the catalog using the first catalog permission group to which the user has write access.
When compound filters are imported, the command ensures that all nested filters are present before
importing the compound filters.
Page 19
Page 20
Navigating from properties of the hanger, one can see there is a supporting structure Beam-1-0032.
Selecting it and clicking GoTo will put this beam in the select set, bringing in a ghost representation.
Page 21
However we cannot measure any distances or visualize the beam properly without adding it to the
workspace. This command fills the need. Once the beam is in the select set, one can invoke the
command and add the beam to the workspace.
This command can be similarly used to add a volume for a snapshot or composed drawing to a
workspace. If the 2D/3D select from drawings is used, the volume is shown in the view, but it cannot be
modified until it is added to workspace. The workflow then is
Open drawing for editing.
Start 2D/3D selection command.
Turn view selection ON using space bar.
Select the view; this selects the volume in 3D.
Run the command, this adds the volume to 3D. It can then be modified using any of the space
management commands.
Page 22
Page 23
In case the nozzle does not have any connected piping, a message is shown.
Page 24
If there is piping
connected to the
selected part, then
the connected
pipeline is added to
the workspace.
Page 25
Page 26
Checking the Clip View check box clips the view to the newly expanded volume.
Invoking Workspace Refresh command (F5) will preserve the added elements in the workspace.
However File Define Workspace and click OK will return to the workspace defined by the filter.
Page 27
Route Commands
Select Empty Runs
This Command helps find empty pipe runs (to begin with, empty runs get created and left in model
when a new run command is started but aborted before any pipe is placed.)
The command brings up a form that shows empty runs. You may select runs as desired. To delete them,
use the normal delete command. To choose a different discipline, click on the respective option.
The command is closed using the close box at the top of the form.
If the command is allowed, first a ribbon is shown and the user is prompted to pick pipe turn feature(s).
Page 28
If the selected turn features have different bend radii, this is shown in the ribbon bar.
Page 29
When turn features are selected, and the value in the input field is numeric and positive, the apply
button is enabled.
The user may enter a new value and press Apply and the change is committed.
After this the change is committed to the database and the command stays active allowing user to pick
more bends.
If user wishes to change absolute value instead of bend radius multiplier, the absolute value entered
must be in meters.
Page 30
A control point, child to the connection, of the type Piping Mfg Limit Point, named Iso Break is placed
assoc-on to the connection. This means that it will move with the connection if the connection moves
Page 31
The reference geometry aspect is turned on for all views to show the control point in case its not
already on.
Page 32
Page 33
Join Features
This command helps to join Piping Features which are joinable in a meaningful fashion. The
two features could be like
- Two End Features [Join Ends Situation], or
- One End Feature and One Nozzle [Join To Nozzle Situation], or
- One End Feature and One Straight Feature [Branch Situation] or
- One End feature and One Tap Feature [Connect to Tap Situation]
The user must select the two features to be connected and invoke the command. Depending on the
nature of the two features and their relative position, appropriate turn or branch is generated.
Page 34
Depending on the answer either the selected leg or the other leg is chosen as the header and the tee is
oriented accordingly.
Page 35
If the item connected is not a tee or it does not satisfy the criteria (one header port open), a message is
displayed.
Split Run
This command allows the user to split a contiguous run into two runs. All the properties of
the original run are retained. The user must select a feature on the run and invoke the
command. The command highlights all features including the selected feature to one end of
the run and asks if that is the way to split. If confirmed, the run is copied and all the highlighted features
are moved to the new run. If declined, the set of features to the other end of the run are highlighted
and the question is asked again.
Page 36
Merge Runs
This command allows the user to merge two adjacent runs with the same nominal size into a
single run. The user must select the connection between the two runs and invoke the
command. The command highlights one of the two runs at the connection and prompts if
that is the run to keep. If confirmed, all the features of the other run are moved into the chosen run and
the other run is deleted. If declined, the other run is chosen and prompted for confirmation.
Page 37
If the selected connection is not at the boundary of two runs, a message is shown.
Page 38
Page 39
Structure Commands
Find Duplicate/Overlapping Members and Duplicate Slabs
There are times when multiple members or slabs end up at exactly the same position as
other members or slabs. Due to the members being constrained to gridlines, when members
are copied and pasted, they may end up at the same position as existing members. Also, if
structure objects are imported using import commands and the same input file is accidentally imported
more than once, it is possible to get multiple members or slabs at the same position. This is not a
difference that is easy to spot either visually or using the interference checker.
This command will find such duplicate or overlapping members or duplicate slabs and retain them in the
select set. To run the command, add member systems and slabs to the select set and invoke the
command. If more than one member is found at a given position, the newer member (the one with a
later creation date) is considered duplicate and retained in the select set.
Page 40
To Export Object Names: Select Objects, Start command, Specify File Name and Click Execute.
The Generated text file contains OID of the object and the Name of the Object, separated by |.
You can use usual text editors (eg Notepad++) to modify the names in that text file.
Once you have edited the file to change the Names of objects to your needs, you are ready to Import
the file to get the new names you desired for the objects.
Also note, you can use this command to Keep current names and remove NameRule
association. To do this check the Remove NameRule (Set to User Defined) option before you
click Execute, and then discard the generated file.
To Import Modified Names: Start Command, Specify File Name and Click Execute
Note that, when you import, you dont need to select any objects. The command finds the objects by
the OIDs in the file.
Note that, when you want to Import Names, it implies you are really intending to set user defined
names for those objects, so naturally, they will lose the NameRule specified.
The Import Names action will generate a Log file in the same directory appending an .import.log to the
file name which was specified for import.
If the current Name of the object is same as the Name specified in the Text file being imported, then,
unless you check the Remove NameRule (Set to User Defined) option, the Import Names action will
not do any modifications to that object (its NameRule association if any will still be intact).
Page 41
This command is ribbonbar driven and consists of four steps utilizing inputs selected from the
Workspace Explorer and graphic view as well as user-specified values, which are described below.
Command Steps / Ribbonbar
Page 42
Margin Direction:
Range Volume Depth: Depth dimension of range box used to locate potential margin ports at
the selected assembly butt. The range volume is centered about the
plane of the assembly or block butt. The other dimensions of the range
box are derived from the overall range of the assembly. The calculated
range volume is outlined with green dashed lines as shown here:
A plate edge port or profile end port must lie completely within the
assembly butt range volume to be eligible for margin placement.
Overwrite Margin:
Note that the following property values are automatically set (per command spec) for all placed
margins and cannot be specified by the user. However, any margin object created with this
Page 43
Selector filter is set to profile part. The parts to be selected must have two free endcuts or assembly
connections at the ends or one for each.
After select profile parts, the parts will be highlighted in white. The start endcuts will be highlighted in
blue and the end endcuts will be in magenta. The current selection of the two endcuts will be shown in
the combo boxes.
Rule-Based option is provided, so that user can set all the selections back to rule driven result.
If click the property page button, property page will be shown as below.
Page 44
Note: This command wont work for catalog which doesnt have EndCutTypeCodeList exists or being
used for profile endcuts smart occurrence.
Page 45
Description: By current design, collar material, grade and thickness properties are decided by
rule. For most cases they are decided by the attached plate part. When user wants to change
these properties, She\He needs to select collar parts, go to property page, uncheck Controlled
Interfaces, apply it and then re-open property page to enable the modification.
To improve the efficiency, Collar Properties Modification Command can enable selection on collar parts
then directly modify those properties.
GUI: After run the command, a ribbon bar is displayed on S3DHost as below.
After confirm selection, the properties will be shown as below and user can modify them to different
result.
If user has multiple collars selected and their properties are not homogenous, the non-homogenous
property will have empty result selected in the drop-down list, but user can still choose to change it to
certain value.
If one of multiple selected collar parts is not in working status or user doesnt have permission to modify
it, after click confirm selection button, user will see below message box.
Page 46
Those collar parts not in working status will be highlighted in blue color as below. User then can change
selection to enable modification.
Click Finish button to proceed with applying the property value to selected collar parts.
Description: For most cases collar parts are in the same assembly with either penetrated
plate or penetrating profile. By current design, user needs to find penetrating/penetrated
structure, get the target assembly and then move the collar part to the same assembly. This
process is very time-consuming and mistakes are very easy to make. To improve the efficiency, Collar
Part Planning Assigning Command can enable easily selection on collar parts and then directly assign
them to desired planning parent.
GUI: After run the command, a ribbon bar is displayed on S3DHost as below.
Selecting filter is set to collar part by default. In the graphic view or Workspace Explorer select collars to
be modified.
Page 47
Page 48
Common Commands
Precision Move Selected Objects
This command allows moving selected objects by a precise keyed in values of delta X Y Z.
Once can choose to specify the delta values in either Global Coordinate System or Active
Local Coordinate System last set on PinPoint RibbonBar. Note that PinPoint RibbonBar need
not be active. If there wasnt any last set Active Local Coordinate System, the Move In Active Local
Coordinate System option will be greyed out.
Select the objects to move, invoke the command, provide the
required delta values (can leave fields blank as required, e.g. if
you only want to move along X by a delta of 2 inches and along Y
by a delta of 3 inches, just key-in 2in for the X field and 3in for the
Y field and leave the Z field blank) and press Compute. To make
another movement, hit Compute again. Can change Delta values
at any time and Compute again. Once you have reached the
desired position, you can press Commit. To reset to the original
state (or the last applied state, if Apply was done earlier) just press Reset.
Note that, all validations which happen in SmartPlant 3D with generic move command will also happen
when done with this specialized move command.
Make sure you dont have parent-child objects in this, e.g. Equipment and Equipment Components. This
may result in double movement in some situations.
Page 49
In case the object selected is not a snapshot drawing volume, below message is shown
Page 50
If non-homogeneous objects are selected, then it would show only common properties between them.
Clicking on the Header column representing the object hilites the corresponding object in graphics.
Page 51
One can select the objects by double-clicking the label on the ribbon bar pertaining to part occurrences.
One can get the associated drawing names by double-clicking the label on the ribbon bar pertaining to
drawings involving those part occurrences.
Apart from graphic Selection of part occurrence, one can also key in the Part Number and hit enter, to
search for part instances by such part number. Wild card searches are possible % matches any number
of characters, and ? matches a single character.
It allows one to query the DBI records by Severity, Date Created/Modified, DBI recommended Action DBI
Status, and allows one to filter only for First Class Objects. Filtered objects can be selected for further
analysis, for example using the Select Set Browser or Manage Object Sets commands.
Page 52
Once the objects are selected, run the command, this removes the text Copy Of
Page 53
SP3D Automation Toolkit - Commands without Toolbar Icons (made available as ProgIDs)
Page 54
SP3D Automation Toolkit - Commands without Toolbar Icons (made available as ProgIDs)
Page 55