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

दस्तावेज़

सहनशीलता और टेस्सेलेशन

कैसे एक कॉर्ड-ऊंचाई सहिष्णुता खंड की गिनती तय करती है, सीएडी कर्नेल में दशमलव और वक्र टेस्सेलेशन प्रदर्शित करती है।

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

एक सहनशीलता, हर मोड़

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 पंक्तियाँ) उस नियम को रखती हैं; संपादक का रेंडरर, सहायक का तत्व कैटलॉग, इकाई टेसेलेटर और परीक्षण सभी इसका उपयोग करते हैं।

Ø20 तीन सहनशीलता पर वृत्त कक्षा में खींचें · ज़ूम करने के लिए स्क्रॉल करें · पैन करने के लिए दाईं ओर खींचें
The same radius-10 circle as segmentsFor gives it: 10 segments at 0.5 mm (chord error 0.489), 23 at 0.1 mm (0.093) and 71 at the 0.01 mm default (0.0098). Each polygon is extruded 2 mm.

स्थिरांक

नामकीमतअर्थ
TOLERANCE_PRESETS0.1, 0.05, 0.01, 0.005, 0.002, 0.001, 0.0005यूआई क्या प्रदान करता है, मोटे से बढ़िया तक
DEFAULT_TOLERANCE0.01संपादक और टेस्सेलेशन डिफ़ॉल्ट
MIN_TOLERANCE0.0001इसके नीचे सहिष्णुता असत्य है
MAX_TOLERANCE10इसके ऊपर सहिष्णुता मिथ्या है
MIN_CURVE_SEGMENTS8एक वृत्त के सबसे कम खंड
MAX_CURVE_SEGMENTS2048खंडों की डिफ़ॉल्ट सीमा
MAX_SEGMENTS (tessellate.ts)65 536इकाई टेसेलेटर में प्रति इकाई हार्ड कैप
MIN_TOLERANCE (tessellate.ts)1e-6फर्श इसलिए शून्य सहनशीलता असीमित गिनती उत्पन्न नहीं कर सकती है
tolerance.ts
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.1239.314e-2150
0.05324.815e-2271
0.01 (डिफ़ॉल्ट)719.788e-32158
0.0051004.934e-33223
0.0021581.977e-33352
0.0012239.923e-43497
0.00053154.973e-44703

किनारे के मामले, वास्तविक भी: 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.tolerance1ई-7 × सीमा
बी-प्रतिनिधि टेस्सेलेशनTessellateOptions.chordTolविकर्ण / 2000, में [0.001, 0.05]
बी-प्रतिनिधि बूलियन संयोगBooleanOptions.tol1e-8 × आकार, ≥ 1e-7
हेलिक्स तारstepsPerTurn0.01 mm

प्रदर्शन सहिष्णुता मशीनिंग सहिष्णुता नहीं है

आरेखण सहिष्णुता यह नियंत्रित करती है कि वक्रों का अनुमान कैसे लगाया जाता है। सीएएम सत्यापन और जी-कोड आर्क फिटिंग की अपनी सहनशीलता होती है; CAM कर्नेल देखें.

समस्या निवारण

लक्षणकारणहल करना
वृत्त बहुभुज दिखते हैंबड़े दायरे में सहनशीलता 0.1एक बेहतर प्रीसेट चुनें; खंड √r के साथ बढ़ते हैं
एक बड़ी ड्राइंग पर व्यूपोर्ट धीमाकई वक्रों पर बहुत अच्छी सहनशीलता0.01 प्रदर्शन के लिए पर्याप्त है; निर्यात के लिए बेहतर मूल्य रखें
लंबाई बहुत अधिक दशमलव दिखाती हैदशमलव सहनशीलता का पालन करते हैंदशमलवफॉरटॉलरेंस(0.01) = 2
एक मूल्य को सहिष्णुता के रूप में अस्वीकार कर दिया जाता हैबाहर [0.0001, 10]प्रीसेट का उपयोग करें