GET IN TOUCH
Sheet Metal Fabrication Services
Instant quotes on custom-formed sheet metal parts | Prototypes and production parts in days;| Drawings in 3 days, samples in 7 days | ISO and CE Certified Quality Assurance
\n\n
,需要通过父级DOM结构来判断 */ var trackActionPhone = function (node) { var nodeInnerText = node.innerText || ''; if (!limitRegLength(nodeInnerText)) return; var nodeText = trimText(nodeInnerText); if (nodeText.length < 5 || nodeText.length > 20) return false; var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click'; var str = trimText(node.href || nodeText || ''); if (phoneReg.test(str) && numUseReg.test(str)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } /** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */ var fatherText = trimText(node.parentNode.innerText || ''); if (fatherText.length < 5 || fatherText.length > 20) return false; if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } return false; }; window.addEventListener('click', function (e) { var node = e.target; /** 社媒点击 */ var appName = ''; var getAppAriaLabel = node.ariaLabel || node.parentNode.ariaLabel || ''; if (mediaList.includes(getAppAriaLabel.toLowerCase())) { appName = getAppAriaLabel; } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'a' ) { appName = getMediaName(node.href) || getMediaName(node.alt); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'img' ) { appName = getMediaName(node.alt) || getMediaName(node.src); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'i' ) { appName = getMediaName(node.className); } if (appName) { _paq.push(['trackEvent', 'click', 'contactApp', appName]); return; } /** 联系方式点击 */ if (trackActionPhone(node, 'click')) return; if (node.nodeName && node.nodeName.toLowerCase() === 'a') { var val = node.href; if (!limitRegLength(val)) return; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', val]); return; } } if (node.nodeName && node.nodeName.toLowerCase() === 'i') { var val = node.className; var content = node.parentNode.href || ''; if (val.includes('email')) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: content, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', content]); return; } } var nodeChildList = node.childNodes; for (var i = 0; i < nodeChildList.length; i++) { if (nodeChildList[i].nodeType !== 3) continue; var val = nodeChildList[i].textContent.replace(/\s?:?/g, ''); if (!limitRegLength(val)) continue; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', val]); return; } } trackNumberData(node); }); window.addEventListener('copy', function (e) { if (trackActionPhone(e.target, 'copy')) return; var text = e.target.textContent; if (!text) return; var val = text.replace(/\s:?/g, ''); if (!limitRegLength(val)) return; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'copy', 'email', val]); return; } trackNumberData(e.target); }); } trackContactInit(); /** * 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户 * 1. 缓存的KEY:TRACK_INPUT_ID_MTM_00; * 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报 */ function trackActionInput() { const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00'; const pathName = window.location.hostname + window.location.pathname; var lockTrackInput = function () { try { const lastCacheData = localStorage.getItem(CACHE_KEY); if (!lastCacheData) return false; const cacheData = JSON.parse(lastCacheData); const cacheTime = cacheData[pathName]; if (!cacheTime) return false; return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报 } catch (error) { console.error('lockTrackInput Error', error); return false; } }; var setInputTrackId = function () { try { const curCacheData = localStorage.getItem(CACHE_KEY); if (curCacheData) { const cacheData = JSON.parse(curCacheData); cacheData[pathName] = Date.now(); localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); return; } const cacheData = { [pathName]: Date.now(), }; localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); } catch (error) { console.error('setInputTrackId Error', error); } }; var getInputDom = function (initDom) { var ele = initDom; while (ele) { /** * isWebSiteForm 是站点的表单 * isChatWindowForm 是聊天窗口的表单 */ /** 旧模板表单 */ var isWebSiteForm = !!( /crm-form/i.test(ele.className) && ele.querySelector('form') ); /** 1:新模板自定义表单、2:Get a Quote 弹框表单 */ var isWebSiteFormNew = !!( /inquiry/i.test(ele.className) && ele.querySelector('form') ); if (isWebSiteForm || isWebSiteFormNew) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']); setInputTrackId(); return; } /** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */ var isInquiryChatForm = !!( /comp-form/i.test(ele.className) && ele.querySelector('form') ); if (isInquiryChatForm) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']); setInputTrackId(); return; } /** 向上查找父节点 */ ele = ele.parentNode; } }; function initInputListener() { var inputUseDebounce = function (fn, delay) { var timer = null; var that = this; return function () { var args = Array.prototype.slice.call(arguments); if (timer) clearTimeout(timer); timer = setTimeout(function () { fn.apply(that, args); }, delay); }; }; var optimizeGetInputDom = inputUseDebounce(getInputDom, 300); window.addEventListener('input', function (e) { /** 如果已经上报过,则不再上报 */ if (lockTrackInput()) return; optimizeGetInputDom(e.target); }); } try { initInputListener(); } catch (error) { console.log('initInputListener Error', error); } } trackActionInput(); } /** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */ function thirdMsgCollect() { /** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */ const scriptList = Array.prototype.slice.call( document.querySelectorAll('script'), ); const checkStayReal = () => !!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn')); if (!checkStayReal()) return; /** 缓存当前消息队列的最后一条消息id */ const CACHE_KEY = 'CACHE_KEY_MONITOR'; const setCache = (msgIndex) => { /** 对缓存KEY进行base64转码处理 */ const cacheMsgIndex = btoa(msgIndex); localStorage.setItem(CACHE_KEY, cacheMsgIndex); }; const getCache = () => { const cacheMsgIndex = localStorage.getItem(CACHE_KEY); if (cacheMsgIndex) return Number(atob(cacheMsgIndex)); return -1; }; /** 拉取最新msg列表 */ const pullMsgList = () => { const msgEleList = Array.prototype.slice.call( document.querySelectorAll('#chat-list li'), ); const msgIds = []; const msgMap = msgEleList.reduce((acc, item) => { const sendTime = item .querySelector('.message-data-time') .textContent.trim(); const sendContent = item.querySelector('.message').textContent.trim(); /** msg带有class:other-message的是访客消息,my-message的是客服消息 */ const isOtherMessage = item .querySelector('.message') .classList.contains('other-message'); const msgId = item.querySelector('.message').getAttribute('id'); const msgItemData = { msgId, user: isOtherMessage ? 'visitor' : 'official', time: sendTime, content: sendContent, }; msgIds.push(msgId); acc[msgId] = msgItemData; return acc; }, {}); return { ids: msgIds, dataMap: msgMap, }; }; /** 加密并上传消息数据 */ let ENCRYPT_KEY = 'de29f1aab63ab033'; let ENCRYPT_IV = 'b8d2badf875e76ac'; const baseUrl = 'https://cms.xiaoman.cn'; // var getEncryptConfig = function () { // const url = baseUrl + '/shop-api/innerApi/getKeyIv' // $.get( // url, // function (result) { // console.log('result', result) // if (Number(result.code) === 0 && result.data.key && result.data.iv) { // ENCRYPT_KEY = result.data.key // ENCRYPT_IV = result.data.iv // uploadMsgData() // } else { // /** 如果获取失败,则重试 */ // setTimeout(() => { // getEncryptConfig() // }, 1000) // } // }, // 'json' // ) // } // getEncryptConfig() const encryptMsg = function (msgData) { const enc = new TextEncoder(); // 转字节 const keyBytes = enc.encode(ENCRYPT_KEY); const ivBytes = enc.encode(ENCRYPT_IV); const plainBytes = enc.encode(msgData); // 导入密钥并加密 return crypto.subtle .importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt']) .then(function (cryptoKey) { return crypto.subtle.encrypt( { name: 'AES-CBC', iv: ivBytes }, cryptoKey, plainBytes, ); }) .then(function (encryptedBuffer) { // 转 base64 返回 return btoa( String.fromCharCode(...new Uint8Array(encryptedBuffer)), ); }) .catch((err) => { return Promise.reject(err); }); }; let uploadFlag = false; const uploadMsgData = function () { if (uploadFlag) return; uploadFlag = true; const { ids, dataMap } = pullMsgList(); let cacheMsgIndex = getCache(); const msgLen = ids.length; if (!msgLen) { // 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空 uploadFlag = false; return; } if (msgLen - 1 < cacheMsgIndex) { /** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */ cacheMsgIndex = msgLen - 1; setCache(cacheMsgIndex); uploadFlag = false; return; } if (msgLen - 1 === cacheMsgIndex) { // 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报 uploadFlag = false; return; } const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen); const currentMsgData = currentMsgIds.map((id) => dataMap[id]); const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id const msgBody = { mtmId, curl: window.location.href, msgList: currentMsgData, }; const msgBodyStr = JSON.stringify(msgBody); encryptMsg(msgBodyStr) .then(function (encryptedMsg) { console.log('encryptedMsg:', encryptedMsg, msgBodyStr); const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus'; $.ajax({ type: 'POST', url, data: JSON.stringify({ d_v: encryptedMsg }), contentType: 'application/json', success: function (result) { if (Number(result.code) === 0) { // 更新消息队列 setCache(msgLen - 1); } uploadFlag = false; }, error: function (err) { console.error(err, '请求异常'); uploadFlag = false; }, }); }) .catch((err) => { console.error(err, '数据加密失败'); uploadFlag = false; }); }; /** 监控chat-list的DOM变更 */ const initChatListObserver = () => { // 需要监听的 DOM 节点 const target = document.getElementById('chat-list'); if (!target) return; // 回调函数 const callback = function (mutationsList, observer) { for (const mutation of mutationsList) { console.log('mutation', mutation); if (mutation.type === 'childList') { uploadMsgData(); } } }; // 配置 const config = { childList: true, // 监听子节点的增删 subtree: true, // 是否也监听后代节点 }; // 创建 observer const observer = new MutationObserver(callback); // 开始监听 observer.observe(target, config); }; let testCount = 30; let itv = null; const checkChatDom = () => !!document.querySelector('#vc-model'); const initTalkCheck = () => { itv = setTimeout(() => { console.log('checkChatDom', checkChatDom(), testCount); if (!checkChatDom() && testCount > 0) { testCount--; initTalkCheck(); return; } clearTimeout(itv); uploadMsgData(); initChatListObserver(); }, 1500); }; initTalkCheck(); } try { gtmTrack(); thirdMsgCollect(); console.log('inserted gtm code'); } catch (error) { console.error('gtmTrack Error', error); } }); })();Progressive die, deep drawing and transfer stamping from a 60–400 ton press line. In-house die shop means faster tooling and lower cost per part.
Four press tiers cover everything from thin-gauge clips to large structural panels — all under one roof.

| Parameter | Specification |
|---|---|
| Precision stamping tolerance | ±0.02 – ±0.05 mm |
| Bending tolerance | ±0.2 – ±0.5 mm |
| Material thickness | 0.1 – 8 mm (process dependent) |
| Press range | 60 T – 400 T, including single-point 400 T |
| Die types | Progressive, transfer, compound, single-station — all built in-house |
| Processes | Blanking, punching, bending, embossing, coining, deep drawing, forming |
| Materials | 100+ grades — stainless, carbon steel, aluminum, copper, brass |
| Tooling lead time | 15 – 25 days depending on die complexity |
| Sample lead time | 1 – 3 working days (existing tooling, no finish) |
| Production capacity | From 50 pcs to 1,000,000+ pcs per order |
Send it now — tooling estimate, unit pricing and free DFM feedback within 12 hours.
Real press line, real parts. Live video walkthrough available on request before you commit to tooling.







Picking the wrong die type is the most expensive mistake in stamping. Our engineers advise free on every quote — here is the logic we apply.
| Process | Best For | Volume | Tooling Cost | Cycle Speed |
|---|---|---|---|---|
| Progressive Die | Small-to-medium parts with multiple features, high repeat volume | 10,000+ pcs | Highest | Fastest |
| Transfer Die | Larger parts needing multiple stations, deep forms | 5,000+ pcs | High | Fast |
| Compound Die | Flat parts, blank + pierce in one stroke | 3,000+ pcs | Medium | Fast |
| Deep Drawing | Seamless hollow shapes — cups, shells, enclosures | 1,000+ pcs | Medium-High | Medium |
| Single-Station | Prototypes, low volume, simple geometry | 50 – 3,000 pcs | Lowest | Slower |
Low volume? We also produce stamped parts on laser-cut-plus-bend routing with zero tooling cost — often cheaper below 500 pcs. Ask us to compare both routes on your quote.
Indicative FOB Tianjin ranges for stamped parts, excluding tooling. Stamping economics improve sharply with volume — that is where die investment pays back.
| Part Type | Typical Spec | 1,000 pcs | 10,000 pcs | 100,000 pcs | Volume Saving |
|---|---|---|---|---|---|
| Flat Washer / Clip | Carbon steel 1–3 mm, blank + pierce + plating | $0.15–0.5 | $0.06–0.2 | $0.03–0.1 | up to −85% |
| Formed Bracket | SS304 1–2 mm, progressive die + deburr | $0.6–1.8 | $0.3–0.9 | $0.18–0.55 | up to −72% |
| Deep Drawn Shell | SS304 0.8–1.5 mm, draw + trim + polish | $1.2–3.5 | $0.6–1.8 | $0.4–1.1 | up to −70% |
| Electrical Contact | Brass / copper 0.3–1 mm, progressive + plating | $0.2–0.7 | $0.09–0.3 | $0.05–0.16 | up to −78% |
| Large Panel | SPCC 1.5–3 mm, transfer die + powder coat | $2.5–7 | $1.4–4 | $0.9–2.6 | up to −64% |
Tooling: quoted separately, typically USD 800–8,000 depending on die type and part complexity. Tooling cost is partially credited against volume orders — ask for terms with your quote. Part price ranges are indicative only; final pricing depends on drawing, material grade, tolerance and finish.
2D/3D files or a physical sample. We advise on die type, material and cost drivers before quoting.
Free manufacturability review flagging thin walls, sharp corners and tolerance callouts that inflate tooling cost.
Built in our own die shop — no outsourcing delay, and changes go straight to the toolmaker.
First-article samples with dimensional report. Nothing goes to production until you sign off.
In-process SPC monitoring. Inspection report and material certs with every shipment.
304 / 316 / 430 / 301
Corrosion resistant · medical, food, marine
301 for springs and clips
SPCC / SGCC / Q235
Cost effective · high strength
Plating or coating recommended
5052 / 6061 / 1060 / 3003
Lightweight · good formability
Aerospace, automotive, electronics
C11000 / C26000 / H62
High conductivity · contacts, terminals
Excellent for electrical stamping
100+ material grades available in total. If your drawing specifies a grade not listed, send it — we source to spec with mill certificates.
We build our own tooling. That means faster die lead time, direct access to the toolmaker, and no markup on tooling from a third-party shop.
Die changes after cutting steel are expensive. We flag issues at the drawing stage — typically saving 8–20% of tooling cost.
No trading company markup. You talk to the engineer running your job, and the tooling quote reflects real die-shop cost.
For volumes under 500 pcs we quote laser-cut-plus-bend alongside stamping, so you see which is genuinely cheaper.
First-article samples with full dimensional report before mass production. You approve before we run the line.
Terms defined upfront — you know who owns the die. NDA signed before you share drawings.
Body brackets, heat shields, underbody components, exhaust parts. High-volume repeatability with SPC monitoring.
Aluminum and titanium panels, structural brackets with tight tolerance and full material traceability.
Shielding cans, contacts, terminals, heat sinks, battery housings. Brass and copper progressive stamping.
Solar panel frames, battery enclosures, heat exchanger plates, wind turbine casings.
Hinges, brackets, cabinet fittings, handles, lock components with decorative surface finishes.
Machine covers, guards, mounting plates, structural stampings up to 400 T press capacity.
Every review below is a verified purchase on Alibaba.com. No edits, no cherry-picking.
They helped us design the drawings and patiently revised and confirmed them until we were satisfied. The communication was smooth, professional, and timely. I am very satisfied! The craftsmanship is precise.Verified buyer · South KoreaCNC laser cutting & stamping parts · Sep 2025
High processing accuracy, perfect surface treatment, meeting customization requirements and fulfilling my expectations. Logistics timeliness: convenient logistics, worry-free.Verified buyer · South KoreaPrecision brackets & holders · Nov 2025
High processing accuracy, perfect surface treatment, meeting customization requirements. Service is the best!! Very fast!Verified buyer · IsraelCustom metal boxes · Nov 2025
Very happy about the quality.Verified buyer · SpainOEM/ODM sheet metal fabrication · Jul 2026
✅ SGS-audited Verified Supplier on Alibaba.com (on-site inspection April 2026) · Trade Assurance protected · 70,000+ custom projects delivered. View all reviews on Alibaba.com →
Typically USD 800–8,000 depending on die type, part complexity and number of stations. A simple single-station die for a flat washer sits at the low end; a multi-station progressive die for a complex formed part sits at the high end. Tooling is quoted separately from part price and is partially credited against volume orders.
Precision stamping holds ±0.02 to ±0.05 mm depending on material, thickness and feature type. Bending operations hold ±0.2 to ±0.5 mm. Flag critical dimensions on your drawing and we will confirm achievable tolerance with your quote rather than promising a blanket figure.
Generally yes above 3,000–5,000 pcs per year, where tooling amortises quickly. Below 500 pcs, laser cutting plus bending is usually cheaper because it needs no tooling. We quote both routes when your volume sits in the grey zone so you can compare real numbers.
Terms are agreed upfront and stated in the quote. In most arrangements the customer owns the die after full payment, and we store and maintain it free of charge for repeat orders. Dies are never used for other customers.
Die build is 15–25 working days depending on complexity, followed by T1 samples for your approval. If we already have suitable tooling or the part can run on existing dies, samples ship in 1–3 working days.
Zinc, nickel and chrome plating, powder coating, anodizing (aluminum), passivation, polishing, brushing, sandblasting, electrophoresis and silk screening — managed in-house or by audited partners.
Yes. Welding, riveting, tapping, hardware insertion and full sub-assembly are done in-house. Most customers order finished assemblies rather than loose stampings.
Tooling: 50% on order, 50% on T1 sample approval. Production: 30% deposit, 70% before shipment. L/C accepted above USD 50,000. We ship EXW, FOB, FCA, CIF, DAP and DDP worldwide.
Send your part drawing today. Tooling estimate, unit pricing and free DFM feedback — no obligation.
Submit Your DrawingsWhatsApp UsEmail EngineeringGET IN TOUCH
Sheet Metal Fabrication Services
Instant quotes on custom-formed sheet metal parts | Prototypes and production parts in days;| Drawings in 3 days, samples in 7 days | ISO and CE Certified Quality Assurance