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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,554
» Latest member: Eric
» Forum threads: 6,328
» Forum posts: 52,630

Full Statistics

Online Users
There are currently 193 online users.
» 1 Member(s) | 188 Guest(s)
Applebot, Baidu, Bing, Google, Kevin Williams

Latest Threads
LEGO Parts Guide - Only 6...
Forum: Part Requests
Last Post: Gerald Lasser
1 hour ago
» Replies: 10
» Views: 603
Disney 2022
Forum: Official Models
Last Post: HowToBrick
2 hours ago
» Replies: 0
» Views: 34
Minifig Decal .PNG Reposi...
Forum: Help
Last Post: Chris Böhnke
4 hours ago
» Replies: 1
» Views: 56
LDraw.org 2025-12 Parts U...
Forum: LDraw.org Announcements
Last Post: Orion Pobursky
4 hours ago
» Replies: 3
» Views: 431
LDraw.org 2025 Cost Fundr...
Forum: LDraw.org Announcements
Last Post: Orion Pobursky
7 hours ago
» Replies: 1
» Views: 176
Official File parts/2654b...
Forum: Parts Tracker Discussion
Last Post: Bertrand Lequy
8 hours ago
» Replies: 9
» Views: 206
Converting 7905 leaf help...
Forum: Parts Authoring
Last Post: Peter Grass
9 hours ago
» Replies: 3
» Views: 112
Castle Ninja / Robber
Forum: Part Requests
Last Post: Chris Böhnke
Yesterday, 5:25
» Replies: 1
» Views: 182
Some issues with current ...
Forum: Official File Specifications/Standards
Last Post: Chris Böhnke
2026-01-03, 18:57
» Replies: 0
» Views: 70
How can I install on linu...
Forum: Help
Last Post: Bricks
2026-01-03, 18:51
» Replies: 3
» Views: 207

 
  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