LDraw.org Discussion Forums
Get flex out there - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: Models and Parts (https://forums.ldraw.org/forum-18.html)
+--- Forum: Parts Authoring (https://forums.ldraw.org/forum-19.html)
+--- Thread: Get flex out there (/thread-2696.html)



Get flex out there - Tim Gould - 2011-12-20

I'm firmly of the opinion that we need to get the flex parts out there. I don't care how but we need part numbers and parts and every length that has appeared in a set. In my opinion it is quite terrible for users of LDraw to have no easy access to usable parts that could be auto-generated in seconds by some of us.

So far the release has been held because of technical issues with the library. This is no reason to not have the parts out there as we can always replace them if a decision is made.

http://www.ldraw.org/cgi-bin/ptdetail.cgi?f=parts/75-1.dat
http://forums.ldraw.org/showthread.php?tid=199&pid=199#pid199

So my proposal:

1) We quickly come up with a naming system

2) We auto-generate self-contained parts in all appropriate lengths (I already have perl code for this)

3) We submit one of these to the Part Tracker

4) Once it is certified we adjust the others to take into account comments and put them up

4) If the system is changed in the future we auto-generate again

Tim


Re: Get flex out there - Tim Gould - 2011-12-20

I propose we use '75' (as already) as a header - length (studs). As far as I'm aware all flex released has approximated an integer number of studs. Please correct me if I'm wrong.

so current 75 would be renamed 75-6. Probably 75 itself could be used as a shortcut to 75-6 since it's a pretty common short length


Re: Get flex out there - Travis Cobbs - 2011-12-20

I'm not convinced that having them in appropriate lengths would be useful, since those versions would only be useful in the cases that they weren't "flexed".

However, I personally agree that it would be good for the files that are currently distributed with LSynth to be an official part of the library.


Re: Get flex out there - Tim Gould - 2011-12-20

They're often used unflexed these days. They've become an extension of bars.

See eg. most diesel train sets, Emerald Night, 10199, 7862

And that's not to mention the number of MOCs that use them as bars. Or would if they could, mostly they overlap lightsabers.

And having the fixed lengths makes instruction generating easier.

For flexed versions we'll always need something more sophisticated but that's no reason to hold up the straight versions.

Tim


Re: Get flex out there - Steffen - 2011-12-20

I agree that the different lengths should be available as official files, even in non-flexed state,
simply e.g. for being able to create inventories etc.

I think that even the different lengths have different LEGO element numbers, so we do not need
a new scheme (as suggested) for the file numbers, instead, simply using some u.....dat numbers
will suffice (until we know the official numbers).


Re: Get flex out there - Tim Gould - 2011-12-20

Can someone confirm if they do have part numbers? I chuck away my boxes and instructions so I can't check. Bircklink doesn't seem to have alternate numbers listed.

Tim


Re: Get flex out there - Travis Cobbs - 2011-12-20

OK, I'll withdraw my note of skepticism.


Re: Get flex out there - Orion Pobursky - 2011-12-20

The set 10221 instructions lists the Flex Tube 7L as 4514192. I've noted that the numbers printed in the instruction BOMs don't seem to correlate with the numbers molded onto the bricks and are color specific. Example: Plate 1x4 in dark bluish grey is 4211001 but the same part in black is 371026.


Re: Get flex out there - Orion Pobursky - 2011-12-20

Here's what Bricklink is using


Re: Get flex out there - Tim Gould - 2011-12-20

I believe the instructions use the 'element id' (unique idendifier for colour/part) while we use the "mold id".

Of course there is no mold for flex, just giant rolls of the stuff.

Tim


Re: Get flex out there - Tim Gould - 2011-12-20

Some examples attached (one digit, two digit and non-integer).

I can change the naming/labelling/whatever system very quickly so suggestions are more than welcome.

I had thought that there were non-integers out there but BL says no. We may as well come up with a naming standard for them anyway while we're at it.

Tim


Re: Get flex out there - Tim Gould - 2011-12-21

Steffen Wrote:I agree with you that we should get the hoses out.
However, this specific file is not needed to do that.
Both its number (75-1.dat) and contents (1 LDU long hose) make no sense.
Instead, simply the subparts s01 and s02 are sufficient
to create hoses of different length.

Regarding the "Mid" element of these, that is similar to a cyli primitive.
So it should be placed and scaled like that, even independently
from the discussion whether or not to add other LSYNTH parts
to the library.
So that file should be placed as follows: origin at top,
extending down 1 LDU vertically.
This will allow using that file like a cyli primitive.

When at a later point a decision about LSYNTH may be done,
that file will fit well, as that positioning following
our usual primitives orientation and placement
will also match LSYNTH fine.

So here are the steps we should take to get the hoses out:
(a) delete this file
(b) check that the middle section subfile matches the above
origin placement and orientation
© check that the end subfile has its origin also properly placed
(d) certify :-))))


I've copied this from the PT as I agree.

But I'll add:

(e) Make the 3L part and check name (as discussed here), origin etc.
(f) Certify
(g) Put remaining lengths on PT from auto-generator
(h) Certify quickly


Re: Get flex out there - Chris Dee - 2011-12-21

I think we can handle this just like the flex cables:
76.dat - hose end
77.dat - hose segment
75.dat (design ID 76279) made from two 76.dat and a scaled 77.dat


Re: Get flex out there - Orion Pobursky - 2011-12-21

I agree but I also think that the various fixed lengths should also be parts in the library.


Re: Get flex out there - Chris Dee - 2011-12-21

Absoloutely.
5L = 76307, 6L = 76279, 7L = 76289, ...


Re: Get flex out there - Orion Pobursky - 2011-12-21

Great, exactly.


Re: Get flex out there - Steffen - 2011-12-21

very nice!
the solution is very good now on the PT!


Re: Get flex out there - Tim Gould - 2011-12-21

Is there a system to these names?


Re: Get flex out there - Chris Dee - 2011-12-21

Only the LEGO company system of Design IDs.


Re: Get flex out there - Tim Gould - 2011-12-21

Ahhhh... with all the sense that entails.

Do you know more than these 3?

Tim


Call for reviews Re: Get flex out there - Tim Gould - 2011-12-23

OK. Please review http://www.ldraw.org/cgi-bin/ptdetail.cgi?f=parts/22296.dat.

Once it's done I'll upload all the others. They'll all be as right or wrong as this one.

Tim


Other part families Re: Get flex out there - Tim Gould - 2012-01-01

What other parts need a similar treatment? I've already modded the code to deal with flexibile hose with

0 Technic Ribbed Hose XX Ribs

but it's easy to modify for other standardised parts.

Tim

PS. perl code below for anyone who wishes to do their own sets
Code:
use POSIX;
sub round {
    return(floor(0.5+$_[0]));
}

# Auto generation file prefix (suffix is length)
$fpre="79c";
$author="Timothy Gould [timgould]";
#Description prefix
$pdesc="Technic Ribbed Hose ";
#Description suffix
$ldesc=" Ribs";

@length=();
foreach $i (2..30) {
    push @length, round(10*$i/3.1)
}

# Length => Part number, Length => Part number, ...
%specno = (13=>71952);

foreach $l (@length)
{
    $id=sprintf("%02d",$l); # Ensure space for two characters (with 0)
    $tlen=sprintf("%2d",$l); # Ensure space for two characters (no 0)
    if (exists $specno{$l}) {
    # If there's a special name
    $fname=$specno{$l}.".dat";
    } else {
    # Otherwise
    $fname=$fpre.$id.".dat";
    }
    # Set the part description
    $partdesc="$pdesc$tlen$ldesc";

    print $fname." => ".$partdesc."\n";

    # Length of a segment
    $lseg=6.2;
    # Start segment (for centering)
    $sseg=($l-1)/2*$lseg;

    # Generate the body of the part
    $body="";
    # First segment
    $y=$sseg;
    $body=$body.sprintf("1 16 %.1f 0 0 0 1 0 1 0 0 0 0 -1 79.DAT\n", $y);
    # Middle segments
    foreach $i (1..($l-2)) {
    $y=$sseg-$i*$lseg;
    $body=$body.
        sprintf("1 16 %.1f 0 0 0 -1 0 1 0 0 0 0 1 80.DAT\n",$y);
    }
    # Last segment
    $y=-$sseg;
    $body=$body.sprintf("1 16 %.1f 0 0 0 -1 0 1 0 0 0 0 1 79.DAT\n",$y);

# Make the part text
$mask="0 $partdesc
0 Name: $fname
0 Author: $author
0 !LDRAW_ORG Unofficial_Part
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 BFC CERTIFY CCW

$body
";
# Write the part
    open(FIL,">$fname");
    print FIL $mask;
    close(FIL);
}

$no=$#length+1;
print "Generated $no parts\n";



Re: Get flex out there - Joshua Delahunty - 2013-04-16

Tim Gould Wrote:Ahhhh... with all the sense that entails.

Do you know more than these 3?

Tim

5L = 76307, 6L = 76279, 7L = 76289, ...

76307 should be 70859

70859 Outer cable for TECHNIC 40mm
47040 Outer cable 40mm, red
47042 Outer cable 40mm, blue
47420 Outer cable 40mm, yellow
51976 Outer cable 40mm, dark stone grey
76307 Outer cable 40mm, dark grey

76279 should be 70860 (76279 is Outer cable 48mm, black)

76289 should be 70861 (76289 is Outer cable 4mm, dark grey)

-- joshua