M2m

pyldd2obj.py - a lxf to obj converter

Recommended Posts

Posted (edited)

https://github.com/sttng/LDD/blob/master/pyldd2obj.py

tested on macOS Mojave and Python 2.7

Usage: pyldd2obj.py test01.lxf out_obj_file

Not by me but by jonnysp - I only did some backporting from Python 3 to 2.7 and added UTF-8 support.

Converts LDD lxf files into Alias|Wavefront obj files including mtl files and png textures.

Edited by M2m

Share this post


Link to post
Share on other sites

from the previous thread:

 

Quote

 

/Users/[Username]/Library/Application Support/LEGO Company/LEGO Digital Designer/db.lif

/Users/[Username]/liftmp/db.lif

/Users/[Username]/Downloads/LIF2OBJ/Assets/db.lif

[Username]MBP2:~ [Username]$ 

 


that's what I got when I searched for db.lif.  got the actual file path as well as the ones I extracted.

and i realized what i was doing wrong. i never put in the "out_obj_file" command.  i did it and it seemed to work.  but now i have no idea where the OBJs exported to. they aren't in the same folder as the test lxf.
 

Share this post


Link to post
Share on other sites

Strange. I do as follows

1) Download the python script (obviously) :wink:

2) Change python script to executable:

My-MBP:Downloads user$ chmod +x pyldd2obj.py

3) Execute Script
My-MBP:Downloads user$ ./pyldd2obj.py /Users/user/Documents/LEGO\ Creations/Models/Treasure_Chest.lxf test_out

4) Output:
- - - pyldd2obj - - -
          _
         [_]
       /|   |\
      ()'---' C
        | | |
        [=|=]

- - - - - - - - - - - -
DB Version: 2670
Database OK.
Scene "Treasure_Chest" Brickversion: 2670
Progress: [##########------------------------------] 25.0%                     

Progress: [####################--------------------] 50.0%        

Progress: [####################--------------------] 50.0%   (4739) CHEST LID 2X

Progress: [##############################----------] 75.0%                     

Progress: [##############################----------] 75.0%   (57503) GOLD COIN 1

Progress: [########################################] 100.0% -                  

Progress: [########################################] 100.0% - (57503) GOLD COIN                                                                                

--- 0.0939090251923 seconds ---
My-MBP:Downloads user$

5) I get 2 files: test_out.mtl and test_out.obj

Share this post


Link to post
Share on other sites

no i did not do that. i just wrote the command as is with no directory.  but i moved the script to the desktop if it makes a difference.

i am betting this is a tall order but maybe a video tutorial would help me. i dont think i understand written direction.

Share this post


Link to post
Share on other sites

1. install LDD
2. copy the script and the lxf to a folder
3. open console
4. navigate to the folder
5. run "python pyldd2obj.py nameofyour.lxf nameoutputobj"
6. now you have nameoutputobj.obj at the folder

1698031672_runpyldd2obj.thumb.JPG.150af48067be6da673eddc3db043bb81.JPG

thats all

Share this post


Link to post
Share on other sites
On 7/13/2019 at 12:08 AM, Kalta the Noble Mind said:

maybe this is just a Maya issue but the OBJ objects seem to share faces so Maya has to merge them into one group. also, it comes with an mtl file but I see no PNGs that would be referenced in the shader.

Is it different bricks overlapping and sharing faces ? I guess this is ‘normal’. The script just takes the 3D data as it comes from LDD. I guess one could add a scaling matrix to ‘shrink’ every brick by 1-2% to remove overlapping - if this is the overlapping problem you refer to. 

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

  • Recently Browsing   0 members

    No registered users viewing this page.