1
$\begingroup$

(Using Blender 2.76) I have some object groups from one file (source) linked as dupligroups in another file (target). I had to change the name of the subdirectory containing the source file, and the name of the source file itself, so the links in the target file broke (as expected; even relative file paths wouldn't have helped with the renamed file/directory). So now when I open the target I get the error messages stating missing data, and all the dupligroups are just empties (empty empties that is) showing no mesh that they did before the name changes.

I think it will be easier to split this into two questions:

  1. How do you fix a broken dupligroup link when the path to the source file (directory name/s) has changed? Like this: //directoryA/source.blend changed to //directoryB/source.blend
  2. How do you fix a broken dupligroup link when filename of the source .blend file has changed? Like this //directoryA/oldSource.blend changed to //directoryA/newSource.blend

But of course I have to fix both of these things.

The reason I split that into two questions is because I did some tests and had different results depending on whether the intermediate directories names had changed (changed path) or whether the actual source filename had changed (changed filename). I had two ideas that both failed:

Idea 1 (failed):

  1. Go to file/External Data
  2. Find Missing Files

Changed Path: For the changed path this got the error message about missing data to stop displaying upon .blend file opening and when using File/External Data/Report Missing Files, but the dupligroups were still empty!

Changed Filename: For the changed source filename this did not get rid of the error messages or fix the dupligroups.

Idea 2 (failed):

  1. Go to the outliner
  2. Select "Datablocks" in the pulldown
  3. Expand the "Libraries/lib" item
  4. Change the "File Path" field to reflect the new subdirectory/filename (For this selecting the file path input box in the menu does not open a file selector or anything, so I just typed in the new path/filename manually and hit enter. Maybe I'm doing that wrong?)

Changed Path/Changed Filename: It failed for both. The dupligroups were still empty. I did try restarting the file to see if they needed to be restarted to show the dupligroup mesh, but it didn't help.

However, it's interesting to note that when trying Idea 1 (Fix Missing Files) and then trying Idea 2 (Libraries/Lib) the Fix Missing Files option did fix the path in Libraries/Lib so it appeared correct, it just didn't fix the dupligroups.

I'm using Using 2.76b, but I know I had this same problem with an older version of Blender. That was a while ago and I just gave up and re-linked the dupligroup. That's okay for a couple dupligroups, but in a big scene with dozens of dupligroups that have all been moved/rotated to specific positions this becomes a big deal.

I get the feeling I must be missing something really obvious because I'm sure this is a common problem. Any ideas would be appreciated. Thank you.

$\endgroup$
0

1 Answer 1

6
$\begingroup$

This has been fixed in Blender 2.77

To fix broken dupligroup links when the path to the source file (directory name/s) has changed; (//directoryA/source.blend changed to //directoryB/source.blend):

  1. Go to File/External Data
  2. Select "Find Missing Data"
  3. Navigate to the new location, click Find Missing Files
  4. Save, then close and re-open file.

To fix a broken dupligroup link when the filename of the source .blend file has changed (//directoryA/oldName.blend changed to //directoryA/newName.blend)

  1. Go the Outliner
  2. In the pulldown box that by default says "All Scenes" select "Data-Blocks" The outliner's scenes pulldown menu with "Data-Blocks" selected
  3. Expand the "Libaries" section
  4. Expand the "Lib" section for whichever linked Dupligroup you're fixing The Outliner in Data-Blocks view, with Libraries and Lib expanded. The File Path field is selected. The path reads "//oldDir/oldFile.blend"
  5. In the "File Path" field remove the old path/filename and type in the new path/filename. (it should start with // if you're using relative paths) The File Path field with the insertion point in it, now reading "//newDir/newFile.blend"
  6. Save, then close and re-open file.

The last option will also work for changed file name and path; just manually type in the full new path and filename.

This was information given in the Blender 2.77 release notes. It says that "In case of missing libraries on load, empty placeholder datablocks get added, which allows to restore or relink." and in the Datablocks and Libraries Management section of the release notes it says that this allows the user to "Edit missing libs paths in the Outliner, save & reload main .blend file, and get missing linked datablocks back."

Awesome! Thanks Blender developers! :)

$\endgroup$
1
  • $\begingroup$ There is an easier way, by selecting "Blend Files" from the drop down. From there you can change the path, or the blend file. You can even change the name of the objects it is importing. $\endgroup$ Mar 22, 2016 at 16:56

Not the answer you're looking for? Browse other questions tagged .