I’m sure you’ve seen this before. After opening up a SOLIDWORKS assembly file, there is a message that a file cannot be located and you must browse for it yourself or the component will be suppressed. Or perhaps this message was dismissed so the assembly opens fine but a lot of the geometry is missing and components are suppressed.
So why is SOLIDWORKS unable to locate my Assembly Components? Well, there’s a good chance that you’ve moved, renamed or deleted a file without following proper procedures. If this is done without the use of the SOLIDWORKS Explorer functionality, then the SolidWorks assembly references will not be updated, and the assembly will still search the old location for the old filename and fail to find it. Be sure to follow best practices when moving or renaming files as shown in the related tech tip: How to Rename and Move SOLIDWORKS Files.
But what if you don’t recall changing anything? What if you can still browse to the file in Windows Explorer and it’s still there just as you left it? Well, SOLIDWORKS still has to follow a search routine and perhaps something changed on your server. Maybe a folder was renamed or moved?
Here is the actual search routine that SolidWorks follows to find the referenced components when assemblies and drawings are opened: 2014 Help – Search Routine
Could you follow all those steps? Not exactly as simple as just looking for the file in the last folder it was saved. That’s because SolidWorks has a complex search routine where it actually has to fail 12 steps before it asks you to browse for the file. But it’s not going to search through your entire hard drive or network to find one small part file. That would take way too long, unless you are using the magic of SOLIDWORKS PDM.
About the SolidWorks file search process:
1) If your assembly has a component named “bolt.sldprt” in it, and you have a different part file open in the background with the same name “bolt.sldprt”, it will always use the open document and potentially use the wrong file and cause mate errors. This is why it is very important to use unique filenames for all components.
2) This is important as it shows a way to force assemblies to look to a different folder. Perhaps a folder was renamed on a server. To force the assembly references to look to this new folder name, add this folder to Referenced Documents in the File Locations options.
**Be sure to also enable the option “Search file locations for external references” under External References**
3 thru 5) Here’s the bonus, if you changed the name of an upper level folder, it will recursively search through the subfolders if they still have the same names. So if on your server you changed a folder to “S:\Renamed Folder” but there are a bunch of subfolders with the original names, you only need to add the S:\Renamed Folder to the Reference Documents list and it will automatically search through to the subfolders.
6) This is just saying that it will start the search again from the top level folder path listed in Referenced Documents if applicable. For example if you added the folder “S:\Folder1\Folder2”, it will start again searching in “S:\Folder1” and recursively search down through the subfolders.
7) If you have other folders listed in Referenced Documents, it will go through Steps 2-6 again with these folder paths
8) Starts recursively searching in the folder where your active open document is located
9) Probably searching the same active directory as the document you just opened, unless your dragged and dropped the assembly from Windows Explorer to open. Then it will search in the directory of the last file that was opened via File > Open.
10) If the assembly was able to locate some other parts in your assembly, it will search in the same directory as the last part it found.
11) Searches the last folder path where the file was last saved, but removes the mapped drive letter and uses UNC path. This is important for when a mapped drive letter is changed.
12) Finally it actually searches in the last known location of the file, which you would expect. The last known location of the file is listed under the Component Properties.
13) And finally after an exhaustive search that only took milliseconds, you get the “Browse for file” dialog if it still cannot locate the reference
So therefore, you can see that the Referenced Documents list in the options can be very useful to update references if you know where the files are located and is different from the path in the Component Properties. Once the assembly is opened with these new references and saved, the Component Properties will automatically update the “Model Document Path” so the Referenced Documents folder is actually no longer required the next time.