Jump to content
3D Coat Forums
mifth

Blender Applink "Simple3DCoat" (Fork of the official)

Recommended Posts

I was working on a project in 3D-Coat and I wanted to bring it into Blender to test and I can not find a way to do it.  I have 3D-Coat running with my scene, I start Blender with the applink active and the exchange directory set.  I can send an object from Blender to 3D-Coat, but I can't find a way to send my 3D-Coat object to Blender as there is no "Send to..." file menu option.  Has this changed or is this a one way street?   I'm using 3D-Coat version 4.5.16, Blender version 2.75a, and applink version 0.3.2. Thanks,

 

Jason

Share this post


Link to post
Share on other sites

Hey Grimm when in 3DC side in PPP go up to File >  you will see in the drop down list  Open in original APP  Click it and then you will see Export Options  check what you want in it then click OK.  Now open Blender and in the Simple 3d Coat APP-LINK  tab click  Import Objects  and it should be there . ( This works if  blender was the original app meaning I had first made the model in Blender and exported it over to 3dc in PPP.) As I reread your post it looks as if you made your object/Mesh in 3dc from start so no the Open in original app might not work > WOW :) IT does work just comes in bigger not to scale! I learned something new just did a test obj 

Share this post


Link to post
Share on other sites

Thanks Ballistic, but I don't see the menu "Export Options", the only two export menu items I have are "Export Objects & Textures" and "Export for Steam Workshop".  When I try to import in Blender it just gives me an error, "No imported objects or bad exchange folder".  I tried to export my object into the exchange directory and it didn't have any effect.   :(

Edited by Grimm

Share this post


Link to post
Share on other sites

TOP Left  click on File and in there you should see" OPEN IN ORIGINAL APP"  only after you click this will you see Export Options  then check what you want  and hit OK.

I don't see either unless I first send an object to 3D-Coat from Blender.  I'm also using the new simple plugin for Blender not the original plugin.  Maybe it's an issue with the Linux version?  

Share this post


Link to post
Share on other sites

Yes you do ( it seams) have to send something from blender to 3dc first to see Open in Original app. then it seams once that's done there linked I did just that : blender to 3dc 1st then just deleted that object. then opened a new > surface sculpting > and that object/mesh from the Sculpt room has up in FILE> Bring Voxels Back to APP  I clicked that then back in  over to blender > Simple 3Dc APP-Link >Import Objects and it was there.  add it to the learned something new list.  Mifth script is awesome time saver!  I am the Old new guy in 3dcoat learning day to day I started with Fractal Design then kids = no spare time till collage then bam back to getting up to speed lol. hope some of this helps.

Share this post


Link to post
Share on other sites

So it's starting to look like a bug in 3D-Coat?  Or is it a problem with the plugin not notifying 3D-Coat so it shows the menu items?  

Share this post


Link to post
Share on other sites

I am using version 3.2 of the "Simple 3D-Coat Applink" plugin and blender 2.76b.

 

Issues:

1. The plugin is still in the scene tab.

 

2. What I liked in the origin plugin: The hierarchy position was saved always. So a reimported object moved back to the origin place in the blender hierarchy. Your plugin don't remember the origin hierarchy position and moves the object always into the scene origin.

 

3. Then I would like to have another option: When I don't set "Apply modifiers", then I expect my object come back from 3D-Coat and have the same modifiers back like before the export. This happened with the old plugin and was great.

 

The only problem I had with haikalles plugin  is: In my scene the position in the hierarchy was not always the same after reimport. The objects shift after reimport for any reason.

 

Is it possible to improve your routines for the mentioned points?

 

Thank you in advanced

Chris

Share this post


Link to post
Share on other sites

Taros: Does it not support hierarchy replacement with any of the available formats (obj/fbx/dae)? He might have implemented it for one but not the others...

Share this post


Link to post
Share on other sites

Yes I tried all.

 

1. OBJ after reimport from 3D-Coat:
a) Does not support parent object scaling factor to child objects.
b ) Does not support hierarchy.

 

3) FBX:

a) Result in an error:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons\io_simple_3dcoat\simple_coat.py", line 147, in invoke
    bpy.ops.export_scene.fbx(check_existing=True, filepath=modelExportPath, filter_glob="*.fbx", version='BIN7400', use_selection=True, global_scale=1.0, axis_forward='-Z', axis_up='Y', bake_space_transform=False, object_types={'MESH'}, use_mesh_modifiers=simple3Dcoat.doApplyModifiers, mesh_smooth_type='FACE', use_mesh_edges=False, use_tspace=False, use_custom_properties=False, use_armature_deform_only=False, bake_anim=False, bake_anim_use_nla_strips=False, bake_anim_use_all_actions=False, bake_anim_step=1.0, bake_anim_simplify_factor=1.0, use_anim=False, use_anim_action_all=False, use_default_take=True, use_anim_optimize=True, anim_optimize_precision=6.0, path_mode='AUTO', embed_textures=False, batch_mode='OFF', use_batch_own_dir=True, use_metadata=True)
  File "C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules\bpy\ops.py", line 189, in __call__
    ret = op_call(self.idname_py(), None, kw)
TypeError: Converting py args to operator properties: : keyword "use_custom_properties" unrecognized
 
location: <unknown location>:-1

 

2. DAE:
a) 3D-Coat crashes while import. Version 4.5.25

 

Additional infos about tabbed PlugIn:

The plugin seems to appear in windows 8.1 tabbed in the tools window at the left. It appear in the scene tab in windows 10. Tested both with blender 2.76b.

 

Best wishes

Chris

Share this post


Link to post
Share on other sites

Hi Taros.

 

The last version of the addon is here https://github.com/mifth/mifthtools/tree/master/blender/addons/io_simple_3dcoat

Entire my zipped repo from master https://github.com/mifth/mifthtools/archive/master.zip

 

I cannot modify my first post. Sorry for that. The link at the first post is old. As Google closed GoogleCode service.

 

FBX should work in master.

 

Hierarchy position cannot be saved. Because 3DCoat does not save position of objects. 3DCoat has always 0,0,0 position. Sorry about it. This is 3DCoat issue.

 

About export/impoort modifiers - I don't want to make some hacks about it too. There are some limitations obout it.

 

I would like to add all you say but blender and 3dcoat have many limitations. Sorry.

Edited by mifth
  • Like 1

Share this post


Link to post
Share on other sites
Hierarchy position cannot be saved. Because 3DCoat does not save position of objects. 3DCoat has always 0,0,0 position. Sorry about it. This is 3DCoat issue.

 

I solved this in the Max applink by having the objects sent from 3DC transfer the hierarchy of their old versions directly as they were being overwritten during import.

Alternatively, you could save a seperate txt (like hierarchy.txt) file next to the import/export txt that holds the hierarchy info which you could then source from when importing to Blender.

Edited by PolyHertz

Share this post


Link to post
Share on other sites

I solved this in the Max applink by having the objects sent from 3DC transfer the hierarchy of their old versions directly as they were being overwritten during import.

Alternatively, you could save a seperate txt (like hierarchy.txt) file next to the import/export txt that holds the hierarchy info which you could then source from when importing to Blender.

 

But i think this looks like a hack. If you move object in 3d_coat and the move it back to blender there will be offset. Or if you change position in blender then import again.

 

If i complicate the addon it will be difficult to support it also. 

 

3DCoat team should add local coordinates system to every object for better import/export. For fbx/collada at least.

Share this post


Link to post
Share on other sites

But i think this looks like a hack. If you move object in 3d_coat and the move it back to blender there will be offset. Or if you change position in blender then import again.

 

If i complicate the addon it will be difficult to support it also. 

 

3DCoat team should add local coordinates system to every object for better import/export. For fbx/collada at least.

 

I think so long as the users understand the limitations of the method employed it's fine.

As for it becoming too complex...The code itself shouldn't be complex at all (you're basically just transferring a bunch of values). But I have no clue how to code in Blender so maybe it really is way more complex then I'd expect. Just trying to make helpful suggestions.

 

Btw, I'm curious why you bothered implementing DAE/FBX in your applink over just OBJ? Does 3DC support anything in them that it doesn't in obj (afaik 3DC discards everything that makes those formats unique)?

Edited by PolyHertz

Share this post


Link to post
Share on other sites

I think so long as the users understand the limitations of the method employed it's fine.

As for it becoming too complex...The code itself shouldn't be complex at all (you're basically just transferring a bunch of values). But I have no clue how to code in Blender so maybe it really is way more complex then I'd expect. Just trying to make helpful suggestions.

 

Btw, I'm curious why you bothered implementing DAE/FBX in your applink over just OBJ? Does 3DC support anything in them that it doesn't in obj (afaik 3DC discards everything that makes those formats unique)?

 

In Mudbox I export/import fbx file and all object origins are at the same place in all apps. I'm sure this should work without hacks which can brake a project. 

Just imagine if you rename some objects? You can lost them during export/import with such hacks. As everything will be based on object name.

 

About fbx - it can export normals. This is the only feature why i added it. As far as I know Obj format cannot export custom normals. But possibl i'm wrong.

Normals are needed to baked models with normal maps.

 

I also added dae as it was simple to add. Just 2 lines of code. And 3dc supports dae. But not linux version. :(

Share this post


Link to post
Share on other sites
About fbx - it can export normals. This is the only feature why i added it. As far as I know Obj format cannot export custom normals. But possibl i'm wrong.

Normals are needed to baked models with normal maps.

 

I also added dae as it was simple to add. Just 2 lines of code. And 3dc supports dae. But not linux version. :(

 

OBJ format itself can handle custom normals (I think Blender also added support for this a few versions ago), though 3D-Coats custom normal support seems to be limited to just basic smoothing groups / hard edges (for all formats).

Vertex color is the one thing I've seen 3DC work for with FBX but not OBJ, but this is again a 3DC limitation and not one of the format itself (in fact I was fairly sure OBJ vertex colors were supported in 3DC at one point...). Vertex colors don't matter much atm for applinks since the SDK doesn't support vertex painting (aka. polypaint), but fbx may be worth supporting anyways just so there's one less thing discarded by 3DC when switching between apps.

Share this post


Link to post
Share on other sites

OBJ format itself can handle custom normals...

Fwiw...You are correct that obj can deal with custom normals and Blender since 2.74 may retain normals assigned

in 3rd party programs. I however got far better result with fbx when bringing CAD files (with non standard geometry

from a mesh modellers point of view) into recent versions of Blender. Having the fbx option in the Applink sure can't

hurt and results in smaller files + potentially faster load times.

Share this post


Link to post
Share on other sites

Hi

Sorry but... is working for 2.77 ?

post-10142-0-89184100-1460941588_thumb.j

Share this post


Link to post
Share on other sites

======================================================================
http://3dcoat.com/mantis/view.php?id=2128
======================================================================
Reported By:                ebitz
Assigned To:
======================================================================
Project:                    3D-Coat v4.5
Issue ID:                   2128
Category:                   Sculpt room General (All Categories)
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
======================================================================
Date Submitted:             2016-05-15 00:40 EEST
Last Modified:              2016-05-15 16:05 EEST
======================================================================
Summary:                    Applinks_Blender- Not consistent with object
transforms
Description:
To match scene scales between blender and 3d coat, I export a model with the 3d
coat applink(transfer for voxelization)from blender. 3D Coat asks me to "keep
scene scale". I say yes. The scene scale is changed as proof in the
Geometry-Scene Scale menu. If I again immediately create another object in
blender and trasfer it to 3D coat, scale and transforms are remembered. It seems
to work.  However, if I then say, go into the models menu and choose a .obj and
fiddle with the scale and location to place in the scene, Blenders applink seems
to inherit those new values for the "Import" tool. If I again create a object in
blender and transfer to 3d coat the objects scale and transforms no longer match
the scene in blender. So, what worked the first time in now lost.

Steps to Reproduce:
Refer to above statement.

Additional Information:
Exporting objects back to blender from 3D Coat with the "File", "Export Voxel
Mesh To", "Blender" menu does however remember the scale and transformations of
objects created in 3d Coat and appear as they should relative to each other in
Blender after pressing the "Update" command in the applink.

I believe the issue lies with the Import Tool inside 3D-Coat and its
relationship with the applink tool.  More specifically the "Transfer" of objects
to 3D Coat. If the import tool is used in anyway to adjust "Models" in 3d coat
after an initial import from blender, blenders "Transfer" option will only
remember what the last transforms were in the 3D Coat "Import" tool. Now one has
to rescale the import proxy mesh from Blender and guess it's scale and position
in the scene before applying it.

Share this post


Link to post
Share on other sites

Hi, 

I installed thia addon last night and it seems to be working fine, with one exception. When returning an object back to Blender with the import function, a new version of the object is produced with a new name. For instance:

1) Export object "cube" to 3dcoat via simple3dcoat

2) paint on cube in 3dcoat

3) open in original app -> blender

4) in blender, use simple3dcoat import

5) Blender produces a new, seperate object called "cube_cube.001" or something similar to this.

Any ideas?

Thanks for the addon and the help.

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

×