Please consult the Online Help File for the most up to date information and functionality.
The DriveWorks Specification PowerPack plugin extends a DriveWorks implementation by adding advanced functions and tasks.
Once downloaded double click the DriveWorks-SpecificationPowerPack-[version number].msi file to begin the installation process. DriveWorks and SOLIDWORKS should be closed while installing the plugin.
Once installed the plugin is automatically loaded in DriveWorks.
The plugin is uninstalled from Windows Programs and Features, and will be listed as DriveWorks-Specification PowerPack [version number].
DriveWorks should be closed and restarted once the plugin has been uninstalled to remove it from the plugin list in the DriveWorks settings.
Once the Specification PowerPack is installed the following user defined functions will be available from the rule builder.
Function | Description |
---|---|
SppAddNumberColumn | Returns a table based on an existing table with a new first column added wth an incrementing number and a specified column heading. |
SppAppendValueToConstant | Appends a value to an existing constant (only runs in a Specification). |
SppArithmeticSequence | Returns a pipebar (|) delimited string of an arithmetic sequence based on a start value. end value and increment. |
SppASCII | Get ascii character number. |
SppBase64EncodeUrlSafe | Generates a URL safe base-64 encoded string. |
SppCompareListsForDifferences | Returns a sorted pipebar (|) delimited string of values in List A not in List B. |
SppCompareListsForMatches | Returns a sorted pipebar (|) delimited string of values in List A which match those in List B. |
SppConvertJsonToTable | Converts JSON (array or object) into a DriveWorks table. Note: any 3rd-dimensional array elements are returned as a string. |
SppConvertNumberCulture | Converts a number to a specfied culture. |
SppConvertNumberCultureInTable | Returns a table with number fomats converted from one culture to another. |
SppConvertTableToHTMLTable | Constructs a HTML table from a DriveWorks table. |
SppConvertTableToXml | Converts a table array into XML. |
SppConvertXmlToTable | Converts XML into a table array. |
SppCountTextLines | Returns the number of lines in a given text string. |
SppCreateAcronym | Returns an abbreviation formed from the first character of every word. |
SppCreateJwtUsingRS256 | Generates a JSON Web Token (JWT) using the RS256 signing algorithm. |
SppDateTimeSpan | Returns a table of information representing the time interval between two DateTime values. Calculated using cunent culture. |
SppDEC2HEX | Converts an integer decimal number to Hexadecimal. |
SppDecodeBase64String | Decodes a Base64 encoded string to plain text. The default encoding used is UTF-8 unless otherwise specified. |
SppDecodeHexString | Decodes a hexadecimal encoded string to plain text. The default encoding used is UTF-8 otherwise defined. The delimiter is to be a hyphen otherwise defined. |
SppFileInfo | Returns a table array of information about a file. |
SppFilterTableByExclusionList | Returns a table with data excluded based on a pipe bar delimited exclusion string. |
SppFilterTableByInclusionList | Returns a table with data included based on a pipe bar delimited inclusion string. |
SppFindAndReplaceInTable | Returns a table with matching items replaced wth new items from a given search table. |
SppFirstFormName | Returns the name of the first form in the navigation. |
SppFontWidthInMillimetres | Returns the width of a text string in millimeters for a given a font. |
SppFontWidthInPixels | Returns the width of text sting in pixels given a font. |
SppFormatColumnInTable | Returns a table with all values in a given column formatted. |
SppGetAllTeams | Returns a table array of all the teams in the group. This function has no arguments and therefore only updates when the Project is opened or a Specification started or opened. |
SppGetAllUsers | Returns a table array of all the users in the group. including theirteams. This function has no arguments and therefore only updates when the Project is openad or a Specification started or opened. |
SppGetAutopilotLog | Returns the Log of an Autopilot as a Table Aray. |
SppGetAutopilotsInGroup | Returns a table of all Autopilots online wthin the Group. |
SppGetCapturedComponents | Returns a table with all captured components and details. |
SppGetContentLength | Returns a pipe bar (|) delimited list of Projects Et up for a given Child Specification Control. |
SppGetChildSpecificationProjects | Calculates the Content-length in bytes of a string. |
SppGetDomainNameFromEmailAddress | Returns the domain name from an email address. |
SppGetFileCount | Returns the number of files in the selected folder. |
SppGetFiles | Returns a pipebar (|) delimited String value that lists the files in the selected folder. |
SppGetFilesByDateCreated | Returns a table containing infomation for all files in the specfied folder. |
SppGetFolders | Returns a pipebar (|) delimited String that lists the folder(s) within the specfied root folder. |
SppGetGroupTableCache | Returns cached data of an existing Group Table as a table array. |
SppGetGroupTables | Returns a table array of all Group Tables. |
SppGetGroupTablesFromGroup | Connects to a separate Group and Returns a table of information about Group. |
SppGetMachineInfo | Returns a table array of infomation about the current machine. |
SppGetModelQueueCount | Returns the number of models in the model generation queue. |
SppGetModelsInQueue | Returns an array of models in the model generation queue. |
SppGetNavigationSteps | Returns the steps in the current navigation as an array. |
SppGetNavigationStepsInOrder | Returns the steps in the current navigation in order as an array. |
SppGetOperationsAndTransitions | Returns a table with all transitions and operations for this Specfication. Returns an empty array if not in a Specfication. |
SppGetOperationsAndTransitionsForChildSpecification | Returns a table with all transitions and operations for a child Specflcation. |
SppGetPasswordHash | Gets a hash of the input string, which includes the salt. |
SppGetProjectPath | Returns the full path to the Project. Returns an empty string if the Project cannot be found. |
SppGetProjectsForCurrentUser | Returns a table array of Projects wth information that the current user has access to. |
SppGetProjectsForSpecifiedUser | Returns a table array of Projects wth information that the user has access to. |
SppGetProjectsFromGroup | Connects to a separate Group and returns a table of information about Projects. |
SppGetProjectStates | Returns a table wth all states for this Project. |
SppGetProjectTransitionsAndOperations | Returns a table wth all transitions and operations for this Project. |
SppGetReleasedModelChildren | Returns an array of the children of a released component. |
SppGetReleasedModelDetails | Returns an array of the properties of a released component. |
SppGetReleasedModels | Returns an array of released models. |
SppGetRunnableProjectsForSpecifiedTeam | Returns a table array of Projects with information that the team has access to. |
SppGetSpecificationDetail | Returns a table of Specification properties based on the Specification name (Returns an error if the Specification is not found). |
SppGetSpecificationDocuments | Returns a table of Specification documents based on the Specification name (Returns an error if the Specification is not found). |
SppGetSpecificationID | Returns the internal Specification ID based on the Specification name (Returns -1 if the Specflcation Is found). |
SppGetSpecificationModelsByID | Returns a table of Specification models based on the Specification ID (Returns an error if the Specification is not found). |
SppGetSpecificationModelsByName | Returns a table of Specification models based on the Specification name (Returns an error if the Specflcation is not found). |
SppGetSpecificationName | Returns the Specification Name based on the Specification ID (Returns -1 if the Specification is not found). |
SppGetSpecificationOperationsAndTransitions | Returns a table wth all transitions and operations for a Specfication. |
SppGetSpecificationsByDate | Returns a table wth all Specfications in a specfic state, wth details and properties. |
SppGetTableFromList | Returns a table containing a specfied number of data rows from an existing pipebar (|) delimited string. |
SppGetTableFromText | Converts a text string to a table, separated on a comma separator and new lines. |
SppGetTableRow | Returns a pipebar delimited string containing a specfied number of data rows from an existing table. |
SppGetTableRows | Returns a table containing a specfied number of data rows from an existing table. |
SppGetTableRowsBetweenText | Returns a table containing a specfied number of data rows from an existing table based on a start and an end text. |
SppGetTeamID | Returns a team ID (Guid) based on a team name. |
SppGetTeamName | Returns a team name based on a team ID (Guid). |
SppGetTeamsDataForUser | Returns a table array of all the security teams to which the given user belongs. |
SppGetTeamsForUser | Returns a pipebar (|) delimned string of the teams that a user belongs to. |
SppGetTextFromTable | Returns a string based on a table where each line of in the string repræents a single row. |
SppGetUserCanAdministerGroupSecurity | Returns TRUE if the specfied user can administer group securty. |
SppGetUserDataForTeams | Returns a table array of all user details for a team or teams. |
SppGetUserIsTeamLeader | Returns TRUE if the specfied user is a team leader in group security. |
SppGetVariableCategories | Returns an array of Project Variable categories. |
SppGetVariablesInCategory | Returns an array of Variables in a specfied category. |
SppGoogleAuthenticationJwtSignature | Generates a URL safe base-64 encoded signature for a Google Service Account JWT. |
SppGroupContentFolder | Returns the full path of the DriveWorks Group Content Folder for the current Group. |
SppGroupName | Returns the name of the current DriveWorks Group. |
SppHashHMACSHA256UsingHexKey | Hashes a value using a hexadecimal encoded key (high nibble first) using the SHA256 algorithm and Returns it as a Base64 encoded string unless otherteise specfied. |
SpphttpGetRequest | Make HTTP GET Requests by in a URL. |
SppIfNonNumber | Checks that a value is a number, if it is, it returns that number, if it is not, it returns the default value. |
SppIsBetween | Returns TRUE if the first value is between the lower and upper limits. |
SppIsGuid | Returns TRUE if the given value is a GUID. |
SppIsLeapYear | Returns TRUE if year is a leap year. |
SppIsModelQueueEmpty | Returns TRUE if the model generation queue is empty. |
SppIsSpecificationInAPausedState | Returns TRUE if the Specification is currently in a paused state, False if the Specflcation is in a running or automatic state. |
SppJoinTables | Returns a table showing the joining of two table arrays, if the headers are the same, the same column will be used. No merging will take place and duplicates may occur. |
SppJSONEscape | Converts a string to its JSON string representation. |
SppJSONLoad | Returns a string of JSON from the specfied file, indents if set to TRUE. |
SppJSONToXml | Converts a JSON string to XML. |
SppJSONUnEscape | Strips the escape characters of a JSON string representation to its string fomat. |
SppListGetDuplicates | Returns a pipebar (|) delimited list based of the duplicate records of an existing pipebar (|) delimited list. Duplicates are treated wih case-sensitivty. |
SppMergeTables | Returns a table showing the merging of two other table arrays based on nmmon valua in specflc columns. |
SppNewGUID | Returns a GUID. |
SppNextFormName | Returns the name of the next form in the navigation. |
SppNowUtc | Returns UTC date time. |
SppOpenTextFile | Returns the contents of a text file as a single string. |
SppProjectName | Returns the name of the DriveWorks Project. |
SppQuotationSurround | Returns a string surrounded wth quotation characters. |
SppReadFileContents | Returns the contents of a file as a single string. |
SppRemoveCharacterTypes | Returns the text with removed character types as specfied. |
SppRemoveInvalidFilenameCharacters | Removes illegal filename characters from a string. |
SppRemoveInvalidPathCharacters | Removes illegal path characters from a string. |
SppRemoveItemFromList | Removes an item in a list at a specfied index. |
SppRemoveTextFromList | Removes an item in a list. |
SppReOrderTableColumns | Returns a table showing specfic columns. |
SppReplaceInTable | Returns a table with matching search items replaced with a new value in the given column. |
SppReplaceItemInList | Replaces an item in a list at a specfied index. |
SppReverseString | Returns a sorted pipebar (|) delimited string based on reversing the order of an existing pipebar (|) delimited string. |
SppReverseTable | Returns a table with the rows reversed. |
SppSearchTable | Returns a table with matching search items in the given column. |
SppSetColumnInTable | Returns a table with all values set in a given column. |
SppSortString | Returns a sorted pipebar (|) delimited string based on an existing pipebar (|) delimited string. |
SppSortStringNumeric | Returns a sorted pipebar (|) delimited string numerically based on an existing pipebar (|) delimited string. |
SppSortTable | Returns a table sorted on the given column. |
SppStringFilter | Returns a pipebar (|) delimited string based on filtering an existing pipebar (|) delimited string. |
SppStringShorten | Returns a pipebar (|) delimited string based on a certain number of entries in an existing pipebar (|) delimited string. |
SppStringSum | Returns the sum of all values from a pipebar (|) delimited string, if a value is not a number it is excluded. |
SppSumTableColumnByGroup | Returns a 2 column table showing distinct values in the first column, and summed data in the second. Table is returned sorted on the summed column. |
SppTableColumnAddValue | Adds a value to each cell in the specfied column of a table. |
SppTableColumnMultiplyByValue | Multiplies each cell in the specfied column of a table by a value. |
SPPTableFilterByColumnComparison | Returns a table based on filtering by comparing values in 2 separate columns. |
SppTableGroupByColumns | Returns a table showing distinct groups of values found in 1 or more columns. |
SppTableGroupByColumnsWithAverage | Returns a table showing distinct groups of values found in 1 or more columns. An extra column is appended wih the average of a specfled column values in rows per group. |
SppTableGroupByColumnsWithCount | Returns a table showing distinct groups of values found in 1 or more columns. An extra column is appended wih the count of the number of rows per distinct group. |
SppTableGroupByColumnsWithMax | Returns a table showing distinct groups of values found in 1 or more columns. An extra column is appended wih the maximum of a specfled column values in rows per distinct group. |
SppTableGroupByColumnsWithMin | Returns a table showing distinct groups of values found in 1 or more columns. An extra column is appended wih the minimum of a specfied column values in rows per distinct group. |
SppTableGroupByColumnsWithSum | Returns a table showing distinct groups of values found in 1 or more columns. An extra column is appended wih the sum of a specfied column values in rows per group. |
SppTableJoinColumns | Returns the incoming table with an additional column showing values in 2 or more columns joined together with a pipebar (|) delimiter character. |
SppTableRowIndexOfValue | Searches a table for the specfied text in a column and returns the row index of its first occurrence. |
SppTableSearch | Searches all cells wthin a table for a match to the specfied search text. |
SppUnixEpoch | Returns the elapsed seconds UTC time start. |
SppUpdateTableHeaders | Returns a table based on an existing table and the new headers text as a pipebar (|) delimited text string. |
SppXmlFromString | Returns an XML formatted object based on a single string that contains XML formatted data. |
SppXmlGetElementAttributes | Returns an array value based on a row per attribute (Name, Value) for each attribute of an XML element given the path to the XML element. |
SppXmlGetElementChildList | Returns a pipebar (|) delimited string of child element names in an XML string, names for given element path. |
SppXmlGetElementValue | Returns a single value of a specfied element in an XML value, if the element itself has children, then an array value of the child data will be returned. |
SppXmlGetRootValue | Returns the root element name from XML data. |
SppXmlLoad | Returns XML data as an array from a specfied file. |
SppXmlRemoveAllAttributes | Returns an XML formatted object wth all attributes removed from a specflc element. |
SppXmlRemoveAttribute | Returns an XML formatted object wth a specfic attribute removed. |
SppXmlRemoveElement | Returns an XML formatted object wth a specfic element removed. |
SppXmlSetAttributeValue | Returns an XML formatted object wth a new attribute value. |
SppXmlSetElementValue | Returns an XML formatted object wth elements set either individually or loaded from an array (such as a data table). |
SppXPathGetElementAttributes | Returns an array value based on a row per attribute (Name, Value) for each attribute of an XML element given the path to the XML element. |
SppXPathGetElementChildList | Returns a pipebar (|) delimited string of child element names in an XML string, names for given element path. |
SppXPathGetElementValue | Returns a single value of a specfied element in an XML value, if the element itself has children, then an array value of the child data will be returned. |
SppXPathRemoveAttribute | Returns XML object with specfied attribute(s) removed. |
SppXPathRemoveElement | Returns an XML formatted object with a specfic element removed. |
SppXPathSetAttributeValue | Returns an XML formatted object with a new attribute value. |
SppXPathSetElementValue | Returns an XML formatted object with elements set either individually or loaded from an array (such as a data table). |
Once the Specification PowerPack is installed the following specification tasks will be available from the toolbox (available when creating Specification Macros or editing the Specification Flow).
Task | Description |
---|---|
Add Excel Sheets | Adds sheets to a Microsoft Excel workbook from a given table of sheet names. |
Add Security Team To A Operation On A Specification Flow State | Add a security team to a specific operation within the specification flow. |
Add Security Team To A Transition On A Specification Flow State | Add a security team to a specified Transition on a specified Specification Flow State. This can be useful for giving different teams specific permissions depending on your Specification Flow. |
Add Security Team To Specification Flow State | Add a security team to a specific state within the specification flow. |
Browse For File | The functionality this task provided is now inbuilt, please see Upload Control for more information. |
Change The Display Units Of Predefined Measurement Text Boxes | Change the display units of a predefined measurement text box (or boxes). |
Change The Team Project Permissions | Change Team/Project permissions. |
Copy A Folder | The functionality this task provided is now inbuilt, please see Copy Folder for more information. |
Copy Excel Sheets | Retrieves a specified sheet and creates named copies. The copies can be placed at the start or end of the current sheets in the Workbook. |
Copy Group | Copy the current Group to the specified target Group. This allows the functionality of the Data Management task Copy Group to be automated. |
Copy Group On A Specified Source Group | Copy a specified Source Group to a Destination Group. This allows the functionality of the Data Management task Copy Group to be automated. |
Create A New Team | Create a new Team in the group and set the permissions. |
Create Folder | Creates a new folder if it doesn't already exist. The folder can be rooted, or relative to the specification path. |
Delete All Rows In A Simple Table | Delete all rows in a Simple Table. |
Delete Excel Sheets | Deletes a specified list of Excel Worksheets from a provided Microsoft Excel Workbook. |
Delete Specification By ID | Delete a given Specification. |
Delete Specification Document | Delete a given Document within the specified Specification. |
Drive Constants and Controls From Array | Drive Constants and Control values from a Table Array. |
Export A Table Array To A Text File | Exports a Table Array to an existing text file. |
Export A Table Array To Named Range In Excel | Exports a table array to a named range in an Excel file. |
Export All Control Names To Named Sheet In Excel | Recurses all Forms in a Project and all of the Controls within each form and exports them to a named sheet in Excel.. |
Export Control Values And Constants To Text File | Export Controls and Constants with values to an existing text file. |
Export Control Values To Named Sheet In Excel | Recurse all forms in a Project and all Controls on each Form. For Controls that can have their values set by the user, these values are exported to a named sheet in an Excel file as 2 column data with each row being Name, Value. |
Export Table Array To Excel Cell Reference | Exports a table array into a Microsoft Excel Workbook via a Cell Reference. |
Export Variables From Category To Text File | Exports the Variables in a specified category to a text file. |
Export Variables Listed In A Table To A Text File | Exports the required variable names and their respective values to a text file. |
Export Calculate Import To And From Named Ranges In Excel | Looks in all named ranges in an Excel file, and for each one, checks to see if a Variable exists with the same name. If a variable exists, it will drive the named range value to be the variable value. |
Export Calculate Import To And From Named Sheets In Excel | Looks for the text in the first column of a specified input Sheet. If the Project has a Variable with the same name, it will take the Variable result and insert it in the second column for each one found. |
Extract A ZIP File To A Given Location | Extracts a zip file based on a given zip file name and a target location. |
Find And Replace Values In A Text File | Allows values in a text file to be replaced. |
Get Environment Variable Value | Retrieves an environment variable value from the local machine running DriveWorks. |
Get Registry Entry Value | Retrieves a registry entry value from the local machine running DriveWorks. |
Import Data From An XML File In To Constants And Controls | Reads data from an XML file and passes it into the Specification for driving into Constants or Controls. |
Import Lines From A Text File In To An Existing Table | Reads in a multiline text file, and passes the data into an existing Simple Table in DriveWorks. |
Import Lines From A Text File In To Constants And Controls | Reads in multiline, two column data from a text file, and passes them into the specification for driving into constants or controls. |
Import Multi Column Named Sheet From Excel In To Constants And Controls | Reads in multiline, multi column data from a named sheet in an Excel file, and passes them into the specification for driving into constants or controls. |
Import Named Range Values From Excel In To Constants And Controls | Reads in all data found in named ranges in an Excel file and passes them into the Specification for driving into Constants or Controls. |
Import Named Sheet From Excel In To an Existing Project Table | Imports a named Sheet from Excel into an existing Simple Table. |
Import Named Sheet From Excel Into Constants And Controls | Reads in multiline, two column data from a named sheet in an Excel file, and passes them into the specification for driving into constants or controls. |
Mark Component References Created By A Specification For Regeneration | Mark referenced components created by a specific Specification for regeneration. |
Mark Component References Created From A Specific Master Model For Regeneration | Mark referenced components created by a specific Master model for regeneration. |
Mark Component References For Regeneration | Mark the component for regeneration based on a target file name. |
Merge Multiple Word Documents Into A Parent Document | Merges a set of Word documents into another Word document. Its main use is to create a multi-line Word quotation. |
Move a Row in a Simple Table | Move the position of a row in a Simple Table. |
Move Child Spec List Item | Move an item in a Child Specification list. |
Navigate Backward | This functionality this Task provided is now inbuilt, please see Navigate Backwards for more information. |
Navigate Forwards | This functionality this Task provided is now inbuilt, please see Navigate Forwards for more information. |
Navigate To The First Form | Navigates to the first form based on the current navigation. |
Pack And Go | Performs a Pack and Go on the currently open Group. |
Pack And Go On A Specified Source Group | Perform a Pack and Go on a specified source Group. |
Pause Task Execution | Pause DriveWorks for the specified time (in seconds). |
Remove Component References By File Name | Remove all component references from the target given by the file name. Does not delete any files. |
Remove Component References ByFileName And Delete Files | Remove the referenced components based on a target file name. It will also delete the target reference. |
Remove Component References Created By A Specification | Remove the referenced components created by a specific Specification. Does not delete files. |
Remove Component References Created By A Specification And Delete Files | Remove the referenced components created by a specific Specification. |
Remove Component References Referenced By A Specification And Delete Files | Remove the components referenced by the given Specification. |
Replace Images In Excel Document | Inserts an image into an Excel document to replace an existing shape that has a specific title. |
Replace Images In Word Document | Inserts an image into a Word document to replace an existing shape that has a specific title. |
Run Command Line With Arguments | Run a Command Line Argument. |
RunS pecification Operation | The functionality this task provided is now inbuilt, please see Invoke Operation On Existing Specification for more information. |
Run SSH Command | Run a SSH (Secure Shell) Command. |
Set A Static Check Value Condition On A Transition | Set a static value for a Check Value Condition that is applied to a Transition on a Target State. |
Set A Static Check Value Condition On An Operation | Set a static value for a Check Value Condition that is applied to an Operation on a Target State. |
Set Calculation Table Row Count | Set the number of rows in a Calculation Table. |
Start An Application With Arguments | Starts an application and will pass arguments into it on execution. |
Start Autopilot | This is now an inbuilt Task, please see StartAutopilot for more information. |
Stop Autopilot | This is now an inbuilt Task, please see StopAutopilot for more information. |
Transition Specification | The functionality this task provided is now inbuilt, please see Invoke Transition On Existing Specification for more information. |
Trigger A 3D Preview For A Specific Control | This task is now an inbuilt task. Please see Run 3D Preview for more information. |
Update A Single Value In A Simple Table | Update a single value in a Simple Table. |
Update Column Data In Table | Update a column value in a Simple Data Table with a Constant value. |
Update Group Table Using Array | Update a Group Table with the data from the given array. |
Update Team | Update information and permissions for an existing Team. |
Update The Master Path Of Released Components | Update the Master Path location of the Released component. |
Update The Tags Of A Specified Released Component | Update the Tags of a specified Released component. |
Update The Target Path Of A Specified Released Component | Update the Target Path of a specified Released component. |
Web Ping | Ping the given web address and return the result to a given Constant. |
Write A Line Of Text To The End Of A Text File | Write a line of text to the end of a text file (append). |
Write Array To Table | Write Array value results to a Simple Table. |
Write Report EntryTo A Specifications Report | Writes a report entry to a Specifications report. |
Write Variables To Table | Gets data from a set of Variables, and writes them to a Simple Table. |
Zip Files | Creates a Zip file based on a given full file path with file name and a list of files to Zip. |
Zip Folder | This is now an inbuilt Task, please see ZipFolder for more information. |