It is possible in LPub to replace a group of parts by another assembly in BOM and PLI:
0 !LPUB PLI BEGIN SUB <part> (<color>)
(parts)
0 !LPUB PLI END
For example,
0 LPUB PLI BEGIN SUB turntable.ldr
1 8 0 0 0 1 0 0 0 -1 0 0 0 -1 48452.DAT
1 0 0 0 0 1 0 0 0 -1 0 0 0 -1 48168.DAT
0 LPUB PLI END
puts the image of an assembled turntable instead of two separated halves (turntable.ldr contains the two lines
1 8 0 0 0 1 0 0 0 -1 0 0 0 -1 48452.DAT
1 0 0 0 0 1 0 0 0 -1 0 0 0 -1 48168.DAT)
Or:
0 LPUB PLI BEGIN SUB 76537.dat 14
1 0 100 110 0 1 0 0 0 1 0 0 0 1 4254.dat
1 14 100 0 0 1 0 0 0 1 0 0 0 1 4255.dat
1 494 100 56 0 1 0 0 0 1 0 0 0 1 22977.dat
0 LPUB PLI END
substitutes a shock absorber shortcut to its detailed equivalent in code (that could for example have its spring compressed.
0 !LPUB PLI BEGIN SUB <part> (<color>)
(parts)
0 !LPUB PLI END
For example,
0 LPUB PLI BEGIN SUB turntable.ldr
1 8 0 0 0 1 0 0 0 -1 0 0 0 -1 48452.DAT
1 0 0 0 0 1 0 0 0 -1 0 0 0 -1 48168.DAT
0 LPUB PLI END
puts the image of an assembled turntable instead of two separated halves (turntable.ldr contains the two lines
1 8 0 0 0 1 0 0 0 -1 0 0 0 -1 48452.DAT
1 0 0 0 0 1 0 0 0 -1 0 0 0 -1 48168.DAT)
Or:
0 LPUB PLI BEGIN SUB 76537.dat 14
1 0 100 110 0 1 0 0 0 1 0 0 0 1 4254.dat
1 14 100 0 0 1 0 0 0 1 0 0 0 1 4255.dat
1 494 100 56 0 1 0 0 0 1 0 0 0 1 22977.dat
0 LPUB PLI END
substitutes a shock absorber shortcut to its detailed equivalent in code (that could for example have its spring compressed.