Thanks for the links; the .4sp files seem like a production version of sort of what I had in mind.
The full connection db proposal did get me thinking about how much 'more' we would want, either now or later. I updated to the latest LDD and noted that they have both positive suggestion (e.g. they seem to know when a part has 'snapped' into another, more or less) and negative (you can't overlap two bricks in space), and they seem to understand hinged vs non-hinged connections.
Let me think a little bit about how much functionality would really be useful...the LDD hinge tool is useful enough that it made me go "I wish I had that for BrickSmith". :-) At the same time, we could go so far as to make something impossible to code. :-)
Possible features:
- Identification of good connections (snap together).
- Identification of bad connections (e.g. a lack of snap).
- Identification of illegal placement (overlapping bricks).
- Identification of legal rotations (e.g. rotate this hinged thing).
- Identificaiton of illegal rotations (e.g. you can't rotate this hinge past 90 degrees).
- Identification of structural failure (e.g. if you slide the clip past this point on the antenna, the clip is no longer attached).
- Combinations of these features (e.g. if you rotate this hinge, you'll stop at X degrees because any further and part Y and Z will overlap...(!)
I'd be happy with just good connections and a hinge tool, but it would also be nice to have a file format that we won't have to throw out later if someone wants to do more.
(The hinge tool basically rotates an entire snapped together collection of parts around a known hinge, using the hinges degrees of freedom. For models that use hinges to create particular angles or shapes, this is significantly faster than doing a manual "rotate around point" by coordiante with a multi-part selection.)
The full connection db proposal did get me thinking about how much 'more' we would want, either now or later. I updated to the latest LDD and noted that they have both positive suggestion (e.g. they seem to know when a part has 'snapped' into another, more or less) and negative (you can't overlap two bricks in space), and they seem to understand hinged vs non-hinged connections.
Let me think a little bit about how much functionality would really be useful...the LDD hinge tool is useful enough that it made me go "I wish I had that for BrickSmith". :-) At the same time, we could go so far as to make something impossible to code. :-)
Possible features:
- Identification of good connections (snap together).
- Identification of bad connections (e.g. a lack of snap).
- Identification of illegal placement (overlapping bricks).
- Identification of legal rotations (e.g. rotate this hinged thing).
- Identificaiton of illegal rotations (e.g. you can't rotate this hinge past 90 degrees).
- Identification of structural failure (e.g. if you slide the clip past this point on the antenna, the clip is no longer attached).
- Combinations of these features (e.g. if you rotate this hinge, you'll stop at X degrees because any further and part Y and Z will overlap...(!)
I'd be happy with just good connections and a hinge tool, but it would also be nice to have a file format that we won't have to throw out later if someone wants to do more.
(The hinge tool basically rotates an entire snapped together collection of parts around a known hinge, using the hinges degrees of freedom. For models that use hinges to create particular angles or shapes, this is significantly faster than doing a manual "rotate around point" by coordiante with a multi-part selection.)