WIP - Eliminate Design Table (classic SW usage) and eliminate Generate Component Map DW' step! - WIP TODO add code.
If you are in a situation where you are "forced" to use Design Table(s) (DT),
this might be solution for you. We have years and years of engineering
experience incorporated inside of DTs. It is practically impossible to learn all
the of them and convert/translate them to DriveWorks (DW) logic. So, for
whatever reason you have no choice but to use DTs, below is my implementation to
completely ELIMINATE MS EXCEL, saving license as well, and to SPEED UP the whole
process (10x in some cases) of calculating and changing SolidWorks (SW)
configurations without classic way of opening Excel inside SW etc… It might be
that my case is somewhat isolated & specific, at any rate, here is the way I'm
doing it… I hope you will get the general picture on how to do it.
Engineers are still using DTs to test and drive their configurations, once they
are happy with the results and how all works, they hand it to me this finished
working version! Then, I do the following:
I remove the DT from SW file, and save it as a separate XLSX file, change
configurations value, evaluate formulas, read the values with OpenXml and then
use SW API to modify configuration parameters on fly with values from the XLSX.
Details:
A)
Save DT to standalone xlsx file
My DT have original "Configured" configuration, this is the main row, where all
component results calculations are set.
I add two more configurations, this is not necessary step but for the sake of
speed of initial opening with SW, this is a good practice.
MinimalConfig - this configuration has all the components disabled nor resolved,
basically nothing is visible. This is the file I initially open with
DW/Autopilot.
OriginalConfig - just in the case something goes wrong this row is basically
just a backup row
Insert this altered xlsx file into SW again just to get two more configurations
recognized and save that SW file.
Now remove/delete xlsx file from SW, we will NEVER use it inside SW again!
With OpenXml manipulate values, enabling and disabling components [TODO
add code]
Issue Recalculate fromulas OpenXml command [TODO add
code]
Save the workbook [TODO add code]
With DW GenTask Add-On read those values and load it into SW. [TODO
add code]
Since I am loading those values external DT, esentially creating new SW
configuration on fly, so I am driving SW configurations, I DO NOT need
Driveworks to drive it. Yes, I am defeating the "main DW purpose, but if you are
"forced" to use DT that are driving your models then this will save you great
amount of time since we will load one simplest possible file with DW Generation
Task and then our add-on will take over and do the rest
B)
To eliminate DWs "Generate Component Map" GCM - well almost to
eliminate, not entirely, minimize the "time waste" impact, would be better term
What is Generate Component Map?
This is the step that DW perform every time it loads the SolidWorks model.
What GCM do?
When DriveWorks is 'Generating Component Map' it is traversing the entire
SOLIDWORKS Model Tree and detecting each component and Feature.
This then enable DW to match the Rules driven by DriveWorks to the respective
piece of Captured Information in the file being generated.
Therefore, as the number of components and features increases the time taken to
generate the Component Map will increase!
Why I do not need GCM?
I do not, I am using DT to drive my configurations and models features.
Why this is a big deal?
Time! GCM takes a lot of time! Loading model and enumerating the details that I
will never use is "waste" of time in my case. If you are driving your model
without DT and exclusively with DW then you need this step!
|
|
|
|
