| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 5,472
» Latest member: sain
» Forum threads: 6,277
» Forum posts: 52,416
Full Statistics
|
| Online Users |
There are currently 246 online users. » 1 Member(s) | 240 Guest(s) Applebot, Baidu, Bing, Google, Yandex
|
| Latest Threads |
Here are the new raw part...
Forum: Part Requests
Last Post: Orion Pobursky
Yesterday, 22:09
» Replies: 2
» Views: 139
|
Part request 68502 please
Forum: Part Requests
Last Post: Peter Grass
2025-11-27, 15:52
» Replies: 2
» Views: 178
|
Gap in offical part (stic...
Forum: Parts Authoring
Last Post: Gabriel Läufer
2025-11-25, 20:41
» Replies: 2
» Views: 367
|
Technic 2025
Forum: Official Models
Last Post: Philippe Hurbain
2025-11-25, 8:20
» Replies: 4
» Views: 10,883
|
Parts Request- Marvel 202...
Forum: Part Requests
Last Post: James Simpson
2025-11-25, 2:41
» Replies: 5
» Views: 770
|
Slope Brick 31 width 3 an...
Forum: Parts Authoring
Last Post: Orion Pobursky
2025-11-25, 2:22
» Replies: 1
» Views: 258
|
Technic 1990
Forum: Official Models
Last Post: Takeshi Takahashi
2025-11-24, 10:36
» Replies: 16
» Views: 21,423
|
Rudo Villano
Forum: Part Requests
Last Post: Carl Rodabaugh
2025-11-23, 18:10
» Replies: 7
» Views: 1,011
|
Mursten
Forum: Parts Tracker Discussion
Last Post: Peter Blomberg
2025-11-23, 11:23
» Replies: 14
» Views: 2,144
|
How to review texmap imag...
Forum: Parts Tracker Discussion
Last Post: N. W. Perry
2025-11-23, 5:23
» Replies: 19
» Views: 1,761
|
|
|
| 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?
|
|
|
| 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?
|
|
|
| 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:
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);
}
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]);
}
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);
}
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]);
}
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);
}
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):
Converted Model.png (Size: 9.41 KB / Downloads: 50)
|
|
|
| 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.
|
|
|
| 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.
|
|
|
|