Jump to content
AutoDesSys Forums
¢hris £und

MIMI updated :: Sort of

Recommended Posts

The Multi Image Map Importer script that I wrote (MIMI) will run under 8.5.3 if you follow these steps.  

FIrst, download it here.  Then follow along with the images, and instructions below:

 

MIMI.zip

 

post-9803-0-70381600-1460532897_thumb.png post-9803-0-38972400-1460532906_thumb.png post-9803-0-02521200-1460532927_thumb.png post-9803-0-71725000-1460532940_thumb.png post-9803-0-88268800-1460532957_thumb.png post-9803-0-22635600-1460533006_thumb.png post-9803-0-27839700-1460533014_thumb.png

 

Text instructions to go with the images:
1,  Goto the extensions Menu and select "Run Utility"
2, Navigate to the scripts folder, then into the MIMI folder to pick MIMI.fsb
3, A new open dialog will become available (with no indication that it is new)
      navigate to your images folder, note that they will be dimmed (click on "Show all files
4, Files may still be dimmed, but you will now be able to select all the files you want
      Be careful to choose image files that fZ understands (Don't recall how much error checking I did)
5, Note that a bunch of new blank materials have been added... No big deal
6, Change from "Shaded" to "Render Zone"
7, change all of them...

 

Share this post


Link to post
Share on other sites

Once you have run this the first time, you can use the  "Run Recent Utility"  to speed up the process a little (and even create a key shortcut to it if you like).

 

Coming Updates:

    Once I get the SDK, or am instructed on how to do so

    Not have to choose "show all"  or have valid files dimmed.

    import them in automatically as Renderzone materials

 

Future updates:

    Allow a template to be built upon when importing maps to reduce manual configuration of each map.

    Possibly to select a folder and have MIMI parse the viable images within for use.

    Open for suggestions,  though I script for myself and share, so no guarantee that I would add them.  

         (Donation Ware isn't out of the question though assuming I get far enough into it)

 

Hope this Helps!!! 

Share this post


Link to post
Share on other sites

It is working for me as well, however, it loads the map as a renderzone map but not a shaded map, thus it does not preview.  Is there a way to make it work in the shaded map as well?  it seems when I load a map manually, it maps to renderzone as well as shaded.

 

 

Share this post


Link to post
Share on other sites

Gordon,

 

MIMI brings the image in as a Render zone texture.  I don't think when I wrote it there was an option to bring in as a Shaded ( Could be very wrong about that  >?)    

 

Don't switch the Type in Shaded before you get your preview, as that seems to walk over the loaded texture in RZ.

Just switching to RZ before doing so should get you your preview, if not, Try to change the Preview to one of the other mapping types (just below the preview portal, little Sphere, Plane, Cube, etc...

 

Once you have your preview, you can get it to be a Shaded with some monkeying around.

 

This is something I can work on when I can update the Script officially.   (a choice of what Render type)

 

Let me know if this works?

Share this post


Link to post
Share on other sites

This is AWESOME!

 

Thank you so much for sharing!  

 

If I could add just one feature to take this huge time saver even further, it would be to set each new texture up with specific RenderZone settings (possibly from another material?).  One way it could be done is like a multiple duplicate, but with using each new image file for a new texture as you have done here.   As it is, importing all the texture files is a great help and time saver, but we will still need to go in and adjust all of the textures settings.  Since a lot of my importing is for graphics in tradeshow booths, I can get away with using the same setting for each graphic.  Do you think this would be hard to implement?

 

Many Thanks!

Share this post


Link to post
Share on other sites

Justin,  that is on the list of to-do's 

 

What I am thinking of doing,  is to base it on what ever material is selected at the time of import.

One would need to be careful to only import maps that they want with the same settings.

 

I could attempt to do it with the old API's  Can't promise they will work, as there are behavioral differences between 6.x and 8.x

 

I'll Dig into the old API's tonight:  Will keep you posted either way, Stay tuned.

 

And Glad it helps at least some.

Share this post


Link to post
Share on other sites

Hi Chris,

 

Other renderers only know about Shaded and not each other.  You might consider making a default option to use Shaded and an option to use the Active type...

 

;)

Share this post


Link to post
Share on other sites

Thought I'd follow-up with another big 

 

THANK YOU

 

This is seriously a huge time saver!   

 

ADS, you guys should pay Chris for this and maybe refine it with a few more options.  Seriously,  most of the other users will never think to find a script like this online, and it'd be a crying shame to not offer such a huge time saver to everyone!

 

 

Share this post


Link to post
Share on other sites

I have not been able to figure out a way to do so.   We will probably have to wait until the scripting SDK is updated before this is a possibility, as when this was created the shaded option was not available.  (I don't think)

Share this post


Link to post
Share on other sites

Any chance of getting this working on v9? The main reason I have not switched over to v9 for my everyday work is because of how cumbersome loading textures are.  Some of the projects we work on have dozens of maps and each map takes a minimum of 8 mouse clicks to load (if you are already pointed at the correct folder and you do not name the material).  I love the MIMI plugin but it doesn't work on v9 as far as I can tell.  In my opinion, this is one of the biggest issues with FormZ and should be part of the program.

Share this post


Link to post
Share on other sites

As it currently Stands, no.  The new API is based on python, not FSL, which is what MIMI is written in.  ADS is working on real easing the new API and documentation. Once I have the documentation, I will get to work on it.  While I have been able to figure some things out without the documentation, not totally. As, everything figured so far is from their examples.

Am also wondering at this point, to what the changes are in the C/C++ API are.  from what I can see, 9 doesn’t load 8.5.6 plugins either. Which is interesting. Could be something simple, and not significant.  Can’t help but wonder though. 
 

thanks for the props on MIMI, it is appreciated.  I do intend on making it more useful as well.   Such as, setting a base material  so that all imported maps share its settings but the map itself.  Other shaders, not just renderzone.  Open to suggestions as well. 
 

cheers!

€£

Share this post


Link to post
Share on other sites

dpwr,

 

Thanks!   I had been waiting for updates on the SDK.  Which honestly, they may be there.  There doesn't appear to be any announcements when the SDK is updated, so to know, I hove to manually walk through it to see if it has what I need.

 

I am going to be tied up for a at least a week with my business.  I will see what the current state is after that.

 

¢£

Share this post


Link to post
Share on other sites

dpwr,

Currently, I am going to have to say no.  Now for the excuse:  While transitioning to python, to some degree this eases the burden off ADS to create all of the classes and functions (non-nerd talk, routines) that they had to in the past.  Such as interactions with the OS. as Python takes care of this for me (ADS no longer has to.)  

However, from pouring over the current documents (and it is true that the documents probably are not caught up to the actual functionality, this kind of thing was evident early on as some examples provided had undocumented calls.  This is probably still the case) The calls to the Materials is extremely limited at this time.    

It appears that the greater amount of work thus far has gone into wrapping formZs toolset (actual tools that we interact with)  rather than some of the lower level functionality such as assigning materials, surface maps and such.  There may be a good reason for this, I honestly do not know.  But I can speculate that the old system was heavily tied to RenderZone.  This appears to have been shifting away for a while now as is somewhat evident by the quirky behavior of the old MIMI script running in the newer versions.

If you care, another example of something that hasn't arrived yet in the python API.  Pick order.  I currently can not tell the order in which objects are picked.   For so many of the scripts I have in mind this is crucial.  It dawned on me the other day though, that this may be a technical limitation of python 2.7.   If they step the list of picked objects through a type of list that python uses called a "dictionary".   These lists by they way python 2.7 is created are simply "Unordered"  and not much can be done about it.  To my despair.   Though, I keep hopes out that isn't what ADS is doing, it is possible.  Python has other types of lists too that are ordered, but dictionaries make a lot of sense for specific reasons.   Since Python 3.6 though Dictionaries are now Ordered.   But we also have to wait for ADS to make that move.  (Python is currently up to 3.9.2 I think and 4 is on the horizon)

Regardless, formZ is huge and there is a lot of non-trivial tasks that remain to be done.   I will keep looping back into this thread as well as into the documentation to see what changes there are.

My wife decided she is leaving her job to help out with the business, so I may get more time. Or, I may need to find a job or grow the business to make up for the difference...  We shall see.

ADS, if you are paying attention....?    Materials class methods need to be filled out., Pick order if possible.  Oh so much more, Essentially the lower level interactions.   Thx!

 

¢£

Share this post


Link to post
Share on other sites

Hi - I'm coming back to this to say (again) that I would love to have this functionality (again) in FormZ.

I have been launching 6.7 on an old machine to import 40+ images at a time, and then opening that file in 9.2 on my workstation to speed the importing process.

Yesterday I couldn't find my USB key for 6.7.

I came here and read instructions for 8.5, tried it in 8.6 (imported well, grey names and all) and found the images show in the materials window but when applied in shaded mode on the model they show as a bright white. They render in render zone fine, it's just impossible to know what is placed and mapped until I render. Which is a drag.

So, another request for FormZ to include this or get Chris Lund the things he needs to update the script. I would HAPPILY pay developer ware on this. ❤️

Share this post


Link to post
Share on other sites

I agree!

I wish FormZ had a third party developer site where we could pay developers for special features and add-ons.  I think this could help to broaden FormZ's appeal to new users in addition to generating a more robust software offering that wouldn't burden the primary developers. 

Other popular 3D applications have third party add-ons available for purchase, like SketchUp and Rhino, so it's possible the same developers could even adapt some of the most popular add-ons to FormZ with less work than developing them from scratch. 

How do we make this happen?

Share this post


Link to post
Share on other sites

Thanks for the continued interest in this script!

dpwr,  Yes, unfortunately, the capabilities of scripting have not kept up with the demands of the App itself. While I think it is great that ADS has activated FSL again, it is really only good in the absence of a complete alternative. That being Python, however, it Python is not near complete.  Last I have looked, admittedly, is less and less often. The complete subtopic of dealing with materials is absent in the SDK/API.  The script itself is not difficult, but is very dependent on the API.

Justin, you are sort of right.  However when writing a script or plugin for an existing product, a developer is highly dependent on the API of said product.  Each product is going to have their own API.  While the specific functionality of the code can be (but is not necessarily) independent of the API. All the connections, hooks, callbacks, interactions to the App and to the Users, etc... requires the API.  So, there will be a lot of work to move code from one app to another.  The exact same issue exists between Window and the MacOS.  Though, nowadays, there are coding environments that do the middleman work of translation to make this process easier.  Nothing like this exists, nor would I expect it to, at the App level.  

In my case, the code that I write is mostly glueing parts of the API together in a way that manages to do what I want to get done.  There is a C/C++ API that may have the parts and components (classes and functions) to do so.  However, the added overhead to do so is outside of my scope. Really, outside of my interest. I no longer use fZ for my living (or any CAD) and I am not a professional developer.a

As mentioned above, I do think it is good to allow the old FSL scripts to work again. I also think it would have been better to move forward with gusto than to look back. I think I mentioned this earlier, ADS had no reason to even consider something like Python when they created FSL.  Undoubtably, that was a lot of effort on their part. And Undoubtably, moving over to Python is a lot of work. I can only assume, it was a lot easier to reactivate FSL.  Possibly they calculate that FSL will give them some breathing room to get Python fully running. My only concern is, I don't see anybody moving forward developing in FSL.  Python or some other contemporary language is the future.  FSL is not (IMHO.)

I think that they have made some good moves lately, such as their partnership for 2D Cad etc... I suspect these efforts have pulled them away from further developing the Python API. I cannot disparage them, as I do not know the internal operations of their business nor their needs. At this point, I can only assume that they are doing what they figure they need.  Do consider that we as users are pulling them in a multi-pronged tug of war. Each of us asking for what will be best for us.

I do concur though, that adding functionality through plugins and scripts is important.  That could offload all the details to users (scripts) and to other professional developer. Leaving the core functionality of the App to ADS.

I will update the script when I get the tools to do so.  Assuming ADS or somebody else doesn't beat me to it via the C/C++ API.

Cheers,

¢hris £und

 

Share this post


Link to post
Share on other sites

Hey Chris!

Thanks for your valuable insight.  I thought between Python, C, and Ruby there would be some easier conversion available.  

Maybe one day the world can find a universal computer language.  But when we can't even agree on a unit of measurement, what hope do we really have of uniting, even under science?   

Hope you are well.  Cheers!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×