Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,419
» Latest member: PatrTher
» Forum threads: 6,245
» Forum posts: 52,219

Full Statistics

Online Users
There are currently 232 online users.
» 0 Member(s) | 229 Guest(s)
Baidu, Bing, Google

Latest Threads
The colour of textures in...
Forum: Parts Authoring
Last Post: Orion Pobursky
9 hours ago
» Replies: 4
» Views: 133
Keywords and invalid 0 li...
Forum: Parts Tracker Discussion
Last Post: Orion Pobursky
2025-11-03, 22:17
» Replies: 6
» Views: 175
Minifigure Head MINI HEAD...
Forum: Part Requests
Last Post: Bailey Meyer
2025-11-03, 20:37
» Replies: 5
» Views: 400
Friends 2025
Forum: Official Models
Last Post: Philippe Hurbain
2025-11-02, 19:24
» Replies: 1
» Views: 341
Technic 1990
Forum: Official Models
Last Post: Takeshi Takahashi
2025-11-02, 15:05
» Replies: 14
» Views: 18,448
Sorting by date
Forum: Website Suggestions/Requests/Discussion
Last Post: Peter Blomberg
2025-11-01, 10:22
» Replies: 5
» Views: 500
Parts request , spider we...
Forum: Part Requests
Last Post: Peter Grass
2025-10-31, 11:23
» Replies: 1
» Views: 214
Part 4070 differences in ...
Forum: Parts Authoring
Last Post: Peter Grass
2025-10-31, 10:58
» Replies: 7
» Views: 645
Empty file with MLCad
Forum: Parts Authoring
Last Post: Orion Pobursky
2025-10-30, 0:20
» Replies: 2
» Views: 296
Duplo parts not yet in LD...
Forum: Part Requests
Last Post: Peter Grass
2025-10-29, 9:46
» Replies: 16
» Views: 2,331

 
  4085d Request
Posted by: Damien Roux - 2014-05-22, 18:56 - Forum: Part Requests - Replies (2)

Hi all,

I was wondering if someone would be able to author 4085d which is lacking in the library?
[Image: 4085d.jpg?2]

Thanks a lot!

Print this item

  LDD2LDraw - a working LDD mesh converter
Posted by: Earnest J. Banbury - 2014-05-21, 17:46 - Forum: LDraw Editors and Viewers - Replies (27)

Hi,
based on this brick viewer, I have written a converter, that creates LDraw files from LDD mesh files (*.g).
I've solved the problem of the files with the g1, g2, etc. extensions. These are subparts for a model, that are colored differently or textured. My converter can merge these into a single file.
I've attached an example of a part, that was originally split into two.

If there's enogh interest, I'm willing to upload the sources to Github and create a somewhat user friendly version (currently it's a command line tool.)

Greetings

Banbury



Attached Files
.dat   part.dat (Size: 130.03 KB / Downloads: 0)
Print this item

  It's a Bohrok! ...well, almost
Posted by: Santeri Piippo - 2014-05-20, 12:50 - Forum: Parts Authoring - Replies (23)

[Image: lehvak1.png]

Thanks to the hard work of very many LDraw parts authors I have here an actual model of a 8564-1 Lehvak. Though, it seems to be missing a little something.

The Krana and the Krana holder pieces are still not modeled, and are the last Bohrok parts that are in such a state. Anyone got thoughts on how are we going to get the models for the Krana? The Bionicle masks in general seem like a nightmare to model. Perhaps that awesome 3D scanner of Philo's could get the mesh? It seems to have the design ID 42042, though note: there's 8 variants though Peeron only pictures 5 of them.

I still think we should congratulate ourselves, we sure have gotten a lot of parts done! I know the rubber band is also missing though that's because I don't know LSynth-fu. Tongue

Print this item

  topic post
Posted by: his shoes? WHACK - 2014-05-17, 17:02 - Forum: LDraw File Processing and Conversion - Replies (7)

more than five characters

Print this item

  Request for 58088
Posted by: Eric Albrecht - 2014-05-14, 17:17 - Forum: Part Requests - Replies (3)

I'm working on a set of Ferrari instructions and need the 58088 wheel cover.

Print this item

  11767 // 11140 fly wheel Lego Chima
Posted by: Ingolf Weisheit - 2014-05-12, 19:19 - Forum: Parts Authoring - Replies (13)

Hi,

though not yet registered as a part submitter I felt the need to model some parts since my boys are quite addicted to Lego Chima.
In 11767 there is a wheel (11140) made from a metal, apparently tin, but I don't know it for sure.
What would be the appropriate color for this part? Any ideas?

Ingolf



Attached Files Thumbnail(s)
   
Print this item

  Set Slope surface bumps for Ldview Pov-ray export
Posted by: Damien Roux - 2014-05-10, 10:30 - Forum: LDraw File Processing and Conversion - Replies (5)

I would like to know if there is a way to change the default 0.3 Bumps on slope parts (used to simulate the slope granularity) to an other value. As for me 1 Bumps would better fit for my renders but it seems that ldview automatically choose a value of 0.3.

Is there anyway to change that instead of manually editing the Pov-ray file ?

Print this item

  L3P Add-On u-parts problems
Posted by: Damien Roux - 2014-05-06, 17:09 - Forum: LDraw File Processing and Conversion - Replies (2)

Hi there,

As I'm used to model my own LGEO parts for my renders, I frequently add new parts to the lg_elements.lst provided with L3P Add-On.

Then, it will recognize the new part as a LGEO-available one, and will make me a pov file using this LGEO equivalent part.


Problem is that u-parts (u1125 as an example) seems not te be taken into account when inserted in lg_elements.lst.
Does someone has an idea of how can I proceed to make L3P Add-On take those parts into account if inserted in the lg_elements.lst?

I'm not even sure that the problem is the name (beginning by "u") but usually it work like a charm with standard 4 digits part name).

Print this item

  Drop 64-character part title limit
Posted by: Philippe Hurbain - 2014-05-04, 8:22 - Forum: General LDraw.org Discussion - Replies (2)

I just noticed that despite this vote, Header Specification article has not been updated...

Print this item

  Rendering Help [Solved]
Posted by: Phil Ross - 2014-04-30, 0:00 - Forum: Rendering Techniques - No Replies

[Edit] I wasn't there was a better forum subsection for DIY rendering, and came across enough projects over there to realize that when I switched over to the show your work arrays, I got my matrices backward for the child transformations.


I've been working on my off again on again graphics engine project and decided to combine my passion for LEGO's as well, but I've hit a stumbling block with loading the .dat files. It seems the once I get a couple levels down everything goes to heck. i've been testing with 4070.dat (1x1 Brick with headlight), and everything seems fine except for the headlight (stud2a.dat) it's squashed on the y axis. Other problems pop up when I try other models. I know it's something in my matrix transformations, and I've tried everything I can think of (went from clean Matrix objects to "show your work" variable arrays, switched from floats to doubles, etc.), and hit a brick wall on searching for examples on the net, so I'm hoping another set of eyes will be what I need. I'm in the testing stage, so the code is kinda ugly, but for the double[12] arrays i'm holding the matrix in, 0->8 is "a" to "i" and 9->11 is "xyz". I'm also attaching a screen shot of 4070.dat with everything but "stud2a" and "stud" removed, so you can see how odd "stud2" looks. Thanks for any help.


Code:
void loadDAT(wchar_t * wcs_filename, bool b_child, double f33_matrix[12], bool b_bfcInvert)
{
    std::ifstream File(wcs_filename);
    std::string Line;
    std::string Name;
    std::string BFC;
    std::string BFCCommand;
    bool b_bfcInvertOut = b_bfcInvert;
    
    while(std::getline(File, Line))
    {
        if(Line == "" || Line[0] == '#')// Skip everything and continue with the next line
        continue;

        std::istringstream LineStream(Line);
        LineStream >> Name;
        LineStream >> BFC;
        LineStream >> BFCCommand;

        if(Name == "0")
        {
            if(BFC == "BFC")
                if(BFCCommand == "INVERTNEXT")
                    if(b_bfcInvertOut) b_bfcInvertOut = false;
                        else b_bfcInvertOut = true;
        }

        if(Name == "4")
        {
            double f_vertex[12];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8], &f_vertex[9], &f_vertex[10], &f_vertex[11]);
            Sv3_VERTEX v3_temp[4];
            for(int x=0; x < 4;x++)
            {
                v3_temp[x].pos.x = (f33_matrix[0]*f_vertex[(x*3)]) + (f33_matrix[1]*f_vertex[(x*3) + 1]) + (f33_matrix[2]*f_vertex[(x*3) + 2]) + f33_matrix[9];
                v3_temp[x].pos.y = (f33_matrix[3]*f_vertex[(x*3)]) + (f33_matrix[4]*f_vertex[(x*3) + 1]) + (f33_matrix[5]*f_vertex[(x*3) + 2]) + f33_matrix[10];
                v3_temp[x].pos.z = (f33_matrix[6]*f_vertex[(x*3)]) + (f33_matrix[7]*f_vertex[(x*3) + 1]) + (f33_matrix[8]*f_vertex[(x*3) + 2]) + f33_matrix[11];

                v3i_lego.v3ap_vertex.push_back(v3_temp[x]);
            }
        
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(0 + i_triangleCount);
                else v3i_lego.uap_index.push_back(3 + i_triangleCount);
        
            v3i_lego.uap_index.push_back(1 + i_triangleCount);
            
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(3 + i_triangleCount);
                else v3i_lego.uap_index.push_back(0 + i_triangleCount);

            if(!b_bfcInvert) v3i_lego.uap_index.push_back(2 + i_triangleCount);
                else v3i_lego.uap_index.push_back(1 + i_triangleCount);
            
            v3i_lego.uap_index.push_back(3 + i_triangleCount);
            
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(1 + i_triangleCount);
                else v3i_lego.uap_index.push_back(2 + i_triangleCount);

            i_triangleCount += 4;
        }

        if(Name == "3")
        {
            double f_vertex[9];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf", &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8]);
            Sv3_VERTEX v3_temp[3];
            for(int x=0; x < 3;x++)
            {
                v3_temp[x].pos.x = (f33_matrix[0]*f_vertex[(x*3)]) + (f33_matrix[1]*f_vertex[(x*3) + 1]) + (f33_matrix[2]*f_vertex[(x*3) + 2]) + f33_matrix[9];
                v3_temp[x].pos.y = (f33_matrix[3]*f_vertex[(x*3)]) + (f33_matrix[4]*f_vertex[(x*3) + 1]) + (f33_matrix[5]*f_vertex[(x*3) + 2]) + f33_matrix[10];
                v3_temp[x].pos.z = (f33_matrix[6]*f_vertex[(x*3)]) + (f33_matrix[7]*f_vertex[(x*3) + 1]) + (f33_matrix[8]*f_vertex[(x*3) + 2]) + f33_matrix[11];

                v3i_lego.v3ap_vertex.push_back(v3_temp[x]);
            }
        
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(2 + i_triangleCount);
                else v3i_lego.uap_index.push_back(0 + i_triangleCount);
            
            v3i_lego.uap_index.push_back(1 + i_triangleCount);
    
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(0 + i_triangleCount);
                else v3i_lego.uap_index.push_back(2 + i_triangleCount);

            i_triangleCount += 3;
        }

        if(Name == "1")
        {
            double f_vertex[12];
            wchar_t wcs_filenameSub[200];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %S", &f_vertex[9], &f_vertex[10], &f_vertex[11], &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8], wcs_filenameSub);
            double f33_out[12] = {f_vertex[0],f_vertex[1],f_vertex[2],f_vertex[3],f_vertex[4],f_vertex[5],f_vertex[6],f_vertex[7],f_vertex[8],f_vertex[9],f_vertex[10],f_vertex[11]};

                double f33_hold[12] = {1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f};
            
                f33_hold[0] = (f33_out[0] * f33_matrix[0]) + (f33_out[1] * f33_matrix[3]) + (f33_out[2] * f33_matrix[6]);
                f33_hold[3] = (f33_out[3] * f33_matrix[0]) + (f33_out[4] * f33_matrix[3]) + (f33_out[5] * f33_matrix[6]);
                f33_hold[6] = (f33_out[6] * f33_matrix[0]) + (f33_out[7] * f33_matrix[3]) + (f33_out[8] * f33_matrix[6]);
            
                f33_hold[1] = (f33_out[0] * f33_matrix[1]) + (f33_out[1] * f33_matrix[4]) + (f33_out[2] * f33_matrix[7]);
                f33_hold[4] = (f33_out[3] * f33_matrix[1]) + (f33_out[4] * f33_matrix[4]) + (f33_out[5] * f33_matrix[7]);
                f33_hold[7] = (f33_out[6] * f33_matrix[1]) + (f33_out[7] * f33_matrix[4]) + (f33_out[8] * f33_matrix[7]);
            
                f33_hold[2] = (f33_out[0] * f33_matrix[2]) + (f33_out[1] * f33_matrix[5]) + (f33_out[2] * f33_matrix[8]);
                f33_hold[5] = (f33_out[3] * f33_matrix[2]) + (f33_out[4] * f33_matrix[5]) + (f33_out[5] * f33_matrix[8]);
                f33_hold[8] = (f33_out[6] * f33_matrix[2]) + (f33_out[7] * f33_matrix[5]) + (f33_out[8] * f33_matrix[8]);
                
                f33_hold[9] = f33_hold[0]*f_vertex[9] + f33_hold[1]*f_vertex[10] + f33_hold[2]*f_vertex[11] + f33_matrix[9];
                f33_hold[10] = f33_hold[3]*f_vertex[9] + f33_hold[4]*f_vertex[10] + f33_hold[5]*f_vertex[11] + f33_matrix[10];
                f33_hold[11] = f33_hold[6]*f_vertex[9] + f33_hold[7]*f_vertex[10] + f33_hold[8]*f_vertex[11] + f33_matrix[11];
            
            loadDAT(CfileLocations::getModelsSubParts(wcs_filenameSub),true,f33_hold, b_bfcInvertOut);
        }

    }
}



Attached Files Thumbnail(s)
   
Print this item