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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,468
» Latest member: AYYANJI899
» Forum threads: 6,277
» Forum posts: 52,416

Full Statistics

Online Users
There are currently 321 online users.
» 0 Member(s) | 316 Guest(s)
Applebot, Baidu, Bing, Google, Yandex

Latest Threads
Here are the new raw part...
Forum: Part Requests
Last Post: Orion Pobursky
5 hours ago
» Replies: 2
» Views: 65
Part request 68502 please
Forum: Part Requests
Last Post: Peter Grass
2025-11-27, 15:52
» Replies: 2
» Views: 135
Gap in offical part (stic...
Forum: Parts Authoring
Last Post: Gabriel Läufer
2025-11-25, 20:41
» Replies: 2
» Views: 247
Technic 2025
Forum: Official Models
Last Post: Philippe Hurbain
2025-11-25, 8:20
» Replies: 4
» Views: 10,786
Parts Request- Marvel 202...
Forum: Part Requests
Last Post: James Simpson
2025-11-25, 2:41
» Replies: 5
» Views: 712
Slope Brick 31 width 3 an...
Forum: Parts Authoring
Last Post: Orion Pobursky
2025-11-25, 2:22
» Replies: 1
» Views: 190
Technic 1990
Forum: Official Models
Last Post: Takeshi Takahashi
2025-11-24, 10:36
» Replies: 16
» Views: 21,333
Rudo Villano
Forum: Part Requests
Last Post: Carl Rodabaugh
2025-11-23, 18:10
» Replies: 7
» Views: 677
Mursten
Forum: Parts Tracker Discussion
Last Post: Peter Blomberg
2025-11-23, 11:23
» Replies: 14
» Views: 990
How to review texmap imag...
Forum: Parts Tracker Discussion
Last Post: N. W. Perry
2025-11-23, 5:23
» Replies: 19
» Views: 1,573

 
  LDraw API
Posted by: Peter Blomberg - 2025-11-19, 15:53 - Forum: Help - Replies (1)

Does LDraw have an API?

The "api" search term is too short (minimum 4 characters is needed) for the wiki search feature.
If there is an API, where is the documentation?

Print this item

  Delay after submit
Posted by: Peter Blomberg - 2025-11-18, 19:47 - Forum: Parts Tracker Discussion - Replies (7)

Philo wrote that "... BL keywords are automagically added by PT after "some time"" in the comments of one patterned part.

How long does one need to wait for that to happen and why is there a delay?

If the delay is there for a reason, can't the patterned parts be flagged somehow to indicate that it is not yet ready for review?

Print this item

  Create Coloured Parts with OpenScad and 3DToLD
Posted by: Hageta - 2025-11-17, 14:00 - Forum: Parts Author Tools - Replies (1)

The latest release of 3DToLD added support for coloured 3mf files. This opens up the possibility to create coloured parts with OpenScad.
OpenScad is a script based CAD software. This post will describe the basics of how to create coloured models with OpenScad.
This is not a full tutorial on OpenScad itself. At the point this is written a development version of OpenScad is required, wich can be found on OpenScad website.

The Settings
First you should check some settings: 

  • Under Edit>Preferences>Features>lazy-union
    • check if your model includes multiple components, that will be subparts
    • uncheck overwise
  • Under Edit>Preferences>Advanced>3D Rendering>Backend choose Manifold

Add Colour to models
You can colour a model using the color() module.
Here is an example how it is used:
Code:
color("red")cylinder(10,5);
And this is the result:

.png   Red Cylinder.png (Size: 13.5 KB / Downloads: 62)
You can find the documentation for the color() module here.

If you use multiple shapes that overlap you should union them:
Code:
union(){
color("blue")cube([10,10,10]);
color("red")cylinder(h=10,r=5);
}

.png   Red Cylinder + Blue Cube.png (Size: 7.09 KB / Downloads: 60)

Changing the order of objects changes the result.
Code:
union(){
color("red")cylinder(h=10,r=5);
color("blue")cube([10,10,10]);
}

.png   Blue Cube + Red Cylinder.png (Size: 8.19 KB / Downloads: 59)

If you cut objects with difference() the surface has the colour of the cutting object.
Code:
difference(){
color("blue")cube([10,10,10]);
color("red")cylinder(h=10,r=5);
}

.png   Blue Cube - Red Cylinder.png (Size: 6.89 KB / Downloads: 58)

The intersection() module is also affected by colour.
Code:
intersection(){
color("red")cylinder(h=10,r=5);
color("blue")cube([10,10,10]);
}

.png   Red Cylinder u Blue Cube.png (Size: 15.05 KB / Downloads: 57)

Like for union() the order also matters here.
Code:
intersection(){
color("blue")cube([10,10,10]);
color("red")cylinder(h=10,r=5);
}

.png   Blue Cube u Red Cylinder.png (Size: 14.4 KB / Downloads: 56)

LDraw Colours
To use LDraw colours in OpenScad you can use my LDraw Colors for OpenScad Library

Export as 3mf file
When your done with your model you can export it through File>Export>Export as 3MF...
You will now see this dialog:
   
Choose "Use colors from model and color scheme". Under Unit choose the one you used, if you used LDraw Units leave it on Millimeter. The Metadata is optional and the following field will be read by 3DToLD:
  • Title will be used for the "Descriptive Part Name"
  • Designer will be used for the Author
  • License will be used for "Part License"
Next you choose where to save the 3mf file.

Import into 3DToLD
Now open 3DToLD. If you designed your model in LDraw units change the unit from Auto to LDraw. If your model is designed with -Y as the up axis(LDraw) uncheck "Use LDraw Axis". Doing both of these also removes any transformative processing on the model. Now press the "Load File" button and select your 3mf file. The metadata fields should be populated with the ones you choose in the previous step. The colours are initially direct colours, if you used my LDraw Colour Library you can convert them easily to proper LDraw colours. For that click on "Convert direct/html colours to LDraw colours". Then select the colour categories from wich you used colours and click ok. Your model should now only have LDraw colours. Colours are mapped by their rgb values if two colours have the same values the first in the list is used. Optionally you can also generate outlines(no conditional lines). You can now select your output file and convert/save the model.
Now you have coloured part, that can be used or processed further with other LDraw tools(e.g. LDPE):

.png   Converted Model.png (Size: 9.41 KB / Downloads: 50)

Print this item

  Learning how to review stickers and patterns
Posted by: Peter Blomberg - 2025-11-17, 10:28 - Forum: Parts Tracker Discussion - Replies (3)

I do not yet consider myself proficient at reviewing stickers or patterns. LDraw could use people with that skill. More than one person. So, why not write about my journey and inspire others to follow?

Here I am wanting to learn how to review a sticker. Stickers are patterns on a thin part and I don't want to learn the stickerback standard by heart here in the beginning.

So. I go to the Parts Tracker.
https://library.ldraw.org/tracker
Select the Parts List from the menu bar on top
https://library.ldraw.org/parts/list
And create a query/filter with the following parameters:
Library Status - Unofficial Parts
Part Status - Needs 1 more vote
Add Rule:
Description Ends with "pattern"

This will produce a list of patterned parts having already one vote. These should be relatively easy to review.

I sort the results by Date Updated - Descending to obtain the most recently updated/created parts. I then scroll the list to find a flat pattern - I don't want to begin with a 3D-surface. A flat pattern is best for beginners.
I find 3070bp1s.dat - a 1x1 tile with a medium lavender dog face on top. I open the part page for it.
https://library.ldraw.org/parts/49928

I begin my review process with looking at the parts/file header:
I see the description line (first line) and it contains double spaces before the numbers. The description also ends with "Pattern" as it should. So far so good.

The Author is RainbowDolphin, who I know to be a good pattern author. This was one of the unmentioned criteria for choosing this pattern to review. Nevertheless, all looks good down to keywords. I make a mental note to check the keywords later. Every pattern also need a Set XXXX keyword. I see one set mentioned.

At this point, I do not wish to expand the Show Contents. I go to look at the unofficial subparts section. I now see that the pattern is symmetric and it is composed of a half. That half is a subpart that I also need to review.
Most importantly, I see that the unpatterned tile will not need to be reviewed. It is already under official subparts.
Finally, I check the Part Events to see that there aren't any comments.

I then download the part from the Download Zip File button near the top of the page. I unzip its content in a folder I have named "Review" so that I know which part(s) I'm reviewing now.
The unzipping creates a p folder and a parts folder.

I start LDPE and open the 3070bp1s.dat file from the parts folder.
Once open, I switch to No Backface Culling view mode and select the Top view. Now I see the part from above.

Hmm. Now I need something to compare to. I don't have the part so I will need to look for an image. The easiest way is to use the View on BrickLink, View on Rebrickable, and View on BrickOwl buttons available on the parts page. All three links work, but the picture on Rebrickable has the printing slightly on one side, so I choose not to use it. It is, however, the only picture (of the three) directly from above. The three pictures also show that the printing of different colors is not always the same. Compare for example the nose vs the lavender area. They are misaligned in virtually all three pictures.
The pink area appears round in some of the pictures, but the author has likely chosen not to use primitives for it. This is quite common in patterns. It is far more important to follow the base part shape than having the pattern follow a regular geometric shape. Also, it would take too long to fit primitives.

Next I look at the 3070bp1s.dat file contents and it has the expected structure; the base part first, then the two pattern halves, and finally the joining surfaces.
I see that the vertexes have been rounded to one decimal - good.
The dark purple is confirmed by BrickLink. The Bright Light Blue color is mentioned in LDraw description, but nowhere else. Okay, just leave it. It looks correct.
The Medium Lavender is confirmed by Rebrickable and BrickLink.
The base color of the part is white. This means all 'white'/background parts of the pattern will be color 16. Luckily, there aren't any white parts of the pattern.

Next I check for potential overlap of the surfaces in this main file. This I do by highlighting each code line in the text window by selecting one or two lines and push the Show Selection in 3D View button. The surfaces are highlighted with red edge lines. Sometimes, it is easier to recolor, comment out, or delete the surfaces I have gone through. I can also use the Random Colors View Mode, but that requires moving the viewport eye to observe flickering of colors. For patterns, I use the recolor/delete method for convenience or out of habit since I use something very similar for prim usage. If I recolor or delete, I need to reload the file to reset any changes made.

I then go through each vertex to make sure that the vertexes match. I know they match when I select a vertex and the coordinate popup window shows up. If I had selected multiple vertexes, the coordinate window would not show up. Knowing that the author has rounded to one decimal means that vertex mismatches would be visible. It also reduces the possibility of vertex mismatches.

I also need to check that the whole pattern is at y=0. This is rather convenient to do by looking at the coordinates in the popup window. There are multiple ways of doing it and the best way depends a lot on what else needs to be checked.

Finally, I run Edger2 (with default settings) to check if it would add any cond lines. It doesn't and everything is fine.

I switch to Green Frontfaces/Red Backfaces view mode to check BFC. It appears fine and I don't see any gaps when rotating the viewport eye.

Next I open the subfile and repeat the process. All ends up perfect.

What a great review experience!

But I'm not done yet. I check the subfile naming. s01 as it should. Good.

The Set keyword is convenient to check in BrickLink and yes, it is correct.

The final thing to do is to go back to the part page and submit my Certify Vote.
Done.

Now, you try one.

PS. It doesn't really matter if you can't vote yet. Just do the review and leave a comment on the parts tracker.

Print this item

  Partial reviews
Posted by: Peter Blomberg - 2025-11-17, 8:34 - Forum: Parts Tracker Discussion - No Replies

How should partial reviews be mentioned? Is there a short list of items that can be used for classifying partial reviews? Like a,b, and c checked, but d, e, f, and g not.

Perhaps:

  • Edger2 (with default settings)
  • BFC, Gaps, Edges
  • Overlap, Vertex rounding
  • Prim use, complementary cond lines, prim substitution
  • Origin
  • Fit/clash with other parts, Help
  • Links, Number/name, Visual similarity to real part/pictures
  • Keywords, Description
  • History, Admin stuff

My review process looks something like this:

Make a search/filter in the parts tracker to obtain a batch of similar parts for review. If a part has unresolved issues in the existing comments or a hold vote I accept, it won't be selected.

Mainly freeform parts
-Edger2 with default settings. On error report findings as hold or comment. When I'm lazy, I only report what Edger2 complains about. Otherwise, I try to figure out why Edger2 complains to make the error report more useful.
-BFC, Gaps, Edges in LDView. On error report findings as hold or comment. Important to mention coordinates.
-Origin, Prim use, Overlap, Vertex rounding, compl cond, prim subst. On error report findings as hold or comment
-Fit to other parts, bottom stud connectivity, Help. On error report findings as hold
-Links, Number/name, Visual similarity. On error report findings as comment
-Vote certify if no error

Mainly geometric primitives
-Origin, Bounding box, Fit to other parts. On error report findings as hold
-Prim use, Edges, Gaps, Overlap, BFC, Vertex rounding. On error report findings as hold or comment
-Links, Number/name, Visual similarity to real part/pictures. On error report findings as comment
-Keywords, Description, History, Admin stuff. On error report findings as comment
-Vote certify if no error

This means that only a subset of parts in a batch make it all the way through to voting certify. The complementary subset ends up with partial reviews.

Print this item

Information 3DToLD Release 1.6.0 - The new name of Convert To LDraw
Posted by: Hageta - 2025-11-16, 21:58 - Forum: LDraw File Processing and Conversion - No Replies

Get This Release

About the Update:
I decided to change the name to make it shorter, more in line with other LDraw tool and to get rid of the ambiguity about the space between the words.Until the next update the name of the repo will remain the same, but it will be changed shortly before the next release.
A lot of work has been put into this release. My personal highlight is the new 3mf loader wich allows loading of colored 3mf files. There are also some bug fixes that improve stp compatability and possibly other formats.

Features:

  • new custom 3mf parser #10
    • supports color/material data
    • reads some metadata (name/title, author/designer, license)
  • a subpart can be split grouped by colours(+outlines) #16
    • also added button to delete a subpart
  • selectable unit used for conversion #48
    • removed "Use LDraw Scale" check

Improvements/Changes:
  • renamed to 3DToLD
    • renamed main Python package to ThreeDToLD since leading 3 was not possible
  • added loading screen that is shown during long operations  #41
  • outline deletion + info  #33 
    • outline dialog now has a delete button
    • left info label in subpart tab displays outline count
    • right info label in subpart tab now displays triangle count
  • more verbose exception handling #51
    • show an exception dialog if a exception occurs during loading
  • more buttons in edit part section #49
    • button to map colours off all subparts
  • updated LDraw colour definitions to the 2025-09 parts update
  • removed filetypes that used gmsh from fileselection
    • gmsh support was removed in version 4.7.0 of trimesh
    • there is an open issue to bring back gmsh support #58

Bug Fixes:
  • could not load models with multimaterial property #55
  • colour fixes get applied before any transformations #59
  • get scale factor before any transformations #57

Full Changelog: https://github.com/Nexusnui/Convert-To-L...2...v1.6.0

Print this item

  Parts Request- Marvel 2025
Posted by: James Simpson - 2025-11-16, 19:50 - Forum: Part Requests - Replies (5)

Working on some of the latest Marvel sets and I could use some pieces if anyone can help?

Minifigure Armor Neck- https://www.bricklink.com/v2/catalog/cat...ear%5D#T=C

Minifigure, Headgear Wrap / Hood Thick Bandages, Pointed at Forehead- https://www.bricklink.com/v2/catalog/cat...5D#T=C&C=4

Minifigure, Hair Flaming- https://www.bricklink.com/v2/catalog/cat...D#T=C&C=98

Thank you in advance; and if I've missed any parts please add them as well

Print this item

  Part Request 99254
Posted by: Al Lib - 2025-11-14, 13:00 - Forum: Part Requests - Replies (2)

Hi, I would like to request this helmet piece as a file.

It is this helmet: https://www.bricklink.com/v2/catalog/cat...3#T=C&C=63

Thank you very much for reading my request.

Print this item

  Newest version of part 65676a has the road sign portion the wrong size
Posted by: Peter Grass - 2025-11-13, 18:48 - Forum: Parts Authoring - Replies (3)

65676 was changed to 65676a to add the new lower clip, but I noticed that the actual triangular sign dimensions are different for the BI part too. It is bigger in all dimensions. 2.256 X 0.887 X 1.989 vs the old 2.2 x 0.85 x 1.94



Attached Files
.dat   30259.dat (Size: 23.52 KB / Downloads: 2)
Print this item

  Here is part 7511 for 10366-1 - Tropical Aquarium
Posted by: Peter Grass - 2025-11-13, 15:45 - Forum: Part Requests - No Replies

This looks to be the only new raw part for lego set 10366-1 - Tropical Aquarium in case anyone wants it.



Attached Files
.dat   7511.dat (Size: 37.68 KB / Downloads: 8)
Print this item