Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
The Emperor Zurg
Forum: Part Requests
Last Post: Julian Raymond Ruan
53 minutes ago
» Replies: 0
» Views: 25
|
Parts request
Forum: Part Requests
Last Post: Peter Grass
5 hours ago
» Replies: 1
» Views: 185
|
Batman Cowls
Forum: Part Requests
Last Post: Peter Grass
Today, 1:13
» Replies: 1
» Views: 216
|
A fresh list of "most com...
Forum: Part Requests
Last Post: tom alphin
Today, 0:11
» Replies: 7
» Views: 692
|
Transparent sticker colou...
Forum: General LDraw.org Discussion
Last Post: N. W. Perry
Yesterday, 19:12
» Replies: 1
» Views: 327
|
Fix for slightly incorrec...
Forum: Part Requests
Last Post: Huib Versteeg
Yesterday, 9:50
» Replies: 4
» Views: 865
|
Lego Town Racer 1996 - 63...
Forum: Official Models
Last Post: Chris Böhnke
2025-09-13, 23:39
» Replies: 14
» Views: 2,110
|
Eyesight on Linux
Forum: Rendering Techniques
Last Post: Orion Pobursky
2025-09-13, 18:56
» Replies: 12
» Views: 8,767
|
Another common varient: 1...
Forum: Part Requests
Last Post: Rene Rechthaler
2025-09-12, 14:51
» Replies: 8
» Views: 5,613
|
1Lx1Lx2L brick with studs...
Forum: Parts Authoring
Last Post: SNIPE
2025-09-12, 10:14
» Replies: 0
» Views: 792
|
|
|
Part versioning |
Posted by: Peter Blomberg - 2025-09-06, 2:37 - Forum: Official File Specifications/Standards
- Replies (4)
|
 |
Currently, part versioning is done by appending the part number with a letter. The same letters are also used when two designs have the same part number and when a bag contains multiple independent parts. This makes it impossible to automatically determine correct matches to e.g. external resources.
Having the links to external resources as separate meta is useful in particular when the external resources use different numbers or extensions. However, this doesn't solve the whole issue.
Can we begin using v2, v3, etc instead of b, c, d for cases when a "b/c/d replacement file" is created? This would enable all incorrect old versions of the part be available for backward compatibility, but allow new corrections to be distinguished from other uses.
|
|
|
Connectivity meta |
Posted by: Peter Blomberg - 2025-09-03, 7:21 - Forum: Official File Specifications/Standards
- Replies (5)
|
 |
I found a thread from 2015 where connectivity was discussed. I also know that both stud.io and LDcad encode connectivity.
Would LDraw files benefit from having connectivity metadata?
There are a relatively small number of connection types. More than LDcad uses, but small enough to be enumerated.
Studs go into stud holders, antistuds go into antistud holders, clips (bar holders) can be radial or axial when attached to bars.
The majority of snapping connections can be described by a point and a direction vector, so effectively the same as a LDraw type 1 line. The type of connector can be in the subfile argument. If the connector types match and the directions vectors align, then the connection can snap into place, meaning that the points are made to overlap by adjusting one.
Sliding connectors (bars) need two points, which can be encoded as a point and a vector or similar to type 2 lines. Bar holders come in two flavors; those that attach radially (c-clips) and those that attach axially (o-clips and bar holes). The c-clips require another direction vector.
Hinge connectors also need a point and an axis of rotation, which can be encoded as a type 1 line. If an additional direction vector is available, then the hinge halves can be made to not overlap one another.
Ball connectors need a point and would benefit from knowing which way (direction) is definitively inappropriate (directional vectors must not overlap).
Many generic clipping connectors are adequately described by a single point.
Gears are a challenge, because there are two things to consider; the distance between rotational axes, and the toothing. Some gear pairs can connect slightly too close to each other and some gear pairs can connect very loosely without loosing function. So, snapping to a "perfect" distance is not an option. The software must calculate if any two gears interact or not.
As for the rotation, the minimum information is a point for the axis, an axial vector, and a reference point on the teethed perimeter.
Sometimes gears do not connect to other gears, but toothed shapes. The teethed path can be described by a set of line segments. The direction of the teeth can be described by a vector. The position of teeth relative to the line can be described by a reference point along that line.
The above is the information needed for each of the parts that interact. It is then up to the software to use that information to calculate the nature of the interaction.
|
|
|
|