Belle-Ve Bricks

Tailored Creations,
Unforgettable Impressions.

ideas reject
ideas reject

10+ Tips To Get Your LEGO® IDEAS Approved

Trusted by Over 392 Distinctive Clients
Custom model
Bring Your Idea to Life

If you have a great idea for a LEGO® IDEAS submission, don’t be shocked when you submit it that it gets rejected. There are a number of reasons why this may happen but don’t worry as we will cover the top 10 reasons why your LEGO® IDEAS submission may get rejected so you can avoid any stress and disappointment.

The last thing you want to happen is to work hard on your design, submit it and then start dreaming of reaching the 10k milestone only to find your hard work has gone to waste! Anyway, without further ado let’s jump in.

How to Keep LEGO IDEAS Appropriate Video

LEGO has provided a little video to help with this too:

List of Tips To Get Your LEGO IDEAS Content Approved

1. Copyright or breach of intellectual property rights

You need to make sure that your LEGO® IDEAS submission is your own work without it being derived from something that could have IP complications.

On the LEGO® IDEA’s website, they say:

We have also changed our guidelines to no longer accept product ideas based on third-party licenses, which are currently produced or announced as official LEGO® sets such as Star Wars, DC or Marvel Super Heroes, Volkswagen, and many more.

To get a full list of the licenses you will need to avoid you can view their policy which is kept up to date on a regular basis, their policy is available from here.

2. Don’t Use Inappropriate LEGO® IDEAS Content

Before you think of anything else you need to make sure that your LEGO® IDEA project is appropriate for all ages, if your LEGO® IDEA submission fits into one of the below categories then it’s time to go back to the drawing board. Below is a list of things you should absolutely not include in your LEGO IDEAS content.

  • Politics and political symbols, campaigns, or movements
  • Religious references including symbols, buildings, or people
  • Sex, nudity, drugs, or smoking
  • Alcohol in any present-day situation
  • Swearing or profanity
  • Death, killing, blood, terrorism, horror, or torture
  • First-person shooter video games
  • Warfare or war vehicles in any modern or present-day situation, or national war memorials
  • Large or human-scale weapons or weapon replicas of any kind, including swords, knives, guns, sci-fi or fantasy blasters, etc.
  • Racism, bullying, or cruelty to real-life animals

3. Your design is too big

As much as we all say WOW when we see a huge LEGO® set or MOC this is not actually what LEGO® are looking for, they ask to keep your LEGO® IDEA’s submission below 3000 pieces.

If it is over 3000 it’s not a show stopper but it’s a good guideline to try to stick to, one of the main reasons is that if your submission won the contest they want the cost for producing the set and RRP to be affordable.

An example of a big MOC with way over 3000 parts is the LEGO® Sit-Complex available in LEGO® Artisan’s shop.

4. The pictures of your LEGO® IDEAS submissions are not good enough

LEGO is not expecting you to be a professional photographer but they do expect you to take pictures that are good quality, clear, and easily show the features of your submission.

They ask that the main image for your submission shows at least 80% to 90% of your set. If you want to show specifics you can take pictures exactly for this (up to 15) but just be sure to get the main image perfect. After all, that is the first impression that everyone is going to get so it’s in your interest to make it look amazing 😉

If your set has been designed digitally then taking pictures of it becomes a lot easier but still be careful and keep to the above rules.

5. You have included text in your main image

To save confusion, what this means is “no additional” text to be added to your main image, so if you have a brick that says “Camp Fun” then that’s fine but if you have added some nice looking word art to your picture which aims to try and sell a feature then that’s a no-no I am afraid.

6. Use genuine and non-modified LEGO® bricks

This one may seem obvious but if you have designed your LEGO® IDEAS submission using physical bricks maybe you have gone down the hack route and tried to glue pieces together, use tape, or cut/snipped a piece to get the right effect.

This will be a quick way to get your submission rejected in a blink of an eye, LEGO® is not going to be interested in a set that’s impossible to produce in mass if your submission was a winner.

Try to use more common and readily available pieces in your design, don’t skimp on the detail just because of this tip though. If you need to use a rarer piece then go for it but just try to keep it to a minimum.

7. Thinking of setting up your own CMF collection?

Mini-figures are only to be used within your design, they are there to show how your set could be used or played with.

You cannot under any circumstances design a bunch of mini-figures and put them in as a submission.

8. Keep Your Ideas Unique

Have a look through the current LEGO® IDEAS entries before you get started, and do a bit of research to see if there’s been any official LEGO® sets that look mildly like what you want to create.

LEGO wants you to make new, intuitive, and creative designs, not ones that are similar to what is or have already been released.

9. Never Use the LEGO® Name or Logo in Your Artwork

I always find this one a bit strange when you are uploading your submission to a website and contest that’s owned by LEGO® themselves, they are incredibly touchy about the use of their name and logo and this does not stop at LEGO® IDEA’s submissions.

If you feel one or more of your bricks needs a sticker to look great then that’s fine, perhaps have your own sticker designed and printed by a third-party supplier. Failing that they have said that you can have the LEGO® logo on a brick but you cannot modify it in any way.

10. Don’t Get Ahead of Yourself

Concentrate on the design of your LEGO® IDEAS submission only, don’t try to be creative and design your own box or front page for your instructions booklet.

LEGO have this rule as they are concerned that by having this in your submission that some people may think the design is actually available to be purchased as an official LEGO® set.

More Info

Conclusion

There are a lot of rules to follow when submitting a design to LEGO® IDEAS but they aren’t that hard to follow. Really all they are after is for you to come up with a unique design that can be the next big LEGO® IDEAS set if you want your LEGO® IDEA’s submission to be the next Treehouse (21318), Medieval Blacksmith (21325) or Central Perk (21319) then you will be happy to play nicely and follow the rules LEGO® have set.

If you would like to see the full list of guidelines from the LEGO Website Check out the link.

<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="ferdi-vol" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://www.linkedin.com/in/%E2%9C%85-ferdi-vol-corporate-gifts/?trk=profile-badge"></a></div>
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
  /**
  * Renders all unrendred LinkedIn Badges on the page
  */
  window.LIRenderAll = function () {
    var CALLBACK_NAME     = 'LIBadgeCallback', //Must match callback on helpers.js
        BADGE_NAMES       = '.LI-profile-badge, .LI-entity-badge',
        // TODO -- tracking param for other badge types
        TRACKING_PARAM    = 'profile-badge',
        responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
        expectedResponses = 0, //Keeps track of number of responses to expect
        scripts           = [ ], //Keeps track of scripts added for proper cleanup when finished
        childScripts      = {}, //Keeps track of child scripts to render
        badges            = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));

    var i, len, badge, rendered;
    for (i = 0, len = badges.length;  i < len; i++) {
      badge    = badges[i];
      rendered =  badge.getAttribute('data-rendered');
      if (!rendered) {
        expectedResponses++;
        badge.setAttribute('data-rendered', true);
        renderBadge(badge);
      }
    }

    function isCNDomain() {
      if (typeof window !== "undefined") {
        var hostName = window.location && window.location.hostname ||  '';
        return (/linkedin(-ei)?.cn$/).test(hostName);
      }

      return false;
    }

    function generateUrl(isEI) {
      var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
      if (isCNDomain()) {
        return domainPrefix + ".cn/";
      }

      return domainPrefix + ".com/";
    }

    function getBadgeKeyQueryParams(badge) {
      return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
        return attr.name.lastIndexOf('data-key-', 0) !== -1;
      }).map(function (attr) {
        // Most browsers automatically lowercase the attribute name when its being read
        // We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
        return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
      });
    }

    /*
    * Renders a single badge on the page
    * @param badge: div element of badge to render
    */
    function renderBadge(badge) {
      var size       = badge.getAttribute('data-size'),
          locale     = badge.getAttribute('data-locale'),
          type       = badge.getAttribute('data-type'),
          theme      = badge.getAttribute('data-theme'),
          vanity     = badge.getAttribute('data-vanity'),
          version    = badge.getAttribute('data-version'),
          isEI       = badge.hasAttribute('data-ei'),
          entity     = badge.getAttribute('data-entity'),
          isCreatePage = badge.hasAttribute('data-iscreate'),
          uid        = Math.round(1000000 * Math.random()),
          baseUrl = generateUrl(isEI),
          queryParams = [
            'locale=' + encodeURIComponent(locale),
            'badgetype=' + encodeURIComponent(type),
            'badgetheme=' + encodeURIComponent(theme),
            'uid=' + encodeURIComponent(uid),
            'version=' + encodeURIComponent(version)
          ],
          url;

      if (version === 'v2') {
        baseUrl += 'view';
        queryParams.push('badgesize=' + encodeURIComponent(size));
        queryParams.push('entity=' + encodeURIComponent(entity));
        queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
      } else {
        baseUrl += 'profile';
        queryParams.push('maxsize=' + encodeURIComponent(size));
        queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
        queryParams.push('vanityname=' + encodeURIComponent(vanity));
      }

      if (isCreatePage) {
        queryParams.push('fromCreate=true');
      }

      url = baseUrl + '?' + queryParams.join('&');
      badge.setAttribute('data-uid' , uid);
      jsonp(url); //Calls responseHandler when done
    }

    /**
    * Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
    * @param badgeHtml: String representing contents of the badge
    * @param badgeUid: UID of the badge to target
    **/
    function responseHandler(badgeHtml, badgeUid) {
      responsesReceived ++;

      var i, badge, uid, isCreate;
      var defaultWidth = 330 // max possible width
      var defaultHeight = 300 // max possible height

      for (i = 0, len = badges.length; i < len; i++) {
        badge = badges[i];
        // isCreate needed to prevent reloading artdeco script tag
        isCreate = badge.getAttribute('data-iscreate');
        uid   = parseInt(badge.getAttribute('data-uid'), 10);
        if (uid === badgeUid) {
          var badgeMarkup = `<body>${badgeHtml}</body>`
          var iframe = document.createElement('iframe');
          iframe.onload = function() {
            var iframeBody = iframe.contentWindow.document.body;
            // 5 px buffer to avoid the badge border being cut off.
            iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
            iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
          };
          iframe.setAttribute('frameBorder', '0');
          iframe.style.display = 'block';
          badge.appendChild(iframe);
          iframe.contentWindow.document.open();
          iframe.contentWindow.document.write(badgeMarkup);
          iframe.contentWindow.document.close();
          replaceScriptTags(badge, isCreate);
        }
      }
      tryClean();
    }

  // These functions are needed because badge markup is added via innerHtml property which does not run script tags
  function replaceScriptTags(node, isCreate) {
    if (shouldReplaceNode(node, isCreate)) {
      node.parentNode.replaceChild(cloneScriptNode(node), node);
      childScripts[node.src] = true;
    } else {
      var i = 0,
          children = node.childNodes;
      while (i < children.length) {
        replaceScriptTags(children[i++], isCreate);
      }
    }
    return node;
  }

  function shouldReplaceNode(node, isCreate) {
    return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
  }

  function isScriptNode(node) {
    return node.tagName === 'SCRIPT';
  }

  function cloneScriptNode(node){
    var script  = document.createElement("script");
    for( var i = node.attributes.length-1; i >= 0; i-- ) {
      script.setAttribute( node.attributes[i].name, node.attributes[i].value );
    }
    return script;
  }

    // Gets all incoming responses
    window[CALLBACK_NAME] = responseHandler;

    /**
    * Tries to clean added tags
    **/
    function tryClean() {
      //Clean up after all requests are done..
      //Accounts for people including script more than once
      var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
      if (done) {
        delete window[CALLBACK_NAME];

        // remove all script tags
        scripts.map(function(script){
          document.body.removeChild(script);
        });

      }
    }

    /*
    * Makes Jsonp request, responses handles by CALLBACK_NAME
    * @param url String: url of server to make request to
    */
    function jsonp(url) {
      var script = document.createElement('script');
      script.src = url;
      scripts.push(script);
      document.body.appendChild(script);
    }
  };

  if (document.readyState === 'complete') {
    window.LIRenderAll();
  } else {
    window.addEventListener('load', window.LIRenderAll, false);
  }

})(window);
Popular Posts