LOADING

Type to search

#TASK, The Best Macro Batch Processor for SOLIDWORKS

CAD

#TASK, The Best Macro Batch Processor for SOLIDWORKS

The Pain and Frustration of Repetitive Tasks

For CAD users, there are few things more frustrating than having to perform repetitive, time-consuming and boring tasks.

Good managers are equally concerned when they watch their experienced designers spending a lot of time performing clerical tasks, like data entry, instead of… designing.

A few examples of workflows that users hate the most involve opening each file in a job (and sometimes switching through each configuration of every file in a job) for:

  • Data entry:
    • Input, editor delete custom property values
    • Find and replace a text in all notes of all the drawings in a job
    • Rename bodies or features
  • Save PDF, DXF, STEP and other type of files with smart names based on complex rules
  • Update design tables
  • Update and save the file
  • Change document units
  • Insert or remove notes
  • Change or assign materials
  • Assign appearances at the file level
  • Replace or add the Toolbox flag to all files in specific library folders
  • Rename bodies, configurations, properties, global variables and sheets using rules
  • Insert or replace components
  • Add or remove configurations
  • Split configurations in individual files for models
  • Split sheets in individual drawing files
  • Generate new drawings for existing models
  • Change sheet format using a new sheet format template
  • Detach drawings
  • Merge drawings
  • Freeze or lock features
  • Replace a drafting standard
  • Export Flat Patterns

If only there were a simple way to automate such tasks….

Figure 1.#TASK.

How I Discovered #TASK

A few years ago, I was providing consulting services to a company whose design team was complaining about significant slowdowns when they were working with large assemblies.

Very early in the troubleshooting process, we identified one of the most important causes of the slowdowns: a high Image Quality setting in all of their documents.

Figure 2. Very high Image Quality setting.

Such a high setting generates a large number of graphics-triangles, which causes two major symptoms:

  1. Large file size
  2. Long graphics generation times

Figure 3. Image Quality setting vs File Size (case study).

Figure 4.Image Quality setting vs Number of (Graphics) Triangles (case study).

It was easy enough to fix the problem for future files by simply adjusting the Image Quality setting in the part and assembly templates, but there was no simple answer for fixing the thousands of files their team generated over the years.

To adjust the Image Quality setting for 1 file, the following process could be used:

  1. Open File (over 3 clicks, including searching for the file)
  2. Open System Options Dialog (1 click)
  3. Select Document Properties (1 click)
  4. Select the slider and drag it in the new position (1 click)
  5. Select OK button (1 click)
  6. Save the file (1 click)

At a minimum, there are 8 clicks in this process. In practice, there are even more. Also, files could take seconds or minutes to open and save, so using a manual process would have been impractical.

Moreover, by manually moving the slider, the settings will most likely end up being different from file to file. That would not be optimal, given that SOLIDWORKS can perform graphics processing using multiple CPU cores only if the files have the same Image Quality setting.

The first idea was to write a macro for adjusting the Image Quality that could be used in conjunction with SOLIDWORKS Task Scheduler, which comes with every installation of SOLIDWORKS.

Figure 5. SOLIDWORKS Task Scheduler.

That would probably have worked, but this tool has several limitations in its functionality. The most important were:

  • If Task Scheduler fails, it does not restart on its own.
  • There is no simple option to restart SOLIDWORKS after processing a set number of files. That is very important when you are batch processing thousands of files. It is important to have the option for SOLIDWORKS to return resources back to Windows and restart fresh.
  • Writing a custom macro requires time and specialized resources.

Instead, I started to research if there was an alternative already available. As always, the best source of information is the SOLIDWORKS Forum, where a simple question provided the answer I was looking for: There is a free batch processing software, called #TASK (pronounced Sharp Task), developed by Central Innovation from Australia.

At that time, #TASK did not contain a macro for adjusting the Image Quality setting. I simply sent an email to Artem Taturevych, the team leader at Central Innovation, describing the idea for such a macro and, literally overnight, the macro appeared in the #TASK’s library.

This was how I learned that, sometimes, there are benefits to having nearly half a day time difference between North America and Australia.

What Is Sharp TASK?

#TASK is what SOLIDWORKS Task Scheduler wishes to be when it grows up. In addition to doing everything SOLIDWORKS Task Scheduler does, #TASK eliminates the two major limitations mentioned earlier. More importantly, it gives users access to a library of over one hundred existing macros.

Figure 6. Over 100 macros in the #TASK’s library.

#TASK Download and Installation

To find the download page for #TASK, you can simply input the program’s name in Google.

The landing page contains:

  • Instructional videos about the installation process
  • Tutorials
  • Links to plug-ins:
    • Integration with SOLIDWORKS PDM Professional
    • Referenced Files Extractor
  • Description of the program
  • Link for downloading the software

The installation process is straightforward and painless. So far, I have not encountered a computer where #TASK did not install on the first try.

Installation steps:

  1. Download the Installer.
  2. Execute the Installer.

Figure 7. Download and execute #TASK’s Installer.

  1. You might see the warning shown in Figure 8. If you do, then check with your IT Department about what your company policy is for installing such a program.

Figure 8. Warning pop-up.

  1. If you decided to click on the Install button, the software will be downloaded and installed.

Figure 9. Installation progress bar.

  1. If you are installing the software for the first time on your machine, you will need to register it. Select the Free version, since, at this time, the Professional and Premium versions are not yet implemented.
  2. Once you have sent your information to Central Innovation, check your email. You will receive your personal token:

Figure 10. #TASK account registration.

  1. Copy and Paste the token in the corresponding field, and you will be ready to process files!

Configuring #TASK

  1. Select the Settings button (Figure 11).

Figure 11. Selecting settings.

  1. In the Options tab:
    1. Decide the maximum number of files to be processed before SOLIDWORKS restarts.
    2. The maximum time before the #TASK decides that SOLIDWORKS experienced a hang and needs to be restarted.
    3. Decide if you want to run the software in background mode, so you can focus on other work.
    4. Decide when backups should be performed:
      • Always Enabled
      • Ask for Every Job
      • Always Disabled
    5. Decide if older version files should be opened read-only or not.

Figure 12. Options tab.

  1. In Administration tab:
    1. Decide if SOLIDWORKS should be run with Admin rights.

Figure 13. Administration tab.

Setting Up a Batch Processing Job with #TASK

Let’s imagine you finished creating all the models and drawings for a project. To prepare the deliverables for manufacturing and suppliers, you must perform several tasks for each file:

  1. Open each file found in the project folders.
  2. Set the Image Quality setting to 10%for all modes: Shaded or Wireframe for parts and assemblies and draft or High Quality for drawings.
  3. Orient all Part and Assembly files to Isometric.
  4. Zoom to Fit.
  5. Rebuild only the Active Configuration.
  6. Save the file.
  7. Export Flat Patterns to DXF in a specific folder for all bodies containing a Sheet Metal feature.
  8. Save all Part and Assembly files as 3D PDF in a specific folder.
  9. Save all Drawings as 2D PDF in a specific folder.
Step #1—Select the Version of SOLIDWORKS to Be Used

If you have more than one version of SOLIDWORKS installed, select the one to be used for the job. Note that if SOLIDWORKS is already open, you can select the active session also.

Figure 14. Select which version of SOLIDWORKS will be used for the job.

Step #2—Select the Files to Be Processed

Files can be added in the Items Scope in several ways:

  1. Drag from File Explorer selected files.
  2. Drag from File Explorer selected folders.
  3. Press the “+” icon and browse for a file or folder.

Figure 15. Using the + icon to add a folder to the Items Scope.

Note that you can use the “-” icon to remove items from the Items Scope.

You can also use filters to narrow down the type of files to be processed. To use filters, you can use the Part, Assembly or Drawings icons, or you can type a text string containing wildcards in the filter field.

Figure 16. Filters for targeting specific types of files for processing.

Step #3—Select the Macros to Be Used in the Job

If you want to use your own macros, press the “+” icon in the Tasks area.

To remove listed macros, press the “-” icon.

To access the macros existing in the #TASK library, press the Globe icon.

Figure 17. Selecting macros for processing a job.

In this case study I will use only #TASK macros.

Once the library is opened, you will find all macros grouped in categories:

  • New
  • Tables and Annotations
  • Parts and Assemblies Automation
  • Drawings Automation
  • User Preferences Management
  • Properties Management
  • Weldments Automation
  • Import and Export Automation
  • Sheet Metal Automation
  • Performance Optimization
  • Reporting

Figure 18. #TASK’s library of macros.

Finding information by browsing is time-consuming. Instead I will simply use the Search function to quickly find the macros I need:

  1. Image Quality

Figure 19. Image Quality task.

  1. Orientate to Isometric

Figure 20. Orientate to Isometric task.

  1. Update and Save

Figure 21. Update and Save task.

  1. Export Flat Patterns

Figure 22. Export Flat Patterns task.

  1. Save PDF

Figure 23. Save PDF task.

Note that you might encounter macros designated as Standard, Professional or Premium. Currently, all macros are available to all users. According to Artem, even if at some future time Central Innovation were to offer users the option of paying for Professional or Premium levels, the existing Standard macros would still remain free.

Figure 24

Step #4—Configuring the Selected Macros/Tasks

The order of processing the macros can be important for efficient file processing. If needed, the macros can be reordered by simply dragging their names up or down in the Task list.

Each macro can also be deselected if it is not needed for a particular job.

Let’s refine the job we selected for this case study by defining specific arguments for each macro.

  1. Set the Image Quality setting to 10% for all modes: Shaded or Wireframe for parts and assemblies and draft or High Quality for drawings.

Figure 25.Image Quality Arguments.

  1. Orient all Part and Assembly files to Isometric. This macro does not need arguments.

Figure 26.Orientate to Isometric.

  1. Zoom to Fit.
  2. Rebuild active configuration only.
  3. Save the file.

Figure 27.Zoom to Fit, Rebuild and Save.

  1. Export Flat Patterns to DXF in a specific folder for all bodies containing a Sheet Metal feature.
    1. Select Output Folder.
    2. Set the rules for the Output File Names. They can automatically include the options shown in Figure 28.

Figure 28. Output File Name options.

  1. Set units.

Figure 29. Setting the units.

  1. Set Export Options.

Figure 30. Setting the Export Options.

This is what I selected for this case study:

Figure 31.Export Flat Patterns for Sheet Metal Parts.

  1. Save all Part and Assembly files as 3D PDF in a specific folder.
  2. Save all Drawings as 2D PDF in a specific folder.
    1. Set the rules for the Output File Names. They can automatically include the options shown in Figure 32.

Figure 32. Options for Output File Names.

  1. Set Destination Folder.
  2. Set Options. Choices are shown in Figure 33.

Figure 33. Setting Options.

This is what I selected for this case study:

Figure 34.Save to PDF.

Note: Multiple configurations can be processed if needed, as shown in Figure 35.

Figure 35. Selecting this icon switches between processing only the active configuration and all configurations.

Note: For specific jobs, the you might need the files to be opened in read-only mode. #TASK can be configured to enable read-only file processing, as shown in Figure 36.

Figure 36. Files can be modified or opened as read-only.

Step 5—Running the Job

Click on the bottom-right “Run Job” icon:

Figure 37. Time to run the job.

You will notice that SOLIDWORKS will opened in the version you selected, and each file will be opened in turn.

As the files are processed, #TASK will report in real time on the status of the job.

Figure 38. Job status.

Notice that in Figure 38 the software is accurately reporting that only parts containing Sheet Metal Bodies were successfully processed by the Export Flat Pattern task.

Final Result

By using #TASK, in just a few minutes I completed multiple tasks that would have required several hours if performed manually.

Notice in Figure 39 the thickness values in the DXFs file names and the date in the PDF file names.

Figure 39. Job done!

An Interview with Artem Tarturevych, Team Leader at Central Innovation

Artem is the recognized SOLIDWORKS API Guru in the SOLIDWORKS community. Almost any question asked in the API section of the SOLIDWORKS Forum has an acknowledged Correct answer attributed to Artem.

As a #TASK user, I submitted tens of ideas for macros on behalf of my customers, and Artem and his colleagues responded promptly by writing new macros and adding them to the #TASK’s library.

I had the pleasure of meeting Artem in person at SOLIDWORKS World in Los Angeles, where he was a presenter.

I asked Artem to answer a few questions for the readers of www.engineersrule.com about the past, present and future of #TASK.

Q: Please tell us a bit about yourself.

A: My Name is Artem Taturevych and I’m located in Australia. I’ve been developing applications for SOLIDWORKS and PDM for over 12 years. For the last 6.5 years I have been working with Central Innovation developing software and systems for CAD, PDM and ERP. Currently I’m holding a position of a team leader for the Software Development group at Central Innovation.

Q: Please introduce your team at Central Innovation.

A: Our technical team consists of software developers and QA engineers. Some of the team members have mechanical engineering backgrounds, while others have information technology backgrounds. This allows us to apply best development practices and technology while having a deep subject knowledge. The extended #TASK team consists of management, sales, support and marketing teams.  I would like to also mention the fantastic contributions from the SOLIDWORKS community. Although they are not a direct part of the #TASK team, their continuous feedback, help and support have guided us in the right direction and allowed us to mature the product.

Q: What prompted you to consider developing #TASK?

A: #TASK was a bit of an experimental tool. The main aim was to develop something simple and useful at the same time. Our team members are contributors to the SOLIDWORKS community, and we have noticed that batch processing is one of the most demanding yet complicated and time-consuming tasks. There are several great batch processing tools already on the market. But there is always room for improvement. We wanted to develop a tool which makes the installation and update process a single-click operation. Our priority was to standardize the user interface across all tasks and make the usage as intuitive as possible.

Q: Is #TASK intended for individual use or for enterprise-level usage?

A: #TASK can be useful in both scenarios. With over 100 tasks in the library, everyone will be able to find something useful. #TASK supports command-line parameters, and some of our users have managed to integrate the #TASK automation into their business workflows.

Q: How safe is using #TASK? What are the safety and security concerns you receive from prospective users?

A: #TASK is a batch operations tool. Batch processes enable great benefits but at the same time may be disastrous as a misconfigured task can unexpectedly modify thousands or hundreds of thousands of files. We consider this as a major risk. We have tried to introduce additional safety mechanisms such as enabling the automatic backup of files when running the task or an option to open the files in read-only mode. Another potential threat is the unintentional upgrade of file versions when later version of SOLIDWORKS is selected for processing. SOLIDWORKS is not forward compatible, so saving the file in a newer version would prevent opening it in the previous version. To mitigate this risk, we have introduced an “Allow resaving to newer version” option in #TASK, which is disabled by default. Unless explicitly enabled, #TASK won’t save any modified files if they are opened in the newer version of SOLIDWORKS. #TASK is leveraging modern technology by Microsoft allowing the installation without administrative rights granting only permissions necessary for the application—in contrast to typical Windows Installers where administrative rights are always required.

Q: How can users submit ideas for new tasks?

A: We appreciate all of the feedback and ideas and try to include as much as possible into our development plan. The best option to communicate would be to send an email to sharp.task@centralinnovation.com or fill out the “Make an enquiry” form from the https://centralinnovation.com/ website.

Q: How easy is it to operate #TASK in a PDM environment?

A: #TASK can work with the files in PDM, which are cached locally. In [a forthcoming] version of #TASK 2.0 Premium, we have added the plug-in to allow [users to] automatically check in and checkout files from SOLIDWORKS PDM Professional.

Q:How many users have registered so far? Where are they located?

A: We have more than 10,000 users registered in #TASK from over 100 countries around the world.

Q: What are your plans for future development?

A: We are releasing new version of #TASK 2.0 in the near future. The main improvement is support of plug-ins. Our users will be able to customize #TASK with extensions available from the library. These include but are not limited to ability to group tasks in tabs, ability to define the conditions (workflow) for tasks, ability to load reference trees and drawings from assembly, etc. Furthermore, we have implemented the highly requested features such as use of multiple instances of the tasks with different parameters, support of simple (Excel-like) text expressions while specifying the parameters.

Q: What other exciting projects do you have in the pipeline that you would like to share with the SOLIDWORKS community?

A: We are working on two experimental projects for #TASK. The first one is to enable #TASK to run within the SOLIDWORKS environment as a built-in add-in, thus allowing users to run tasks per file rather than in a batch mode. Another one is to integrate #TASK to SOLIDWORKS PDM Professional with an ability to execute tasks in as a part of PDM workflow and on a remote server as a PDM task. Our team is also working on a large enterprise system called DataSuite, which enables the integration between CAD, PDM, ERP systems, allowing the implementation of complex rules for transforming the data in the business process.

 

Conclusion

Take a moment at the end of each day and analyze your daily routine when using CAD software. Try to identify activities that are:

  • Time consuming
  • Repetitive
  • Frustrating

Once you find yourself performing clerical work instead of design work, look for a solution that can automate such processes.

#TASK just might be the answer!

Tags: