juanjrvn Posted May 29, 2015 Posted May 29, 2015 Welcome to CADTutor! I'm glad you found the code helpful. Yes, the code could be revised to iterate all drawings in all sub-directories using ObjectDBX, however I would advise against this due to the fact that it would essentially lock up your session, overflowing the memory stack, or even if successful, would take an immeasurable amount of time depending on workstation specs. That said, it is technically possible using LISP... If you're serious about actually wanting to process that amount of data, I'd instead suggest we power this functionality over to .NET API for performance gains alone, let alone the ability to batch process in parallel (multiple instances at once), in addition to in series (one-at-a-time). Just turning in for a few hours of shut eye, as I have to be back at the office soon, but wanted to make this quick reply. Cheers Thank you for the welcome and your reply. I am interested in processing all 27,000 files, but it doesn't necessarily need run together all at once. The folder structure I'd be working with has 15 top-level folders; the largest folder containing about 7,000 drawing files. The rest of the folders each contains less than 3,000 drawing files. So would it be feasible to run the code 15 times on smaller sets of files? I could even break down the 7,000-file folder if I needed to. Let me know if I could provide any other piece of information for you to better understand what I'm dealing with here and thank you in advance for your help. Cheers! Juan Quote
BlackBox Posted May 29, 2015 Posted May 29, 2015 I am interested in processing all 27,000 files, but it doesn't necessarily need run together all at once. The folder structure I'd be working with has 15 top-level folders; the largest folder containing about 7,000 drawing files. The rest of the folders each contains less than 3,000 drawing files. So would it be feasible to run the code 15 times on smaller sets of files? I could even break down the 7,000-file folder if I needed to. Let me know if I could provide any other piece of information for you to better understand what I'm dealing with here and thank you in advance for your help. It's good that you realize the need to break the task down into smaller groups. I suppose that implementing the option to include sub-folders wouldn't present an unexpected consumption of time/resources, so long as following the 'root' folder being specified, I first culled the number of drawings that would in fact be processed, and prompt the user an 'are you sure you want to do that' sort of message (if more than 100, 200, N, etc. are found?). Just thinking out loud so-to-speak, so when I come back after some production deadlines, I know where to pick back up. Cheers Quote
juanjrvn Posted May 29, 2015 Posted May 29, 2015 It's good that you realize the need to break the task down into smaller groups. I suppose that implementing the option to include sub-folders wouldn't present an unexpected consumption of time/resources, so long as following the 'root' folder being specified, I first culled the number of drawings that would in fact be processed, and prompt the user an 'are you sure you want to do that' sort of message (if more than 100, 200, N, etc. are found?). Just thinking out loud so-to-speak, so when I come back after some production deadlines, I know where to pick back up. Cheers What I'm currently doing, since I cannot change the location of the files in their sub-folders, is using Windows Explorer to search for "*.dwg" then copying all the drawing files from that search result into a new folder without sub-folders. I should then easily be able to run your routine on the copied files in the new folder. That's a good work-around for now, but it would be nice to be able to run the routine on files in their original sub-folders. I appreciate your help. Juan Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.