[Bf-committers] [Soc-2012-dev] loss of data after fbx-import and reopening of saved file

Alexander Gessler alexander.gessler at gmx.net
Mon Sep 10 22:47:52 CEST 2012


Hi,

the reference counting issue should now be fixed. I tested multiple
files and the issues seem to be gone.

Christian, thanks for pointing me to the issue explaining it all so
well! Benjamin, thanks for coming up with so detailed steps to reproduce.

More fbx improvements are coming, I've set end of september as my
personal deadline to finish up some things before the changes will get
merged back into assimp (and blender, hopefully).

Bye, Alex

On 9/7/2012 10:53 AM, Benjamin Dahl - post at bennyd.de wrote:
> Sorry Undo is Ctrl Z and here are the screenshots:
> 
> https://dl.dropbox.com/u/1944337/Betatest/Bildschirmfoto%202012-09-07%20um%2010.00.44.png
> 
> https://dl.dropbox.com/u/1944337/Betatest/Bildschirmfoto%202012-09-07%20um%2010.00.27.png
> 
> 
> Am 07.09.12 10:35 schrieb Benjamin Dahl - post at bennyd.de:
>>
>> Ok, I can confirm that the issue seems to be about this „Object usage
>> counter“.
>> Going to the Datablocks-View in the outliner the user-counter for every
>> mesh is 0 but is 1 for the parent objects/empties. (see screenshots:)
>>
>> I can't set this counter to 1 manually but use the “fake user” button.
>> When I use this for specific meshes or objects it saves exactly those
>> meshes. But it would be a bit tedious to do this for every mesh.
>>
>> So I found a little workaround for the moment to set every counter to 1
>> with one action.
>>
>> 1. import fbx-file
>> 2. Deselect active Selection of imported objects
>> 3. Select everything (A)
>> 4. Use one of the Transform Tools of the Object Tools and perform any
>> translation.
>> 5. Undo the Translation (Ctrl U)
>>
>> The Object counter is increased to 1 for the meshes and I can save the
>> file or start editing it.
>>
>> cheers
>>
>> Benny
>>
>>
>>
>>
>>> Christian Monfort <monfort.c at gmail.com> :
>>> It makes me think of "Object usage counter" (don't remember the exact
>>> name, but it's field "us" in struct ID) not being incremented.
>>>
>>> Each time an object is used in Blender, its counter is incremented
>>> (and decremented when it's dereferenced).
>>>
>>> For example, if you assigne material1 to a mesh, then material1
>>> counter is incremented, then if you replace material1 with material2
>>> in same mesh, material2 counter will be incremented while material1
>>> counter will be decremented...
>>>
>>> Each object with a counter reaching zero IS NOT SAVED when you save
>>> the .blend file, but it's still there in running Blender. If you
>>> reload the file you just saved, then all those objects are gone
>>> because they were not saved.. and that's why there is "fake user"
>>> buttons, to manually set this counter to 1 and be sure object will be
>>> saved.
>>>
>>>
>>> 2012/9/4 Alexander Gessler <alexander.gessler at gmx.net>:
>>>> Hi Benjamin, bf-committers, soc-2012-dev
>>>>
>>>> sorry for the late response, I was off and busy for some days.
>>>>
>>>> I can confirm the issue - this is something really serious. In my tests
>>>> it didn't even work when I re-opened Blender for the first-time.
>>>>
>>>> Does anybody have an idea of what my assimp importing code might be
>>>> doing wrong when the following sequence:
>>>>
>>>> * import file into an empty blender scene - ok, geometry is there
>>>> * save .blend - ok, file is saved
>>>> * open the same blend
>>>>
>>>> yields lots of "Object <name> lost data" messages in the console?
>>>>
>>>> there's also a message on " search for unknown op
>>>> 'CONSOLE_OT_copy_as_script'" but it does not seem to be related since it
>>>> also appears if I save and load the default scene.
>>>>
>>>> I'm really puzzled and I don't know enough of Blender to have an idea of
>>>> what might be going wrong here. Any ideas?
>>>>
>>>> Bye, Alex
>>>>
>>>>
>>>> On 8/31/2012 10:44 PM, Benjamin Dahl - post at bennyd.de wrote:
>>>>> Strange. I tried to test a workflow like the following and blender
>>>>> imported the fbx perfectly and saved the file with all data which I can
>>>>> reopen now. But! It only worked in the first run. When I try it now
>>>>> exactly the same way again blender loses all the data when reopening the
>>>>> file.
>>>>>
>>>>> The workflow:
>>>>> Exported a C4D file from archicad, opened that file in Cinema4D,
>>>>> exported from there to fbx and imported that file into blender. Import
>>>>> works nice.
>>>>> 1st run: could save the file and reopen
>>>>> 2nd+x run: loss of all data when reopening.
>>>>>
>>>>> Relevant files here:
>>>>> https://dl.dropbox.com/u/1944337/Betatest/TestArchicadC4DBlender.zip
>>>>>
>>>>> cheers
>>>>> Benny
>>>>>
>>>>> BTW: assimp does not load the ifc file, I exported from archicad. I get
>>>>> errors. Another ifc-plugin from http://ifcopenshell.org/ifcblender.html
>>>>> will import the file but hierarchy is missing so it's useless. Would be
>>>>> nice if assimp would load the ifc as well as preserve hierarchy and
>>>>> translate materials.
>>>>>
>>>>>
>>>>> Am 31.08.12 15:41 schrieb Benjamin Dahl - post at bennyd.de:
>>>>>> Hello Alex,
>>>>>>
>>>>>> I'm very happy to announce that I was able to build blender gsoc 2012
>>>>>> bratwurst with fbx-import on mac today. I had to switch my build
>>>>>> environment to clang as the used compiler.
>>>>>>
>>>>>> I than began to test the fbx-importer immediately.
>>>>>> First: The import of my test-fbx-file worked as expected allthough I'm
>>>>>> still missing the feature of changing orientation to y-up, in order to
>>>>>> get files from cinema 4d into blender right. The materials from cinema
>>>>>> 4d haven't been translated right as well, but that's not so much
>>>>>> important at the moment.
>>>>>>
>>>>>> After trying to save and reopen the file, I experienced, that all
>>>>>> Objects, which were previously importet, were lost.
>>>>>>
>>>>>> I importet everything again to a new file and played around with import
>>>>>> options and moved the imported objects around and then tried to save
>>>>>> again, but the objects were gone, when I reopend the file again.
>>>>>>
>>>>>> I then played around some more and suddenly I could save one file, which
>>>>>> I was able to reopen with all objects. Strangely I haven't been able to
>>>>>> reproduce that in any case. Everytime when I import stuff from fbx-files
>>>>>> (I tried several) and save the file with blender, it loses all data
>>>>>> after reopening.
>>>>>>
>>>>>> Some weeks ago you send me a blend-file which you created from my test
>>>>>> fbx-file. When I open that file, there are no objects, too. First I
>>>>>> thought, it had to do with different versions of blender, but today I
>>>>>> realized it must have to do with something else.
>>>>>>
>>>>>> I put you all my relevant files and logs here:
>>>>>> http://dl.dropbox.com/u/1944337/Betatest/blenderemptyfile.zip
>>>>>>
>>>>>> maybe, you are able to find the bug.
>>>>>>
>>>>>> cheers
>>>>>>
>>>>>> benny
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am 11.08.12 14:29 schrieb Alexander Gessler:
>>>>>>> Sure,
>>>>>>>
>>>>>>> http://www.greentoken.de/privat/benny_fbx_import.blend
>>>>>>>
>>>>>>> I hope it can be opened by a regular, non bratwurst blender.
>>>>>>>
>>>>>>> Bye, Alex
>>>>>>>
>>>>>>> On 8/11/2012 7:35 AM, Benjamin Dahl - post at bennyd.de wrote:
>>>>>>>> Hey Alex,
>>>>>>>>
>>>>>>>> this looks closely to what I saw in Cinema 4D and was going to expect
>>>>>>>> from the fbx-import so far. Thanks for that.
>>>>>>>> I'm going on vacation for a week today and will try this after coming back.
>>>>>>>>
>>>>>>>> btw. can you send me the .blend file?
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>>
>>>>>>>> Benny
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 11.08.12 05:26 schrieb Alexander Gessler:
>>>>>>>>> Hi again,
>>>>>>>>>
>>>>>>>>> I fixed the first issue - negative material indices are now resolved to
>>>>>>>>> the default material.
>>>>>>>>>
>>>>>>>>> What I get is this:
>>>>>>>>>
>>>>>>>>> http://www.greentoken.de/privat/fbx2.png
>>>>>>>>>
>>>>>>>>> Does that look right? I'm asking because I can't get Autodesk FBX
>>>>>>>>> Converter to show something meaningful for this scene.
>>>>>>>>>
>>>>>>>>> The geometry is a bit strange, but not so strange that I would be sure
>>>>>>>>> that it was not intended as such.
>>>>>>>>>
>>>>>>>>> Would be great if you could spare the time for another try! (you will
>>>>>>>>> need to svn update on bratwurst and rebuild)
>>>>>>>>>
>>>>>>>>> Bye, Alex
>>>>>>>>>
>>>>>>>>> On 8/10/2012 4:19 PM, Alexander Gessler wrote:
>>>>>>>>>> Hi Benny,
>>>>>>>>>>
>>>>>>>>>> thanks for posting the file.
>>>>>>>>>>
>>>>>>>>>> I can confirm its an issue with the importer.
>>>>>>>>>>
>>>>>>>>>> The file specifies negative material indices (which I didn't see
>>>>>>>>>> before in any fbx file I've encountered so far).
>>>>>>>>>>
>>>>>>>>>> The message assimp dies with is:
>>>>>>>>>>
>>>>>>>>>> "FBX-DOM: encountered negative integer index" (+ line, column number)
>>>>>>>>>>
>>>>>>>>>> Running on Windows, I do actually see that error message show up in
>>>>>>>>>> Blender, too - strange. Are you sure it doesn't show up? Maybe you can
>>>>>>>>>> grep for the exact text?
>>>>>>>>>>
>>>>>>>>>> Will fix the issue.
>>>>>>>>>>
>>>>>>>>>>> And still no debug output. Can you imagine how frustrating this
>>>>>>>>>>> is?
>>>>>>>>>>
>>>>>>>>>> Sure - but this is WIP, not a feature for productive use yet :-/ You
>>>>>>>>>> will need to give it some months to become mature.
>>>>>>>>>>
>>>>>>>>>> Bye, Alex
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 8/10/2012 3:35 PM, Benjamin Dahl - post at bennyd.de wrote:
>>>>>>>>>>> Hi Alex,
>>>>>>>>>>>
>>>>>>>>>>> yes I'm quite sure I build with fbx and assimp support since it
>>>>>>>>>>> shows up in the menu (see screenshot)
>>>>>>>>>>> https://dl.dropbox.com/u/1944337/Betatest/Bildschirmfoto%202012-08-10%20um%2015.03.12.png
>>>>>>>>>>>
>>>>>>>>>>>  and I doublechecked it before building. This is the part from my
>>>>>>>>>>> scons user-config.py
>>>>>>>>>>>
>>>>>>>>>>> # note: WITH_BF_FBX==True needs WITH_BF_ASSIMP to be enabled as
>>>>>>>>>>> well WITH_BF_ASSIMP = True WITH_BF_FBX = True
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> … and I also checked, if it works with fbx files previously
>>>>>>>>>>> converted to 2013 ascii format. It doesn't.
>>>>>>>>>>> https://dl.dropbox.com/u/1944337/Betatest/Bildschirmfoto%202012-08-10%20um%2015.18.16.png
>>>>>>>>>>>
>>>>>>>>>>>  And still no debug output. Can you imagine how frustrating this
>>>>>>>>>>> is?
>>>>>>>>>>>
>>>>>>>>>>> Can you check, if this is an issue with my file?
>>>>>>>>>>> https://dl.dropbox.com/u/1944337/Betatest/Raum_1_Final_benny1_2013ascii.fbx
>>>>>>>>>>>
>>>>>>>>>>>  The fbx-file is rather simple and for testing purpose only so far.
>>>>>>>>>>> In the Future I have to work together with someone who is using
>>>>>>>>>>> cinema4d for architecture visualizations and we have bad
>>>>>>>>>>> experiences with the collada exchange between cinema4d and
>>>>>>>>>>> blender. So we're hoping the fbx-bridge will do it better then.
>>>>>>>>>>>
>>>>>>>>>>> bye Benny
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Am 10.08.12 12:52 schrieb Alexander Gessler:
>>>>>>>>>>>> Hi Benny,
>>>>>>>>>>>>
>>>>>>>>>>>> you need to convert all your fbx files to 2013 _text_ (ascii)
>>>>>>>>>>>> format first (using FBX Converter!).
>>>>>>>>>>>>
>>>>>>>>>>>> Are you sure you have built with WITH_ASSIMP and WITH_FBX?
>>>>>>>>>>>>
>>>>>>>>>>>> Normally you should get a whole bunch of logging errors because
>>>>>>>>>>>> I'm basically piping assimp's entire logging into Blender.
>>>>>>>>>>>>
>>>>>>>>>>>> Hope that helps.
>>>>>>>>>>>>
>>>>>>>>>>>> Bye, Alex
>>>>>>>>>>>>
>>>>>>>>>>>> On 8/10/2012 12:52 PM, Benjamin Dahl - post at bennyd.de wrote:
>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>
>>>>>>>>>>>>> After getting the blender bratwurst build with fbx import to
>>>>>>>>>>>>> run on my ubuntu machine yesterday, I was so happy because I
>>>>>>>>>>>>> thought, I can start to test the importer now. Apperently this
>>>>>>>>>>>>> has been a delusion. Trying to import either my own fbx files
>>>>>>>>>>>>> or the samples from the autodesk fbx-converter didn't work at
>>>>>>>>>>>>> all. Nothing was imported and as a result I had this error in
>>>>>>>>>>>>> the »info window« in blender:
>>>>>>>>>>>>>
>>>>>>>>>>>>> »Errors found during importing. Please see console for error
>>>>>>>>>>>>> log.«
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Since I launched blender from command line, I thought errors
>>>>>>>>>>>>> must be found there. But they aren't.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So I compiled the whole thing again now with the BF_Debug
>>>>>>>>>>>>> option enabled, but no error log appears when trying to import
>>>>>>>>>>>>> fbx-files.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Then I started blender again with gdb ./blender but even there
>>>>>>>>>>>>> are no more error messages.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Last thing I tried, was starting blender from command line with
>>>>>>>>>>>>>  --debug-all option but I got so many messages that I tried to
>>>>>>>>>>>>> filter that with grep or wrote them into a error.log file like
>>>>>>>>>>>>> this
>>>>>>>>>>>>>
>>>>>>>>>>>>> ./blender --debug-all | grep fbx ./blender --debug-all >
>>>>>>>>>>>>> error.log
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> No Output there.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> It's completely frustrating, that I managed to compile the
>>>>>>>>>>>>> whole stuff and testing fails at the early beginning now,
>>>>>>>>>>>>> because nothing is imported
>>>>>>>>>>>>>
>>>>>>>>>>>>> Every help is appreciated. There's nothing more I'd love to
>>>>>>>>>>>>> have than a blender binary build with fbx-import enabled.
>>>>>>>>>>>>>
>>>>>>>>>>>>> cheers
>>>>>>>>>>>>>
>>>>>>>>>>>>> Benny
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- Dipl.-Des. Benjamin Dahl Finowstraße 9 10247 Berlin Germany
>>>>>>>>>>>>>
>>>>>>>>>>>>> Phone: +49 (30) 83217244 (Berlin) Mobile: +49 (176) 21300553
>>>>>>>>>>>>>
>>>>>>>>>>>>> Email: post at bennyd.de Web: http://www.bennyd.de/
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________ Soc-2012-dev
>>>>>>>>>>>>> mailing list Soc-2012-dev at blender.org
>>>>>>>>>>>>> http://lists.blender.org/mailman/listinfo/soc-2012-dev
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________ Soc-2012-dev
>>>>>>>>>>> mailing list Soc-2012-dev at blender.org
>>>>>>>>>>> http://lists.blender.org/mailman/listinfo/soc-2012-dev
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Soc-2012-dev mailing list
>>>>>>>>>> Soc-2012-dev at blender.org
>>>>>>>>>> http://lists.blender.org/mailman/listinfo/soc-2012-dev
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Soc-2012-dev mailing list
>>>>>>>>> Soc-2012-dev at blender.org
>>>>>>>>> http://lists.blender.org/mailman/listinfo/soc-2012-dev
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
> 



More information about the Bf-committers mailing list