Indigo 0.7F exporter here! Features added/Comments welcome!
-
- Posts: 289
- Joined: Wed Apr 18, 2007 1:52 am
- Location: Odense, Denmark
Thanks for the comment Simon!
New version posted at the front, mostly a maintenance release but I reworked how layers work.
Basically if an object is viewable in more than one layers it only gets exported once. Also if you place an object in a layer not being rendered, it is ignored.
I'm not sure how 6t6 exporter handled this because I just started using layers today. As always, if you report any bugs I'll gladly try and fix them.
Update: Had a thought that I could optimize the code a litter better in an area but it looks like I already placed it in a good location. Anyways a small update is posted: Version 1.18 (Just a small code cleanup.)
Update 2: Version 1.20 More code cleanup. Sometime in the near future this thread will likely fall out of date in the forums and a new thread will be open if I decide to work on future Indigo versions of the exporter.
Update 3: Version 1.20 is the last version of 07 exporter. I will no longer be working on this exporter. Any bugs that exist will be carried over to the 8t1 exporter which will be based on this one.
New version posted at the front, mostly a maintenance release but I reworked how layers work.
Basically if an object is viewable in more than one layers it only gets exported once. Also if you place an object in a layer not being rendered, it is ignored.
I'm not sure how 6t6 exporter handled this because I just started using layers today. As always, if you report any bugs I'll gladly try and fix them.
Update: Had a thought that I could optimize the code a litter better in an area but it looks like I already placed it in a good location. Anyways a small update is posted: Version 1.18 (Just a small code cleanup.)
Update 2: Version 1.20 More code cleanup. Sometime in the near future this thread will likely fall out of date in the forums and a new thread will be open if I decide to work on future Indigo versions of the exporter.
Update 3: Version 1.20 is the last version of 07 exporter. I will no longer be working on this exporter. Any bugs that exist will be carried over to the 8t1 exporter which will be based on this one.
Content contained in my posts is for informational purposes only and is used at your own risk.
I would like to say thank you to everyone that used and tested this exporter.
This script will no longer be developed by me. Thanks again for your support!
See you in 0.8 exporter thread!
Update: It seems I have created a very bad error in version 1.20 and I do not want it to cripple this exporter. I think I will fix it and post another update. I have now moved on to a complex test scene so it will be much easier to find bugs.
Update 2: Version 1.21 posted. Bug has been fixed.
This script will no longer be developed by me. Thanks again for your support!
See you in 0.8 exporter thread!
Update: It seems I have created a very bad error in version 1.20 and I do not want it to cripple this exporter. I think I will fix it and post another update. I have now moved on to a complex test scene so it will be much easier to find bugs.

Update 2: Version 1.21 posted. Bug has been fixed.
Content contained in my posts is for informational purposes only and is used at your own risk.
- Heavily Tessellated
- Posts: 108
- Joined: Thu Aug 10, 2006 4:20 pm
- Location: Huh?
argh, I know you don't want to code on this one anymore, but it's now throwing an error with 1.21 that it previously didn't...
Don't sweat it, I'll just regress to an eariler version, as you point out "see you in 0.8"
.
Code: Select all
Traceback (most recent call last):
File "<string>", line 521, in gui
File "<string>", line 793, in saveChoice
File "<string>", line 757, in save_indigo
TypeError: argument 1 must be string or read-only character buffer, not None

Heavily Tessellated: That error shows up on the object line. It does not make sense to me without more information. Can you include more data from the console window, usually right before the traceback message it will show the problem causing object.
Also, were you just trying to export one scene or an animation? With more information maybe I can find out why this is happening.
Kram: Since 8t1 exporter is based on this one, and as Indigo gets better and better, the exporter follows this. I know it would be useful to keep up with the older versions but I do not want to increase my work load.
Also, were you just trying to export one scene or an animation? With more information maybe I can find out why this is happening.
Kram: Since 8t1 exporter is based on this one, and as Indigo gets better and better, the exporter follows this. I know it would be useful to keep up with the older versions but I do not want to increase my work load.

Content contained in my posts is for informational purposes only and is used at your own risk.
- Heavily Tessellated
- Posts: 108
- Joined: Thu Aug 10, 2006 4:20 pm
- Location: Huh?
Sorry. OK. It's a single scene. The object in question is literally the simplest object in the thing, it's a cheap "Ikea-type" bookcase made of cubes.
I look at the object, there's nothing to it. No coplanar faces, no detached verts hanging out in space, it literally is 10 cubes flattened into boards. I have no idea why it pukes on that. Anyway, I move it to an unused layer, and the same error with at the same code lines pops up on another object, one much higher in the matrix, one that previously exported fine when it was the bookcase that was catching the error. Argh. Talk about your roaming errormsg.
When it goes, it stops right in the middle of the what it's doing::
I mean it wrote out two digits of a vertex coord and then pops? Woah. 
I'll keep hiding objects until the scene exports fine, and then start adding things back until it blows up and maybe we'll have some idea why it doesn't like whatever "None" is getting assigned to. (it's a small scene, maybe 50 objects total.)
Thanks!
(PS: yea it behaves the same in 08b1 too.)
---------------------
Edit: Oops I lied. What it does, it fails on the last object prior to the one you hide. So if bombs on the bookcase, I hide the whole bookcase, it bombs on the couch seat cushion, I hide the whole couch, it bombs on the window sill, I hide the entire window group, it bombs... etc... so it's probably the item that comes NEXT after the bookcase that's doing it.
Code: Select all
....
Export: Pillow_Se3_Material (Mesh Pillow_Se3_Material)
Export: Backless Bookcase (Mesh Backless Bookcase)
Traceback (most recent call last):
File "<string>", line 521, in gui
File "<string>", line 793, in saveChoice
File "<string>", line 757, in save_indigo
TypeError: argument 1 must be string or read-only character buffer, not None
When it goes, it stops right in the middle of the what it's doing::
Code: Select all
....
<tri>1368 2387 2385</tri>
<tri>1368 2386 2388</tri>
<tri>2388 14

I'll keep hiding objects until the scene exports fine, and then start adding things back until it blows up and maybe we'll have some idea why it doesn't like whatever "None" is getting assigned to. (it's a small scene, maybe 50 objects total.)
Thanks!
(PS: yea it behaves the same in 08b1 too.)
---------------------
Edit: Oops I lied. What it does, it fails on the last object prior to the one you hide. So if bombs on the bookcase, I hide the whole bookcase, it bombs on the couch seat cushion, I hide the whole couch, it bombs on the window sill, I hide the entire window group, it bombs... etc... so it's probably the item that comes NEXT after the bookcase that's doing it.
Heavily Tessellated: No reason to be sorry. I hope I didn't sound unhappy with information you gave me previously. I only meant to ask for more. Thanks for helping me try and solve this bug! 
It is a strange error indeed. I am amazed because I ran this by my 500 + object test scene that has just about every situation you could create and it found no errors.
It may take a few tries to solve this one but here is a start, try this build...
Also, are you using a windows build of Blender or are you on a different platform?
Update: Builds removed.

It is a strange error indeed. I am amazed because I ran this by my 500 + object test scene that has just about every situation you could create and it found no errors.
It may take a few tries to solve this one but here is a start, try this build...
Also, are you using a windows build of Blender or are you on a different platform?
Update: Builds removed.
Last edited by Wedge on Tue May 01, 2007 4:18 pm, edited 1 time in total.
Content contained in my posts is for informational purposes only and is used at your own risk.
- Heavily Tessellated
- Posts: 108
- Joined: Thu Aug 10, 2006 4:20 pm
- Location: Huh?
<-- runs 64-bit blender CVS built last week
lol no it's just that I'm an IT geek and I know better than to post "I can't print!!!111" types of error posts. 
Anyway, I figured it out. Well, I mean I figured out what's doing it. (changing to getMatrix() had zero effect)
Ready? Emptys! Specifically empties that are linked to texture mapping to control scale of procedurals. The exporter finds them and treats them like regular objects apparently, but then when they don't fit the parser's predefined criteria, the script gets mad and bombs. I delete or hide all empties, and it exports just fine.
What I don't understand is how that's affecting the export. Around line 280 where the section starts:
You would think that logic would be enough, but perhaps it just wants to blow up? I guess you could specifically add a check for them, ala
if obj.getType() == 'Empty': # kaboom! or something?
But that's what it is, regardless of how it gets past. And hey, thanks for trying and making test versions, too! That was quite nice of you, really.
----------
Bawar teh EMTEEZ!

Anyway, I figured it out. Well, I mean I figured out what's doing it. (changing to getMatrix() had zero effect)
Ready? Emptys! Specifically empties that are linked to texture mapping to control scale of procedurals. The exporter finds them and treats them like regular objects apparently, but then when they don't fit the parser's predefined criteria, the script gets mad and bombs. I delete or hide all empties, and it exports just fine.
What I don't understand is how that's affecting the export. Around line 280 where the section starts:
Code: Select all
def exportObject(obj, matrix, trigger):
global meshlist
if obj.type == "Mesh":
if obj.getType() == 'Empty': # kaboom! or something?
But that's what it is, regardless of how it gets past. And hey, thanks for trying and making test versions, too! That was quite nice of you, really.

----------
Bawar teh EMTEEZ!
I still cannot understand how an object like that could get into the object_list when it is being populated.
I don't know exactly what you mean by empties linking to textures, as empties by themselves are ignored.
I will try and reproduce it for my own entertainment... thanks for solving this!
I will keep you updated...
Update: Here is a build I made with an alternate path to an object without a "mesh" type. I was not able to reproduce the problem, probably because I do not know anything about linking in Blender. But I think this will fix your problem.
Build Removed
I don't know exactly what you mean by empties linking to textures, as empties by themselves are ignored.
I will try and reproduce it for my own entertainment... thanks for solving this!

Update: Here is a build I made with an alternate path to an object without a "mesh" type. I was not able to reproduce the problem, probably because I do not know anything about linking in Blender. But I think this will fix your problem.
Build Removed
Last edited by Wedge on Wed May 02, 2007 10:08 am, edited 1 time in total.
Content contained in my posts is for informational purposes only and is used at your own risk.
- Heavily Tessellated
- Posts: 108
- Joined: Thu Aug 10, 2006 4:20 pm
- Location: Huh?
Nope, same same. Don't sweat it. I've tried recreating it from a scratch scene, and it doesn't do it. I can't intentionally MAKE it do it, as it were. Seems you couldn't either. As far as I know, it's just this one scene file and I've figured out a workaround, namely hiding the empties and that's that. Don't spend too much time on it, unless you just have to know why it's doing what it is, and if that's the case I'll put up the .blend somewhere and you can play with it to your heart's content.
re: don't know exactly... OK so make a primitive, say a cube. add a texture, say Magic. Add an empty, name it something (hit F7 and turn on Name under Draw Extras). Go back to your material, and on the Map Input tab, click Object, and then type in the name of the empty in the box beside it. Then you can control how that specific texture is applied to the cube, without messing up your IPOs for the cube itself. (in fact, that's the whole point of empties existing - proxy control for sub-parameters.)
re: don't know exactly... OK so make a primitive, say a cube. add a texture, say Magic. Add an empty, name it something (hit F7 and turn on Name under Draw Extras). Go back to your material, and on the Map Input tab, click Object, and then type in the name of the empty in the box beside it. Then you can control how that specific texture is applied to the cube, without messing up your IPOs for the cube itself. (in fact, that's the whole point of empties existing - proxy control for sub-parameters.)
Hey,
Thanks for the directions. It looks like what I did last night when I tried to reproduce the problem. Just in case, I tried it again following your directions. It still exports just fine. No matter what kind of unsupported objects I place in the scene, I cannot get it to break.
Since you have figured it out, I think I'll leave this bug alone for now.
Thanks for all of your help with this.
Thanks for the directions. It looks like what I did last night when I tried to reproduce the problem. Just in case, I tried it again following your directions. It still exports just fine. No matter what kind of unsupported objects I place in the scene, I cannot get it to break.
Since you have figured it out, I think I'll leave this bug alone for now.
Thanks for all of your help with this.

Content contained in my posts is for informational purposes only and is used at your own risk.
Who is online
Users browsing this forum: No registered users and 12 guests