Lütfen bize bir mesaj bırakın
Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.
Select Language
English




<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html><div class="query-box"> <input id="thread-input" placeholder="Giriş Konusu Özelliği: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - İnç başına iş parçacığı</option> <option value="D">D - Maksimum Ana Çap</option> <option value="dp">dp - Maksimum Nokta Çapı</option> <option value="d1">d1 - Maksimum Diş Çevreleyen Daire Çapı</option> <option value="d2">d2 - Maksimum Nokta Çevreleyen Daire Çapı</option> <option value="L1max">L1 Maksimum Nokta Uzunluğu</option> <option value="L1min">L1 Min - Nokta Uzunluğu Min</option> <option value="L90">L Min Uzunluk (90° Başlık)</option> <option value="LCounter">L Min Uzunluk (Havşa Başlı)</option> </select> <button onclick="searchSpecData()">Arama Parametresi Değeri</button> <div id="query-result"></div><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html>const specDataset = [ { spec: "2#", PP: 56, D: 0,086, dp: "/", d1: 0,088, d2: 0,070, L1max: 0,062, L1min: 0,036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0,099, dp: "/", d1: 0,101, d2: 0,081, L1max: 0,073, L1min: 0,042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0,112, dp: 0,086, d1: 0,115, d2: 0,090, L1max: 0,088, L1min: 0,050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0,125, dp: 0,099, d1: 0,128, d2: 0,103, L1max: 0,088, L1min: 0,050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0,138, dp: 0,106, d1: 0,141, d2: 0,111, L1max: 0,109, L1min: 0,062, L90: "1/4", LCounter: "5/16" }, { spesifikasyon: "8#", PP: 32, D: 0,164, dp: 0,132, d1: 0,167, d2: 0,137, L1max: 0,109, L1min: 0,062, L90: "1/4", LCounter: "11/32" }, { spesifikasyon: "10#", PP: 24, D: 0,190, dp: 0,147, d1: 0,194, d2: 0,153, L1max: 0,146, L1min: 0,083, L90: "5/16", LCounter: "13/32" }, { spesifikasyon: "1/4", PP: 20, D: 0,250, dp: 0,198, d1: 0,255, d2: 0,206, L1max: 0,175, L1min: 0,100, L90: "13/32", LCounter: "1/2" }, { spesifikasyon: "5/16", PP: 18, D: 0,313, dp: 0,255, d1: 0,318, d2: 0,264, L1max: 0,194, L1min: 0,111, L90: "15/32", LCounter: "5/8" }, { spesifikasyon: "3/8", PP: 16, D: 0,375, dp: 0,310, d1: 0,381, d2: 0,320, L1max: 0,219, L1min: 0,125, L90: "9/16", LCounter: "23/32" }, { spesifikasyon: "7/16", PP: 14, D: 0,438, dp: 0,361, d1: 0,445, d2: 0,375, L1max: 0,250, L1min: 0,143, L90: "21/32", LCounter: "13/16" }, { spesifikasyon: "1/2", PP: 13, D: 0,500, dp: 0,416, d1: 0,508, d2: 0,433, L1max: 0,269, L1min: 0,154, L90: "23/32", LCounter: "7/9" }<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html>const rowParamConfig = [ { label: "PP", fullName: "İnç başına diş sayısı", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Ana Çap", fieldKey: "D", subLabel: "Maks" }, { label: "dp", fullName: "Nokta Çapı", fieldKey: "dp", subLabel: "Maks" }, { label: "d1", fullName: "Diş Çevreleyen Daire Çapı", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Nokta Çevreleyen Daire Çapı", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Nokta Uzunluğu", fieldKey: "L1max", subLabel: "Maks" }, { label: "L1", fullName: "Nokta Uzunluğu", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Uzunluk", fieldKey: "L90", subLabel: "90° Başlık" }, { label: "L", fullName: "Minimum Nominal Uzunluk", fieldKey: "LCounter", subLabel: "Havşa Başlı" }<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html>// Her parametre veri satırını oluşturun rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // İlk sütun: parametre etiketi + tam ad + alt etiket htmlStr += `<th class="left-align"> <div>${rowCfg.label</div> <div>${rowCfg.fullName</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel</div>` : ""} </th>`; // Her iş parçacığının spesifikasyon hücre değerini doldurun specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]</td>`; }); htmlStr += `</tr>` });<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html>} // Seçilen metni okunabilir tam adla eşleyin const paramNameMap = { PP: "İnç başına diş sayısı (PP)", D: "Maksimum Ana Çap (D)", dp: "Maksimum Nokta Çapı (dp)", d1: "Maksimum Dairesel Daire Çapı (d1)", d2: "Maks. Nokta Çevresel Daire Çapı (d2)", L1max: "Maks. Nokta Uzunluğu (L1)", L1min: "Min Nominal Uzunluk (L1)", L90: "Min Nominal Uzunluk - 90° Başlık (L)", LCounter: "Min Nominal Uzunluk - Havşa Başlı (L)" };<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Self-Tapping Screw Thread Specification Reference Table</title> <style> *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;} body{margin:24px auto;max-width:99%;padding:0 12px;} h2{text-align:center;color:#1a1a1a;margin-bottom:20px;} table{border-collapse:collapse;width:100%;font-size:14px;} th,td{border:1px solid #555;padding:9px 6px;text-align:center;vertical-align:middle;} th{background:#b3d9ff;font-weight:bold;} .left-align{text-align:left;} .query-box{margin:20px 0;padding:14px;border:1px solid #ccc;border-radius:6px;} .query-box input, .query-box select, .query-box button{padding:8px 11px;font-size:15px;margin:0 7px;} #query-result{margin-top:13px;font-size:16px;font-weight:600;} .error-text{color:#c22121;} .success-text{color:#00692c;} </style> </head> <body> <h2>Self-Tapping Screw Thread Specification Table (Unit: Inch)</h2> <!-- Query Operation Panel --> <div class="query-box"> <input id="thread-input" placeholder="Input Thread Spec: 2# / 3# / 4# / 5# / 6# / 8# / 10# / 1/4 / 5/16 / 3/8 / 7/16 / 1/2"> <select id="param-select"> <option value="PP">PP - Threads per inch</option> <option value="D">D - Max Major Diameter</option> <option value="dp">dp - Max Point Diameter</option> <option value="d1">d1 - Max Thread Circumscribed Circle Diameter</option> <option value="d2">d2 - Max Point Circumscribed Circle Diameter</option> <option value="L1max">L1 Max - Point Length Max</option> <option value="L1min">L1 Min - Point Length Min</option> <option value="L90">L Min Length (90° Head)</option> <option value="LCounter">L Min Length (Countersunk Head)</option> </select> <button onclick="searchSpecData()">Search Parameter Value</button> <div id="query-result"></div> </div> <!-- Table Render Container --> <div id="table-wrapper"></div> <script> // Raw full dataset extracted from the table image const specDataset = [ { spec: "2#", PP: 56, D: 0.086, dp: "/", d1: 0.088, d2: 0.070, L1max: 0.062, L1min: 0.036, L90: "5/32", LCounter: "3/16" }, { spec: "3#", PP: 48, D: 0.099, dp: "/", d1: 0.101, d2: 0.081, L1max: 0.073, L1min: 0.042, L90: "3/16", LCounter: "7/32" }, { spec: "4#", PP: 40, D: 0.112, dp: 0.086, d1: 0.115, d2: 0.090, L1max: 0.088, L1min: 0.050, L90: "3/16", LCounter: "1/4" }, { spec: "5#", PP: 40, D: 0.125, dp: 0.099, d1: 0.128, d2: 0.103, L1max: 0.088, L1min: 0.050, L90: "7/32", LCounter: "1/4" }, { spec: "6#", PP: 32, D: 0.138, dp: 0.106, d1: 0.141, d2: 0.111, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "5/16" }, { spec: "8#", PP: 32, D: 0.164, dp: 0.132, d1: 0.167, d2: 0.137, L1max: 0.109, L1min: 0.062, L90: "1/4", LCounter: "11/32" }, { spec: "10#", PP: 24, D: 0.190, dp: 0.147, d1: 0.194, d2: 0.153, L1max: 0.146, L1min: 0.083, L90: "5/16", LCounter: "13/32" }, { spec: "1/4", PP: 20, D: 0.250, dp: 0.198, d1: 0.255, d2: 0.206, L1max: 0.175, L1min: 0.100, L90: "13/32", LCounter: "1/2" }, { spec: "5/16", PP: 18, D: 0.313, dp: 0.255, d1: 0.318, d2: 0.264, L1max: 0.194, L1min: 0.111, L90: "15/32", LCounter: "5/8" }, { spec: "3/8", PP: 16, D: 0.375, dp: 0.310, d1: 0.381, d2: 0.320, L1max: 0.219, L1min: 0.125, L90: "9/16", LCounter: "23/32" }, { spec: "7/16", PP: 14, D: 0.438, dp: 0.361, d1: 0.445, d2: 0.375, L1max: 0.250, L1min: 0.143, L90: "21/32", LCounter: "13/16" }, { spec: "1/2", PP: 13, D: 0.500, dp: 0.416, d1: 0.508, d2: 0.433, L1max: 0.269, L1min: 0.154, L90: "23/32", LCounter: "7/9" } ]; // Column definition for table rendering const tableHeaderCols = [ "Thread Specification", "2#", "3#", "4#", "5#", "6#", "8#", "10#", "1/4", "5/16", "3/8", "7/16", "1/2" ]; const rowParamConfig = [ { label: "PP", fullName: "Threads per inch", fieldKey: "PP", subLabel: "" }, { label: "D", fullName: "Major Diameter", fieldKey: "D", subLabel: "Max" }, { label: "dp", fullName: "Point Diameter", fieldKey: "dp", subLabel: "Max" }, { label: "d1", fullName: "Thread Circumscribed Circle Diameter", fieldKey: "d1", subLabel: "Max" }, { label: "d2", fullName: "Point Circumscribed Circle Diameter", fieldKey: "d2", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1max", subLabel: "Max" }, { label: "L1", fullName: "Point Length", fieldKey: "L1min", subLabel: "Min" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "L90", subLabel: "90° Head" }, { label: "L", fullName: "Minimum Nominal Length", fieldKey: "LCounter", subLabel: "Countersunk Head" } ]; /** * Render complete specification table to page */ function renderFullSpecTable() { let htmlStr = `<table>`; // Table header row htmlStr += `<tr>`; tableHeaderCols.forEach(colName => { htmlStr += `<th class="left-align">${colName}</th>`; }); htmlStr += `</tr>`; // Generate each parameter data row rowParamConfig.forEach(rowCfg => { htmlStr += `<tr>`; // First column: parameter label + full name + sub label htmlStr += `<th class="left-align"> <div>${rowCfg.label}</div> <div>${rowCfg.fullName}</div> ${rowCfg.subLabel ? `<div>${rowCfg.subLabel}</div>` : ""} </th>`; // Fill each thread spec cell value specDataset.forEach(specItem => { htmlStr += `<td>${specItem[rowCfg.fieldKey]}</td>`; }); htmlStr += `</tr>`; }); htmlStr += `</table>`; document.getElementById("table-wrapper").innerHTML = htmlStr; } /** * Search spec parameter value by user input */ function searchSpecData() { const inputSpec = document.getElementById("thread-input").value.trim(); const targetParamKey = document.getElementById("param-select").value; const resultDom = document.getElementById("query-result"); let matchedSpec = null; // Match input thread specification for(let i=0; i<specDataset.length; i++) { if(specDataset[i].spec === inputSpec) { matchedSpec = specDataset[i]; break; } } if(!matchedSpec) { resultDom.className = "error-text"; resultDom.textContent = "Error: Invalid thread specification, please check input (example: 8# / 1/4)"; return; } // Map select text to readable full name const paramNameMap = { PP: "Threads per inch (PP)", D: "Max Major Diameter (D)", dp: "Max Point Diameter (dp)", d1: "Max Thread Circumscribed Circle Diameter (d1)", d2: "Max Point Circumscribed Circle Diameter (d2)", L1max: "Point Length Max (L1)", L1min: "Point Length Min (L1)", L90: "Min Nominal Length - 90° Head (L)", LCounter: "Min Nominal Length - Countersunk Head (L)" }; const value = matchedSpec[targetParamKey]; resultDom.className = "success-text"; resultDom.textContent = `Query Result | Thread Spec: ${inputSpec}, Parameter: ${paramNameMap[targetParamKey]}, Value = ${value}`; } // Auto render table after page loaded window.onload = renderFullSpecTable; </script> </body> </html>
Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.
Fill in more information so that we can get in touch with you faster
Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.