[WIP]InstantMesher: automated export and import for 'Instant Meshes' (Windows/Linux)


(teaLeaf) #1

This is just a simple addon I made to make the whole process of exporting/importing to “Instant Meshes” a bit easier.

Be sure to always save before exporting your mesh.

Just download the addon from github as a zip-file and add it to Blender through the addons panel, as you usually would. The addon is called ‘instantmesher’.

edit: Looks like the the addon is unstable on Mac OS for the moment. I’m working on fixing that.

Note that you first have to set the path to the “Instant Meshes”-executable in the addon preferences, otherwise it won’t work! Setting the temporary path to store the objects in is not necessary. By default it will use your home(Linux) or user(Windows) directory.

Make sure to set the filepath to the binary.
On Mac os it’ll be under “…/Instant Meshes.app/Contents/MacOS/Instant Meshes”,
on Windows it’s simply the .exe file and on Linux the binary.

You can execute it by first selecting a mesh, hitting space and then searching for ‘instant meshes export’. After that (again, if you set up the path to instant-meshes properly) “Instant Meshes” should start with your object already loaded into it. Do your thing in “Instant Meshes” and at the end you must export the object to replace the temporary .obj that was created (the temp .obj is named after the object you selected in Blender + “.obj” at the end. You can find the temp .obj in either your ‘home’-directory (‘user’-directory on Windows) or the temp folder you specified in the addon preferences, otherwise it won’t import the newly remeshed obj.

update: You can now also find the addon on the tab “Retopology” (changed from the “Instant Mesher”-tab as per DaremoK3 's suggestion) in the tools-menu on the left. This also gives some limited functionality to convert the mesh directly in Blender. However, use of the Instant Meshes-GUI is still recommended, because it has a bunch of additional options and real-time feedback.


Feedback is much appreciated!

Here’s the addon:

You can find the application “Instant Meshes” here if you haven’t got it already.


Scroll down and select one of the pre-built binaries for your operating system.

update: Added support for Sketch-Retopo which you can download here:
http://igl.ethz.ch/projects/sketch-retopo/sketch-retopo-license.html

Made a quick video to show the process (switch over to vimeo to watch it in HD. The font isn’t very legible otherwise):

Update: The video is a bit outdated now, because it’s showing off an earlier version without the tab and less functionality. But I’ll leave it here for now and make a new one once the progress of the addon is more substantial.

Update: Sometimes it helps to triangulate the mesh in Blender first before remeshing it in Instant Meshes.

If you want to bind it to a shortcut, the addon’s name is “ops.instantmesher”. I put mine under the Screen > Screen(Global) category:

Happy blending!

Disclaimer: I’m not in any way associated with the developers of either “Sketch-Retopo” or “Instant Meshes”.


[Add-on] Instant Meshes Remesh
Simplify lots of unorganized objects into one mesh
(matali) #2

Nice, can’t wait for the addon version :slight_smile:


(uruburei) #3

Help me please.
I changed the line 10 in this way



and this error occurs.


See the directory of instantmeshes



(uruburei) #4

Help me please.
I changed the line 10 in this way



and this error occurs.


See the directory of instantmeshes



(teaLeaf) #5

Did you try adding “.exe” to the path?

Thanks!

Ps: I’ll get my work laptop just in case to test it out on Windows.


(uruburei) #6

I tried all these ways:

“D:\Antonio\Documents\arquivos do Blender\Instant Meshes.exe”
“D:\Antonio\Documents\arquivos do Blender\Instant_Meshes.exe”
“D:\Antonio\Documents\arquivos do Blender\Instant-Meshes.exe”
“D:\Antonio\Documents\arquivos do Blender\InstantMeshes.exe”
“D:\Antonio\Documents\arquivos do Blender\Instant.Meshes.exe”
“D:\Antonio\Documents\arquivos do Blender\Instant Meshes”
“D:\Antonio\Documents\arquivos do Blender\Instant-Meshes”
“D:\Antonio\Documents\arquivos do Blender\Instant_Meshes”
“D:\Antonio\Documents\arquivos do Blender\Instant.Meshes”
“D:\Antonio\Documents\arquivos do Blender\instantmeshes”
“D:\Antonio\Documents\arquivos do Blender\instantmeshes.exe”

But unfortunately the same error happens.
I appreciate your willingness to help me, and congratulations on your Addon. I think it’s very helpful.


(teaLeaf) #7

Alright, I made a bunch of changes to the script, so it also runs on Windows now. However I didn’t have any issues with setting up the path to instant-meshes. That just worked for me.
Download the updated script and try the following steps:

edit: I’m assuming that “Documentos” is automatically translated to “Documents”, otherwise try changing your path to “Documentos” instead

1: Downloaded instantmeshes (for Windows) from
https://s3.eu-central-1.amazonaws.com/instant-meshes/instant-meshes-linux.zip

2: Extracted it to “C:\Program Files\instant-meshes”

3: Added the path “C:\Program Files\instant-meshes\Instant Meshes.exe” to line 10. Try Shift-right-clicking the instant-meshes.exe and select copy path (or whatever it’s called in Spanish in your case). That way you can be sure that the path is correct.
My line 10 looks like this now:
instantmeshesPath = “C:\Program Files\instant-meshes\Instant Meshes.exe”

4: Added the script to the Blender startup folder (alternatively, you can just manually load it into Blender and execute it) and ran it after selecting an object

That’s it.
Let me know if that did the trick.

I’m aware that this is kind of annoying to set up. If I have time tomorrow, I’ll make it a bit more comfortable. However, since instant-meshes is just an executable you download and then place wherever you want, I don’t really see a way around manually adding the path. The only improvement I can think of is setting the path up in the Blender addon configuration so that you don’t have to edit the script directly. I currently don’t know how to do that yet, so I’ll have to look into it first (again, it’s been a while since I coded for Blender :slight_smile: ).

Ps: I don’t have access to OS X so I won’t be able to test it. If somebody else could do that, I would appreciate it. However, I don’t think it should be very problematic, since OS X is also unix-based and should be pretty similar to Linux.

Also, I just noticed that the meshes exported from instant-meshes all have sharp edges applied. Does anybody know of a way to prevent that?


(uruburei) #8

just changed the "Instant directory Meshes, I changed the way and it worked perfectly. Thanks for your help.


(teaLeaf) #9

Great. Glad it worked out for you.

I made some changes to the addon and you can now set the path in the addon preferences in Blender. So no more script editing necessary!


(Alberto Gonzalez(afx)) #10

One question, Does this work for Mac users as well?

Very nice idea btw. Good job!


(teaLeaf) #11

I’m fairly certain that it should, since it works on Linux and Mac Os is also Unix-based. But at the moment, I have no means to try it out. I’m hoping someone with a mac will test it out and then provide some feedback.


(const) #12

With a first glance I see that you have put single backslash () in your string variable and this means something else (escaping characters). You will have to change the character to one of these.


These are correct
C:/Program Files
C:\\Program Files

But this not correct
C:\Program Files


(Alberto Gonzalez(afx)) #13

I get this:


Please tell me what I did wrong:

Also, can you pm me that model you used as an example to test out my auto-retopology add-on that’s being developed?


(teaLeaf) #14

Looks to me like you did everything right. I’ll try to get my hands on a mac to do some testing myself and attempt to replicate your error.
I made some subtle changes to the code, so it’s possible that that will fix your error.
The permissions error usually arises when Blender tries to export the obj to a directory where it has no “write”-permissions.
I’ll look into it and get back to you soon. Thanks for testing it out.

As for the model: I no longer have it. But it’s just a bunch of verts that I applied the spin, bevel and subsurf modifier to. Would be very easy to replicate.

Your auto-retopology addon looks very promising, btw.


(Richard Marklew) #15

In the executable path box, select the Instant Meshes binary inside the app folder and I don’t get this error. I do if I just select the .app

I have the Instant Meshes app to open but I get an error saying the .obj could not be opened using the default monkey model with 2 levels of subdivision. I do get the object duplicated in blender



(teaLeaf) #16

This suggests that the export works and the obj is properly exported, but “Instant Meshes” either can’t interpret or find the obj-file.

Could you try opening the file through the terminal and append it there, for testing purposes? It’s possible that you have to use the full path to the file. On Linux and Windows the relative path is enough.

I should be able to get my hands on a mac sometime today to fix the errors. Until then, I’ll consider the addon on Mac OS unstable. Thanks for testing it out.

edit: There’s been a slight delay, so the fix will come tomorrow, instead.


(PixelPete) #17

THIS IS WONDERFUL!!! Works perfectly. Vielen Dank!:smiley:


(DaremoK3) #18

I am out of town for a few months, and don’t have access to my 64 bit work PC. So, I can’t test with Instant Meshes, but I have tested this on a Win32 laptop using a couple of programs (Sculptirs, Meshman, and Meshlab) and it works great. I love the auto-import feature (have to close program first to complete loop), and that you put the file paths in the Addon Preferences.

I have created a couple of these export/import app-link/bridges myself based off the work of Joel Daniels’ Meshlab, and Sculptris app-links.

I have added to your script to make it more complete with an export panel button in the “scene” properties tab (where Joel adds his), added a function to send original mesh object to the last layer (hidden) upon retopo-ed mesh import loop completion as is in Joel’s scripts, and changed the name from “_init_dot_py” (should only be used with modules in a folder structure) to “io_instant_mesher_dot_py” (for addon cohesion). The searchbar launch still works as before. Some people might like to have the button option.

Here is an image of the panel button, and if you are interested I can send you the modified code for your perusal, and/or inclusion:


Take care…
Ken


(teaLeaf) #19

I made some changes to the addon:

  • Meshes which haven’t been changed in the remeshing process will no longer be imported
  • Added a tab to the Blender tools-menu. You can find the options under the tab “Instant Mesher”.
  • You can now convert the mesh directly in Blender, but only with limited functionality (see image below). I still recommend using the actual GUI interface of “Instant Meshes”, since it has additional functionality and gives you real-time feedback.
  • Added some error-handling


Unfortunately, I still don’t have a working Mac OS version (tried it through Virtualbox). Instant Meshes won’t start under the VM. For now, the Mac OS fixes will have to be delayed, sorry :(.

If you can think of anything that’s missing from the addon functionality-wise, let me know. Other than the Mac OS incompatibility and some more polishing, I think I’m pretty much done.

Gerne! :slight_smile:


(teaLeaf) #20

Thanks for checking it out (your post somehow didn’t show up for me until just now :confused:). My addon could definitely use a bit more polish. I mainly focused on getting the functionality in there first, so the polishing part is what I’m going to focus on next.
Your additions sound interesting and I’m sure I can implement a few of them. I already put a button in it’s own tab in the tools-menu, which I personally prefer to the scene-tab (but it’s a good sugestion). Making an addon like this which is completely program-agnostic would be a cool concept and it would be easy to set up paths to multiple binaries in the addon preferences and then letting you choose through a list which one you want to send the object to. I’ll consider making it more versatile, but will stick to Instant Meshes for now.
Would love to have a look at your code.