दस्तावेज़
सहनशीलता और टेस्सेलेशन
कैसे एक कॉर्ड-ऊंचाई सहिष्णुता खंड की गिनती तय करती है, सीएडी कर्नेल में दशमलव और वक्र टेस्सेलेशन प्रदर्शित करती है।
अंग्रेज़ी से स्वचालित रूप से अनुवादित। अंग्रेज़ी मूल देखें
एक सहनशीलता, हर मोड़
A tolerance is the largest distance the model may be from the true shape, in millimetres. For a circle drawn as a polygon that distance is the chord's sagitta r(1 − cos(π/n)), so the number of segments follows from the tolerance. packages/core/src/cad/tolerance.ts (39 पंक्तियाँ) उस नियम को रखती हैं; संपादक का रेंडरर, सहायक का तत्व कैटलॉग, इकाई टेसेलेटर और परीक्षण सभी इसका उपयोग करते हैं।
स्थिरांक
| नाम | कीमत | अर्थ |
|---|---|---|
| TOLERANCE_PRESETS | 0.1, 0.05, 0.01, 0.005, 0.002, 0.001, 0.0005 | यूआई क्या प्रदान करता है, मोटे से बढ़िया तक |
| DEFAULT_TOLERANCE | 0.01 | संपादक और टेस्सेलेशन डिफ़ॉल्ट |
| MIN_TOLERANCE | 0.0001 | इसके नीचे सहिष्णुता असत्य है |
| MAX_TOLERANCE | 10 | इसके ऊपर सहिष्णुता मिथ्या है |
| MIN_CURVE_SEGMENTS | 8 | एक वृत्त के सबसे कम खंड |
| MAX_CURVE_SEGMENTS | 2048 | खंडों की डिफ़ॉल्ट सीमा |
| MAX_SEGMENTS (tessellate.ts) | 65 536 | इकाई टेसेलेटर में प्रति इकाई हार्ड कैप |
| MIN_TOLERANCE (tessellate.ts) | 1e-6 | फर्श इसलिए शून्य सहनशीलता असीमित गिनती उत्पन्न नहीं कर सकती है |
export const isTolerance: (value: unknown) => value is number // finite, in [0.0001, 10]
/** Smallest n ≥ 8 with r(1 − cos(π/n)) ≤ tolerance, capped. */
export const segmentsFor: (radius: number, tolerance: number, cap?: number /* 2048 */) => number
export const chordError: (radius: number, segments: number) => number // r(1 − cos(π/n))
/** 0.001 → 3, 0.05 → 2, 0.5 → 1; at most 6. */
export const decimalsForTolerance: (tolerance: number) => number संख्या में प्रीसेट
असली segmentsFor, chordError और decimalsForTolerance प्रत्येक प्रीसेट के लिए आउटपुट:
| सहनशीलता, मिमी | खंड आर 10 | तार त्रुटि आर 10 | दशमलव | खंड आर 50 |
|---|---|---|---|---|
| 0.1 | 23 | 9.314e-2 | 1 | 50 |
| 0.05 | 32 | 4.815e-2 | 2 | 71 |
| 0.01 (डिफ़ॉल्ट) | 71 | 9.788e-3 | 2 | 158 |
| 0.005 | 100 | 4.934e-3 | 3 | 223 |
| 0.002 | 158 | 1.977e-3 | 3 | 352 |
| 0.001 | 223 | 9.923e-4 | 3 | 497 |
| 0.0005 | 315 | 4.973e-4 | 4 | 703 |
किनारे के मामले, वास्तविक भी: segmentsFor(1000, 0.0001) = 2048 (शीर्ष), segmentsFor(2, 5) = 8 (सहिष्णुता ≥ त्रिज्या), isTolerance(0.00005) = झूठा, isTolerance(10) = सत्य, decimalsForTolerance(0.0001) = 4.
टेसेलेटिंग ड्राइंग इकाइयाँ
tessellate(entity, tolerance) में tessellate.ts कॉर्ड टॉलरेंस के भीतर किसी भी ड्राइंग इकाई को पॉलीलाइन में बदल देता है। वह पॉलीलाइन वही है जो CAM परत ऑफसेट करती है और व्यूपोर्ट जो प्रस्तुत करता है। एक बंद आकृति एक वलय लौटाती है जिसके पहले और अंतिम बिंदु भिन्न होते हैं; समापन खंड निहित है.
| इकाई | नियम |
|---|---|
| रेखा | इसके दो अंतिम बिंदु हैं |
| वृत्त, चाप | त्रिज्या, स्वीप और सहनशीलता से चाप खंड की गिनती, 65 536 पर सीमित है |
| अंडाकार | एकसमान पैरामीटर चरण h = √(8·tol / a), एक बड़ा त्रिज्या, कम से कम 8 खंड |
| पट्टी | स्पलाइनपॉलीलाइन की विश्लेषणात्मक सीमा |
| पॉलीलाइन | चाप के रूप में उभरे हुए खंड |
| आयत | चार कोने |
| पाठ, आयाम | कोई रूपरेखा नहीं: खाली सूची |
त्रिज्या 20 और 10 वाले दीर्घवृत्त के लिए, ellipseSegmentCount 100 खंड 0.01 मिमी और 32 0.1 मिमी पर # खंड देता है।
जहां सहनशीलता मिलती है
| गुठली | सहनशीलता पैरामीटर | गलती करना |
|---|---|---|
| प्रोफ़ाइल स्केच करें | स्केचप्रोफाइल(स्केच, सहनशीलता) | 0.01 mm |
| जाल आदिम | मेशऑफ (ठोस, सहनशीलता) | 0.1 mm |
| सीएसजी संयोग | CsgOptions.tolerance | 1ई-7 × सीमा |
| बी-प्रतिनिधि टेस्सेलेशन | TessellateOptions.chordTol | विकर्ण / 2000, में [0.001, 0.05] |
| बी-प्रतिनिधि बूलियन संयोग | BooleanOptions.tol | 1e-8 × आकार, ≥ 1e-7 |
| हेलिक्स तार | stepsPerTurn | 0.01 mm |
प्रदर्शन सहिष्णुता मशीनिंग सहिष्णुता नहीं है
आरेखण सहिष्णुता यह नियंत्रित करती है कि वक्रों का अनुमान कैसे लगाया जाता है। सीएएम सत्यापन और जी-कोड आर्क फिटिंग की अपनी सहनशीलता होती है; CAM कर्नेल देखें.
समस्या निवारण
| लक्षण | कारण | हल करना |
|---|---|---|
| वृत्त बहुभुज दिखते हैं | बड़े दायरे में सहनशीलता 0.1 | एक बेहतर प्रीसेट चुनें; खंड √r के साथ बढ़ते हैं |
| एक बड़ी ड्राइंग पर व्यूपोर्ट धीमा | कई वक्रों पर बहुत अच्छी सहनशीलता | 0.01 प्रदर्शन के लिए पर्याप्त है; निर्यात के लिए बेहतर मूल्य रखें |
| लंबाई बहुत अधिक दशमलव दिखाती है | दशमलव सहनशीलता का पालन करते हैं | दशमलवफॉरटॉलरेंस(0.01) = 2 |
| एक मूल्य को सहिष्णुता के रूप में अस्वीकार कर दिया जाता है | बाहर [0.0001, 10] | प्रीसेट का उपयोग करें |