Bitbybit Docs
    Preparing search index...

    Class OCCTFace

    OpenCascade এ ফেস: একটি সারফেসের সীমাবদ্ধ টুকরো, সমতল বা বাঁকা, একটি বাইরের সীমানা ওয়্যার এবং ছিদ্র তৈরিকারী ঐচ্ছিক ভিতরের ওয়্যারসহ। ওয়্যার বা সারফেস থেকে, অথবা তৈরি সমতল আকৃতি হিসেবে (বৃত্ত, আয়তক্ষেত্র, তারা, বিম প্রোফাইল) যা direction অন্য কিছু না বললে গ্রাউন্ড প্লেনে থাকে, এগুলি তৈরি করুন; বিন্দু, নর্মাল ও ওয়্যারের গ্রিড পেতে UV প্যারামিটারের মাধ্যমে তাদের সারফেসে হাঁটুন; তাদের মধ্যে ছিদ্রের প্যাটার্ন কাটুন; এবং ক্ষেত্রফল ও ভরকেন্দ্র মাপুন। U ও V হল একটি সারফেসের দুটি দিক, এখানে ফেসের নিজস্ব পরিসরের 0 থেকে 1 পর্যন্ত ভগ্নাংশ হিসেবে দেওয়া। ফেসগুলি এজ থেকে এজে জুড়ে শেল হয়, যা shapes.shell সামলায়।

    Index

    Constructors

    beam profiles

    • একটি I-বিমের সমতল ক্রস-সেকশন তৈরি করে: একটি উল্লম্ব ওয়েব দিয়ে জোড়া দুটি অনুভূমিক ফ্ল্যাঞ্জ।

      width ফ্ল্যাঞ্জের প্রস্থ, height মোট উচ্চতা, webThicknessflangeThickness দেয়ালের পুরুত্ব; alignment বলে প্রোফাইলের বাক্সের কোন বিন্দু center এ বসে, rotation এটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। এটি ভূমিতে থাকে, Y বরাবর এক্সট্রুড করার জন্য প্রস্তুত।

      Parameters

      • inputs: IBeamProfileDto

        প্রোফাইলের আকার, দুটি পুরুত্ব, অ্যালাইনমেন্ট, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      I-বিম প্রোফাইল ফেস

      const profile = await bitbybit.occt.shapes.face.createIBeamProfileFace({
      width: 10,
      height: 20,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
      const beam = await bitbybit.occt.operations.extrude({ shape: profile, direction: [0, 100, 0] });
    • একটি H-বিমের সমতল ক্রস-সেকশন তৈরি করে: একটি অনুভূমিক ওয়েব দিয়ে জোড়া দুটি উল্লম্ব ফ্ল্যাঞ্জ, পাশ ফেরানো একটি I-বিম।

      width মোট প্রস্থ, height ফ্ল্যাঞ্জের উচ্চতা, webThicknessflangeThickness দেয়ালের পুরুত্ব; alignment বলে প্রোফাইলের বাক্সের কোন বিন্দু center এ বসে, rotation এটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। এটি ভূমিতে থাকে।

      Parameters

      • inputs: HBeamProfileDto

        প্রোফাইলের আকার, দুটি পুরুত্ব, অ্যালাইনমেন্ট, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      H-বিম প্রোফাইল ফেস

      const profile = await bitbybit.occt.shapes.face.createHBeamProfileFace({
      width: 20,
      height: 10,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • একটি T-বিমের সমতল ক্রস-সেকশন তৈরি করে: একটি অনুভূমিক ফ্ল্যাঞ্জ যার মাঝখান থেকে একটি উল্লম্ব ওয়েব ঝুলে থাকে।

      width ফ্ল্যাঞ্জের প্রস্থ, height মোট উচ্চতা, webThicknessflangeThickness দেয়ালের পুরুত্ব; alignment বলে প্রোফাইলের বাক্সের কোন বিন্দু center এ বসে, এবং rotation এটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। এটি ভূমিতে সমতল করে শোয়ানো থাকে।

      Parameters

      • inputs: TBeamProfileDto

        প্রোফাইলের আকার, দুটি পুরুত্ব, অ্যালাইনমেন্ট, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      T-বিম প্রোফাইল ফেস

      const profile = await bitbybit.occt.shapes.face.createTBeamProfileFace({
      width: 10,
      height: 12,
      webThickness: 2,
      flangeThickness: 2,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • একটি U-বিম, একটি চ্যানেলের সমতল ক্রস-সেকশন তৈরি করে: একটি ওয়েব যার প্রান্ত থেকে flangeWidth এর দুটি ফ্ল্যাঞ্জ উঠে দাঁড়ায়।

      widthheight মোট আকার, webThicknessflangeThickness দেয়ালের পুরুত্ব; alignment বলে প্রোফাইলের বাক্সের কোন বিন্দু center এ বসে, rotation এটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। এটি ভূমিতে সমতল করে শোয়ানো থাকে।

      Parameters

      • inputs: UBeamProfileDto

        প্রোফাইলের আকার, পুরুত্বগুলি, ফ্ল্যাঞ্জের প্রস্থ, অ্যালাইনমেন্ট, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      U-বিম প্রোফাইল ফেস

      const profile = await bitbybit.occt.shapes.face.createUBeamProfileFace({
      width: 10,
      height: 6,
      webThickness: 1,
      flangeThickness: 1,
      flangeWidth: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });

    debug

    • একটি ফেস সম্পর্কে ডায়াগনস্টিক তথ্য সংগ্রহ করে: তার সারফেসের টাইপ, U ও V ডিগ্রি, কন্ট্রোল বিন্দু ও নটের সংখ্যা, U বা V বন্ধ, পর্যায়ক্রমিক বা র‍্যাশনাল কিনা, UV সীমা, ক্ষেত্রফল, সমতলতা, অভিমুখ এবং ওয়্যার ও এজের সংখ্যা।

      একটি খালি বা null ফেস অবৈধ চিহ্নিত একটি রিপোর্ট দেয়।

      Parameters

      Returns Promise<FaceDebugInfo>

      রিপোর্ট

      const info = await bitbybit.occt.shapes.face.debugInfo({ shape: face });
      console.log(info.type, info.isPlanar, info.area);

    extract

    • একটি ফেসের U ও V পরিসরের মধ্য দিয়ে সমানভাবে ধাপে ধাপে গিয়ে তার উপর বিন্দুর একটি গ্রিড বসায়।

      nrDivisionsU বাই nrDivisionsV বিন্দু ফেসটিকে প্রান্ত থেকে প্রান্ত পর্যন্ত ঢাকে, সারি ধরে ধরে তালিকাভুক্ত: প্রথম U এর জন্য সব V মান, তারপর পরের U। removal ফ্ল্যাগগুলি প্রথম বা শেষ সারি বাদ দেয়; shift ফ্ল্যাগগুলি প্রতিটি বিন্দুকে অর্ধেক ধাপ ঠেলে।

      Parameters

      • inputs: FaceSubdivisionDto<TopoDSFacePointer>

        ফেস, U ও V তে বিন্দুর সংখ্যা এবং শিফট ও অপসারণের অপশন

      Returns Promise<Point3[]>

      বিন্দুগুলি, সারি ধরে

      const points = await bitbybit.occt.shapes.face.subdivideToPoints({
      shape: face,
      nrDivisionsU: 10,
      nrDivisionsV: 5,
      shiftHalfStepU: false,
      removeStartEdgeU: false,
      removeEndEdgeU: false,
      shiftHalfStepV: false,
      removeStartEdgeV: false,
      removeEndEdgeV: false,
      });
    • একটি ফেস জুড়ে একটি প্যারামিটার দিক বরাবর সমান ব্যবধানের ওয়্যার আঁকে, একটি রুলড শিটের রেখাগুলির মতো।

      nrDivisions ধাপ তার চেয়ে একটি বেশি ওয়্যার দেয়, সীমানা রেখাসহ; removeStartremoveEnd সেগুলি বাদ দেয়, shiftHalfStep প্রতিটি ওয়্যারকে অর্ধেক ধাপ সরায়। isU true হলে প্রতিটি ওয়্যার একটি স্থির U তে বসে এবং V জুড়ে চলে; false ভূমিকা অদলবদল করে।

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      ওয়্যারগুলি, বেছে নেওয়া দিক বরাবর ক্রমানুসারে

      const lines = await bitbybit.occt.shapes.face.subdivideToWires({ shape: face, nrDivisions: 10, isU: true, shiftHalfStep: false, removeStart: false, removeEnd: false });
      
    • subdivideToPoints এর মতো একটি ফেসের উপর বিন্দুর একটি গ্রিড বসায়, কিন্তু প্রতি n-তম সারি বা কলামে বিন্দু সরায় ও সরিয়ে দেয়, ইটের মতো ও এলোমেলো প্যাটার্নের জন্য।

      প্রতিটি নিয়ম একটি জোড়া: shiftHalfStepNthU বলে প্রতি কততম V সারি U তে অর্ধেক ধাপ সরে, shiftHalfStepUOffsetN গোনা কোথায় শুরু হয়; removal নিয়মগুলি একটি প্রান্ত সারির প্রতি n-তম বিন্দু বাদ দেয়।

      Parameters

      Returns Promise<Point3[]>

      বিন্দুগুলি, সারি ধরে

      const staggered = await bitbybit.occt.shapes.face.subdivideToPointsControlled({
      shape: face,
      nrDivisionsU: 10,
      nrDivisionsV: 10,
      shiftHalfStepNthU: 2,
      shiftHalfStepUOffsetN: 0,
      removeStartEdgeNthU: 0,
      removeStartEdgeUOffsetN: 0,
      removeEndEdgeNthU: 0,
      removeEndEdgeUOffsetN: 0,
      shiftHalfStepNthV: 0,
      shiftHalfStepVOffsetN: 0,
      removeStartEdgeNthV: 0,
      removeStartEdgeVOffsetN: 0,
      removeEndEdgeNthV: 0,
      removeEndEdgeVOffsetN: 0,
      });
    • subdivideToPoints একটি ফেসের উপর যে গ্রিড বসাত তার প্রতিটি বিন্দুতে সারফেস নর্মাল গণনা করে, একই অপশন ও একই ক্রমসহ।

      নর্মালগুলি একক ভেক্টর এবং ফেসের অভিমুখ অনুসরণ করে, তাই উল্টানো ফেস সেগুলিকে উল্টানো দেয়। সারফেসে দাঁড়িয়ে থাকা জিনিস বসাতে তালিকাটি subdivideToPoints এর সাথে জোড়া দিন।

      Parameters

      • inputs: FaceSubdivisionDto<TopoDSFacePointer>

        ফেস, U ও V তে বিন্দুর সংখ্যা এবং শিফট ও অপসারণের অপশন

      Returns Promise<Vector3[]>

      একক নর্মালগুলি, সারি ধরে

      const normals = await bitbybit.occt.shapes.face.subdivideToNormals({
      shape: face,
      nrDivisionsU: 10,
      nrDivisionsV: 5,
      shiftHalfStepU: false,
      removeStartEdgeU: false,
      removeEndEdgeU: false,
      shiftHalfStepV: false,
      removeStartEdgeV: false,
      removeEndEdgeV: false,
      });
    • subdivideToPoints একটি ফেসের উপর যে গ্রিড বসাত তার UV প্যারামিটার জোড়াগুলি তালিকাভুক্ত করে, একই অপশন ও একই ক্রমসহ।

      জোড়াগুলি ফেসের আসল UV মানে, ভগ্নাংশ নয়।

      Parameters

      • inputs: FaceSubdivisionDto<TopoDSFacePointer>

        ফেস, U ও V তে বিন্দুর সংখ্যা এবং শিফট ও অপসারণের অপশন

      Returns Promise<Point2[]>

      UV জোড়াগুলি, সারি ধরে

      const uvs = await bitbybit.occt.shapes.face.subdivideToUV({
      shape: face,
      nrDivisionsU: 10,
      nrDivisionsV: 5,
      shiftHalfStepU: false,
      removeStartEdgeU: false,
      removeEndEdgeU: false,
      shiftHalfStepV: false,
      removeStartEdgeV: false,
      removeEndEdgeV: false,
      });
    • দেওয়া UV ভগ্নাংশে একটি ফেসের উপর বিন্দুটি খুঁজে বের করে।

      paramUparamV ফেসের U ও V পরিসরের উপর 0 থেকে 1 পর্যন্ত চলে, তাই 0.5, 0.5 পরিসরের মাঝখান, যা একটি ছাঁটা ফেসে সবসময় ফেসের ভিতরে নয়।

      Parameters

      Returns Promise<Point3>

      সারফেসের উপরের বিন্দু

      const middle = await bitbybit.occt.shapes.face.pointOnUV({ shape: face, paramU: 0.5, paramV: 0.5 });
      
    • দেওয়া UV ভগ্নাংশে একটি ফেসের সারফেস নর্মাল খুঁজে বের করে।

      paramUparamV ফেসের U ও V পরিসরের উপর 0 থেকে 1 পর্যন্ত চলে। নর্মালটি একটি একক ভেক্টর এবং ফেসের অভিমুখ অনুসরণ করে, তাই উল্টানো ফেস এটিকে উল্টানো দেয়।

      Parameters

      Returns Promise<Vector3>

      একক নর্মাল

      const normal = await bitbybit.occt.shapes.face.normalOnUV({ shape: face, paramU: 0.5, paramV: 0.5 });
      
    • একসাথে কয়েকটি UV ভগ্নাংশ জোড়ায় একটি ফেসের উপর বিন্দুগুলি খুঁজে বের করে।

      প্রতিটি জোড়ায় U তারপর V থাকে, দুটিই ফেসের পরিসরের উপর 0 থেকে 1 পর্যন্ত।

      Parameters

      Returns Promise<Point3[]>

      প্রতি জোড়ায় একটি বিন্দু, একই ক্রমে

      const points = await bitbybit.occt.shapes.face.pointsOnUVs({ shape: face, paramsUV: [[0, 0], [0.5, 0.5], [1, 1]] });
      
    • একসাথে কয়েকটি UV ভগ্নাংশ জোড়ায় একটি ফেসের সারফেস নর্মালগুলি খুঁজে বের করে।

      প্রতিটি জোড়ায় U তারপর V থাকে, দুটিই ফেসের পরিসরের উপর 0 থেকে 1 পর্যন্ত। নর্মালগুলি অন্তর্নিহিত সারফেসের একক ভেক্টর; normalOnUV এর মতো নয়, উল্টানো ফেসের জন্য সেগুলি উল্টানো হয় না।

      Parameters

      Returns Promise<Vector3[]>

      প্রতি জোড়ায় একটি একক নর্মাল, একই ক্রমে

      const normals = await bitbybit.occt.shapes.face.normalsOnUVs({ shape: face, paramsUV: [[0, 0], [0.5, 0.5], [1, 1]] });
      
    • একটি ফেসের UV পরিসর জুড়ে একটি সোজা রেখা বরাবর সমান ব্যবধানের বিন্দু বসায়।

      isU true হলে রেখাটি param এ বসে (U পরিসরের 0 থেকে 1 পর্যন্ত একটি ভগ্নাংশ) এবং nrPoints বিন্দু পুরো V পরিসরে ছড়ায়; false হলে ভূমিকা অদলবদল হয়। removeStartPointremoveEndPoint প্রান্তগুলি বাদ দেয়, এবং shiftHalfStep প্রতিটি বিন্দুকে অর্ধেক ধাপ সরায়।

      Parameters

      Returns Promise<Point3[]>

      রেখা বরাবর বিন্দুগুলি, ক্রমানুসারে

      const midline = await bitbybit.occt.shapes.face.subdivideToPointsOnParam({ shape: face, isU: true, param: 0.5, nrPoints: 10, shiftHalfStep: false, removeStartPoint: false, removeEndPoint: false });
      
    • একটি প্যারামিটার রেখা বরাবর একটি ফেস জুড়ে একটি ওয়্যার আঁকে, সারফেস অনুসরণ করে।

      isU true হলে ওয়্যারটি param এ বসে (U পরিসরের 0 থেকে 1 পর্যন্ত একটি ভগ্নাংশ) এবং পুরো V পরিসরে চলে; false হলে ভূমিকা অদলবদল হয়।

      Parameters

      Returns Promise<TopoDSWirePointer>

      সারফেসের উপরের ওয়্যার

      const middle = await bitbybit.occt.shapes.face.wireAlongParam({ shape: face, isU: true, param: 0.5 });
      
    • একটি ফেস জুড়ে কয়েকটি ওয়্যার আঁকে, প্রতিটি প্যারামিটার মানের জন্য একটি, সারফেস অনুসরণ করে।

      isU true হলে প্রতিটি ওয়্যার U পরিসরের তার ভগ্নাংশে বসে এবং পুরো V পরিসরে চলে; false হলে ভূমিকা অদলবদল হয়।

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      প্রতি ভগ্নাংশে একটি ওয়্যার, একই ক্রমে

      const wires = await bitbybit.occt.shapes.face.wiresAlongParams({ shape: face, isU: false, params: [0.25, 0.5, 0.75] });
      

    filter

    • বিন্দুগুলিকে একটি ফেসের ভিতরে, তার সীমানার উপরে বা তার বাইরে হিসেবে বাছাই করে, এবং বেছে নেওয়া দলগুলি রাখে।

      keepIn, keepOn, keepOutkeepUnknown দলগুলি বেছে নেয়; tolerance ঠিক করে সীমানার কতটা কাছে থাকলে তার উপরে বলে গণ্য হয়। useBndBox সহ, gapTolerance দিয়ে বড় করা বাউন্ডিং বক্সের বাইরের একটি বিন্দু বাইরে।

      Parameters

      • inputs: FilterFacePointsDto<TopoDSFacePointer>

        ফেস, বিন্দুগুলি, টলারেন্স, বাউন্ডিং-বক্স শর্টকাট এবং কোন দলগুলি রাখতে হবে

      Returns Promise<Point3[]>

      যে বিন্দুগুলি উত্তীর্ণ হয়েছে, তাদের মূল ক্রমে

      const onFace = await bitbybit.occt.shapes.face.filterFacePoints({
      shape: face,
      points: grid,
      tolerance: 1e-4,
      useBndBox: false,
      gapTolerance: 0.1,
      keepIn: true,
      keepOn: true,
      keepOut: false,
      keepUnknown: false,
      });
    • একই বিন্দু ও অপশন দিয়ে কয়েকটি ফেসের বিরুদ্ধে filterFacePoints চালায়।

      ডিফল্টে ফলাফলে প্রতিটি ফেসের জন্য একটি তালিকা থাকে; flatPointsArray true হলে তালিকাগুলি একটিতে জোড়া হয়, তাই দুটি ফেসের উপরের একটি বিন্দু দুবার দেখা যায়।

      Parameters

      • inputs: FilterFacesPointsDto<TopoDSFacePointer>

        ফেসগুলি, বিন্দুগুলি, টলারেন্স, কোন গোষ্ঠীগুলি রাখতে হবে এবং ফলাফল সমতল করা হবে কিনা

      Returns Promise<Point3[] | Point3[][]>

      প্রতি ফেসে বিন্দুর একটি তালিকা, অথবা একটি একক জোড়া দেওয়া তালিকা

      const perFace = await bitbybit.occt.shapes.face.filterFacesPoints({
      shapes: faces,
      points: grid,
      tolerance: 1e-4,
      useBndBox: false,
      gapTolerance: 0.1,
      keepIn: true,
      keepOn: true,
      keepOut: false,
      keepUnknown: false,
      flatPointsArray: false,
      });

    from

    • প্রতিটি ওয়্যারের জন্য একটি ফেস তৈরি করে, প্রতিটি একটি নির্দেশক ফেসের সারফেস থেকে কাটা যাতে এটি সেই সারফেসের বক্রতা নেয়।

      ওয়্যারগুলি সারফেসের উপর থাকতে হবে। inside true হলে প্রতিটি ওয়্যার এমনভাবে ঘোরানো হয় যাতে তার ফেস এটি যে অঞ্চল ঘিরে রাখে তা হয়; false হলে ওয়্যারের নিজস্ব দিক ঠিক করে, এবং উল্টো দিকে চলা ওয়্যার বাইরের অঞ্চল দেয়।

      Parameters

      Returns Promise<TopoDSFacePointer[]>

      প্রতি ওয়্যারে একটি ফেস, একই ক্রমে

      const patches = await bitbybit.occt.shapes.face.createFacesFromWiresOnFace({ wires: circlesOnSphere, face: sphereFace, inside: true });
      
    • একটি নির্দেশক ফেসের সারফেসে থাকা একটি ওয়্যার থেকে একটি ফেস তৈরি করে, যাতে নতুন ফেসটি সেই সারফেসের বক্রতা নেয়।

      inside true হলে ওয়্যারটি এমনভাবে ঘোরানো হয় যাতে ফেসটি এটি যে অঞ্চল ঘিরে রাখে তা হয়; false হলে ওয়্যারের নিজস্ব দিক ঠিক করে, এবং উল্টো দিকে চলা ওয়্যার তার বাইরের অঞ্চল দেয়।

      Parameters

      Returns Promise<TopoDSFacePointer>

      নতুন ফেস

      const patch = await bitbybit.occt.shapes.face.createFaceFromWireOnFace({ wire: circleOnCylinder, face: cylinderFace, inside: true });
      
    • একটি বন্ধ ওয়্যার দিয়ে সীমাবদ্ধ একটি ফেস তৈরি করে।

      planar true হলে ওয়্যারটি এক প্লেনে থাকতে হবে এবং ফেসটি সমতল; false হলে ওয়্যারের এজগুলির মধ্য দিয়ে একটি মসৃণ সারফেস ফিট করা হয়, যা সমতল নয় এমন ওয়্যার ভরাট করে। ওয়্যার নয় এমন আকৃতি একটি ত্রুটি থ্রো করে।

      Parameters

      Returns Promise<TopoDSFacePointer>

      নতুন ফেস

      const wire = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      const disc = await bitbybit.occt.shapes.face.createFaceFromWire({ shape: wire, planar: true });
    • কয়েকটি ওয়্যার থেকে একটি ফেস তৈরি করে: প্রথম ওয়্যার বাইরের সীমানা এবং পরের প্রতিটি ওয়্যার তাতে একটি ছিদ্র কাটে।

      planar true হলে ওয়্যারগুলি এক প্লেনে থাকতে হবে। ছিদ্র ওয়্যারগুলি বাইরেরটির ভিতরে বসতে হবে, এটিকে বা পরস্পরকে ছেদ না করে।

      Parameters

      • inputs: FaceFromWiresDto<TopoDSWirePointer>

        ওয়্যারগুলি, বাইরের সীমানা প্রথমে, এবং ফেসটি সমতল হতে হবে কিনা

      Returns Promise<TopoDSFacePointer>

      ছিদ্রসহ ফেস

      const outer = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      const hole = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 2, center: [0, 0, 0], direction: [0, 1, 0] });
      const plate = await bitbybit.occt.shapes.face.createFaceFromWires({ shapes: [outer, hole], planar: true });
    • একটি নির্দেশক ফেসের সারফেসে কয়েকটি ওয়্যার থেকে একটি ফেস তৈরি করে: প্রথম ওয়্যার বাইরের সীমানা এবং পরের প্রতিটি ওয়্যার একটি ছিদ্র কাটে।

      ফেসটি নির্দেশক সারফেসের বক্রতা নেয়। inside প্রথম ওয়্যারে প্রযোজ্য: true এটিকে এমনভাবে ঘোরায় যাতে ফেসটি এটি যে অঞ্চল ঘিরে রাখে তা হয়; false তার নিজস্ব দিককে ঠিক করতে দেয়।

      Parameters

      Returns Promise<TopoDSFacePointer>

      ছিদ্রসহ ফেস

      const perforated = await bitbybit.occt.shapes.face.createFaceFromWiresOnFace({ wires: [outerOnCylinder, holeOnCylinder], face: cylinderFace, inside: true });
      
    • প্রতিটি বন্ধ ওয়্যারের জন্য একটি ফেস তৈরি করে, প্রতিটি যেভাবে createFaceFromWire করত।

      planar true হলে প্রতিটি ওয়্যার একটি প্লেনে থাকতে হবে; false হলে প্রতিটির মধ্য দিয়ে একটি মসৃণ সারফেস ফিট করা হয়।

      Parameters

      Returns Promise<TopoDSFacePointer[]>

      প্রতি ওয়্যারে একটি ফেস, একই ক্রমে

      const faces = await bitbybit.occt.shapes.face.createFacesFromWires({ shapes: wires, planar: true });
      
    • বৃত্তগুলিকে স্পর্শক বেল্ট দিয়ে জোড়ে: প্রতিটি জোড়ার জন্য এটি দুটি বাইরের স্পর্শক রেখা ও তাদের মধ্যের বাইরের চাপগুলি আঁকে এবং সেই রূপরেখাটি একটি সমতল ফেস দিয়ে ভরাট করে।

      combination জোড়াগুলি বাছে: allWithAll প্রতিটি বৃত্ত অন্য প্রতিটির সাথে, inOrder তালিকার প্রতিবেশীরা, inOrderClosed শেষটিকে প্রথমটির সাথেও। unify ফেসগুলি ফিউজ করে; নাহলে সেগুলি একটি কম্পাউন্ড গঠন করে।

      Parameters

      • inputs: FaceFromMultipleCircleTanWiresDto<TopoDSWirePointer>

        বৃত্ত ওয়্যারগুলি, কীভাবে তাদের জোড়া করতে হবে, ফলাফল একীভূত করা হবে কিনা এবং টলারেন্স

      Returns Promise<TopoDSShapePointer>

      একীভূত আকৃতি, অথবা বেল্ট ফেসগুলির কম্পাউন্ড

      const a = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 3, center: [0, 0, 0], direction: [0, 1, 0] });
      const b = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 1, center: [10, 0, 0], direction: [0, 1, 0] });
      const c = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 2, center: [5, 0, 8], direction: [0, 1, 0] });
      const belt = await bitbybit.occt.shapes.face.createFaceFromMultipleCircleTanWires({
      circles: [a, b, c],
      combination: Bit.Inputs.OCCT.combinationCirclesForFaceEnum.inOrderClosed,
      unify: true,
      tolerance: 1e-7,
      });
    • পরপর তালিকার বৃত্তগুলিকে স্পর্শক বেল্ট দিয়ে জোড়ে, যেভাবে createFaceFromMultipleCircleTanWires একক বৃত্ত জোড়ে।

      allWithAll একটি তালিকার প্রতিটি বৃত্তকে পরেরটির প্রতিটি বৃত্তের সাথে জোড়ে; inOrder প্রতিবেশী তালিকায় একই অবস্থানের বৃত্তগুলি জোড়ে, যার জন্য সমান দৈর্ঘ্য দরকার; inOrderClosed প্রতিটি তালিকাকে একটি বলয়েও বন্ধ করে। unify ফেসগুলি ফিউজ করে; নাহলে সেগুলি একটি কম্পাউন্ড গঠন করে।

      Parameters

      • inputs: FaceFromMultipleCircleTanWireCollectionsDto<TopoDSWirePointer>

        বৃত্ত ওয়্যারের তালিকাগুলি, কীভাবে তাদের জোড়া করতে হবে, ফলাফল একীভূত করা হবে কিনা এবং টলারেন্স

      Returns Promise<TopoDSShapePointer>

      একীভূত আকৃতি, অথবা বেল্ট ফেসগুলির কম্পাউন্ড

      const mesh = await bitbybit.occt.shapes.face.createFaceFromMultipleCircleTanWireCollections({
      listsOfCircles: [bottomRow, middleRow, topRow],
      combination: Bit.Inputs.OCCT.combinationCirclesForFaceEnum.inOrderClosed,
      unify: true,
      tolerance: 1e-7,
      });
    • একটি পুরো সারফেস ঢাকা একটি ফেস তৈরি করে, সারফেসের স্বাভাবিক সীমা পর্যন্ত।

      tolerance অবক্ষয়িত এজ শনাক্ত করতে ব্যবহৃত হয়, যেমন একটি গোলকের মেরু। সারফেসগুলি geom.surfaces থেকে আসে।

      Parameters

      Returns Promise<TopoDSFacePointer>

      ফেস

      const face = await bitbybit.occt.shapes.face.faceFromSurface({ shape: surface, tolerance: 1e-7 });
      
    • একটি সারফেসকে তার উপর থাকা একটি ওয়্যার দিয়ে কেটে একটি ফেস তৈরি করে।

      inside true হলে ওয়্যারটি এমনভাবে ঘোরানো হয় যাতে ফেসটি এটি যে অঞ্চল ঘিরে রাখে তা হয়; false হলে ওয়্যারের নিজস্ব দিক ঠিক করে, এবং উল্টো দিকে চলা ওয়্যার তার বাইরের অঞ্চল দেয়। সারফেসগুলি geom.surfaces থেকে আসে।

      Parameters

      Returns Promise<TopoDSFacePointer>

      ফেস

      const patch = await bitbybit.occt.shapes.face.faceFromSurfaceAndWire({ surface, wire: wireOnSurface, inside: true });
      

    from base

    • তিনটি বিন্দু থেকে একটি সমতল ত্রিভুজাকার ফেস তৈরি করে।

      Parameters

      • inputs: TriangleBaseDto

        তিনটি বিন্দু হিসেবে ত্রিভুজ

      Returns Promise<TopoDSFacePointer>

      ফেস

      const face = await bitbybit.occt.shapes.face.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 0, 10]] });
      
    • একটি মেশের প্রতিটি ত্রিভুজের জন্য একটি সমতল ত্রিভুজাকার ফেস তৈরি করে।

      যে ত্রিভুজ একটি ফেস গঠন করতে পারে না, যেমন পুনরাবৃত্ত বিন্দুযুক্ত একটি, তা কনসোলে একটি সতর্কতাসহ বাদ দেওয়া হয়।

      Parameters

      • inputs: MeshBaseDto

        ত্রিভুজের তালিকা হিসেবে মেশ

      Returns Promise<TopoDSFacePointer[]>

      যে ত্রিভুজগুলি তৈরি করা গেছে তার প্রতিটিতে একটি ফেস

      const faces = await bitbybit.occt.shapes.face.fromBaseMesh({
      mesh: [[[0, 0, 0], [10, 0, 0], [0, 0, 10]], [[10, 0, 0], [10, 0, 10], [0, 0, 10]]],
      });

    get

    • একটি আকৃতি থেকে তার অবস্থান দিয়ে একটি ফেস বাছে, 0 থেকে গুনে, কার্নেল যে ক্রমে আকৃতিটি হাঁটে সেই ক্রমে।

      আকৃতিটি একটি ফেস বা ফেস থেকে তৈরি কিছু হতে হবে; শেষ ফেসের পরের সূচক একটি ত্রুটি থ্রো করে।

      Parameters

      Returns Promise<TopoDSFacePointer>

      সেই ইনডেক্সের ফেস

      const first = await bitbybit.occt.shapes.face.getFace({ shape: box, index: 0 });
      
    • কার্নেল যে ক্রমে হাঁটে সেই ক্রমে একটি আকৃতির প্রতিটি ফেস তালিকাভুক্ত করে।

      Parameters

      Returns Promise<TopoDSFacePointer[]>

      আকৃতিতে পাওয়া ফেসগুলি

      const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
      
    • একটি ফেস উল্টে দেয় যাতে তার নর্মাল অন্য দিকে নির্দেশ করে।

      জ্যামিতি একই থাকে; শুধু অভিমুখ বদলায়, যা একটি শেলের বাইরের দিক এবং normalOnUV যে দিক জানায় তা ঠিক করে।

      Parameters

      Returns Promise<TopoDSFacePointer>

      উল্টানো ফেস

      const flipped = await bitbybit.occt.shapes.face.reversedFace({ shape: face });
      
    • একটি ফেসের সবচেয়ে ছোট U প্যারামিটার মান পড়ে, সারফেসের নিজস্ব এককে।

      getUMaxBound, getVMinBoundgetVMaxBound এর সাথে মিলে এটি সেই পরিসর দেয় যার উপর এই ক্লাসের অন্যত্র ব্যবহৃত UV ভগ্নাংশগুলি ম্যাপ হয়।

      Parameters

      Returns Promise<number>

      নিম্ন U সীমা

      const uMin = await bitbybit.occt.shapes.face.getUMinBound({ shape: face });
      
    • একটি ফেসের সবচেয়ে বড় U প্যারামিটার মান পড়ে, সারফেসের নিজস্ব এককে।

      Parameters

      Returns Promise<number>

      উচ্চ U সীমা

      const uMax = await bitbybit.occt.shapes.face.getUMaxBound({ shape: face });
      
    • একটি ফেসের সবচেয়ে ছোট V প্যারামিটার মান পড়ে, সারফেসের নিজস্ব এককে।

      Parameters

      Returns Promise<number>

      নিম্ন V সীমা

      const vMin = await bitbybit.occt.shapes.face.getVMinBound({ shape: face });
      
    • একটি ফেসের সবচেয়ে বড় V প্যারামিটার মান পড়ে, সারফেসের নিজস্ব এককে।

      Parameters

      Returns Promise<number>

      উচ্চ V সীমা

      const vMax = await bitbybit.occt.shapes.face.getVMaxBound({ shape: face });
      
    • একটি ফেসের সারফেস ক্ষেত্রফল মাপে, বর্গ মডেল এককে।

      Parameters

      Returns Promise<number>

      ক্ষেত্রফল

      const area = await bitbybit.occt.shapes.face.getFaceArea({ shape: face });
      
    • একটি তালিকার প্রতিটি ফেসের সারফেস ক্ষেত্রফল মাপে, বর্গ মডেল এককে।

      Parameters

      Returns Promise<number[]>

      প্রতি ফেসে একটি ক্ষেত্রফল, একই ক্রমে

      const areas = await bitbybit.occt.shapes.face.getFacesAreas({ shapes: faces });
      
    • একটি ফেসের ভরকেন্দ্র খুঁজে বের করে, যে বিন্দুতে তার ক্ষেত্রফল ভারসাম্যে থাকে।

      একটি বাঁকা বা বলয়-আকৃতির ফেসে এই বিন্দুটি সারফেসের বাইরে থাকতে পারে।

      Parameters

      Returns Promise<Point3>

      ভরকেন্দ্র

      const center = await bitbybit.occt.shapes.face.getFaceCenterOfMass({ shape: face });
      
    • একটি তালিকার প্রতিটি ফেসের ভরকেন্দ্র খুঁজে বের করে।

      Parameters

      Returns Promise<Point3[]>

      প্রতি ফেসে একটি বিন্দু, একই ক্রমে

      const centers = await bitbybit.occt.shapes.face.getFacesCentersOfMass({ shapes: faces });
      

    patterns

    • একটি ফেসের উপর আয়তাকার ওয়্যার বসায়, তার UV পরিসরের একটি nrRectanglesU বাই nrRectanglesV বিভাজনের প্রতিটি ঘরের জন্য একটি, সারফেস অনুসরণ করে।

      border অফসেটগুলি প্রতি প্রান্তে পরিসর ছাঁটে। প্রতিটি আয়তক্ষেত্র তার ঘরে কেন্দ্রীভূত বসে, স্কেল প্যাটার্ন দিয়ে তার একটি ভগ্নাংশ হিসেবে আকার পায়; ফিলেট প্যাটার্ন কোণা গোল করে, অন্তর্ভুক্তি প্যাটার্ন ঘর বাদ দেয়।

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      আয়তক্ষেত্র ওয়্যারগুলি, সেল ধরে

      const cells = await bitbybit.occt.shapes.face.subdivideToRectangleWires({
      shape: face,
      nrRectanglesU: 6,
      nrRectanglesV: 4,
      scalePatternU: [0.8, 0.5],
      scalePatternV: [0.8],
      filletPattern: [0.3],
      inclusionPattern: [true, true, false],
      offsetFromBorderU: 0.05,
      offsetFromBorderV: 0.05,
      });
    • একটি ফেসে আয়তাকার ছিদ্রের একটি গ্রিড কাটে এবং ছিদ্রযুক্ত ফেসটি ফেরত দেয়।

      ছিদ্রগুলি subdivideToRectangleWires এর মতো একই ঘর ও প্যাটার্ন অনুসরণ করে; কোনো স্কেল প্যাটার্ন না দিলে প্রতিটি ছিদ্র তার ঘরের অর্ধেক ঢাকে। holesToFaces true হলে ফলাফলে ছিদ্রযুক্ত ফেসের পরে প্রতিটি ছিদ্রের জন্য একটি ফেসও থাকে, যা ঢাকনা বা ফিলারের জন্য সুবিধাজনক।

      Parameters

      • inputs: FaceSubdivideToRectangleHolesDto<TopoDSFacePointer>

        ফেস, সেলের সংখ্যা, বর্ডার অফসেট, ঐচ্ছিক প্যাটার্ন এবং ছিদ্র ফেসগুলি ফেরত দেওয়া হবে কিনা

      Returns Promise<TopoDSFacePointer[]>

      ছিদ্রযুক্ত ফেস, চাওয়া হলে তারপর ছিদ্র ফেসগুলি

      const [perforated] = await bitbybit.occt.shapes.face.subdivideToRectangleHoles({
      shape: face,
      nrRectanglesU: 6,
      nrRectanglesV: 4,
      scalePatternU: [0.6],
      scalePatternV: [0.6],
      filletPattern: [0.5],
      inclusionPattern: [true],
      holesToFaces: false,
      offsetFromBorderU: 0.05,
      offsetFromBorderV: 0.05,
      });
    • একটি ফেসের উপর ষড়ভুজাকার ওয়্যারের একটি মৌচাক বসায়, তার UV পরিসরে ফিট করা nrHexagonsU বাই nrHexagonsV টি, প্রতিটি সারফেস অনুসরণ করে।

      border অফসেটগুলি প্রতি প্রান্তে পরিসরের একটি ভগ্নাংশ ছাঁটে; flatU একটি সমতল বাহু U এর দিকে ঘোরায়, extend ফ্ল্যাগগুলি বাইরের সারিগুলিকে প্রান্ত ছাড়িয়ে টানে। স্কেল, ফিলেট ও অন্তর্ভুক্তি প্যাটার্নগুলি প্রতি ষড়ভুজে পুনরাবৃত্ত হয়।

      Parameters

      • inputs: FaceSubdivideToHexagonWiresDto<TopoDSFacePointer>

        ফেস, ষড়ভুজের সংখ্যা, অভিমুখ, বর্ডার অফসেট, এক্সটেন্ড ফ্ল্যাগ ও ঐচ্ছিক প্যাটার্ন

      Returns Promise<TopoDSWirePointer[]>

      ষড়ভুজ ওয়্যারগুলি, সারি ধরে

      const cells = await bitbybit.occt.shapes.face.subdivideToHexagonWires({
      shape: face,
      nrHexagonsU: 8,
      nrHexagonsV: 6,
      flatU: false,
      scalePatternU: [0.9],
      scalePatternV: [0.9],
      filletPattern: [0.2],
      inclusionPattern: [true],
      offsetFromBorderU: 0,
      offsetFromBorderV: 0,
      });
    • একটি ফেসে ষড়ভুজাকার ছিদ্রের একটি মৌচাক কাটে এবং ছিদ্রযুক্ত ফেসটি ফেরত দেয়।

      ছিদ্রগুলি subdivideToHexagonWires এর মতো একই বিন্যাস ও প্যাটার্ন অনুসরণ করে; কোনো স্কেল প্যাটার্ন না দিলে প্রতিটি ছিদ্র তার ষড়ভুজের অর্ধেক আকারের। holesToFaces true হলে ফলাফলে ছিদ্রযুক্ত ফেসের পরে প্রতিটি ছিদ্রের জন্য একটি ফেসও থাকে।

      Parameters

      • inputs: FaceSubdivideToHexagonHolesDto<TopoDSFacePointer>

        ফেস, ষড়ভুজের সংখ্যা, অভিমুখ, বর্ডার অফসেট, ঐচ্ছিক প্যাটার্ন এবং ছিদ্র ফেসগুলি ফেরত দেওয়া হবে কিনা

      Returns Promise<TopoDSFacePointer[]>

      ছিদ্রযুক্ত ফেস, চাওয়া হলে তারপর ছিদ্র ফেসগুলি

      const [perforated] = await bitbybit.occt.shapes.face.subdivideToHexagonHoles({
      shape: face,
      nrHexagonsU: 8,
      nrHexagonsV: 6,
      flatU: false,
      holesToFaces: false,
      scalePatternU: [0.7],
      scalePatternV: [0.7],
      filletPattern: [0],
      inclusionPattern: [true],
      offsetFromBorderU: 0.05,
      offsetFromBorderV: 0.05,
      });

    primitives

    • কোণা বিন্দুর একটি তালিকা থেকে একটি সমতল ফেস তৈরি করে, শেষ বিন্দু থেকে প্রথমটিতে ফিরিয়ে রূপরেখাটি বন্ধ করে।

      বিন্দুগুলি এক প্লেনে থাকতে হবে।

      Parameters

      • inputs: PolygonDto

        কোণার বিন্দুগুলি ক্রমানুসারে

      Returns Promise<TopoDSFacePointer>

      ফেস

      const face = await bitbybit.occt.shapes.face.createPolygonFace({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]] });
      
    • একটি সমতল বৃত্তাকার ফেস, একটি চাকতি, তৈরি করে।

      direction তার প্লেনের নর্মাল: ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়।

      Parameters

      • inputs: Bit.Inputs.OCCT.CircleDto

        ব্যাসার্ধ, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      চাকতি ফেস

      const disc = await bitbybit.occt.shapes.face.createCircleFace({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • ভূমি প্লেনে একটি আয়তক্ষেত্রকে সমতল ষড়ভুজাকার ফেসের একটি গ্রিড দিয়ে ভরে দেয়, মূলবিন্দুতে কেন্দ্রীভূত।

      ষড়ভুজগুলি এমনভাবে স্কেল করা হয় যাতে width জুড়ে nrHexagonsInWidth এবং height জুড়ে nrHexagonsInHeight ধরে। স্কেল, ফিলেট ও অন্তর্ভুক্তির প্যাটার্নগুলি ষড়ভুজ ধরে ধরে পড়া হয় এবং পুনরাবৃত্ত হয়; extend ফ্ল্যাগগুলি বাইরের সারিগুলিকে প্রান্ত ছাড়িয়ে টানে যাতে আয়তক্ষেত্রটি ঢাকা পড়ে।

      Parameters

      • inputs: HexagonsInGridDto

        আয়তক্ষেত্রের আকার, ষড়ভুজের সংখ্যা, এক্সটেন্ড ফ্ল্যাগ ও ঐচ্ছিক প্যাটার্ন

      Returns Promise<TopoDSFacePointer[]>

      প্রতি ষড়ভুজে একটি ফেস, সারি ধরে

      const cells = await bitbybit.occt.shapes.face.hexagonsInGrid({
      width: 20,
      height: 10,
      nrHexagonsInWidth: 8,
      nrHexagonsInHeight: 4,
      flatTop: false,
      scalePatternWidth: [0.9],
      scalePatternHeight: [0.9],
      });
    • একটি সমতল উপবৃত্তাকার ফেস তৈরি করে।

      direction তার প্লেনের নর্মাল: ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়। radiusMajor অন্তত radiusMinor হতে হবে।

      Parameters

      • inputs: Bit.Inputs.OCCT.EllipseDto

        দুটি ব্যাসার্ধ, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      উপবৃত্ত ফেস

      const face = await bitbybit.occt.shapes.face.createEllipseFace({ radiusMinor: 3, radiusMajor: 6, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • center এ কেন্দ্রীভূত একটি সমতল বর্গ ফেস তৈরি করে।

      direction তার প্লেনের নর্মাল: ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়।

      Parameters

      • inputs: Bit.Inputs.OCCT.SquareDto

        বাহুর দৈর্ঘ্য, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      বর্গক্ষেত্র ফেস

      const face = await bitbybit.occt.shapes.face.createSquareFace({ size: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • center এ কেন্দ্রীভূত একটি সমতল আয়তাকার ফেস তৈরি করে।

      ভূমি প্লেনে width X বরাবর এবং length Z বরাবর চলে; direction প্লেনের নর্মাল, এবং ডিফল্ট [0, 1, 0] ফেসটিকে ভূমিতে সমতল রাখে।

      Parameters

      • inputs: Bit.Inputs.OCCT.RectangleDto

        প্রস্থ, দৈর্ঘ্য, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      আয়তক্ষেত্র ফেস

      const face = await bitbybit.occt.shapes.face.createRectangleFace({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • একটি সমতল L-আকৃতির ফেস তৈরি করে: একটি কোণায় জোড়া দুটি আয়তাকার পা।

      প্রথম পায়ের widthFirstlengthFirst, দ্বিতীয়টির widthSecondlengthSecond; align কোণাটিকে পাগুলির বাইরে, ভিতরে বা মাঝে বসায়, এবং rotation আকৃতিটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। direction অন্য কিছু না বললে এটি ভূমিতে সমতল করে শোয়ানো থাকে।

      Parameters

      • inputs: LPolygonDto

        দুটি বাহুর আকার, অ্যালাইনমেন্ট, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      L-আকৃতির ফেস

      const face = await bitbybit.occt.shapes.face.createLPolygonFace({
      widthFirst: 2,
      lengthFirst: 10,
      widthSecond: 2,
      lengthSecond: 6,
      align: Bit.Inputs.OCCT.directionEnum.outside,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • numRays টি বিন্দুসহ একটি সমতল তারা-আকৃতির ফেস তৈরি করে।

      বিন্দুগুলি outerRadius পর্যন্ত এবং তাদের মধ্যের খাঁজগুলি innerRadius পর্যন্ত পৌঁছায়; half শুধু রশ্মিগুলির প্রথম অর্ধেক রাখে। offsetOuterEdges রশ্মির ডগাগুলিকে প্লেন থেকে তোলে এবং ওয়্যারের জন্য উদ্দিষ্ট; একটি সমতল ফেসের এটি 0 এ দরকার। direction অন্য কিছু না বললে এটি ভূমিতে সমতল করে শোয়ানো থাকে।

      Parameters

      • inputs: Bit.Inputs.OCCT.StarDto

        দুটি ব্যাসার্ধ, রশ্মির সংখ্যা, কেন্দ্র, প্লেনের নর্মাল ও অপশন

      Returns Promise<TopoDSFacePointer>

      তারা ফেস

      const star = await bitbybit.occt.shapes.face.createStarFace({ outerRadius: 5, innerRadius: 2, numRays: 5, center: [0, 0, 0], direction: [0, 1, 0], offsetOuterEdges: 0, half: false });
      
    • একটি স্টাইলাইজড ক্রিসমাস ট্রির মতো আকৃতির একটি সমতল ফেস তৈরি করে: ডালের nrSkirts স্তর, কাণ্ডের রেখা থেকে outerDist থেকে innerDist পর্যন্ত সরু হয়ে, trunkHeighttrunkWidth এর একটি কাণ্ডের উপর।

      এখানকার অন্য সমতল আকৃতিগুলির মতো নয়, এটি XY প্লেনে খাড়া দাঁড়ায়, ডগা Y বরাবর; direction কাণ্ড-থেকে-ডগা দিক, rotation এটিকে সেই অক্ষের চারপাশে ঘোরায়, ডিগ্রিতে।

      Parameters

      • inputs: ChristmasTreeDto

        গাছের অনুপাত, কাণ্ডের আকার, অপশন, মূলবিন্দু এবং কাণ্ড-থেকে-চূড়া দিক

      Returns Promise<TopoDSFacePointer>

      গাছ ফেস

      const tree = await bitbybit.occt.shapes.face.createChristmasTreeFace({
      height: 10,
      innerDist: 1.5,
      outerDist: 4,
      nrSkirts: 4,
      trunkHeight: 1.5,
      trunkWidth: 1,
      half: false,
      rotation: 0,
      origin: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • একটি সমতল সামান্তরিক ফেস তৈরি করে: widthheight এর একটি আয়তক্ষেত্র যার বাহুগুলি angle ডিগ্রি হেলে থাকে।

      aroundCenter true হলে আকৃতিটি center এ কেন্দ্রীভূত হয়; নাহলে এটি সেখানে শুরু হয় এবং ধনাত্মক দিকগুলিতে বিস্তৃত হয়। direction প্লেনের নর্মাল; ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়।

      Parameters

      • inputs: ParallelogramDto

        প্রস্থ, উচ্চতা, হেলানোর কোণ, এটি কেন্দ্রে রাখা হবে কিনা, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      সামান্তরিক ফেস

      const face = await bitbybit.occt.shapes.face.createParallelogramFace({ width: 10, height: 5, angle: 30, aroundCenter: true, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • একটি সমতল হৃদয়-আকৃতির ফেস তৈরি করে যা মোটামুটি sizeApprox এর একটি বর্গে ধরে।

      rotation এটিকে তার প্লেনে ঘোরায়, ডিগ্রিতে। direction প্লেনের নর্মাল; ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়।

      Parameters

      • inputs: Heart2DDto

        আনুমানিক আকার, ঘূর্ণন, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      হৃদয় ফেস

      const heart = await bitbybit.occt.shapes.face.createHeartFace({ sizeApprox: 10, rotation: 0, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • nrCorners টি কোণাসহ একটি সমতল সুষম বহুভুজ ফেস তৈরি করে, সবগুলি radius এর একটি বৃত্তে।

      direction প্লেনের নর্মাল; ডিফল্ট [0, 1, 0] এটিকে ভূমিতে সমতল করে শোয়ায়।

      Parameters

      • inputs: NGonWireDto

        কোণার সংখ্যা, ব্যাসার্ধ, কেন্দ্র ও প্লেনের নর্মাল

      Returns Promise<TopoDSFacePointer>

      বহুভুজ ফেস

      const hexagon = await bitbybit.occt.shapes.face.createNGonFace({ nrCorners: 6, radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      

    rebuild

    • একটি ফেসের সারফেসকে দেওয়া U ও V ডিগ্রির B-spline হিসেবে পুনর্নির্মাণ করে।

      একটি ডিগ্রি কমালে সারফেসটি tolerance এর মধ্যে একটি সরলতর আনুমানিক রূপে মসৃণ হয়; বাড়ালে হুবহু থাকে। keepTrim মূল সীমানা ওয়্যারগুলি রাখে, যা বাড়ানোর সময় নির্ভরযোগ্য; নাহলে ফেসটি পুরো নতুন সারফেস ঢাকে। ব্যর্থ পুনর্নির্মাণ একটি null ফেস দেয়।

      Parameters

      • inputs: RebuildFaceDegreeDto<TopoDSFacePointer>

        ফেস, লক্ষ্য U ও V ডিগ্রি, টলারেন্স এবং সীমানা রাখা হবে কিনা

      Returns Promise<TopoDSFacePointer>

      পুনর্নির্মিত ফেস

      const smoother = await bitbybit.occt.shapes.face.rebuildFaceDegree({ shape: face, uDegree: 2, vDegree: 2, tolerance: 0.01, keepTrim: true });
      
    • একটি ফেসের উপর UV প্যারামিটারগুলি কীভাবে চলে তা বদলায়: U ও V অদলবদল, U উল্টানো, V উল্টানো, বা যেকোনো সংমিশ্রণ।

      জ্যামিতি একই থাকে; শুধু প্যারামিটারের দিকগুলি বদলায়, যা এখানকার UV তে কাজ করা প্রতিটি মেথডের জন্য গুরুত্বপূর্ণ, যেমন subdivideToPoints বা wireAlongParam। ফেসটি সারফেসের স্বাভাবিক সীমার উপর পুনর্নির্মিত হয়।

      Parameters

      Returns Promise<TopoDSFacePointer>

      পরিবর্তিত প্যারামেট্রাইজেশনসহ ফেস

      const flipped = await bitbybit.occt.shapes.face.flipFaceUV({ shape: face, swapUV: true, reverseU: false, reverseV: false });
      
    • একটি ফেসকে পুনরায় প্যারামিটারাইজ করে যাতে U বা V তে সমান ধাপ সারফেসে মোটামুটি সমান দূরত্ব দেয়।

      অনেক সারফেস তাদের প্যারামিটার কিছু জায়গায় জড়ো করে, তাই তাদের উপর একটি UV গ্রিড অসমান দেখায়; এটি সারফেসটিকে প্রতি দিকে samples বিন্দুতে পুনরায় নমুনা নেয় ও পুনরায় ফিট করে, যা subdivideToPoints ও তার সহোদরগুলিকে সমান করে। ফেসটি নতুন সীমার উপর পুনর্নির্মিত হয়।

      Parameters

      Returns Promise<TopoDSFacePointer>

      পুনঃপ্যারামেট্রাইজ করা ফেস

      const even = await bitbybit.occt.shapes.face.normalizeFaceParametrization({ shape: face, normalizeU: true, normalizeV: true, samples: 50, tolerance: 0.001 });