OMR compliant examples


OMR compliant examples
#1
Hi,

I'd like to include some official sets in the next AIOI release. I therefore created to example files compliant to the Official Model Repository (OMR) Specification Version 1.0.0. I would appreciate if someone could cross check the work I've done. Thx,

w.

PS. Strangely these files won't work in LPub refusing to create BIs for the subfiles.

0 FILE 886 - Main model.ldr
0 Main Model
0 Name: 886 - Main model.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS car, moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

1 16 0 0 0 1 0 0 0 1 0 0 0 1 886 - Buggy.ldr
1 16 0 -32 0 1 0 0 0 1 0 0 0 1 886 - Minifig.ldr

0 FILE 886 - Buggy.ldr
0 Buggy
0 Name: 886 - Buggy.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS car, moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

1 7 0 -32 0 0 0 1 0 1 0 -1 0 0 3795.dat
1 7 0 -24 -40 1 0 0 0 1 0 0 0 1 122c01.dat
1 7 0 -24 0 1 0 0 0 1 0 0 0 1 3020.dat
1 7 0 -24 40 1 0 0 0 1 0 0 0 1 122c01.dat
1 0 -30 -18 -40 0 0 1 0 1 0 -1 0 0 3641.dat
1 0 -30 -18 40 0 0 1 0 1 0 -1 0 0 3641.dat
1 0 30 -18 40 0 0 1 0 1 0 -1 0 0 3641.dat
1 0 30 -18 -40 0 0 1 0 1 0 -1 0 0 3641.dat
1 7 0 -40 -50 1 0 0 0 1 0 0 0 1 3794.dat
1 7 0 -40 -50 -1 0 0 0 1 0 0 0 -1 3838.dat
1 7 0 -56 50 1 0 0 0 1 0 0 0 1 3039.dat
1 7 0 -40 -30 1 0 0 0 1 0 0 0 1 3829c01.dat
1 7 -10 -64 50 1 0 0 0 1 0 0 0 1 3957.dat

0 FILE 886 - Minifig.ldr
0 Minifig
0 Name: 886 - Minifig.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS car, moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

1 15 0 -80 10 0.965926 0 -0.258819 0 1 0 0.258819 0 0.965926 3842a.dat
1 14 0 -80 10 0.965926 0 -0.258819 0 1 0 0.258819 0 0.965926 3626bp01.dat
1 15 0 -53 10 1 0 0 0 1 0 0 0 1 3838.dat
1 15 0 -53 10 1 0 0 0 1 0 0 0 1 973p90.dat
1 15 0 -21 10 1 0 0 0 1 0 0 0 1 3815.dat
1 15 -15.552 -44 10 0.985 -0.17 0 0.17 0.985 0 0 0 1 3818.dat
1 15 15.552 -44 10 0.985 0.12433 0.11594 -0.17 0.720383 0.671768 0 -0.681998 0.731354 3819.dat
1 15 -23.8634 -26.4044 -0.321 0.985 -0.12019 0.12019 0.17 0.696395 -0.696395 0 0.707 0.707 3820.dat
1 15 21.8099 -38.3022 -10.3433 0.985 0.169871 -0.00593202 -0.17 0.984251 -0.0343708 0 0.0348942 0.99924 3820.dat
1 7 19.74 -50.296 -23.92 0.985 0.163339 -0.0468628 -0.169896 0.936209 -0.304895 -0.00593291 0.308525 0.950757 3959.dat
1 34 20.74 -43.296 -46.92 0.998376 0.0477153 -0.00947952 -0.006 0.309 0.951 0.0486915 -0.948888 0.308454 3062b.dat
1 15 0 -9 10 1 0 0 0 0.0174524 0.999848 0 -0.999848 0.0174524 3816.dat
1 15 0 -9 10 1 0 0 0 0.0174524 0.999848 0 -0.999848 0.0174524 3817.dat

****************************

0 FILE 885 - Main model.ldr
0 Main model
0 Name: 885 - Main model.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

1 0 0 0 0 1 0 0 0 1 0 0 0 1 885 - Scooter.ldr
1 0 0 -16 60 1 0 0 0 1 0 0 0 1 885 - Minifig.ldr

0 FILE 885 - Scooter.ldr
0 Scooter
0 Name: 885 - Scooter.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

1 7 0 0 -20 1 0 0 0 1 0 0 0 1 3022.dat
1 7 0 0 80 1 0 0 0 1 0 0 0 1 3022.dat
1 7 0 -8 0 0 0 1 0 1 0 -1 0 0 3034.dat
0 STEP
1 7 0 -8 90 1 0 0 0 1 0 0 0 1 3460.dat
0 STEP
1 7 0 -16 -70 1 0 0 0 1 0 0 0 1 3839a.dat
1 7 -40 -16 20 1 0 0 0 1 0 0 0 1 3934.dat
1 7 40 -16 20 1 0 0 0 1 0 0 0 1 3933.dat
0 STEP
1 7 0 -40 10 1 0 0 0 1 0 0 0 1 3298p90.dat
1 36 -70 -16 90 1 0 0 0 1 0 0 0 1 3024.dat
1 7 0 -40 90 -1 0 0 0 1 0 0 0 -1 3633.dat
1 33 -30 -32 100 1 0 0 0 0 -1 0 1 0 3062b.dat
1 33 30 -32 100 1 0 0 0 0 -1 0 1 0 3062b.dat
1 36 70 -16 90 1 0 0 0 1 0 0 0 1 3024.dat
0 STEP
1 7 0 -24 30 1 0 0 0 1 0 0 0 1 3829c01.dat
1 7 -50 -24 70 1 0 0 0 1 0 0 0 1 3957.dat

0 FILE 885 - Minifig.ldr
0 Minifig
0 Name: 885 - Minifig.ldr
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Model
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt

0 !THEME Classic Space
0 !KEYWORDS moon, astronaut, 1979
0 !HISTORY 2011-11-01 [Holly-Wood] Creation

0 BUFEXCHG A STORE
0 GHOST 1 4 0 -28 0 1 0 0 0 1 0 0 0 1 3817.dat
0 GHOST 1 4 0 -28 0 1 0 0 0 1 0 0 0 1 3816.dat
0 GHOST 1 4 0 -40 0 1 0 0 0 1 0 0 0 1 3815.dat
0 GHOST 1 0 0 -39 0 1 0 0 0 1 0 0 0 1 885 - Space scooter - Hdsvl1.dat
0 GHOST 1 4 0 -96 0 1 0 0 0 1 0 0 0 1 973p90.dat
0 GHOST 1 4 -15.552 -87 0 0.985 -0.159748 -0.0581434 0.17 0.925597 0.33689 0 -0.34202 0.939693 3818.dat
0 GHOST 1 4 15.552 -87 0 0.985 0.159748 0.0581434 -0.17 0.925597 0.33689 0 -0.34202 0.939693 3819.dat
0 GHOST 1 4 -23.0709 -73.9959 -16.1152 0.985 -0.154049 0.0718343 0.17 0.892578 -0.416216 0 0.422554 0.906171 3820.dat
0 GHOST 1 4 23.0709 -73.9959 -16.1152 0.985 0.154049 -0.0718343 -0.17 0.892578 -0.416216 0 0.422554 0.906171 3820.dat
0 GHOST 1 4 0 -98 0 1 0 0 0 1 0 0 0 1 3838.dat
0 GHOST 1 0 0 -102 0 1 0 0 0 1 0 0 0 1 885 - Space scooter - Hdsvl1.dat
0 GHOST 1 14 0 -136 0 1 0 0 0 1 0 0 0 1 3626bp01.dat
0 GHOST 1 0 0 -142 0 1 0 0 0 1 0 0 0 1 885 - Space scooter - Hdsvl1.dat
0 GHOST 1 4 0 -179 0 1 0 0 0 1 0 0 0 1 3842a.dat
0 STEP
0 BUFEXCHG A RETRIEVE
1 4 0 -80 10 1 0 0 0 1 0 0 0 1 3842a.dat
1 14 0 -80 10 1 0 0 0 1 0 0 0 1 3626bp01.dat
1 4 0 -53 10 1 0 0 0 1 0 0 0 1 3838.dat
1 4 0 -53 10 1 0 0 0 1 0 0 0 1 973p90.dat
1 4 0 -21 10 1 0 0 0 1 0 0 0 1 3815.dat
1 4 -15.552 -44 10 0.985 -0.159748 -0.0581434 0.17 0.925597 0.33689 0 -0.34202 0.939693 3818.dat
1 4 15.552 -44 10 0.985 0.159748 0.0581434 -0.17 0.925597 0.33689 0 -0.34202 0.939693 3819.dat
1 4 -23.0709 -30.9959 -6.11521 0.985 -0.154049 0.0718343 0.17 0.892578 -0.416216 0 0.422554 0.906171 3820.dat
1 4 23.0709 -30.9959 -6.11521 0.985 0.154049 -0.0718343 -0.17 0.892578 -0.416216 0 0.422554 0.906171 3820.dat
1 4 0 -9 10 1 0 0 0 0.0174524 0.999848 0 -0.999848 0.0174524 3816.dat
1 4 0 -9 10 1 0 0 0 0.0174524 0.999848 0 -0.999848 0.0174524 3817.dat

0 FILE 885 - Space scooter - Hdsvl1.dat
0 Helper - Dotted Line Straight Vertical L1
0 Name: 885 - Space scooter - Hdsvl1.dat
0 Author: Willy Tschager [Holly-Wood]
0 !LDRAW_ORG Unofficial_Helper

0 BFC CERTIFY CCW
1 16 0 -4 0 1.5 0 0 0 1.5 0 0 0 1.5 8-8SPHE.DAT
1 16 0 -12 0 1.5 0 0 0 1.5 0 0 0 1.5 8-8SPHE.DAT
1 16 0 -20 0 1.5 0 0 0 1.5 0 0 0 1.5 8-8SPHE.DAT


Attached Files
.mpd   886 - Space buggy.mpd (Size: 2.58 KB / Downloads: 4)
.mpd   885 - Space scooter.mpd (Size: 3.83 KB / Downloads: 2)
LEGO ergo sum
Reply
Re: OMR compliant examples
#2
I only opened 885 because I was curious about the "GHOST" function (didn't even know that existed, I'll have to look into that). The only issue I could find with it is that you never set a rotation angle which means the instructions are all top-down, which is especially weird for the minifig (and defeats the purpose of the GHOSTING effect). I put in some random temporary just to see how the ghosting works, but yeah, I'd recommend setting the rotation angle as close to the instructions as you can manage.

Other than that, the only question I have (and this is less aimed at you specifically than it is at the specification itself): Is it really necessary to include the THEME, KEYWORDS, and HISTORY for every single submodel in the set? Wouldn't it be more prudent just include a single set of these at the beginning, in the main model?
____________________________________________________________________________________________________
I'm theJude! So that's what you call me. You know, that or, uh, his Judeness, or uh, Juder, or el Juderino if you're not into the whole brevity thing.
Reply
Re: OMR compliant examples
#3
Jude Wrote:
-------------------------------------------------------
> The only issue I
> could find with it is that you never set a
> rotation angle which means the instructions are
> all top-down, which is especially weird for the
> minifig (and defeats the purpose of the GHOSTING
> effect). I put in some random temporary just to
> see how the ghosting works, but yeah, I'd
> recommend setting the rotation angle as close to
> the instructions as you can manage.

Honestly I have no clue what you're talking about here. Anyway the
BI is based as closely as possible to the original BI form 1979:

http://www.peeron.com/scans/885-1/

> Other than that, the only question I have (and
> this is less aimed at you specifically than it is
> at the specification itself): Is it really
> necessary to include the THEME, KEYWORDS, and
> HISTORY for every single submodel in the set?
> Wouldn't it be more prudent just include a single
> set of these at the beginning, in the main model?

You've got a good point here. Again, I tried to follow the OMR specs
as closely as possible just to see how the code would look like. I agree
that the header in the subs is to much.

Thoughts?

What gripps me more right now is that apparently LPub has some trouble
with the header or the code structure and requires skills to sets LPub metas
manually to get the job done in LPub. Could some of the LPub experts get a
try on 885 - Space Scooter in order to get a look-a-like from 1979?

w.
LEGO ergo sum
Reply
Re: OMR compliant examples
#4
I found the reason of the problem with LPub, trying to create instructions for Orion's Burj Kalifa model. The trigger is string "!LDRAW_ORG" in submodels, I guess that LPub uses this to distinguish between models and parts. If you suppress this string, LPub works correctly.
Reply
Re: OMR compliant examples
#5
Thx. I'll check this out.

w.
LEGO ergo sum
Reply
Re: OMR compliant examples
#6
I just checked this two files with MPDCenter to be conform with the specs.
The only issue I have found is that the file '885 - Space scooter - Hdsvl1.dat' do not contain a valid License. Otherwise MPDCenter has no complains! All references can be found in the official library. So everybody can see the model like the author.
Reply
Re: OMR compliant examples
#7
I need a little help to get the model OMR compliant. I have these 5 submodels and don't get how to bring them in the right order together. Also the Ghost function would be interesting (for "Maul's Ride - Rod"), but I don't get how that works. Everything I tried, the rest of the model was still visible. The "Minifig Darth Maul" file contains the unofficial part 973ps8, that's why it is so large.

Any help would be appreciated.


Attached Files
.ldr   7101 - Lightsaber Duel - Minifig Darth Maul.ldr (Size: 187.77 KB / Downloads: 1)
.ldr   7101 - Lightsaber Duel - Minifig Qui-Gon Jinn.ldr (Size: 1.08 KB / Downloads: 1)
.ldr   7101 - Lightsaber Duel - Maul's Ride - Base.ldr (Size: 1.09 KB / Downloads: 1)
.ldr   7101 - Lightsaber Duel - Maul's Ride - Rod.ldr (Size: 290 bytes / Downloads: 1)
.ldr   7101 - Lightsaber Duel - Vaporator.ldr (Size: 1.66 KB / Downloads: 1)
Reply
Re: OMR compliant examples
#8
Either nobody can help me, nobody wants to help me, or nobody has time to help me. Either way, an answer would be nice to know where I stand. Thank you.
Reply
Re: OMR compliant examples
#9
Daniel,

have a look at the Classic Space sets I added to the AIOI.

Use "<setnumber> - <setname>.mpd" only for the MPD, use for the single LDR "<setnumber> - <description>.ldr"

Use this order:

7101 - Main model (assembles the Vaporator, Base, Minifig)
7101 - Vaporator
7101 - Maul's Ride
7101 - Maul's Ride - Base
7101 - Maul's Ride - Rod
7101 - Minifigs

Drop Mike Heidemann a mail and ask for the latest version of his MPDCenter to perform some test for OMR compliances.

w.
LEGO ergo sum
Reply
Re: OMR compliant examples
#10
Thanks, I think I got it. Let's see what MPDCenter has to say about the file.

The only sad this is, that LDView is not able to show the steps.
Reply
Re: OMR compliant examples
#11
Okay, this time a tricky question.

Model 7130 - Snowspeeder (http://cache.lego.com/bigdownloads/build...124909.pdf), Page 30 there's a submodel (Wing Left Rear End) with a Flag 2x2. When you build it, the Flag is upright. I finished the submodel, got back to the former submodel (Wing Left) and put it in. Then on page 31 you add a Tile 2x2 to fixate the submodel on the wing. Then the Flag is put down. How do I do that?
Reply
Re: OMR compliant examples
#12
What's the correct naming of Unofficial_Subparts?

And, BTW, I still need Help with the question posted above.
Reply
Re: OMR compliant examples
#13
Just put it the postion that it is in the finished model. Note that while steps and submodelling are desired, they are not required. In order to make a file that could produce instructions, you'd have to use META commands that are not allowed.
Reply
Re: OMR compliant examples
#14
Orion Pobursky Wrote:Just put it the postion that it is in the finished model.

If I do that, the step with the tile remains unseen.

Orion Pobursky Wrote:Note that while steps and submodelling are desired, they are not required.

Official Model Repositor (OMR) Specification Version 1.0.0 Wrote:Each model in the OMR will consist of several files that are packaged together into a single MPD file.

Orion Pobursky Wrote:In order to make a file that could produce instructions, you'd have to use META commands that are not allowed.

Official Model Repositor (OMR) Specification Version 1.0.0 Wrote:All META commands are allowed in the model file but not specifically required except as specified for the header. If included, any META commands used should enable any instructions generated to be as close to the official instructions as possible.

Okay, I'm beginning to understand why almost none of the models posted here is OMR compliant. The builders just don't get what's allowed/required and what not.
Reply
Re: OMR compliant examples
#15
> Okay, I'm beginning to understand why almost none of the models posted here is OMR compliant.
> The builders just don't get what's allowed/required and what not.

May I drop my 0.02 EUR on this issue here:
this is a clear sign of unrealistic over-specification.

I had a look at the OMR rules, and they really have frightened me off:
They - to me - are over-formalistic, and take all the fun out of building.

Having these rules in place in this form, we will never get a productive OMR IMHO.
There even is no tooling to bring a non-conform model into a OMR-conform structure.

To me, creating an OMR-compliant model is 0% fun and 100% annoyance.
I just wanted to say this frankly and clear here.
I don't want to blame anyone for this, it is just my personal experience of the rules.
Reply
Re: OMR compliant examples
#16
Sorry, I'm not trying to confuse you. Apparently I have a really terrible memory...

Anyway, you could use a buffer exchange command to show the flag in 2 different positions based on the step.
Reply
Re: OMR compliant examples
#17
Steffen Wrote:To me, creating an OMR-compliant model is 0% fun and 100% annoyance.
I just wanted to say this frankly and clear here.
I don't want to blame anyone for this, it is just my personal experience of the rules.

This means I failed.

That said, I tried to make the rules as inclusive as possible. The only real rules are the naming and header requirements to make it easy to store, categorize, and search. Everything else is just icing.

Also, this spec had quite a long and public incubation period where I asked multiple times for comments.
Reply
Re: OMR compliant examples
#18
Is there a tutorial for this? Prefarably in german...

And I still need an answer how to add an unofficial subpart. What's the right syntax?
Reply
Re: OMR compliant examples
#19
Steffen Wrote:I had a look at the OMR rules, and they really have frightened me off:
They - to me - are over-formalistic, and take all the fun out of building.

Since they basically just rule the header I have no clue what you're talking about?

Steffen Wrote:There even is no tooling to bring a non-conform model into a OMR-conform structure.

There is. Mike is coding an updated version of his MPDCenter - kind of his DATHeader for OMR files.

w.
LEGO ergo sum
Reply
Re: OMR compliant examples
#20
So I will look again into OMR some time.
I just had a look when it started, was frightened off, and never came back.
Maybe I should. Thanks for the info.
Reply
Re: OMR compliant examples
#21
What about the

0 !LDRAW_ORG Unofficial_Model

line? I wondered why my models won't work in LPub anymore, then I looked here and found the solution. But is there an official solution? What should I do with the line? Maybe the OMR specification page should also mention the problem.

Also, a tutorial how to implement LSynth Parts into an OMR Model so they can be seen by users who haven't LSynth installed, would be nice.

Don't get me wrong, I like the thought of OMR compliancy. But with the information given on the specification page it's nothing more than that: a thought. If you want the people doing their models OMR compliant, you have to give more information. Make a tutorial or a wiki-page that answers all questions possible. Like my subpart question that still needs to be answered.
Reply
Re: OMR compliant examples
#22
Daniel Görner Wrote:What about the

0 !LDRAW_ORG Unofficial_Model

line? I wondered why my models won't work in LPub anymore, then I looked here and found the solution. But is there an official solution? What should I do with the line? Maybe the OMR specification page should also mention the problem.

This is definitely a LPub bug.

Daniel Görner Wrote:Also, a tutorial how to implement LSynth Parts into an OMR Model so they can be seen by users who haven't LSynth installed, would be nice.

Don't get me wrong, I like the thought of OMR compliancy. But with the information given on the specification page it's nothing more than that: a thought. If you want the people doing their models OMR compliant, you have to give more information. Make a tutorial or a wiki-page that answers all questions possible.

Excellent point. I'll try to whip up a tutorial page on the wiki when I get some free time.

Daniel Görner Wrote:Like my subpart question that still needs to be answered.

Sorry I mean to get back to you on this but I'm in the middle of moving houses. I'll post an answer tomorrow.
Reply
Re: OMR compliant examples
#23
Orion Pobursky Wrote:
Daniel Görner Wrote:Like my subpart question that still needs to be answered.

Sorry I mean to get back to you on this but I'm in the middle of moving houses. I'll post an answer tomorrow.

"Tomorrow" was almost 2 weeks ago ;-)
Reply
Re: OMR compliant examples
#24
Are LPub commands allowed in an OMR mpd?

And I have named unofficial subparts and primitives the same way as unofficial parts, e.g. 7140 - 30361ps1s01.dat or 7140 - st4jfil4.dat. Is that correct?
Reply
Re: OMR compliant examples
#25
Daniel Görner Wrote:Are LPub commands allowed in an OMR mpd?

Since LDraw.org is down I refer to the version stored in the LSC forum:

http://forums.ldraw.org/showthread.php?t...01#pid1101

' Wrote:META commands:
--------------
All META commands are allowed in the model file but not specifically required except as specified for the header. If included, any META commands used should enable any instructions generated to be as close to the official instructions as possible.

Therefore the answer is YES.

Daniel Görner Wrote:And I have named unofficial subparts and primitives the same way as unofficial parts, e.g. 7140 - 30361ps1s01.dat or 7140 - st4jfil4.dat. Is that correct?

If the unofficial subparts and primitives are referenced this way in the .mpd than it is correct.

w.
LEGO ergo sum
Reply
Re: OMR compliant examples
#26
What about spare (e.g: plumes) and optional (e.g.: 2x1 brick for the back of a horse) parts? Should they be lying somewhere in the main assembled model?
Reply
Re: OMR compliant examples
#27
My feeling is no. We're not trying to provide an inventory, just the model. If there are extra parts then they can be omitted
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 3 Guest(s)