LDraw.org Discussion Forums

Full Version: Proposal to change points of origin
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello to all,
I would like to suggest you the modifcation of the points of origin (or insertion) of parts with multiple horizontal floor or slope.

In Annex I report the current situation for two parts of this kind with respect to two normal parts (actual.jpg) and where it would be, for me, more convenient to move the origin point (proposal.jpg). The green points represent the points of origin of the parts, in the top you can see the list of parts (with their position) in both cases.

Currently, for parts with more coupling planes, there is chosen as the reference plane the highest plane.
For some parts of the slope, which does not expect to have pieces on himself, it is chosen as the origin the plan to which they support, while for others the highest floor, as if they were bricks of standard height.

This modification would allow you to use a simple sort function to sort the parts of a model from the bottom up, without having to re-check that the parts are in the right order for a real coupling.
I can imagine that it is a long job to find and change all the parts that require it, but then you would have the advantage of finding any alignment issues since only text files, without graphing.

At the end, I report a partial list of items that would be subject to change.

I am not aware of rules in the implementation of the parts against my proposal.

Massimo

Parts with multiple floor:
2339 - Arch 1 x 5 x 4
2399 - Wedge 3 x 4
4856 - Wedge 6 x 4 inverted
4865 - Panel 1 x 2 x 1 (both version a adn b and derivated like 4865d01, 4865d02, 4865p06 and 4865p18)
6055 - Panel wall 6 x 6 x 6 corner
6060 - Arch 1 x 6 x 3 & 1/3 with curved top
6066 - Brick 4 x 8 x 2.333 turret top
6072 - Brick 7 x 7 x 2.333 turret quarter
6081 - Brick 2 x 4 x 1 & 1/3 with curved top
6082 - Panel 4 x 10 x 6 rock rectangular
6091 - Brick 2 x 1 x 1 & 1/3 with curved top
6108 - Arch 1 x 12 x 3
6231 - Panel 1 x 1 x corner with rounded corners
13965 - Arch 1 x 3 x 3
30099 - Arch 1 x 5 x 4 inverted
30116 - Panel 14 x 14 x 2.667 quarter saucer top (and derivated like 30116ps0, 30116p6u and 30116p6v)
30117 - Panel 10 x 10 x 2.333 quarter saucer top (and derivated like 30117p6u and 30117p6v)
30201 - Panel 10 x 10 x 2.333 corner base
30272 - Arch 2 x 12 x 6 with grooves
30274 - Brick 2 x 3 x 3 with lion's head carving and cutout
30413 - Panel 1 x 4 x 1 with rounded corners
30613 - Arch 3 x 6 x 5
41761 - Wedge 6 x 8 x 2 triple inverted
42021 - Wedge 6 x 8 x 2 triple inverted (and derivated like 42021d01)
43713 - Wedge 6 x 4 tripple curved inverted
48490 - Panel wall 3 x 8 x 6
50373 - Wedge 3 x 4 with stud notches
76768 - Zrch 1 x 5 x 4 with reinforced tip
87611 - Plane bottom 6 x 10 x 1
87615 - Plane top 6 x 10 x 1
87616 - Plane rear 6 x 10 x 4
88292 - Arch 1 x 3 x 2
93095 - Panel 1 x 2 x 1 with thin central divider and rounded corners
91501 - Panel 2 x 2 x 1 corner with rounded corners

Parts slope
2875 - Slope brick 45 2 x 6 x 0.667
3299 - Slope brick 33 2 x 4 double
3300 - Slope brick 33 2 x 2 double
4515 - Slope brick 10 6 x 8 (and derivated like 4515p02 and 4515p03)
4854 - Slope brick 45 4 x 4 double inverted with open center
4871 - Slope brick 45 4 x 2 double inverted with open center
6191 - Brick 1 x 4 x 1 & 1/3 with curved top
6192 - Brick 2 x 4 with curved top
11477 - Slope brick curved 2 x 1
15068 - Slope brick curved 2 x 2 x 0.667 (and derivated like 15068p01)
52501 - Slope bricj 45 6 x 1 double inverted with open center
54200 - Slope brick 31 1 x 1 x 0.667
61068 - Slope brick curved 2 x 4 without underside studs (and derivated like 61068p01)
72454 - Slope brick 45 4 x 4 double inverted with center holes
85984 - Slope brick 31 1 x 2 x 0.667
88930 - Sloep brick curved 2 x 4 with underside studs (and derivated like 88930p01)
93273 - Slope brick curved 4 x 1 double (and derivated like 93273pk0)
The broken origins are retained out of backwards-compatibility. If the origins are just shifted, all existing models using these parts will break. There's the rare exception when a part like this is renumbered and the moved-to file allows a one-time opportunity to fix the origin. Otherwise it's pretty much no-go.
There is nothing to add.

w.
If there is a meta-point on a part that you need noted that is not covered by the origin, you could propose new meta command to annotate points of interest on a part; MLCad's unofficial ROTATION CENTER meta is, I think, an example of this. People seem pretty resistant to adding new meta-commands though.
If there are a lot of parts in the official library with a bad origin, then I think having some kind of insertion point meta-command would make sense. I could even see allowing a single part to have multiple insertion point meta-statements, where the first one would be the most basic one, but others might also be useful, depending on the context in which the part is used. CAD software that supports the insertion point meta-command could either ignore the alternate ones, or provides some way of cycling between them. (Note: I say insertion point, but the meta-command would have to include both translation and rotation information.)

If people like Roland and Allen are willing to add support for such a meta-command, I personally would be happy to hash it out with the LSC.
I'm not too confident about the concept of such insertion points.
The reason is that these insertion points are a sub-concept of the more generic connectivity meta-info
being already discussed in a separate thread.
Hi Steffen,

I agree, re: insertion points - the "related part" dictionary (in the next BrickSmith release when it ships) solves this by providing the relative relationships for _pairs_ of parts...this is more useful than a set of insertion points because BrickSmith knows which one you need for a new insertion based on the current selection.

I find the rotation center meta to be useful because some parts have natural rotation but aren't naturally centered around the rotation axis - for example, 1x2 hinges. (A fully general connectivity scheme would 'solve' this, but fully general connectivity is a lot more expensive to implement than a meta command that provides the natural rotation point.)

But my meta-point here is that we can add additional point data, and whether it's a good idea depends on the meaning of the data being captured and perhaps its intended use.

cheers
Ben