Home Search

DriveWorks Pro 22
Specification PowerPack

Send Feedback
DriveWorks Labs PowerPacks can be updated more often than the main release.

Please consult the Online Help File for the most up to date information and functionality.

Specification PowerPack

The DriveWorks Specification PowerPack plugin extends a DriveWorks implementation by adding advanced functions and tasks.

Installation

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.

Uninstall

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.

User Defined Functions

Once the Specification PowerPack is installed the following user defined functions will be available from the rule builder.

FunctionDescription
SppAddNumberColumnReturns a table based on an existing table with a new first column added wth an incrementing number and a specified column heading.
SppAppendValueToConstantAppends a value to an existing constant (only runs in a Specification).
SppArithmeticSequenceReturns a pipebar (|) delimited string of an arithmetic sequence based on a start value. end value and increment.
SppASCIIGet ascii character number.
SppBase64EncodeUrlSafeGenerates a URL safe base-64 encoded string.
SppCompareListsForDifferencesReturns a sorted pipebar (|) delimited string of values in List A not in List B.
SppCompareListsForMatchesReturns a sorted pipebar (|) delimited string of values in List A which match those in List B.
SppConvertJsonToTableConverts JSON (array or object) into a DriveWorks table. Note: any 3rd-dimensional array elements are returned as a string.
SppConvertNumberCultureConverts a number to a specfied culture.
SppConvertNumberCultureInTableReturns a table with number fomats converted from one culture to another.
SppConvertTableToHTMLTableConstructs a HTML table from a DriveWorks table.
SppConvertTableToXmlConverts a table array into XML.
SppConvertXmlToTableConverts XML into a table array.
SppCountTextLinesReturns the number of lines in a given text string.
SppCreateAcronymReturns an abbreviation formed from the first character of every word.
SppCreateJwtUsingRS256Generates a JSON Web Token (JWT) using the RS256 signing algorithm.
SppDateTimeSpanReturns a table of information representing the time interval between two DateTime values. Calculated using cunent culture.
SppDEC2HEXConverts an integer decimal number to Hexadecimal.
SppDecodeBase64StringDecodes a Base64 encoded string to plain text. The default encoding used is UTF-8 unless otherwise specified.
SppDecodeHexStringDecodes 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.
SppFileInfoReturns a table array of information about a file.
SppFilterTableByExclusionListReturns a table with data excluded based on a pipe bar delimited exclusion string.
SppFilterTableByInclusionListReturns a table with data included based on a pipe bar delimited inclusion string.
SppFindAndReplaceInTableReturns a table with matching items replaced wth new items from a given search table.
SppFirstFormNameReturns the name of the first form in the navigation.
SppFontWidthInMillimetresReturns the width of a text string in millimeters for a given a font.
SppFontWidthInPixelsReturns the width of text sting in pixels given a font.
SppFormatColumnInTableReturns a table with all values in a given column formatted.
SppGetAllTeamsReturns 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.
SppGetAllUsersReturns 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.
SppGetAutopilotLogReturns the Log of an Autopilot as a Table Aray.
SppGetAutopilotsInGroupReturns a table of all Autopilots online wthin the Group.
SppGetCapturedComponentsReturns a table with all captured components and details.
SppGetContentLengthReturns a pipe bar (|) delimited list of Projects Et up for a given Child Specification Control.
SppGetChildSpecificationProjectsCalculates the Content-length in bytes of a string.
SppGetDomainNameFromEmailAddressReturns the domain name from an email address.
SppGetFileCountReturns the number of files in the selected folder.
SppGetFilesReturns a pipebar (|) delimited String value that lists the files in the selected folder.
SppGetFilesByDateCreatedReturns a table containing infomation for all files in the specfied folder.
SppGetFoldersReturns a pipebar (|) delimited String that lists the folder(s) within the specfied root folder.
SppGetGroupTableCacheReturns cached data of an existing Group Table as a table array.
SppGetGroupTablesReturns a table array of all Group Tables.
SppGetGroupTablesFromGroupConnects to a separate Group and Returns a table of information about Group.
SppGetMachineInfoReturns a table array of infomation about the current machine.
SppGetModelQueueCountReturns the number of models in the model generation queue.
SppGetModelsInQueueReturns an array of models in the model generation queue.
SppGetNavigationStepsReturns the steps in the current navigation as an array.
SppGetNavigationStepsInOrderReturns the steps in the current navigation in order as an array.
SppGetOperationsAndTransitionsReturns a table with all transitions and operations for this Specfication. Returns an empty array if not in a Specfication.
SppGetOperationsAndTransitionsForChildSpecificationReturns a table with all transitions and operations for a child Specflcation.
SppGetPasswordHashGets a hash of the input string, which includes the salt.
SppGetProjectPathReturns the full path to the Project. Returns an empty string if the Project cannot be found.
SppGetProjectsForCurrentUserReturns a table array of Projects wth information that the current user has access to.
SppGetProjectsForSpecifiedUserReturns a table array of Projects wth information that the user has access to.
SppGetProjectsFromGroupConnects to a separate Group and returns a table of information about Projects.
SppGetProjectStatesReturns a table wth all states for this Project.
SppGetProjectTransitionsAndOperationsReturns a table wth all transitions and operations for this Project.
SppGetReleasedModelChildrenReturns an array of the children of a released component.
SppGetReleasedModelDetailsReturns an array of the properties of a released component.
SppGetReleasedModelsReturns an array of released models.
SppGetRunnableProjectsForSpecifiedTeamReturns a table array of Projects with information that the team has access to.
SppGetSpecificationDetailReturns a table of Specification properties based on the Specification name (Returns an error if the Specification is not found).
SppGetSpecificationDocumentsReturns a table of Specification documents based on the Specification name (Returns an error if the Specification is not found).
SppGetSpecificationIDReturns the internal Specification ID based on the Specification name (Returns -1 if the Specflcation Is found).
SppGetSpecificationModelsByIDReturns a table of Specification models based on the Specification ID (Returns an error if the Specification is not found).
SppGetSpecificationModelsByNameReturns a table of Specification models based on the Specification name (Returns an error if the Specflcation is not found).
SppGetSpecificationNameReturns the Specification Name based on the Specification ID (Returns -1 if the Specification is not found).
SppGetSpecificationOperationsAndTransitionsReturns a table wth all transitions and operations for a Specfication.
SppGetSpecificationsByDateReturns a table wth all Specfications in a specfic state, wth details and properties.
SppGetTableFromListReturns a table containing a specfied number of data rows from an existing pipebar (|) delimited string.
SppGetTableFromTextConverts a text string to a table, separated on a comma separator and new lines.
SppGetTableRowReturns a pipebar delimited string containing a specfied number of data rows from an existing table.
SppGetTableRowsReturns a table containing a specfied number of data rows from an existing table.
SppGetTableRowsBetweenTextReturns a table containing a specfied number of data rows from an existing table based on a start and an end text.
SppGetTeamIDReturns a team ID (Guid) based on a team name.
SppGetTeamNameReturns a team name based on a team ID (Guid).
SppGetTeamsDataForUserReturns a table array of all the security teams to which the given user belongs.
SppGetTeamsForUserReturns a pipebar (|) delimned string of the teams that a user belongs to.
SppGetTextFromTableReturns a string based on a table where each line of in the string repræents a single row.
SppGetUserCanAdministerGroupSecurityReturns TRUE if the specfied user can administer group securty.
SppGetUserDataForTeamsReturns a table array of all user details for a team or teams.
SppGetUserIsTeamLeaderReturns TRUE if the specfied user is a team leader in group security.
SppGetVariableCategoriesReturns an array of Project Variable categories.
SppGetVariablesInCategoryReturns an array of Variables in a specfied category.
SppGoogleAuthenticationJwtSignatureGenerates a URL safe base-64 encoded signature for a Google Service Account JWT.
SppGroupContentFolderReturns the full path of the DriveWorks Group Content Folder for the current Group.
SppGroupNameReturns the name of the current DriveWorks Group.
SppHashHMACSHA256UsingHexKeyHashes 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.
SpphttpGetRequestMake HTTP GET Requests by in a URL.
SppIfNonNumberChecks that a value is a number, if it is, it returns that number, if it is not, it returns the default value.
SppIsBetweenReturns TRUE if the first value is between the lower and upper limits.
SppIsGuidReturns TRUE if the given value is a GUID.
SppIsLeapYearReturns TRUE if year is a leap year.
SppIsModelQueueEmptyReturns TRUE if the model generation queue is empty.
SppIsSpecificationInAPausedStateReturns TRUE if the Specification is currently in a paused state, False if the Specflcation is in a running or automatic state.
SppJoinTablesReturns 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.
SppJSONEscapeConverts a string to its JSON string representation.
SppJSONLoadReturns a string of JSON from the specfied file, indents if set to TRUE.
SppJSONToXmlConverts a JSON string to XML.
SppJSONUnEscapeStrips the escape characters of a JSON string representation to its string fomat.
SppListGetDuplicatesReturns a pipebar (|) delimited list based of the duplicate records of an existing pipebar (|) delimited list. Duplicates are treated wih case-sensitivty.
SppMergeTablesReturns a table showing the merging of two other table arrays based on nmmon valua in specflc columns.
SppNewGUIDReturns a GUID.
SppNextFormNameReturns the name of the next form in the navigation.
SppNowUtcReturns UTC date time.
SppOpenTextFileReturns the contents of a text file as a single string.
SppProjectNameReturns the name of the DriveWorks Project.
SppQuotationSurroundReturns a string surrounded wth quotation characters.
SppReadFileContentsReturns the contents of a file as a single string.
SppRemoveCharacterTypesReturns the text with removed character types as specfied.
SppRemoveInvalidFilenameCharactersRemoves illegal filename characters from a string.
SppRemoveInvalidPathCharactersRemoves illegal path characters from a string.
SppRemoveItemFromListRemoves an item in a list at a specfied index.
SppRemoveTextFromListRemoves an item in a list.
SppReOrderTableColumnsReturns a table showing specfic columns.
SppReplaceInTableReturns a table with matching search items replaced with a new value in the given column.
SppReplaceItemInListReplaces an item in a list at a specfied index.
SppReverseStringReturns a sorted pipebar (|) delimited string based on reversing the order of an existing pipebar (|) delimited string.
SppReverseTableReturns a table with the rows reversed.
SppSearchTableReturns a table with matching search items in the given column.
SppSetColumnInTableReturns a table with all values set in a given column.
SppSortStringReturns a sorted pipebar (|) delimited string based on an existing pipebar (|) delimited string.
SppSortStringNumericReturns a sorted pipebar (|) delimited string numerically based on an existing pipebar (|) delimited string.
SppSortTableReturns a table sorted on the given column.
SppStringFilterReturns a pipebar (|) delimited string based on filtering an existing pipebar (|) delimited string.
SppStringShortenReturns a pipebar (|) delimited string based on a certain number of entries in an existing pipebar (|) delimited string.
SppStringSumReturns the sum of all values from a pipebar (|) delimited string, if a value is not a number it is excluded.
SppSumTableColumnByGroupReturns 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.
SppTableColumnAddValueAdds a value to each cell in the specfied column of a table.
SppTableColumnMultiplyByValueMultiplies each cell in the specfied column of a table by a value.
SPPTableFilterByColumnComparisonReturns a table based on filtering by comparing values in 2 separate columns.
SppTableGroupByColumnsReturns a table showing distinct groups of values found in 1 or more columns.
SppTableGroupByColumnsWithAverageReturns 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.
SppTableGroupByColumnsWithCountReturns 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.
SppTableGroupByColumnsWithMaxReturns 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.
SppTableGroupByColumnsWithMinReturns 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.
SppTableGroupByColumnsWithSumReturns 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.
SppTableJoinColumnsReturns the incoming table with an additional column showing values in 2 or more columns joined together with a pipebar (|) delimiter character.
SppTableRowIndexOfValueSearches a table for the specfied text in a column and returns the row index of its first occurrence.
SppTableSearchSearches all cells wthin a table for a match to the specfied search text.
SppUnixEpochReturns the elapsed seconds UTC time start.
SppUpdateTableHeadersReturns a table based on an existing table and the new headers text as a pipebar (|) delimited text string.
SppXmlFromStringReturns an XML formatted object based on a single string that contains XML formatted data.
SppXmlGetElementAttributesReturns 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.
SppXmlGetElementChildListReturns a pipebar (|) delimited string of child element names in an XML string, names for given element path.
SppXmlGetElementValueReturns 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.
SppXmlGetRootValueReturns the root element name from XML data.
SppXmlLoadReturns XML data as an array from a specfied file.
SppXmlRemoveAllAttributesReturns an XML formatted object wth all attributes removed from a specflc element.
SppXmlRemoveAttributeReturns an XML formatted object wth a specfic attribute removed.
SppXmlRemoveElementReturns an XML formatted object wth a specfic element removed.
SppXmlSetAttributeValueReturns an XML formatted object wth a new attribute value.
SppXmlSetElementValueReturns an XML formatted object wth elements set either individually or loaded from an array (such as a data table).
SppXPathGetElementAttributesReturns 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.
SppXPathGetElementChildListReturns a pipebar (|) delimited string of child element names in an XML string, names for given element path.
SppXPathGetElementValueReturns 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.
SppXPathRemoveAttributeReturns XML object with specfied attribute(s) removed.
SppXPathRemoveElementReturns an XML formatted object with a specfic element removed.
SppXPathSetAttributeValueReturns an XML formatted object with a new attribute value.
SppXPathSetElementValueReturns an XML formatted object with elements set either individually or loaded from an array (such as a data table).

Specification Tasks

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).

TaskDescription
Add Excel SheetsAdds sheets to a Microsoft Excel workbook from a given table of sheet names.
Add Security Team To A Operation On A Specification Flow StateAdd a security team to a specific operation within the specification flow.
Add Security Team To A Transition On A Specification Flow StateAdd 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 StateAdd a security team to a specific state within the specification flow.
Browse For FileThe functionality this task provided is now inbuilt, please see Upload Control for more information.
Change The Display Units Of Predefined Measurement Text BoxesChange the display units of a predefined measurement text box (or boxes).
Change The Team Project PermissionsChange Team/Project permissions.
Copy A FolderThe functionality this task provided is now inbuilt, please see Copy Folder for more information.
Copy Excel SheetsRetrieves 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 GroupCopy 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 GroupCopy 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 FolderCreates 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 TableDelete all rows in a Simple Table.
Delete Excel SheetsDeletes a specified list of Excel Worksheets from a provided Microsoft Excel Workbook.
Delete Specification By IDDelete a given Specification.
Delete Specification DocumentDelete a given Document within the specified Specification.
Drive Constants and Controls From ArrayDrive Constants and Control values from a Table Array.
Export A Table Array To A Text FileExports a Table Array to an existing text file.
Export A Table Array To Named Range In ExcelExports a table array to a named range in an Excel file.
Export All Control Names To Named Sheet In ExcelRecurses 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 FileExport Controls and Constants with values to an existing text file.
Export Control Values To Named Sheet In ExcelRecurse 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 ReferenceExports a table array into a Microsoft Excel Workbook via a Cell Reference.
Export Variables From Category To Text FileExports the Variables in a specified category to a text file.
Export Variables Listed In A Table To A Text FileExports the required variable names and their respective values to a text file.
Export Calculate Import To And From Named Ranges In ExcelLooks 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 ExcelLooks 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 LocationExtracts a zip file based on a given zip file name and a target location.
Find And Replace Values In A Text FileAllows values in a text file to be replaced.
Get Environment Variable ValueRetrieves an environment variable value from the local machine running DriveWorks.
Get Registry Entry ValueRetrieves a registry entry value from the local machine running DriveWorks.
Import Data From An XML File In To Constants And ControlsReads 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 TableReads 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 ControlsReads 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 ControlsReads 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 ControlsReads 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 TableImports a named Sheet from Excel into an existing Simple Table.
Import Named Sheet From Excel Into Constants And ControlsReads 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 RegenerationMark referenced components created by a specific Specification for regeneration.
Mark Component References Created From A Specific Master Model For RegenerationMark referenced components created by a specific Master model for regeneration.
Mark Component References For RegenerationMark the component for regeneration based on a target file name.
Merge Multiple Word Documents Into A Parent DocumentMerges 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 TableMove the position of a row in a Simple Table.
Move Child Spec List ItemMove an item in a Child Specification list.
Navigate BackwardThis functionality this Task provided is now inbuilt, please see Navigate Backwards for more information.
Navigate ForwardsThis functionality this Task provided is now inbuilt, please see Navigate Forwards for more information.
Navigate To The First FormNavigates to the first form based on the current navigation.
Pack And GoPerforms a Pack and Go on the currently open Group.
Pack And Go On A Specified Source GroupPerform a Pack and Go on a specified source Group.
Pause Task ExecutionPause DriveWorks for the specified time (in seconds).
Remove Component References By File NameRemove all component references from the target given by the file name. Does not delete any files.
Remove Component References ByFileName And Delete FilesRemove the referenced components based on a target file name. It will also delete the target reference.
Remove Component References Created By A SpecificationRemove the referenced components created by a specific Specification. Does not delete files.
Remove Component References Created By A Specification And Delete FilesRemove the referenced components created by a specific Specification.
Remove Component References Referenced By A Specification And Delete FilesRemove the components referenced by the given Specification.
Replace Images In Excel DocumentInserts an image into an Excel document to replace an existing shape that has a specific title.
Replace Images In Word DocumentInserts an image into a Word document to replace an existing shape that has a specific title.
Run Command Line With ArgumentsRun a Command Line Argument.
RunS pecification OperationThe functionality this task provided is now inbuilt, please see Invoke Operation On Existing Specification for more information.
Run SSH CommandRun a SSH (Secure Shell) Command.
Set A Static Check Value Condition On A TransitionSet 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 OperationSet a static value for a Check Value Condition that is applied to an Operation on a Target State.
Set Calculation Table Row CountSet the number of rows in a Calculation Table.
Start An Application With ArgumentsStarts an application and will pass arguments into it on execution.
Start AutopilotThis is now an inbuilt Task, please see StartAutopilot for more information.
Stop AutopilotThis is now an inbuilt Task, please see StopAutopilot for more information.
Transition SpecificationThe functionality this task provided is now inbuilt, please see Invoke Transition On Existing Specification for more information.
Trigger A 3D Preview For A Specific ControlThis task is now an inbuilt task. Please see Run 3D Preview for more information.
Update A Single Value In A Simple TableUpdate a single value in a Simple Table.
Update Column Data In TableUpdate a column value in a Simple Data Table with a Constant value.
Update Group Table Using ArrayUpdate 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 ComponentsUpdate the Master Path location of the Released component.
Update The Tags Of A Specified Released ComponentUpdate the Tags of a specified Released component.
Update The Target Path Of A Specified Released ComponentUpdate the Target Path of a specified Released component.
Web PingPing the given web address and return the result to a given Constant.
Write A Line Of Text To The End Of A Text FileWrite a line of text to the end of a text file (append).
Write Array To TableWrite Array value results to a Simple Table.
Write Report EntryTo A Specifications ReportWrites a report entry to a Specifications report.
Write Variables To TableGets data from a set of Variables, and writes them to a Simple Table.
Zip FilesCreates a Zip file based on a given full file path with file name and a list of files to Zip.
Zip FolderThis is now an inbuilt Task, please see ZipFolder for more information.