Indigo 0.7F exporter here! Features added/Comments welcome!

Announcements, requests and support regarding the Blender Indigo export script
Post Reply
223 posts
User avatar
Kram1032
Posts: 6649
Joined: Tue Jan 23, 2007 3:55 am
Location: Austria near Vienna

Post by Kram1032 » Sun Feb 11, 2007 12:19 pm

So, now it works fine: Every single Mesh gets exported, but then:
UnboundLocalError: local variable 'face' referenced before assignment

User avatar
afecelis
Posts: 749
Joined: Tue Aug 01, 2006 4:14 am
Location: Colombia
3D Software: Blender
Contact:

Post by afecelis » Sun Feb 11, 2007 12:20 pm

@Wedge: now when I set a self ilum material to be applied to a mesh tu make it an emitter my renders show up totally white.

Have the values for creating a self iluminated material changed? How different are they now?

regards,
Alvaro
AMD Ryzen 7 1800 @3.6ghz, 32GB ddr4 3200 mhz Ram, Nvidia RTX 3060 12GB, Win10, Blender/Sketchup/Modo/Cinema4d

User avatar
zsouthboy
Posts: 1395
Joined: Fri Oct 13, 2006 5:12 am

Post by zsouthboy » Sun Feb 11, 2007 12:59 pm

If you have a bezier curve or circle in your scene, you will get the "unreferenced variable: face" error.

Just delete the non-mesh things in your scene before exporting.

User avatar
Kram1032
Posts: 6649
Joined: Tue Jan 23, 2007 3:55 am
Location: Austria near Vienna

Post by Kram1032 » Sun Feb 11, 2007 1:02 pm

thx, I'll test it...
I've Just seperated a cubes faces and renewed the centerpoint of them.
But I've Seperated it, until it had 0 faces -> Mesh without verticles^^

User avatar
Kram1032
Posts: 6649
Joined: Tue Jan 23, 2007 3:55 am
Location: Austria near Vienna

Post by Kram1032 » Sun Feb 11, 2007 1:08 pm

It works now....

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Sun Feb 11, 2007 1:39 pm

Great!

I have added a note to the front that says I recommend that you use a mesh uvsphere for .sphere, mesh plane for .plane, and mesh cube [or plane maybe, I did not test?] for .rlight when you use the primitives.

Afecelis, all emitters now use the new light power system. Have you seen the thread for this yet? I remember the thread is in the general section and it was around the end of January.

Thanks for the info zsouthboy. :)
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
afecelis
Posts: 749
Joined: Tue Aug 01, 2006 4:14 am
Location: Colombia
3D Software: Blender
Contact:

Post by afecelis » Sun Feb 11, 2007 1:52 pm

thanks wedge, checking it out. So it means it also has to be coded by hand after exporting the basics from blender?

Reading...reading...
EDIT:link is here:
http://www2.indigorenderer.com/joomla/f ... wer+system
AMD Ryzen 7 1800 @3.6ghz, 32GB ddr4 3200 mhz Ram, Nvidia RTX 3060 12GB, Win10, Blender/Sketchup/Modo/Cinema4d

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Sun Feb 11, 2007 4:15 pm

The exporter should take care of everything for you.

The only reason you would have to check the xml would be if you needed values that the sliders couldn't give you with the way I set it up. Most of the values are covered....let me see if I can find that thread...

Edit: Found the thread, it is the Indigo 7 test 3 thread in the first post Nick posted a link to a site with many values that can be used for the new light power system. The exporter should cover most all of these values I think.
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
afecelis
Posts: 749
Joined: Tue Aug 01, 2006 4:14 am
Location: Colombia
3D Software: Blender
Contact:

Post by afecelis » Sun Feb 11, 2007 4:27 pm

Thanks a ton for Wedge! Lots of very useful info. The luminous efficacy link is here:
http://en.wikipedia.org/wiki/Luminous_e ... xplanation

regards,
Alvaro
AMD Ryzen 7 1800 @3.6ghz, 32GB ddr4 3200 mhz Ram, Nvidia RTX 3060 12GB, Win10, Blender/Sketchup/Modo/Cinema4d

User avatar
GNUdo
Posts: 40
Joined: Sat Feb 10, 2007 10:05 am
Contact:

Some small additions/corrections to the exporter

Post by GNUdo » Mon Feb 12, 2007 11:39 pm

Hi all,
I've been using Indigo from Blender for the last 2-3 weeks, starting with the 0.6 version, and now I'm testing the 0.7t4 version.
One thing I liked in the v.63beta4 exporter was the ability to launch an Indigo rendering directly from the exporter interface, so I made some "copy and paste" here and there and ended with a result quite functional.
Below you'll find the output of the command "diff" with the changes I made to the original script.
Like on the v.63beta4 you have to set the path to the Indigo directory in the file .blender/scripts/bpydata/IndigoWrapper07.conf.
I tested this script under Windows and Linux, and it works, at least for me..
I hope these additions could be inserted into the "official" script from Wedge.
PS: I'm not an expert in python/blender programming, in fact I'm not an expert programmer at all, so forgive me for any mistake.

Code: Select all

209c209
<       str += "\t\t<name>%s</name>\n\n" %mat.name
---
>       str += "\t\t<name>%s</name>\n" %mat.name
237c237
<       str += "\t\t<name>%s</name>\n\n" %mat.name.split('.', -2)[-2]
---
>       str += "\t\t<name>%s</name>\n" %mat.name.split('.', -2)[-2]
248c248
<       str += "\t\t<name>%s</name>\n\n" %mat.name.split('.', -1)[-1]
---
>       str += "\t\t<name>%s</name>\n" %mat.name.split('.', -1)[-1]
259c259
<       str += "\t\t<name>%s</name>\n\n" %mat.name
---
>       str += "\t\t<name>%s</name>\n" %mat.name
476c476
<    global meshlist, matnames
---
>    global meshlist, matnames, filebase
481a482
>    filebase = os.path.basename(filename)
543c544
<       file.write("\t\t<name>Default</name>\n\n")
---
>       file.write("\t\t<name>Default</name>\n")
645c646
<       file.write("\t\t<name>Default</name>\n\n")
---
>       file.write("\t\t<name>Default</name>\n")
662a664,724
> 
> #########################################################################
> ###      LAUNCH INDIGO AND RENDER CURRENT SCENE                       ###
> #########################################################################
> 
> ## Windows
> def launchWinIndigo(filename):
>     # get blenders 'bpydata' directory
>     datadir=Blender.Get("datadir")
>     
>     # open 'IndigoWrapper.conf' and read the first line
>     f = open(os.path.join(datadir, 'IndigoWrapper07.conf'), 'r+')
>     ic=f.readline()
>     ic=ic.strip()
>     f.close()
>     
>     # create 'IndigoWrapper.cmd' and write two lines of code into it
>     f = open(os.path.join(datadir, 'IndigoWrapper.cmd'), 'w')
>     f.write("echo off\n")
>     f.write("echo 'Change to indigo root folder'\n")
>     f.write("cd /d \"" + ic + "\"\n")
>     f.write("echo 'Now start indigo with file on commandline'\n")
>     f.write("start /b /belownormal indigo.exe %1 -t " + str(NumThreads.val) + "\n")
>     f.close()
>     
>     # call external shell script to start Indigo
>     orgdir = os.getcwd()
>     os.chdir(datadir)
>     cmd = 'IndigoWrapper.cmd \"' + filename + "\""
>     print cmd
>     os.system(cmd)
>     os.chdir(orgdir)
> 
> 
> ## Linux
> def launchLinIndigo(filename):
>     # get blenders 'bpydata' directory
>     datadir=Blender.Get("datadir")
>     
>     # open 'IndigoWrapper.conf' and read the first line
>     f = open(os.path.join(datadir, 'IndigoWrapper07.conf'), 'r+')
>     ic=f.readline()
>     ic=ic.strip()
>     f.close()
> 
>    # Create shell script and make it executable
>     shfile = datadir + "/IndigoWrapper.sh"
>     f = open(shfile, 'w')
>     f.write("#!/bin/sh\n")
>     f.write("echo 'Change to indigo root folder'\n")
>     f.write("cd \"" + ic + "\"\n") 
>     f.write("nice -n 20 wine indigo.exe " + filebase + " -t " + str(NumThreads.val)) 
>     f.close() 
>     
>    # call external shell script to start Indigo
>     os.chdir(datadir)
>     os.system("chmod +x IndigoWrapper.sh") 
>     cmd= "./IndigoWrapper.sh &"  
>     os.system(cmd)
> ###  End of Launch Indigo  #####################
> 
686a749,754
>    if ExecIndigo == 1:
>         import sys as SYS
>         if SYS.platform[:3] == 'win':
>             launchWinIndigo(filename)
>         else:
>             launchLinIndigo(filename)
696a765
> evtRender = 6
905,906c974,976
<    Draw.Button("Export", evtExport, 350, 10, 80, 17, "Open file dialog and export")
<    Draw.Button("Export Anim", evtExportAnim, 350, 40, 80, 17, "Open file dialog and export animation (careful: takes a lot of diskspace!)")
---
>    Draw.Button("Export", evtExport, 350, 30, 80, 17, "Open file dialog and export")
>    Draw.Button("Export Anim", evtExportAnim, 350, 50, 80, 17, "Open file dialog and export animation (careful: takes a lot of diskspace!)")
>    Draw.Button("Render", evtRender, 350, 10, 80, 17, "Save into default directory and Render")
916a987
>    global ExecIndigo
920a992,1001
>    if evt == evtRender:
>       ExecIndigo = 1
>       datadir=Blender.Get("datadir")
>       f = open(os.path.join(datadir, 'IndigoWrapper07.conf'), 'r+')
>       ic = f.readline()
>       f.close()
>       ic = ic.rstrip('\n')
>       filebase = os.path.basename(newFName('xml'))
>       filename = os.path.join(ic, filebase)
>       save_still(filename)
944c1025
<          print "Please select odject first."
---
>          print "Please select object first."

User avatar
drBouvierLeduc
Posts: 412
Joined: Wed Oct 11, 2006 2:32 am
Location: france

Post by drBouvierLeduc » Tue Feb 13, 2007 12:08 am

GNUdo --> Thanks for the tweak. But...
I guess we have to copy and paste your code somewhere in the script... But where exactly ? At the end ? Or do we have to replace something ?

User avatar
afecelis
Posts: 749
Joined: Tue Aug 01, 2006 4:14 am
Location: Colombia
3D Software: Blender
Contact:

Post by afecelis » Tue Feb 13, 2007 12:58 am

I say we let Wedge check it out and update his script on the frontpage :wink:

or....GNUdo could upload his version of the script somewhere for us to get it ;)

regards,
Alvaro
AMD Ryzen 7 1800 @3.6ghz, 32GB ddr4 3200 mhz Ram, Nvidia RTX 3060 12GB, Win10, Blender/Sketchup/Modo/Cinema4d

User avatar
GNUdo
Posts: 40
Joined: Sat Feb 10, 2007 10:05 am
Contact:

Post by GNUdo » Tue Feb 13, 2007 1:06 am

I guess we have to copy and paste your code somewhere in the script... But where exactly ? At the end ? Or do we have to replace something ?
The code I posted is not exactly what you have to insert into the script, but it contains the differences between the original exporter and the new one.
These changes are indicated with the line numbers where they occur:

Code: Select all

209c209
<       str += "\t\t<name>%s</name>\n\n" %mat.name
---
>       str += "\t\t<name>%s</name>\n" %mat.name
means that the line 209 of the script changes from the first line to the second, and so on..
I'm reluctant to post the entire script, I prefer to have the changes in the first message of this thread, so to avoid confusion.
If you or anyone else want it asap, please send me a private message, I'll wait for Wedge to modify the original before posting my version; if Wegde has definetly left the forum I'll post it in a couple of days..
Ciao

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Tue Feb 13, 2007 12:07 pm

Greetings!

I have not yet seen or downloaded the latest 06 exporter. I thought we would have merged the features of them both by now.

I am waiting I guess to hear from U3dreal because I think he is the author for those features? Or was it someone else? I am not sure if his script is open source. So with that said, I think it is best to keep waiting until he pops in or something. :)

I realized I assumed Zuegs code from the forum was okay to be added into the open source exporter. (he is one of the authors on the exporter) Even though all credit is in place, I don't want to add code from the forum again until I get the permission directly from the author. I assume by now Zuegs is ok with his fix inside the exporter, but I do not want to make any mistakes.
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
GNUdo
Posts: 40
Joined: Sat Feb 10, 2007 10:05 am
Contact:

Post by GNUdo » Tue Feb 13, 2007 8:28 pm

The code below is the license block into the script: so I think there is no problem in taking some parts of it and using in the v.07 exporter, if you continue to give credits to all the authors.

Code: Select all

# ***** BEGIN GPL LICENSE BLOCK *****
#
# --------------------------------------------------------------------------
# INDIGO v0.6 test 6 exporter beta 3
# --------------------------------------------------------------------------
#
# Authors:
# * Indigo exporter - Nick Chapman, Gregor Quade, Zuegs, Ewout Fernhout, Leope,
#                       psor, u3dreal, Jan Bijsterbosch, Hans, Phil
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
# ***** END GPL LICENCE BLOCK *****

Post Reply
223 posts

Who is online

Users browsing this forum: No registered users and 19 guests