Transitioning Macros Part 7: Deployment

March 27, 2024 Iouri Apanovitch

This is Part 7 – the last article in this series of blog posts, in which we’ll talk about how you deploy the 3DX macros company-wide, so the other users can enjoy the fruits of your labor.

For reference, here are all of the blogs in this series:
Part 1: Framework
Part 2: Creating, Opening, and Saving Files
Part 3: Services
Part 4: Product Modeler
Part 5: Part Modeling and Drafting
Part 6: Selections
Part 7: Deployment

In the V5 world, the macros would be stored in folders on the local or on the network drives.

In 3DX, the macros must be stored in the PLM database. How does 3DX control access to the macros? Using the concept of the “Collaborative Space”. In a sense a Collaborative Space works like a “folder” for the data, with controlled access. You have access to that Collaborative Space – you can see and use the content. And vice versa – you don’t have access to the Collaborative Space, then you can’t see or use the data.

So, for the users in your company to see and use your macros, they must have access to the appropriate Collaborative Space.

Figure 1

Whether or not you can modify the content of a Collaborative Space depends on your Role:

Contributor: Can access the content, but can’t modify it

Author: Can modify and manage the content

Leader/Owner: Can modify and manage the content. Also administers members and roles.

Whether or not you can see the content is determined by the Visibility property of the Collaborative Space:

Public: Content is visible to all users from the same organization

Protected: Released or Obsolete content is visible to all users. In Work or Frozen content is private.

Private: Content is only visible to the members of that space

Figure 2

Logically, what you want to avoid is the engineers in your company using un-debugged macros, still under development. And, once the macro is fully debugged, you want it to be accessible throughout your company.

Here’s the recommended process:

  • Initially, the macro is developed and debugged in a ‘local’ macro library in Private space, using either Owner/Leader or Author role
    • At this point, other 3DX users cannot see or use it
  • When the macro is fully debugged and ready to be released, add it to the company-wide ‘global’ macro library
    • The ‘global’ macro library should be in the Public space, so any user in your organization can see and use it
    • The use of Export/Import (VBA) or Copy/Paste (CATScript/VBScript) to move the code from the ‘local’ to the ‘global’ library is recommended
    • Use of Transfer Ownership option in the Collaborative Lifecycle Management app is also possible, but this would result in creating multiple ‘global’ macro libraries in the Public space
  • Once the macro is added to the ‘global’ Public library, then it can be accessed by any member of the organization

To access the ‘global’ macro library content, the end-users must search for it using the library’s name, then open it.

Figure 3

Once the library is opened, the Macros dialog box displays, and the user can select which macro to run.

Figure 4

The last topic here – how do you assign macros to icons so that end-users just need to click an icon, instead of going through the pain of finding the library and running a macro from there?

The good news – yes, it’s possible. The bad news – the macros are assigned to icons on the client level, tied to the user’s profile and settings; therefore, must be done for each user separately.

Figure 5

To assign a macro to an icon in the Action Bar and/or Action Pad, right-click in the blue bar at the top of the 3DX window and select Display > Customize.

Figure 6

Go to the Commands tab and pick an icon for each of your macros.