Sitewide Buy 3 Get 1 FREE(Add 4 to Cart)
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
1 / 9
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit
0% OFF

12pcs Christmas Gifts Double-Sided DIY Diamond Painting Keychain Kit

1820521.06

$13.61
0 sold
Qty 3000 in stock
Specification:

Product size: 80.00x70.00x10.00mm

Product size: 3.15x2.76x0.39inch

Material: acrylic keychain + crystal bright diamond

Size: about 7cm

DIY Rhinestone Art Keychain Making Steps:

1. Open the box and check the special tools for rhinestone art

2. View the resin rhinestone colors and arrange them in coding order

3. Uncover the tape diagram above and you will see many symbols corresponding to the color coding

4. Corresponding resin-set rhinestones according to the corresponding color-coded fixture

5. Suggest a set of resin rhinestones to complete faster

6. To make a rhinestone art piece, place the pattern in one place, leaving no rhinestones for row of symbols

7. To cut a good figure on the drawing, mount the sorting array to the flat surface of the material above

8. The splicing needs to be smooth, neat, and without cracks

9. After good hard work, the remaining conform to the rhinestone symbol

This is a DIY rhinestone art keychain, it is not finished, you need to finish it yourself. 


Note:
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color shown in the images. Thank you!
Please allow a 1-2 cm difference in measurements due to manual measuring.



1 set x keychains
1 set x diamond painting tools (drill pen, speed-up disc)

12pcs Double-Sided DIY Diamond Painting Keychain Kit for Adults

Features:

1. Brilliant Rhinestone Finish: Using full drill rhinestone art technique, every canvas surface is covered with sparkling crystal rhinestones for a stunning mosaic-like result.

2. Acrylic Base: The acrylic crystal keychain base is lightweight yet sturdy, ensuring the finished piece holds its shape and resists daily wear and tear effectively.

3. All-in-One Supplies: The rhinestone art tools included cover every step, from the adhesive canvas to sorted color-coded rhinestones, making the crafting process smooth.

4. Double-Sided Brilliance: The double-sided rhinestone keychain construction means both sides shine equally, ideal for bag charms, key accessories, or decorative pendants.

5. Creative Activity: The rhinestone art keychain project offers a calming, focused crafting experience that helps relieve daily tension while producing a wearable art piece.

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1736477762476').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);