Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image
Scroller Image

SaveAsX

Products - Software

SaveAsX is a free tool that allows the user to quickly and easily save the active SolidWorks model into Jpeg, Tif, DXF or DWG at the click of a button, with the powerful ability to change the location and filename to anything they like based on normal text, the existing filename, any custom property within the model, and any combination of them. All of this happens in real-time with a preview output of the filename that will be created. Enjoy!

[span class=download]Download links: Download Link 1[/span]

Comments  

 
0 #21 Luke Malpass 2010-04-09 17:13
Ken,

Glad you like the enhancements.

The issue with custom property names is that you have to put them all in upper case. That fact was simply due to the fact that when I wrote the program it was a 1 day project and to save hours of work on writing a parsing engine, keeping them all uppercase makes the job much faster.

As for the screen movement, this is purely a SW thing if it is moving as SAX just does normal API calls so shouldn't effect the screen positioning at all.

The addition of page numbering and other processing etc... is just beyond the scope of this little tool as that is what BatchProcess is for when you want to do more. The idea of SAX is a short and sweet but powerful saving tool.

Luke

Ken,

Glad you like the enhancements.

The issue with custom property names is that you have to put them all in upper case. That fact was simply due to the fact that when I wrote the program it was a 1 day project and to save hours of work on writing a parsing engine, keeping them all uppercase makes the job much faster.

As for the screen movement, this is purely a SW thing if it is moving as SAX just does normal API calls so shouldn't effect the screen positioning at all.

The addition of page numbering and other processing etc... is just beyond the scope of this little tool as that is what BatchProcess is for when you want to do more. The idea of SAX is a short and sweet but powerful saving tool.

Luke
Quote
 
 
0 #20 Ken Fields 2010-04-09 16:33
Luke --
Really great enhancement! I've been testing for a little bit, and in general most things seem to be working well -- change SW parts, remember settings from invocation to invocation, etc.

Currently I have only found a couple of items that you might want to take another look at:

1) In a drawing file, the configuration name associated with the underlying part (i.e. $PRPSHEET:"SW-Configuration Name") is shown as by @@CONFIG@@. In part files this is reported correctly.

2) I'm not sure why, but with the exception of "Description", custom properties with names in mixed- or lower- case are not shown by @@. For example, a custom property named ABC works fine; but one named Abc or abc fails.

3) Really a nit, but there is a lot of screen movement when saving as a .pdf. In addition, a drawing not not left in the same position on screen as before. Not sure if this if beyond your intended scope, but you cannot specify the pages for a .pdf. I also received the "...program busy..." message when saving a drawing as a pdf.

Again, a really nice effort and much appreciated.

Ken
Quote
 
 
0 #19 Luke Malpass 2010-04-08 10:48
Ken,

The SPR for your drawing file with images produces temporary files is :

SPR 468674

Luke
Quote
 
 
0 #18 Luke Malpass 2010-04-06 09:51
Ken,

Just to let you know I don't get the double warning about the file existing after testing on 3 machines so it is best leaving the check in as it will be a system level setting that some people may not have enabled.

Luke
Quote
 
 
0 #17 Ken Fields 2010-04-04 17:17
...part 2

3) If a same named .dxf file already exists, then an overwrite warning is presented twice -- once by SAX and then other by SW. I didn't try this on other file combinations (.dwg, .jpg, etc.), but I would suspect that at least .dwg would behave the same.

4) Filepath, I think that there is a need for something like "Write to the same directory as the Part's". Currently, if you want to save the file to the same directory as the underlying SW file, then you have to browse every time that your part directory changes.

Thank you for your consideration.
Quote
 
 
0 #16 Ken Fields 2010-04-04 17:16
I ran SaveAsX for a small CAMing production run and have the following additional items for your consideration.

1) If SAX is kept open after a run and the underlying SW part is changed, then SAX has an unhandled exception (HRESULT 0x800706B5) or it will give an invalid file type message. Closing and then opening SAX with the same file open in SW that caused the error, clears this issue. This problem does not seem to occur if the sheet is changed, as long as the SW file remains the same.

2) The Filename template is not remembered after closure. That is, it always returns to @@NAME@@ - Copy, regardless of the previous setting. I think that this should be remembered as it is likely that once a convention is established, it will remain in place for some period of time, at least for that production run.

...Continued
Quote
 
 
0 #15 Ken Fields 2010-04-02 15:13
I'd be happy to.

Thank you for your consideration.
Quote
 
 
0 #14 Luke Malpass 2010-04-02 08:08
Ken,

I will update the program over the weekend for you with all of the features.

In the mean time can you email me the sample drawing you have that is exporting the images so I can get a better idea?

Luke
Quote
 
 
0 #13 Ken Fields 2010-04-01 22:59
Here are a couple of other thoughts that I had intended to incorporate into my previous response, but the system said that I was too long winded.

1) Currently the default filetype is set to .jpg. Like the path(s), I think it would be worthwhile to remember the MRU filetype. We would be using SaveAsX to process dxf's maybe 95% of the time, so having it open with "our" filetype would be helpful.

2) At the completion of the process, a Windows Explorer window is popped. I would prefer that the process just exit as we probably already have open the directories that we want anyway.
Quote
 
 
0 #12 Ken Fields 2010-04-01 22:56
1)It would appear that for .dxfs there is one file per image and for .dwgs there is one per image plus an additional file as well. One could imagine an SLDDRW with 3 or 4 renders plus a logo and it gets pretty messy. If it's not possible/difficult to remove them just before the .exe exits, would it be possible to write these files to something like Windows\Temp?

2) I like your suggestion of highlighting the MRU path.

3) The ones that come quickly to mind are ConfigName and (possibly) SheetName.

Regards,
Quote
 
 
0 #11 Luke Malpass 2010-04-01 18:49
1. The image being left in when exporting is SolidWorks behaviour. You would have to delete it first. Alternately, I can add a "Pre-run macro" function to allow a macro to be run before the save as, and write you a macro to delete the image from the item before running?

2. The button is disabled because if you don't select a path it doesn't know where to save it to. Just select the path and the button will enable. I can change the program to select the first path available or better yet the last used path when the program opens.

3. The functions are only the ones specified the moment. Do you have any other requests to be added?
Quote
 
 
0 #10 Ken Fields 2010-04-01 17:02
Thank you for implementing SaveAsX. We CAM our designs via DXF and it's always been a bit of a lengthy process getting SW to output a .dxf efficiently.

I have a couple of comments regarding usage that I wanted to pass on.

1) There is a .bmp temp file that gets created, but does not get removed. This seems to occur when there is an image file (Insert-->Picture) in the SLDDRW.

2)The "Save As" button doesn't activate even when there is only one path specified (or you could look at it that the path doesn't get highlighted when there is only one path)and all other items filled in.

3) I understand the @...@ custom prop references, but other than @@NAME@@, what other special tags are available?

Again, thank you.
Quote
 
 
0 #9 Luke Malpass 2010-02-05 08:41
OK I have changed the references back now so just re-download it and let me know.
Quote
 
 
0 #8 gupta9665 2010-02-05 08:32
Thanks for your reply. I have used 3D Matrix tool earlier and it has worked well.
Quote
 
 
0 #7 Luke Malpass 2010-02-05 08:15
Could you try some of the other tools such as the 3D Matrix tool. If that works the only difference is that newer tools are now using the SolidWorks.Interop files instead of the COM libraries, and if that is the case then I will revert the old references.
Quote
 
 
0 #6 gupta9665 2010-02-05 03:22
Thanks Luke for your feedback/comments.

I did what you have suggested in your last comments. Rest is all except for SldWorks.Application.18 name. It is rather SldWorks.Application.1 which I don't think should be making much difference. Also I'm running 32 bit OS.

And sorry but I'm not familiar with C# app, so I may not be able to do what you have suggested in that comment.
Quote
 
 
0 #5 Luke Malpass 2010-02-04 11:44
I have just had another customer mention since moving to 64bit 2010 SP2 they get the exact same problem. I am just investigating now, but out of interest can you:

Go to the Registry and browse to HKEY_CLASSES_ROOT\SldWork s.Application.18 and take a look at the CLSID folder. Get the value in there. It will be a big long number.

Right-click the (Default) and click modify so you can copy the long number. Then go to the top of the registry tree again and Ctrl+F to do a new find, then paste that number in and search. The first find should take you to HKEY_CLASSES_ROOT\CLSID\{ your-number-here}

In there you should have a folder called ProgID and VersionIndependentProgID, both of which should equal SldWorks.Application.18 or SldWorks.Application.

If any of these folders are missing then SolidWorks hasn’t installed correctly.

If the names are different than SldWorks.Application.18 or SldWorks.Application then also let me know.
Quote
 
 
0 #4 Luke Malpass 2010-02-03 15:30
No if SW is running you just open the program and away it goes.

Try making a quick C# app that just attempts to connect to SW using:

SldWorks mSolidWorks = (SldWorks)Marsh al.GetActiveObject ("SldWorks.Application");

and then check if mSolidWorks is null. If it is then your SolidWorks doesn't seem to be registered correctly in the COM table.

You may also try overwriting the solidworks dll files in the installation folder (Program Files\AngelSix\SaveAsX) with those in your SolidWorks installation folder.
Quote
 
 
0 #3 Deepak 2010-02-03 13:34
Yes the SW2009 is already running.

Is there any other way I should be running it or simply double click?
Quote
 
 
0 #2 Luke Malpass 2010-02-03 08:42
Daft question but you already have SolidWorks open before running it yeah?

I have just re-tested this on 2009 and 2010 and both work fine. It uses the normal (SldWorks)Marshal.GetActiveObject("SldWorks.Application") method so shouldn't have a problem.
Quote
 

Add comment


Security code
Refresh

User Rating: / 3
PoorBest