सामग्री पर जाएँ
CADCAMFUN
दस्तावेज़

दस्तावेज़

परियोजना जीवनचक्र

एक प्रोजेक्ट बनाएं, उसका डिज़ाइन डेटा सहेजें, उसे दोबारा खोलें और सही प्रकार का इतिहास चुनें।

अंग्रेज़ी से स्वचालित रूप से अनुवादित। अंग्रेज़ी मूल देखें

किसी प्रोजेक्ट में क्या शामिल है

एक प्रोजेक्ट चित्र, पुन: प्रयोज्य घटकों और सहेजे गए टूलपाथों को समूहित करता है। एक ड्राइंग एक JSON दस्तावेज़ संग्रहीत करता है; एक घटक पुन: प्रयोज्य डिज़ाइन डेटा संग्रहीत करता है; एक टूलपाथ सादा एनसी और मेटाडेटा या एक मान्य पोर्टेबल सीएएम दस्तावेज़ रख सकता है। सामग्री, कटर और मशीन कॉन्फ़िगरेशन अलग-अलग संसाधन रिकॉर्ड हैं जिन्हें मशीनिंग वर्कफ़्लो संदर्भित कर सकता है। एक प्रोजेक्ट पहचानकर्ता उन संसाधन पहचानकर्ताओं में से किसी को प्रतिस्थापित नहीं करता है।

यह मार्गदर्शिका डेस्कटॉप द्वारा उपयोग किए जाने वाले उन्हीं परिवारों का अनुसरण करती है। यह एप्लिकेशन स्थिति को सहेजने, फ़ाइल डाउनलोड करने, टूलपाथ संस्करण को रिकॉर्ड करने और प्रोजेक्ट इतिहास को अलग करने को अलग करता है। वे ऑपरेशन अलग-अलग जानकारी सुरक्षित रखते हैं। उत्पादन कार्य में अनुक्रम लागू करने से पहले एक डिस्पोजेबल विकास परियोजना से शुरुआत करें।

उदाहरण अनुरोध टेम्पलेट हैं जिनके JSON निकाय वर्तमान स्कीमा से मेल खाते हैं। वे सर्वर प्रतिक्रियाएँ कैप्चर नहीं की गई हैं. प्रत्येक फ़ील्ड और घोषित स्थिति के लिए, का उपयोग करें परियोजनाओं, चित्र, अवयव, और टूलपाथ एपीआई संदर्भ.

वास्तविक एपीआई चुनें

डेस्कटॉप को इसके साथ चलाएँ bun run desktop:dev, या का उपयोग करके एक अलग मैनुअल साइडकार शुरू करें स्थानीय विकास नुस्खा. मैन्युअल प्रक्रिया एक अल्पकालिक पोर्ट की घोषणा करती है। एंडपॉइंट के बिना ब्राउज़र पूर्वावलोकन इन-मेमोरी फिक्स्चर का उपयोग करता है; यह स्थापित नहीं कर सकता कि कोई प्रोजेक्ट सर्वर को पुनरारंभ करने से बच जाता है।

दूसरा टर्मिनल: उदाहरण पोर्ट और टोकन बदलें
CADCAM_URL=http://127.0.0.1:43111
CADCAM_TOKEN=local-development-token
CADCAM_DEMO_DIR=$(mktemp -d /tmp/cadcamfun-project-guide.XXXXXX)

curl --fail-with-body "$CADCAM_URL/api/health"
curl --fail-with-body "$CADCAM_URL/api/projects"   -H "Authorization: Bearer $CADCAM_TOKEN"

स्वास्थ्य सार्वजनिक है, इसलिए यह सफल हो सकता है जबकि एक संरक्षित परियोजना अनुरोध प्राधिकरण विफल हो जाता है। इस प्रक्रिया के लिए दिए गए टोकन का उपयोग करें। निम्नलिखित उदाहरणों के लिए समान शेल रखें ताकि URL, टोकन, अस्थायी निर्देशिका और निकाले गए पहचानकर्ता उपलब्ध रहें। साइडकार के स्टडिन को उसके लॉन्चिंग टर्मिनल में खुला रखें।

एक प्रोजेक्ट बनाएं और उसका निरीक्षण करें

एक निजी निजी प्रोजेक्ट बनाएं
curl --fail-with-body -X POST "$CADCAM_URL/api/projects"   -H "Authorization: Bearer $CADCAM_TOKEN"   -H 'Content-Type: application/json'   -d '{"name":"Bracket study","description":"Disposable guide project","organizationId":null,"isPublic":false}'   -o "$CADCAM_DEMO_DIR/project.json"

CADCAM_PROJECT_ID=$(bun --no-env-file -e   'console.write((await Bun.file(process.argv[1]).json()).id)'   "$CADCAM_DEMO_DIR/project.json")
curl --fail-with-body "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID"   -H "Authorization: Bearer $CADCAM_TOKEN"

क्रिएशन प्रोजेक्ट पंक्ति के साथ HTTP 201 लौटाता है। हैंडलर को एक सच्चे नाम की आवश्यकता होती है, भले ही ट्रांसपोर्ट स्कीमा उस फ़ील्ड को वैकल्पिक घोषित करता है। आपूर्ति किया गया संगठन वही होना चाहिए जिससे कॉल करने वाला व्यक्ति संबंधित हो। प्रोजेक्ट को पढ़ने से मालिक/संगठन की जानकारी और ड्राइंग/घटक की संख्या वापस आ जाती है; यह सृजन से भिन्न प्रतिक्रिया आकार है।

डेस्कटॉप में, उपयोग करें /projects ब्राउज़ करने के लिए और /projects/:id डैशबोर्ड खोलने के लिए. इसमें चित्र, घटक और टूलपाथ टैब, साथ ही संपादन, हटाएं और संस्करण नियंत्रण क्रियाएं हैं। प्रोजेक्ट अपडेट के लिए फिर से नाम की आवश्यकता है; स्वामी या संगठन व्यवस्थापक/प्रबंधक अपडेट कर सकता है, जबकि हटाना स्वामी या व्यवस्थापक तक ही सीमित है।

एक ड्राइंग बनाएं और खोलें

एक खाली संपादक दस्तावेज़ बनाएं और उसका पहचानकर्ता रखें
curl --fail-with-body -X POST "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID/drawings"   -H "Authorization: Bearer $CADCAM_TOKEN"   -H 'Content-Type: application/json'   -d '{"name":"Main drawing","description":null,"data":{"elements":[],"version":"1.0"}}'   -o "$CADCAM_DEMO_DIR/drawing.json"

CADCAM_DRAWING_ID=$(bun --no-env-file -e   'console.write((await Bun.file(process.argv[1]).json()).id)'   "$CADCAM_DEMO_DIR/drawing.json")
curl --fail-with-body "$CADCAM_URL/api/drawings/$CADCAM_DRAWING_ID"   -H "Authorization: Bearer $CADCAM_TOKEN"

प्रोजेक्ट डैशबोर्ड के क्रिएट-ड्राइंग फ़्लो द्वारा उसी खाली दस्तावेज़ आकार का उपयोग किया जाता है। यह एक पंक्ति बनाता है, ज्यामिति नहीं। खुला /cad?drawingId=<id> या /drawings/<id> इसे संपादित करने के लिए. साथ /cad?projectId=<id>, CAD प्रोजेक्ट की नवीनतम ड्राइंग का चयन करता है; नामित ड्राइंग को प्राथमिकता दी जाती है।

ड्राइंग निर्माण के लिए प्रोजेक्ट एक्सेस और एक नाम की आवश्यकता होती है। किसी व्यक्तिगत ड्राइंग को पढ़ने/अपडेट करने के लिए प्रोजेक्ट स्वामी या संगठन के सदस्य की आवश्यकता होती है; विलोपन एक स्वामी/संगठन-व्यवस्थापक चेक जोड़ता है। JSON data जेनेरिक एंडपॉइंट द्वारा पूर्ण रूप से खींचने योग्य ज्यामिति दस्तावेज़ के रूप में मान्य नहीं है। इसलिए एक सफल लेखन यह साबित नहीं करता है कि प्रत्येक आपूर्ति किया गया तत्व प्रस्तुत कर सकता है।

डिज़ाइन डेटा सहेजें, डुप्लिकेट करें और निर्यात करें

पहले से खोले गए संग्रहीत ड्राइंग पर, सीएडी सेव एक्शन उस ड्राइंग को अपडेट करता है और लापता स्थानीय-लाइब्रेरी घटकों को अपने प्रोजेक्ट में जोड़ता है। सीएडी पेज अपना खुद का कार्यान्वयन करता है Cmd/Ctrl+S हैंडलर. संग्रहीत गंतव्य के बिना एक दस्तावेज़ निर्यात/सहेजें प्रवाह खोलता है; इस रूप में सहेजें प्रोजेक्ट के लिए ज्यामिति या चयनित तत्व की आवश्यकता होती है और एक नया प्रोजेक्ट और ड्राइंग बनाता है।

ड्राइंग स्नैपशॉट में तत्व, परतें, चयनित-तत्व पहचानकर्ता, मापने की सेटिंग्स और एक प्रारूप संस्करण शामिल है। वर्तमान लोड पथ तत्वों और वैध इकाइयों/सहिष्णुता सेटिंग्स को पुनर्स्थापित करता है, अज्ञात परत पहचानकर्ताओं को सक्रिय परत पर मैप करता है, और चयन को साफ़ करता है। किसी निर्यात में मौजूद फ़ील्ड से पूर्ण परत बहाली का अनुमान न लगाएं।

प्रोजेक्ट घटक सिंक्रनाइज़ेशन काटे गए, केस-असंवेदनशील नामों से मेल खाता है और लापता नाम जोड़ता है; यह समान नाम वाली परिभाषा को अधिलेखित नहीं करता है. घटक निर्माण सर्वोत्तम प्रयास है और स्वतंत्र रूप से विफल हो सकता है। एक सहेजी गई ड्राइंग यह साबित नहीं करती है कि प्रत्येक स्थानीय घटक की प्रतिलिपि बनाई गई थी, और बहु-अनुरोध सहेजा प्रवाह एक डेटाबेस लेनदेन नहीं है।

एक ड्राइंग कार्ड से, डुप्लिकेट अपने संग्रहीत डेटा को लोड करता है और एक नया पहचानकर्ता बनाता है। डाउनलोड उस ड्राइंग के डेटा को JSON के रूप में निर्यात करता है; यह संपूर्ण प्रोजेक्ट निर्यात नहीं करता है. सामान्य ड्राइंग अपडेट सत्य नाम/डेटा/थंबनेल मान लागू करते हैं और एक स्पष्ट शून्य विवरण की अनुमति देते हैं। वे रिपॉजिटरी के तुलना-और-स्वैप हैश पैरामीटर को उजागर नहीं करते हैं।

एक पुन: प्रयोज्य घटक संग्रहीत करें

एक घटक बनाएं, फिर अद्यतन पर उसके पुन: प्रयोज्य डेटा को मान्य करें
curl --fail-with-body -X POST "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID/components"   -H "Authorization: Bearer $CADCAM_TOKEN"   -H 'Content-Type: application/json'   -d '{"name":"Bracket insert","description":"Reusable empty template","data":{"name":"Bracket insert","type":"custom","elements":[]}}'   -o "$CADCAM_DEMO_DIR/component.json"

CADCAM_COMPONENT_ID=$(bun --no-env-file -e   'console.write((await Bun.file(process.argv[1]).json()).id)'   "$CADCAM_DEMO_DIR/component.json")
curl --fail-with-body -X PUT "$CADCAM_URL/api/components/$CADCAM_COMPONENT_ID"   -H "Authorization: Bearer $CADCAM_TOKEN"   -H 'Content-Type: application/json'   -d '{"type":"custom","isPublic":false,"data":{"name":"Bracket insert","type":"custom","elements":[]}}'

निर्माण HTTP 201 लौटाता है। वर्तमान रिपॉजिटरी क्रिएट ऑपरेशन स्टोर नाम, विवरण, डेटा और प्रोजेक्ट एसोसिएशन; यह निर्माण के समय शीर्ष-स्तरीय प्रकार/सार्वजनिक/थंबनेल विकल्प कायम नहीं रखता है। उपरोक्त स्पष्ट अद्यतन इच्छित शीर्ष-स्तरीय प्रकार और दृश्यता निर्धारित करता है। अद्यतन सत्य घटक डेटा को मान्य करता है, लापता वैकल्पिक फ़ील्ड को सामान्य करता है, और एक खाली पैच को अस्वीकार करता है।

खुला /components/:id विवरण स्क्रीन या ब्राउज़ के लिए /components प्रोजेक्ट फ़िल्टर के साथ. दृश्यता में वर्तमान में परियोजना के मालिक, संगठन के सदस्य और सार्वजनिक घटक शामिल हैं। घटक संचालक दृश्य-घटक संपादन/हटाने के लिए अतिरिक्त स्वामी-केवल गेट लागू नहीं करते हैं; सार्वजनिक दृश्यता को सुरक्षित रीड-ओनली शेयर के रूप में न मानें।

मशीनिंग संसाधन तैयार करें

संसाधन स्क्रीन हैं /materials, /tools, और /machine, व्यक्तिगत विवरण मार्गों के साथ। सामग्री के लिए एक नाम और एक गुण मान की आवश्यकता होती है। उपकरण के लिए नाम, प्रकार, शून्येतर व्यास और सामग्री की आवश्यकता होती है। यूआई सकारात्मक व्यास की बाधाएं प्रदान करता है, लेकिन एकीकरण को सत्यता जांच पर भरोसा करने के बजाय स्पष्ट रूप से इंजीनियरिंग आयामों को मान्य करना चाहिए।

पोस्ट/एपीआई/टूल्स के लिए उदाहरण कटर बॉडी
{
  "name": "6 mm end mill",
  "type": "endmill",
  "diameter": 6,
  "material": "carbide",
  "numberOfFlutes": 3,
  "cuttingLength": 18,
  "shankDiameter": 6,
  "isPublic": false
}

एक मशीन कॉन्फ़िगरेशन के लिए प्रकार की आवश्यकता होती है mill, lathe, printer, या laser; सकारात्मक कार्य-मात्रा आयाम, अधिकतम स्पिंडल गति और अधिकतम फ़ीड दर; और वैकल्पिक नियंत्रक/अक्ष डेटा। चार/पांच-अक्ष कॉन्फ़िगरेशन के लिए हैंडलर द्वारा जांचे गए संगत रोटरी कॉन्फ़िगरेशन की आवश्यकता होती है। ये रिकॉर्ड उपकरण का वर्णन करते हैं; उनका अस्तित्व किसी विशेष जेनरेटेड प्रोग्राम को सत्यापित नहीं करता है।

उपयोग सामग्री, औजार, और मशीनों सटीक निकायों के लिए. सामग्री/उपकरण सूचियाँ रिटर्न सरणियाँ; मशीन मार्ग एक सफलता लिफाफे का उपयोग करते हैं। एक सार्वभौमिक संग्रह आकार मानने के बजाय चयनित समापन बिंदु की प्रतिक्रिया पढ़ें।

CAM प्रोग्राम को सहेजें और पुनः खोलें

किसी प्रोजेक्ट के अंतर्गत टूलपाथ बनाया जा सकता है POST /api/toolpaths नाम और प्रोजेक्ट आईडी का उपयोग करना, या किसी ड्राइंग के साथ संलग्न करना POST /api/drawings/:id/toolpaths नाम और डेटा का उपयोग करना. प्रोजेक्ट डैशबोर्ड शीर्ष-स्तरीय परिवार का उपयोग करता है और परिणाम को खोलता है /cam?loadToolpath=<id>. सीएएम पेज एपीआई के माध्यम से सहेजे गए मूल को पढ़ता है।

सीएएम सेव मोडल मौजूदा प्रोजेक्ट, नया प्रोजेक्ट या सेव किए गए प्रोग्राम का अपडेट प्रदान करता है। जी-कोड निर्यात डाउनलोड पाठ। पोर्टेबल निर्यात डाउनलोड .cam.json साथ format: cadcamfun-cam, सेटिंग्स, प्रोग्राम, स्टॉक, ड्राइंग संदर्भ, और मिलान साक्ष्य जहां उपलब्ध हो। एप्लिकेशन सेव उस दस्तावेज़ को टूलपाथ रिकॉर्ड में बनाए रखता है।

पोर्टेबल दस्तावेज़ों को मान्य किया जाता है और उनकी एनसी से मिलान किया जाता है। संपादन कोड पुराने सबूतों को हटा सकता है या फिर से पार्सिंग की आवश्यकता हो सकती है। कैप्चर किए गए स्रोत अनुरोधों के विरुद्ध नई कर्नेल कलाकृतियों की दोबारा जाँच की जाती है; ग्राहक द्वारा प्रदत्त मनमाने सत्यापन दावों को प्रमाण के रूप में स्वीकार नहीं किया जाता है। मालिक/व्यवस्थापक/प्रबंधक प्रतिबंध किसी प्रोजेक्ट में पोर्टेबल प्रोग्राम को सहेजने पर भी लागू होते हैं।

जब कोई नया-प्रोजेक्ट सेव आंशिक रूप से सफल होता है, तो मोडल पुनः प्रयास के लिए अपने बनाए गए गंतव्य को बरकरार रखता है। प्रवाह को पुनः आरंभ करने और दूसरा प्रोजेक्ट बनाने से पहले उस पहचानकर्ता का निरीक्षण करें। देखना टूलपाथ और सहेजे गए प्रोग्राम दस्तावेज़.

आपको जो इतिहास चाहिए उसे चुनें

तंत्रबरकरार रखता हैउपयोग
संपादक पूर्ववत/पुनः करेंस्थानीय इंटरैक्शन/सत्र स्नैपशॉटवर्तमान संपादन क्रिया को पूर्ववत करें.
टूलपाथ संस्करणएक प्रोग्राम के लिए रिकॉर्ड किया गया डेटा, एनसी, लेखक और परिवर्तन संदेशकिसी प्रोग्राम संशोधन की समीक्षा करें या उसे पुनर्स्थापित करें.
परियोजना का इतिहासप्रतिबद्ध प्रोजेक्ट स्नैपशॉट और परिवर्तित इकाई फ़ाइलेंप्रोजेक्ट स्थिति की तुलना करें, शाखा करें, समीक्षा करें या पुनर्स्थापित करें।
JSON/NC डाउनलोड किया गयाविशेष रूप से निर्यात की गई सामग्रीकिसी बाहरी कलाकृति को रखें या स्थानांतरित करें।

सीएएम सेव मोडल के माध्यम से अपडेट करने पर पहले पिछले प्रोग्राम को रिकॉर्ड किया जाता है। टूलपाथ विवरण स्क्रीन पर मैन्युअल सेव अद्यतन स्थिति को एक संस्करण के रूप में रिकॉर्ड करता है। संस्करण पुनर्स्थापना इसे बदलने से पहले वर्तमान स्थिति को रिकॉर्ड करती है, इसलिए किसी अन्य संस्करण ऑपरेशन के माध्यम से पुनर्स्थापना को उलटा किया जा सकता है। ये विशिष्ट प्रवाह हैं; एक सामान्य PUT स्वचालित रूप से एक प्रोजेक्ट कमिट नहीं है।

खुला /toolpaths/:id विवरण, जी-कोड, संस्करण और टिप्पणियों के लिए। खुला /projects/:id/history परियोजना इतिहास के लिए; प्रति-आइटम बटन जैसे पथों के अनुसार फ़िल्टर करते हैं drawings/<id>.json. टूलपाथ इतिहास एपीआई स्वीकार versionId पुनर्स्थापना के लिए.

इतिहास में बदलावों को लाइव इवेंट के रूप में भी प्रकाशित किया जाता है (commit, pr.*, workflow.started/workflow.finished, ai.session). एक नए ग्राहक को सबसे पहले हाल के मिलान वाले इवेंट 20 तक प्राप्त होते हैं।

दृढ़ता को सत्यापित करें और विफलताओं का समाधान करें

  1. बनाए गए प्रोजेक्ट, ड्राइंग और घटक को उनके पहचानकर्ता समापन बिंदुओं के माध्यम से पढ़ें।
  2. संबंधित डेस्कटॉप रूट खोलें और वास्तविक डिज़ाइन/प्रोग्राम सामग्री की पुष्टि करें।
  3. उसी साइडकार डेटा निर्देशिका को पुनरारंभ करें, अल्पकालिक यूआरएल को अपडेट करें, और रीड्स को दोहराएं।
  4. एक निर्यात को अलग से डाउनलोड करें और उसके क्षेत्रों का निरीक्षण करें; डेटाबेस पंक्ति यह साबित नहीं करती कि फ़ाइल निर्यात की गई थी।

ए 400 आम तौर पर लापता आवश्यक व्यावसायिक फ़ील्ड या अमान्य दस्तावेज़ डेटा की ओर इशारा करता है; एक 403 एक अस्वीकृत ऑपरेशन को इंगित करता है; ए 404 का अर्थ अनुपस्थित या अप्राप्य डेटा हो सकता है। प्रोजेक्ट डैशबोर्ड वर्तमान में व्यक्तिगत संसाधन-सूची विफलताओं को खाली सरणियों में बदल देता है, इसलिए एक खाली टैब अकेले हटाने का अपर्याप्त सबूत है। डुप्लिकेट बनाने से पहले प्रत्यक्ष एपीआई परिणाम का निरीक्षण करें।

कार्यान्वयन एंकर हैं projects.ts और groups/{drawings,components,toolpaths}.ts एपीआई पैकेज में; संबंधित साइडकार हैंडलर/रिपॉजिटरी; projectSnapshot.ts, CadPage.tsx, SaveCamModal.tsx, और ToolpathDetailScreen.tsx. विलोपन परीक्षणों के लिए एक अलग प्रोजेक्ट का उपयोग करें और पुनर्स्थापना से पहले उपयोगकर्ता के काम को संरक्षित करें।

विधि: कर्ल के साथ संपूर्ण जीवनचक्र

प्रोजेक्ट → ड्राइंग → टूलपाथ → कमिट
A=(--header "Authorization: Bearer $CADCAMFUN_TOKEN" --header "Content-Type: application/json")
U="$CADCAMFUN_URL"

project=$(curl -sS "${A[@]}" -d '{"name":"Bracket"}' "$U/api/projects" | jq -r .id)
drawing=$(curl -sS "${A[@]}" -d '{"name":"Plate","data":{}}' "$U/api/projects/$project/drawings" | jq -r .id)

curl -sS "${A[@]}" "$U/api/projects/$project/drawings" | jq 'length'

curl -sS "${A[@]}" -X PUT -d '{"name":"Plate v2"}' "$U/api/drawings/$drawing"

curl -sS "${A[@]}" -d '{"name":"Program","gcode":"G21\nM30","data":{}}' \
  "$U/api/drawings/$drawing/toolpaths" | jq .id

curl -sS "${A[@]}" -d '{"message":"First version"}' "$U/api/projects/$project/vcs/commit"
curl -sS "${A[@]}" "$U/api/projects/$project/vcs/log" | jq
कदमसंचालनशरीर क्षेत्र
प्रोजेक्ट बनाएंPOST /api/projectsname (हैंडलर द्वारा आवश्यक), description, organizationId, isPublic
ड्राइंग बनाएंPOST /api/projects/{id}/drawingsname, description, data, thumbnail
ड्राइंग अद्यतन करेंPUT /api/drawings/{id}समान फ़ील्ड, आंशिक
टूलपाथ बनाएंPOST /api/drawings/{id}/toolpathsname, data, gcode, type, operationType, materialId, toolId, machineConfigId, …
प्रतिबद्धPOST /api/projects/{id}/vcs/commitmessage (आवश्यक), authorKind, files
शाखाPOST /api/projects/{id}/vcs/branchesname (आवश्यक), from
पुनर्स्थापित करनाPOST /api/projects/{id}/vcs/restorerev (आवश्यक), paths

एक ताज़ा साइडकार के विरुद्ध चलाएँ, कमिट नए कमिट ऑब्जेक्ट के साथ उत्तर देता है, और लॉग इसे सूचीबद्ध करता है:

वीसीएस/प्रतिबद्ध प्रतिक्रिया
{"oid":"44d2d03d23b27fbbc4b388e32e15dfb0f39fff87","parents":[],"message":"First version\n","author":{"name":"Local user","email":"local@cadcamfun.local","time":1792037121}}

सत्र शीर्षलेख के बिना लेखक संस्थापन का स्थानीय प्रोफ़ाइल है। नुस्खा का उपयोग करता है jq. फ्री-फॉर्म टूलपाथ data जैसा है वैसा ही स्वीकार किया जाता है; एक पोर्टेबल cadcamfun-cam दस्तावेज़ को कड़ाई से मान्य किया गया है, जैसा कि मूल विनिर्माण मार्गदर्शिका में वर्णित है।

3डी में

किसी प्रोजेक्ट को क्या लटकाता है कक्षा में खींचें · ज़ूम करने के लिए स्क्रॉल करें · पैन करने के लिए दाईं ओर खींचें
प्रोजेक्ट के लिए विदेशी कुंजी वाली तालिकाएँ, और उनके अपने बच्चे, ड्रिज़ल माइग्रेशन से।