Have a macro that you’d like to run on all models in a directory while out of the office?

Solidworks Task Scheduler Custom Task
Create Custom Task

Enter the Task Scheduler. Located in the SolidWorks Tools directory in your Start Menu, this program allows you to schedule batch operation tasks like updating the versions of your files, converting your models to DXF, updating custom properties, and so on. Those with SolidWorks Professional or Premium have the “Run Custom Task” option, which allows you to schedule the execution of a macro as well as specify its parameters.


As an example, let’s say that each night at 12:00 AM you want to open up every part in a directory and change the display setting to “shaded without edges”. Here are the steps you would follow:


1. Write a macro that opens up every part in a specified directory and changes the display the setting. In the code below you can see that the current specified directory is “C:\custom_task\”.

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Const strFolderPath As String = "C:\custom_task\"
Dim strFileName As String
Sub main()
Set swApp = Application.SldWorks
strFileName = Dir(strFolderPath & "*.SLDPRT")
While strFileName <> ""
Set swModel = swApp.OpenDoc6(strFolderPath & strFileName, _
swDocPART, 1, Empty, Empty, Empty)
swModel.ViewDisplayShaded
swModel.Save3 1, Empty, Empty
swApp.QuitDoc swModel.GetTitle
strFileName = Dir
Wend
swApp.ExitApp
End Sub

2. Copy the code from the VB editor to Notepad and change the strFolderPath value to $$$FOLDER_PATH$$$. Your variable declaration for strFolderPath should now look like this:


Const strFolderPath As String = $$$FOLDER_PATH$$$

3. Save the text file as a .swb file.
4. Open Task Scheduler
5. Choose Run Custom Task
6. Click the Browse button next to Macro File Path and locate the .swb you just created
7. In the task parameters section, you should now see a parameter called FOLDER_PATH. Click in the Parameter String cell on the right and enter the directory that contains the files you want to convert to shaded without edges
8. After specifying the running mode, start time, and start date, click Finish and your task should be added to the queue. If you left the start time and date at their initial values then the task should start running immediately.
Example Solidworks macro
Example macro
Some additional comments and notes about using the Task Scheduler with macros:

  • You can also run regular .swp files using the Task Scheduler. With these files, however, you cannot specify parameters. The macro will simply run “as is”. To be able to specify parameters you have to use an .swb file.
  • Optionally, you can simply change the variables in the .swp file to $$$$$$, save the .swp file, and then rename the extension to .swp.
  • You can control string an numeric parameters using the Task Scheduler. Use $$$$$$ for string values and ###### for numeric values.
  • If you do not use ISldWorks::ExitApp at the end of your macro, the SolidWorks application will not close after the task is finished running. Consequently, the task will not be marked as Complete within the Task Scheduler.
  • You do not need to have the Task Scheduler open for the scheduled task to run.
  • Any dialog boxes created by macros run by the Task Scheduler will automatically be closed. This is done to prevent dialog boxes from stalling the execution of the tasks.



Article by Keith

Related posts

0 Comments:

Post a Comment

Search This Blog

Избранное сообщение

How to quickly create a SOLIDWORKS Sketch Normal to Curve

Here is a quick method to create SOLIDWORKS Sketch Normal to Curve without having to create a plane first, and then sketch on that plane. F...

Popular posts