दस्तावेज़
एक देशी विनिर्माण कार्यक्रम तैयार करें
एक वास्तविक भाग कैप्चर करें, उसके निर्माण कार्य का मूल्यांकन करें, पोस्ट किए गए एनसी साक्ष्य का निरीक्षण करें, और एक दस्तावेज़ सहेजें जिसे दोबारा जांचा जा सके।
स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें
जानें कि आप किस परिणाम का अनुरोध कर रहे हैं
मूल निर्माण एक नियतात्मक सीएडी/सीएएम गणना है, जो भाषा मॉडल से स्वतंत्र है। POST /api/toolpaths/manufacture एक स्पष्ट सीएडी स्नैपशॉट स्वीकार करता है, विनिर्माण संसाधन तैयार करता है, आदेशित संचालन की योजना बनाता है या स्वीकार करता है, कटिंग डेटा की गणना करता है, टूलपाथ उत्पन्न करता है, एक एनसी प्रोग्राम पोस्ट करता है, और उस पाठ को स्वतंत्र रूप से दोबारा चलाता है। प्रतिक्रिया में इसके रिलीज़ स्तर का समर्थन करने वाले साक्ष्य शामिल हैं।
यह एंडपॉइंट कोई ड्राइंग नहीं बनाता, टूलपाथ नहीं सहेजता, या संपादक को अपडेट नहीं करता। एक सफल प्रतिक्रिया का निरीक्षण करना और जानबूझकर उसे जारी रखना एक मूल्य है। यह से भिन्न है /api/toolpaths/generate, जो मिल/लेथ/प्रिंटर आउटपुट के लिए एप्लिकेशन जनरेटर सेटिंग्स को अनुकूलित करता है, और से /api/toolpaths/verify, जो स्पष्ट रूप से मॉडल किए गए स्टॉक और एक टूल के विरुद्ध आपूर्ति किए गए एनसी/प्रोग्राम को दोबारा चलाता है।
उपयोग मशीनिंग समापनबिंदु अनुरोध/प्रतिक्रिया स्कीमा के लिए, सीएएम संदर्भ मुख्य अभ्यावेदन के लिए, और सहेजा गया प्रोग्राम संदर्भ दृढ़ता व्यवहार के लिए. निम्नलिखित कार्य जानबूझकर इतना छोटा है कि किसी मौजूदा प्रोजेक्ट को संपादित किए बिना पुन: पेश किया जा सकता है और निरीक्षण किया जा सकता है।
एक संपूर्ण, मान्य स्नैपशॉट भेजें
इस JSON को इस रूप में सहेजें native-job.json. यह एक 40 × 40 × 10 मिमी पीओएम ब्लैंक का वर्णन करता है जो (20,20,5) पर केन्द्रित है, प्रत्येक X/Y पक्ष पर 2 मिमी स्टॉक और ऊपर 1 मिमी से घिरा हुआ है। पेलोड को वास्तविक द्वारा डिकोड किया गया था CamKernelRequest स्कीमा और कर्नेल द्वारा मूल्यांकन; इसके आधारभूत परिणाम में तीन नियोजित ऑपरेशन शामिल हैं। क्लाइंट में अपेक्षित रिलीज़ को हार्ड-कोड करने के बजाय हमेशा लौटाए गए दावों का निरीक्षण करें।
{
"schemaVersion": 1,
"id": "blank-job",
"name": "POM blank",
"material": "POM",
"elements": [{
"id": "blank",
"type": "cube",
"x": 20, "y": 20, "z": 5,
"width": 40, "height": 40, "depth": 10
}],
"stock": { "x": 20, "y": 20, "width": 44, "height": 44, "depth": 11 },
"resolution": 0.5
} curl --fail-with-body \
-H "Authorization: Bearer $CADCAMFUN_TOKEN" \
-H "Content-Type: application/json" \
--data-binary @native-job.json \
"$CADCAMFUN_URL/api/toolpaths/manufacture" > native-result.json शेल फ़ाइल निरीक्षण के लिए सटीक प्रतिक्रिया कैप्चर करती है। समान कैप्चर किए गए अनुरोध की आपूर्ति करने से नियतात्मक मूल आउटपुट प्राप्त होता है; नए हिस्से की स्थिति, कटर, संचालन या गुणवत्ता नियंत्रण का उपयोग करना एक अलग काम है। अनुरोध पहचान लेबल ट्रैकिंग के लिए उपयोगी होते हैं, लेकिन आर्टिफैक्ट के डाइजेस्ट इसके वास्तविक स्रोत और एनसी सामग्री को बांधते हैं।
स्टॉक और कार्य निर्देशांक का समाधान करें
स्नैपशॉट स्टॉक केंद्र X/Y और पूरी चौड़ाई/ऊंचाई/गहराई का उपयोग करता है। स्नैपशॉट एडॉप्टर पहले चयनित भाग की ज्यामिति बनाता है, उसका निम्नतम Z ढूंढता है, और स्टॉक को वहां नीचे रखता है; इसका शीर्ष वह तल और घोषित गहराई है। उदाहरण में, भाग Z0 से Z10 तक और स्टॉक Z0 से Z11 तक फैला हुआ है। X/Y में स्टॉक सीमाएं −2 से 42 हैं।
एडॉप्टर उन सीमाओं के लिए स्पष्ट आयामों का उपयोग करता है। यह स्टॉक रिकॉर्ड के प्रदर्शन भत्ते और स्टॉक को दोबारा नहीं जोड़ता है topZ फ़ील्ड इस मूल स्नैपशॉट एडाप्टर में निम्नतम-भाग एंकरिंग को प्रतिस्थापित नहीं करता है। संपादक मेटाडेटा और विनिर्माण कार्य के निर्माण के लिए वास्तव में उपयोग किए गए फ़ील्ड के बीच अंतर रखें।
कार्य मूल डिफ़ॉल्ट है stock-center: स्टॉक केंद्र X/Y इसके शीर्ष Z पर। stock-corner एक ही शीर्ष पर न्यूनतम X/Y चुनता है। इनपुट ऑपरेशन ज्यामिति सीएडी विश्व मिलीमीटर में है, जबकि परिणामी प्रोग्राम चाल/एनसी कार्य निर्देशांक में हैं। पारंपरिक कटाई कार्य Z0 से नीचे जाती है। workOffset वैकल्पिक है; प्रोग्राम का डिफ़ॉल्ट G54 है।
आपूर्ति किए गए स्टॉक के बिना, निचले स्तर की नौकरी की तैयारी प्रत्येक एक्स/वाई पक्ष पर 2 मिमी अतिरिक्त और ऊपर 1 मिमी के साथ भाग की सीमा को संलग्न करती है। स्पष्ट स्टॉक के बाहर का हिस्सा अस्वीकार कर दिया जाता है; अनुरोधित कटिंग गहराई बढ़ाने से असंगत स्टॉक में भाग शामिल नहीं होता है।
सामग्री, मशीन और कटर का चयन करें
सामग्री एक लुकअप स्ट्रिंग है जिसे कर्नेल की सामग्री लाइब्रेरी के विरुद्ध हल किया गया है, जिसमें समर्थित आईडी, नाम और उपनाम शामिल हैं। अज्ञात सामग्री एक टाइप की गई तैयारी समस्या लौटाती है। HTTP स्नैपशॉट की वैकल्पिक मशीन एक पंजीकृत प्रीसेट आईडी है: वीएमसी-मानक, हास-वीएफ 2, एचएससी-मिल, डेस्कटॉप-मिल, या सीएनसी-राउटर। इसे छोड़ने पर vmc-standard का उपयोग होता है। प्रीसेट विशिष्ट मशीन वर्गों और सीमाओं का वर्णन करते हैं, न कि किसी व्यक्तिगत इंस्टॉलेशन के योग्य मॉडल का।
उपकरण छोड़ने पर डिफ़ॉल्ट कटर पालना का उपयोग होता है। उपकरण की आपूर्ति उस पालने को बदल देती है और इसके लिए 1–200 कटर रिकॉर्ड की आवश्यकता होती है। एक कटर इसके प्रकार, व्यास, बांसुरी की संख्या, सामग्री/कोटिंग, बांसुरी की लंबाई, टांग के व्यास और स्टिकआउट की पहचान करता है। वैकल्पिक धारक आयाम, अधिकतम आरपीएम, पॉकेट संख्या, और प्रकार-विशिष्ट ज्यामिति पीढ़ी और निकासी को परिष्कृत करते हैं। बांसुरी 1 से 24 तक पूर्णांक होनी चाहिए; स्पष्ट पॉकेट संख्याएँ 1–999 हैं।
ऑपरेशन टूल आईडी में उस आपूर्ति की गई लाइब्रेरी में कटर का नाम होना चाहिए। डुप्लिकेट कटर आईडी, अमान्य आयाम और पहुंच योग्य रणनीति/उपकरण संयोजन अनुमानित प्रतिस्थापन के बजाय समस्याएं उत्पन्न करते हैं। स्कीमा फ्लैट, बॉल, बुल, चम्फर, स्पॉट, ड्रिल, फेसमिल, थ्रेडमिल और एनग्रेवर प्रकार को स्वीकार करती है।
सार्वजनिक स्नैपशॉट मशीन स्ट्रिंग कस्टम मशीन रिकॉर्ड स्वीकार नहीं करती है। निचले स्तर पर कॉल करने वाला एक कोड एकीकरण ManufacturingJob एपीआई स्पष्ट रूप से मशीन सीमा, यात्रा और टेबल ज्यामिति प्रदान कर सकता है। उस रिकॉर्ड को न भेजें जहां HTTP स्कीमा प्रीसेट स्ट्रिंग की अपेक्षा करता है।
स्वचालित रूप से योजना बनाएं या मशीनिंग आदेश निर्दिष्ट करें
जब संचालन अनुपस्थित होते हैं, तो योजनाकार उन्हें भाग से प्राप्त करता है। एक स्पष्ट संचालन सरणी आधिकारिक मशीनिंग आदेश है, न कि चुपचाप पुन: व्यवस्थित किए जाने वाले सुझावों की सूची। प्रत्येक ऑपरेशन में एक अद्वितीय आईडी और एक टूल संदर्भ होता है। समर्थित रणनीति रिकॉर्ड में प्रत्येक के लिए उपयुक्त ज्यामिति के साथ फेस, एडाप्टिव, पॉकेट, प्रोफाइल, बोर, ड्रिल, थ्रेड, एनग्रेव, चैम्बर और सतह का काम शामिल है।
एक प्रोफ़ाइल एक लूप का उपयोग करती है, अंदर/बाहर की तरफ, और विश्व-समन्वय ऊपर/नीचे। पॉकेट/अनुकूली कट वैकल्पिक द्वीप रिंगों के साथ एक बंद सीमा का उपयोग करता है। ड्रिलिंग पॉइंट प्लस टॉप/बॉटम का उपयोग करती है। थ्रेड-मिल रिकॉर्ड में केंद्र, व्यास, पिच, आंतरिक ध्वज, शीर्ष और लंबाई शामिल होती है। एक सतह रिकॉर्ड खुरदरा, समानांतर, जलरेखा, या खड़ी-उथले व्यवहार को चुनता है; बाकी संदर्भ में उचित पिछले कार्य की पहचान होनी चाहिए।
प्रति-ऑपरेशन प्रक्रिया ओवरराइड में आरपीएम, फ़ीड, प्लंज फ़ीड, स्टेपडाउन, स्टेपओवर, कूलेंट और रेडियल एंगेजमेंट शामिल हो सकते हैं। गुम मान सामग्री/कटर/मशीन कटिंग डेटा से आते हैं। स्टेपओवर 1 से 100 तक का प्रतिशत है; स्टेपडाउन और फ़ीड सकारात्मक हैं। आर्टिफैक्ट ओवरराइड किए गए फ़ील्ड को गणना किए गए पैरामीटर से अलग से रिकॉर्ड करता है ताकि एक समीक्षक देख सके कि प्रक्रिया विकल्प कहां से आए।
देशी कर्नेल संचालन के बीच अनंतिम स्टॉक रखता है और अपने संयुक्त आईआर को एक बार पोस्ट करता है। इसके विपरीत, combineCamOperations सहेजे गए जेनेरिक ऑपरेशन अनुभागों के लिए पहले से जेनरेट किए गए एनसी टेक्स्ट को जोड़ता है; यह उन अनुभागों को एक एकीकृत नियंत्रक प्रोग्राम में परिवर्तित नहीं करता है। जब एकीकृत पीढ़ी और रीप्ले की आवश्यकता हो तो मूल आर्टिफैक्ट का उपयोग करें।
गुणवत्ता नियंत्रण सेट करें और उनकी लागत समझें
| इनपुट | अर्थ और सीमा |
|---|---|
finishAllowance | 0–5 मिमी रफ़िंग भत्ता; छोड़ा गया सामग्री के डिफ़ॉल्ट का उपयोग करता है। |
scallop | सकारात्मक, अधिकतम 1 मिमी; देशी फिनिशिंग के लिए डिफ़ॉल्ट 0.01 मिमी। |
tolerance | सकारात्मक पथ सहिष्णुता; मूल डिफ़ॉल्ट 0.01 मिमी. |
resolution | सकारात्मक रीप्ले सेल आकार; स्टॉक साक्ष्य के स्थानिक रिज़ॉल्यूशन को नियंत्रित करता है। |
deburr | सकारात्मक, अधिकतम 5 मिमी; योजनाकार को समर्थित टॉप-एज चैम्बर कार्य जोड़ने के लिए कहता है। |
subprograms | वैकल्पिक अनुवादित-दोहराव उत्सर्जन जहां बोली इसका समर्थन करती है, जैसे फैनुक/हास एम98 उपप्रोग्राम। |
अनुरोध 1–2,000 CAD तत्वों और अधिकतम 500 स्पष्ट संचालन का समर्थन करता है। छोटी सहनशीलता और रीप्ले सेल कम्प्यूटेशनल कार्य को बढ़ाते हैं और स्वचालित रूप से असमर्थित ज्यामिति को साबित नहीं करते हैं। परिणाम के साथ रिपोर्ट किए गए रिज़ॉल्यूशन को सुरक्षित रखें। व्यूपोर्ट मेश और डाउनसैंपल्ड स्टॉक पूर्वावलोकन डिस्प्ले आउटपुट हैं, एक स्वतंत्र बेहतर सिमुलेशन नहीं।
नेटिव पोस्टिंग कटर असाइनमेंट से टूल नंबर सेट करती है और टूल-परिवर्तन से पहले वापस लेने का अनुरोध करती है। पोस्ट प्रारूप निश्चित दशमलव के साथ समन्वयित होता है। वास्तविक एनसी और चयनित बोली का निरीक्षण करें; नियंत्रक नाम इंस्टॉलेशन के पोस्ट व्यवहार को सत्यापित करने की आवश्यकता को समाप्त नहीं करता है।
स्थिति, दावे और रिहाई की व्याख्या करें
परिणाम एक संघ है: status: "failed" मुद्दों के साथ, या status: "ok" एक कलाकृति के साथ. एक ठीक कलाकृति अभी भी हो सकती है release: "blocked". दोनों परतें पढ़ें; अकेले HTTP स्थिति या बाहरी स्थिति की जाँच करना अपर्याप्त है।
आर्टिफैक्ट ऑर्डर किए गए ऑपरेशन परिणामों, कटिंग डेटा, प्रोग्राम आईआर, प्रयुक्त कटर, एनसी, स्टॉक आंकड़े, चक्र-समय अनुमान, मुद्दे और पहचान डाइजेस्ट को बरकरार रखता है। दावे पारित, विफल, असमर्थित या अनसुलझे स्थिति में हैं। वे कटिंग डेटा, मशीन सीमा, ऑपरेशन पूरा होने, रैपिड/होल्डर क्लीयरेंस, गॉजिंग, सामग्री हटाने, स्वतंत्र एनसी रीप्ले, मशीन यात्रा और मशीन/टेबल क्लीयरेंस को कवर करते हैं।
कठिन त्रुटि समस्याएँ या खाली NC ब्लॉक रिलीज़। बिना किसी कड़ी विफलता के, अधूरे साक्ष्य तब तक पूर्वावलोकन प्रस्तुत करते हैं जब तक कि रिलीज़ नियम संतुष्ट न हो जाए। वर्तमान नियम सत्यापित-प्रोग्राम लौटाते समय एक असमर्थित मशीन-यात्रा दावे की अनुमति देता है; अंतर्निर्मित प्रीसेट सभी स्पष्ट अक्ष यात्रा प्रदान नहीं करते हैं। यह तय करते समय उस दावे की जाँच करें कि परिणाम किसी विशेष मशीन को कवर करता है या नहीं।
साक्ष्य की एक मॉडल सीमा होती है
मूल स्टॉक/धारक रीप्ले एक तीन-अक्ष ऊंचाई-क्षेत्र जांच है। सार्वजनिक मूल स्नैपशॉट में कोई फिक्सचर-लिफ़ाफ़ा फ़ील्ड नहीं है। स्टैंडअलोन सत्यापन फिक्स्चर लिफाफों को स्वीकार करता है, लेकिन उन्हें निहितार्थ द्वारा मूल साक्ष्य में नहीं जोड़ा जाता है। एक सत्यापित-प्रोग्राम लेबल उसके कैप्चर किए गए मॉडल और जांच के बारे में सबूत है, न कि मशीन प्रमाणन।
कर्नेल परिणाम उनके निर्माता की पहचान करते हैं: एल्गोरिदम पहचानकर्ता है cadcamfun-cam-kernel@1 और अनुबंध स्कीमा संस्करण है 1 (packages/core/src/cam/kernel/execute.ts, contracts.ts). यह तय करते समय दोनों की तुलना करें कि संग्रहीत साक्ष्य एक ही कर्नेल से आए हैं या नहीं।
सटीक परिणाम से एक पोर्टेबल दस्तावेज़ बनाएं
A CamProgramDocument एनसी, प्रोग्राम, जनरेटर/प्रिंटर सेटिंग्स, स्टॉक और ड्राइंग स्नैपशॉट को सुरक्षित रखता है। वैकल्पिक कर्नेलRequest/kernelArtifact मूल स्रोत साक्ष्य को बनाए रखता है। यह उदाहरण कैप्चर किए गए अनुरोध और परिणाम को सहेजे बिना उस दस्तावेज़ में परिवर्तित कर देता है; इसे कोर, एपीआई और इफेक्ट, जैसे ऐप्स/साइडकार, के आधार पर कार्यक्षेत्र में चलाएं।
import { Schema } from "effect"
import { cam } from "@cadcamfun/core"
import { CamKernelRequest, CamKernelResult, CamProgramDocument } from "@cadcamfun/api"
const request = Schema.decodeUnknownSync(CamKernelRequest)(await Bun.file("native-job.json").json())
const result = Schema.decodeUnknownSync(CamKernelResult)(await Bun.file("native-result.json").json())
if (result.status !== "ok" || result.value.release === "blocked") {
throw new Error("The captured job has no releasable artifact")
}
const document = Schema.decodeUnknownSync(CamProgramDocument)({
format: "cadcamfun-cam", version: 1,
gcode: result.value.nc, program: result.value.program,
settings: cam.generator.DEFAULT_SETTINGS,
printer: cam.generator.DEFAULT_PRINTER_EXTRAS,
stock: request.stock,
drawing: { elements: request.elements, stock: request.stock },
kernelRequest: request, kernelArtifact: result.value
})
await Bun.write("portable-program.json", JSON.stringify(document, null, 2)) उदाहरण के लिए स्पष्ट स्टॉक की आवश्यकता है, जैसा कि आपूर्ति किए गए न्यूनतम अनुरोध में है। इसकी सामान्य संपादक सेटिंग्स नियंत्रणों को फिर से खोल रही हैं, जबकि कैप्चर किया गया कर्नेल अनुरोध सत्य का मूल स्रोत है। एप्लिकेशन कार्यक्षेत्र से कैप्चर करते समय सभी वास्तविक संपादक सेटिंग्स को सुरक्षित रखें।
वास्तविक ड्राइंग से बचाएं
दस्तावेज़ को अलग से सहेजें POST /api/drawings/:id/toolpaths, नाम, जी-कोड और संपूर्ण पोर्टेबल दस्तावेज़ वाले डेटा के साथ। कॉल करने वाले के लिए पहुंच योग्य वास्तविक ड्राइंग आईडी का उपयोग करें। पोर्टेबल सेव के लिए प्रोजेक्ट-मालिक या संगठन एडमिन/मैनेजर को लिखने की पहुंच की आवश्यकता होती है; केवल एक सफल गणना ही दृढ़ता की अनुमति नहीं देती है।
साइडकार दस्तावेज़ को डीकोड करता है, पंक्ति एनसी को दस्तावेज़ एनसी के बराबर जांचता है, और एक नए मूल आर्टिफैक्ट पर भरोसा करने से पहले कैप्चर किए गए कर्नेल अनुरोध को दोबारा चलाता है। यह परिणामी आर्टिफैक्ट, प्रोग्राम और मूल एनसी की तुलना करता है। संपादित साक्ष्य, अवरुद्ध पुनः संचालन, या असंगत बाइट्स अस्वीकार कर दिए जाते हैं। क्लाइंट द्वारा प्रदत्त सत्यापन/स्रोत संशोधन फ़ील्ड विश्वास स्थापित नहीं करते हैं।
जब चयनित तत्व और स्टॉक संबंधित ड्राइंग से मेल खाते हैं, तो सेवा एक ड्राइंग रिवीजन डाइजेस्ट प्राप्त करती है। जब स्रोत वर्तमान ड्राइंग से मेल नहीं खाता है तो एक सहेजे गए मूल आर्टिफैक्ट में उस संशोधन की कमी हो सकती है। उस अंतर को दृश्यमान रखें: वैध कैप्चर किया गया आउटपुट आवश्यक रूप से नवीनतम संग्रहीत मॉडल के लिए ताज़ा आउटपुट नहीं है।
देखना टूलपाथ दृढ़ता समापन बिंदु और सटीक सीएडी विश्लेषण एक समृद्ध कैप्चर/सेव फ़्लो को असेंबल करते समय। प्रोजेक्ट टूलपाथ वैरिएंट से बचें जब तक कि इसका विशिष्ट क्वेरी-पैरामीटर अनुबंध अपेक्षित न हो।
परिवर्तनों के बाद पुनर्जीवित करें और अस्वीकृति का निदान करें
ज्यामिति, स्टॉक, उत्पत्ति, उपकरण, सामग्री, मशीन, संचालन क्रम या एनसी बदलने से साक्ष्य संबंध बदल जाता है। अद्यतन कैप्चर किए गए अनुरोध से पुन: उत्पन्न करें। एक सादा एनसी संपादन उपयोगी सामान्य पाठ बना रह सकता है, लेकिन इसमें नए बाइट्स के प्रमाण के रूप में पहले की मूल कलाकृति नहीं होनी चाहिए। सेव सेवा असंगत मूल मेटाडेटा को हटा देती है या असंगत नए दस्तावेज़ को अस्वीकार कर देती है।
अज्ञात मशीन प्रीसेट एक एडाप्टर सत्यापन त्रुटि है। अज्ञात सामग्री/उपकरण, अमान्य स्टॉक रोकथाम, खाली ज्यामिति, और असमर्थित मशीनिंग से तैयारी/योजना संबंधी समस्याएं उत्पन्न होती हैं। गॉज, रैपिड-इन-स्टॉक, होल्डर/टेबल टकराव, और रीप्ले बेमेल उत्पन्न गति/सबूत की ओर इशारा करते हैं। प्रक्रिया नियंत्रण बदलने से पहले समस्या में ऑपरेशन आईडी, चरण, रेखा और बिंदु का पता लगाएं।
एक स्रोत पेलोड JSON स्कीमा डिकोडिंग को पास कर सकता है और फिर भी एक वैध कार्य उत्पन्न करने में विफल हो सकता है। इसके विपरीत, एक आर्टिफ़ैक्ट अवरुद्ध रिलीज़ के साथ मौजूद हो सकता है। किसी भी स्थिति का निदान करते समय मूल अनुरोध/परिणाम युग्म को सट्टा सेटिंग्स परिवर्तन के साथ अधिलेखित करने के बजाय रखें।
कार्यान्वयन उद्गम: packages/api/src/cam-kernel.ts, cam-program.ts, मुख्य cam/kernel/snapshot.ts, execute.ts, schema.ts, और साइडकार services/cam-program.ts. केन्द्रित साक्ष्य परीक्षण हैं packages/core/src/cam/kernel/kernel.test.ts और apps/sidecar/test/cam-program.test.ts.
उदाहरण परिणाम पर चलें
बिना एक operations सरणी योजनाकार ने डिफ़ॉल्ट कटर पालना से तीन ऑपरेशन चुने, प्रत्येक का अपना उपकरण परिवर्तन था। एनसी हेडर किसी भी प्रस्ताव से पहले उनका सारांश प्रस्तुत करता है:
%
O1000
(PROGRAM: POM BLANK)
(UNITS: MM)
(WORK OFFSET: G54)
(MACHINE: VERTICAL MACHINING CENTRE BT40, 12 000 RPM, 11 KW)
(MATERIAL: ACETAL POM-C DELRIN)
(STOCK: 44.00 X 44.00 X 11.00 MM)
(OP 1: FACE STOCK TOP | T1 [FACEMILL-50] | S1810 | F815-1629)
(OP 2: 3D ADAPTIVE ROUGHING | T2 [FLAT-16] | S7160 | F2848-5696)
(OP 3: 3D STEEP AND SHALLOW FINISHING | T3 [BALL-10] | S12000 | F1642-3283)
G21 G90 G17 G94 G40 G49 G80
G54
(OPERATION: FACE STOCK TOP)
T1 M6
G43 H1
M3 S1810
(OP1 FACE)
(FACE: FACE STOCK TOP)
G0 X-48.000 Y-22.000 Z10.000
Z5.000
Z2.000
Z1.000
G1 Z-1.000 F815
X48.000 F1629
Y0.000
X-48.000
Y22.000
X48.000
G0 Z2.000 के साथ कार्यक्रम समाप्त होता है G0 Z10.000, M5, M30 और %. कुल लंबाई: 3071 पंक्तियाँ। क्योंकि कोई मशीन नहीं दी गई थी vmc-standard प्रीसेट लागू, जिसका पद है fanuc: इसलिए %/O1000 फ़्रेमिंग, T1 M6 उपकरण परिवर्तन और G43 H1 लंबाई मुआवजा.
किसी ऑपरेशन का कटिंग डेटा पढ़ें
प्रत्येक ऑपरेशन में एक होता है cutting रिकॉर्ड जो दिखाता है कि इसकी गति और फ़ीड कैसे प्राप्त की गईं। उपरोक्त रफिंग ऑपरेशन के लिए ये मान हैं:
| मैदान | कीमत | अर्थ |
|---|---|---|
rpm | 7160 | वीसी से स्पिंडल गति और प्रभावी व्यास |
vc / vcRecommended | 359.9 / 360 मी/मिनट | प्राप्त और अनुशंसित सतह गति |
fz | 0.199 mm | चिप-पतलापन सुधार के बाद प्रति दांत फ़ीड करें |
chipThickness | 0.159 mm | परिणामी औसत चिप मोटाई |
feed / plungeFeed | 5696 / 2848 मिमी/मिनट | चारा काटना और डुबाना |
ap / ae | 10 / 3.2 मिमी | अक्षीय गहराई और रेडियल जुड़ाव (20 % स्टेपओवर) |
rampAngle / helixPitch | 5° / 4.398 mm | प्रवेश ज्यामिति |
mrr | 182.258 सेमी³/मिनट | सामग्री हटाने की दर |
powerKw / torqueNm / forceN | 1.862 / 1.986 / 248 | अनुमानित भार, मशीन की सीमा के अनुसार जांचा गया |
deflectionMm | 0.0157 mm | अनुमानित उपकरण विक्षेपण |
limitedBy, warnings, exceeded | खाली | कौन सी सीमा किसी मान को सीमित करती है; यहां कुछ नहीं किया |
source reads: "Acetal POM-C (Delrin) (ISO N): Vc 360 m/min, fz 0.159 mm at Ø16, kc1.1 300 N/mm² mc 0.2 (handbook starting values)". The reference ब्लॉक सामग्री-तालिका पंक्ति, उपयोग किए गए कॉलम और प्रत्येक गुणन कारक को सूचीबद्ध करता है (यहां)। cutSpeed 1.2, diameterScale 1.326, chipThinning 1.25). इसका basis बताता है कि ये हैंडबुक शुरुआती मूल्य हैं, कटर के लिए आपूर्तिकर्ता का प्रमाणित डेटा नहीं।
आरंभिक मूल्य, कोई गारंटी नहीं
डेटा काटने को एक तर्कसंगत पहला प्रयास मानें। उत्पादन से पहले उन्हें अपने टूल सप्लायर के डेटा और मशीन के विरुद्ध जांचें, और जब आप बेहतर जानते हों तो प्रति ऑपरेशन ओवरराइड करें: आर्टिफैक्ट तब फ़ील्ड को रिकॉर्ड करता है overridden.
विरूपण साक्ष्य पहचान
| मैदान | उदाहरण | का हैश |
|---|---|---|
identity.job | aa2159be8c7c4228… | विहित कार्य |
identity.part | 91a5382540991195… | भाग ज्यामिति |
identity.nc | 1614df331826682c… | सटीक एनसी पाठ |
identity.algorithm | cadcamfun-cam-kernel@1 | कर्नेल का नाम और संस्करण |
उसी अनुरोध को दोबारा चलाने से वही पहचान पुन: उत्पन्न होती है। जब साइडकार किसी मूल कलाकृति को सहेजता है, तो यह कैप्चर किए गए अनुरोध को फिर से चलाता है और तुलना करता है; एक संपादित एनसी परिवर्तन identity.nc और सबूत के तौर पर खारिज कर दिया गया है.
विधि: टाइपस्क्रिप्ट से उत्पन्न करें और सहेजें
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
const request = JSON.parse(await Bun.file("native-job.json").text())
const result = await client.toolpathGenerator.manufacture(request)
if (result.status === "failed") throw new Error(result.issues.map((i) => i.message).join("; "))
const artifact = result.value
const failed = artifact.claims.filter((claim) => claim.status === "failed")
console.log(artifact.release, failed.map((claim) => `${claim.id}: ${claim.detail}`))
if (artifact.release === "blocked") process.exit(1)
await Bun.write("program.nc", artifact.nc) टूलपाथ के रूप में सहेजने के लिए अतिरिक्त रूप से पोर्टेबल की आवश्यकता होती है cadcamfun-cam इस कलाकृति से निर्मित दस्तावेज़, इसका program, कैप्चर किया गया अनुरोध और ड्राइंग स्नैपशॉट, जैसा कि ऊपर बताया गया है। SDK विधि HTTP बॉडी के समान JSON ऑब्जेक्ट लेती है, जिसे टाइप किया गया है ToolpathGeneratorManufactureInput.