Bitbybit Docs
    Preparing search index...

    Class OCCTTransforms

    OpenCascade আকৃতি সরানো, ঘোরানো, স্কেল করা ও মিরর করা, এবং এমন সরণ বর্ণনাকারী 4x4 ম্যাট্রিক্স তৈরি করা। প্রতিটি মেথড একটি নতুন আকৃতি ফেরত দেয় এবং ইনপুট যেমন ছিল তেমন রাখে। কোণ ডিগ্রিতে, দূরত্ব মডেল এককে, এবং একটি মেথড কেন্দ্র না নিলে ঘূর্ণন অক্ষ মূলবিন্দুর মধ্য দিয়ে যায়। ম্যাট্রিক্স হল কলাম-মেজর ক্রমে 16টি সংখ্যা (সরণ ইনডেক্স 12 থেকে 14 এ বসে); ম্যাট্রিক্সের একটি তালিকা প্রথম থেকে শেষ পর্যন্ত একটি সম্মিলিত সরণ হিসেবে প্রয়োগ হয়, যেভাবে transformByMatrix...ToMatrix বিল্ডারগুলি একসাথে খাপ খায়।

    Index

    Constructors

    by matrix

    • একটি আকৃতিতে একটি 4x4 ম্যাট্রিক্স, বা প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা ম্যাট্রিক্সের একটি তালিকা, প্রয়োগ করে।

      ম্যাট্রিক্সটি কলাম-মেজর, তাই সরানোটি 12 থেকে 14 সূচকে বসে। টানা বা শিয়ার করা ম্যাট্রিক্স অনুমোদিত; ...ToMatrix মেথডগুলি দিয়ে ম্যাট্রিক্স তৈরি করুন এবং সেগুলিকে multiplyTransforms দিয়ে মেলান। কার্নেল প্রয়োগ করতে পারে না এমন ম্যাট্রিক্স একটি ত্রুটি থ্রো করে।

      Parameters

      Returns Promise<TopoDSShapePointer>

      রূপান্তরিত আকৃতি

      const move = await bitbybit.occt.transforms.translationToMatrix({ translation: [10, 0, 0] });
      const turn = await bitbybit.occt.transforms.rotationAxisAngleToMatrix({ axis: [0, 1, 0], angle: 90, center: [0, 0, 0] });
      const placed = await bitbybit.occt.transforms.transformByMatrix({ shape: box, transformation: [turn, move] });
    • কয়েকটি আকৃতিতে একই 4x4 ম্যাট্রিক্স, বা প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা ম্যাট্রিক্সের তালিকা, প্রয়োগ করে, যেভাবে transformByMatrix একটির জন্য করে।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      রূপান্তরিত আকৃতিগুলি, একই ক্রমে

      const moved = await bitbybit.occt.transforms.transformShapesByMatrix({ shapes: [box, sphere], transformation: matrix });
      
    • একটি আকৃতি যে স্থাপন বহন করে তা পড়ে, তার জ্যামিতিতে বেক করা নয় বরং এর উপর সংরক্ষিত ট্রান্সফর্মটি, একটি ম্যাট্রিক্স হিসেবে সাথে তার সরানো, ঘূর্ণন কোয়াটার্নিয়ন ও সমান স্কেলসহ।

      align দিয়ে বা একটি অ্যাসেম্বলির মাধ্যমে বসানো একটি আকৃতি এমন স্থাপন বহন করে; এখানকার বেশিরভাগ অন্য মেথড সরানোটি জ্যামিতিতে বেক করে, এবং এমন একটি আকৃতি আইডেন্টিটি জানায়।

      Parameters

      Returns Promise<ShapeTransformInfo>

      ম্যাট্রিক্স, সরণ, [x, y, z, w] হিসেবে কোয়াটারনিয়ন এবং স্কেল

      const placement = await bitbybit.occt.transforms.getShapeTransform({ shape: movedBox });
      console.log(placement.translation, placement.scale);

    matrix builders

    • আইডেন্টিটি ম্যাট্রিক্স তৈরি করে, যে ট্রান্সফর্ম কিছুই বদলায় না, অন্যগুলি রচনা করার জন্য একটি শুরুর বিন্দু হিসেবে।

      Returns Promise<TransformMatrix>

      আইডেন্টিটি ম্যাট্রিক্স, কলাম-মেজর

      const identity = await bitbybit.occt.transforms.identityTransform();
      
    • একটি সরানো, X, Y ও Z এর চারপাশে ডিগ্রিতে তিনটি ঘূর্ণন কোণ, এবং একটি সমান স্কেল থেকে একটি ম্যাট্রিক্স তৈরি করে।

      স্কেল প্রথমে প্রয়োগ হয়, তারপর ঘূর্ণনগুলি (প্রথমে Z, তারপর Y, তারপর X), তারপর সরানো, যা অ্যাসেম্বলি স্থাপনগুলি যে ক্রম ব্যবহার করে। বাদ দেওয়া যেকোনো অংশ কোনো পরিবর্তন নয় হিসেবে ধরা হয়।

      Parameters

      • inputs: ComposeTransformDto

        সরণ, ডিগ্রিতে তিনটি ঘূর্ণন কোণ এবং স্কেল গুণক

      Returns Promise<TransformMatrix>

      সম্মিলিত ম্যাট্রিক্স, কলাম-মেজর

      const placement = await bitbybit.occt.transforms.composeTransform({ translation: [10, 0, 0], rotation: [0, 90, 0], scale: 1 });
      
    • ম্যাট্রিক্সের একটি তালিকাকে একটিতে ভাঁজ করে, প্রথম থেকে শেষ পর্যন্ত প্রয়োগ করা, যাতে সরানোর একটি শৃঙ্খল একটি একক ম্যাট্রিক্স হয়।

      একটি একক ম্যাট্রিক্স অপরিবর্তিত ফেরত দেওয়া হয় এবং একটি খালি তালিকা আইডেন্টিটি দেয়।

      Parameters

      • inputs: MultiplyTransformsDto

        ম্যাট্রিক্স বা ম্যাট্রিক্সের তালিকা

      Returns Promise<TransformMatrix>

      সম্মিলিত ম্যাট্রিক্স, কলাম-মেজর

      const combined = await bitbybit.occt.transforms.multiplyTransforms({ transformation: [turn, move] });
      
    • একটি ম্যাট্রিক্স উল্টায়, যে ট্রান্সফর্ম এটিকে বাতিল করে তা দেয়: একটি ম্যাট্রিক্স ও তারপর তার বিপরীত প্রয়োগ করলে একটি আকৃতি যেখানে ছিল সেখানে ফিরে যায়।

      Parameters

      • inputs: InvertTransformDto

        যে ম্যাট্রিক্সটি বিপরীত করতে হবে

      Returns Promise<TransformMatrix>

      বিপরীত ম্যাট্রিক্স, কলাম-মেজর

      const back = await bitbybit.occt.transforms.invertTransform({ transformation: placement });
      
    • একটি ভেক্টর দিয়ে সরানোর ম্যাট্রিক্স তৈরি করে, মডেল এককে।

      Parameters

      Returns Promise<TransformMatrix>

      সরণ ম্যাট্রিক্স, কলাম-মেজর

      const move = await bitbybit.occt.transforms.translationToMatrix({ translation: [10, 0, 0] });
      
    • একটি অক্ষের চারপাশে ডিগ্রিতে একটি কোণ দিয়ে ঘূর্ণনের ম্যাট্রিক্স তৈরি করে, মূলবিন্দু দিয়ে বা একটি ঐচ্ছিক কেন্দ্র বিন্দু দিয়ে।

      ঘূর্ণনটি axis এর চারপাশে ডান-হাতি নিয়ম মেনে চলে।

      Parameters

      • inputs: RotationAxisAngleToMatrixDto

        অক্ষের দিক, ডিগ্রিতে কোণ এবং ঐচ্ছিকভাবে যে বিন্দুর মধ্য দিয়ে অক্ষটি যায়

      Returns Promise<TransformMatrix>

      ঘূর্ণন ম্যাট্রিক্স, কলাম-মেজর

      const turn = await bitbybit.occt.transforms.rotationAxisAngleToMatrix({ axis: [0, 1, 0], angle: 90, center: [5, 0, 5] });
      
    • মূলবিন্দু বা একটি ঐচ্ছিক কেন্দ্র বিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমান স্কেলের ম্যাট্রিক্স তৈরি করে।

      Parameters

      • inputs: ScaleUniformToMatrixDto

        গুণক এবং ঐচ্ছিকভাবে যে বিন্দু ঘিরে স্কেল করতে হবে

      Returns Promise<TransformMatrix>

      স্কেল ম্যাট্রিক্স, কলাম-মেজর

      const grow = await bitbybit.occt.transforms.scaleUniformToMatrix({ factor: 2, center: [0, 0, 0] });
      
    • একটি বিন্দুর মধ্য দিয়ে মিররের ম্যাট্রিক্স তৈরি করে, mirrorAboutPoint যে ট্রান্সফর্ম প্রয়োগ করে।

      Parameters

      • inputs: MirrorPointToMatrixDto

        যে বিন্দুর মধ্য দিয়ে মিরর করতে হবে

      Returns Promise<TransformMatrix>

      মিরর ম্যাট্রিক্স, কলাম-মেজর

      const invert = await bitbybit.occt.transforms.mirrorPointToMatrix({ point: [0, 0, 0] });
      
    • একটি রেখার আড়াআড়ি মিররের ম্যাট্রিক্স তৈরি করে, mirror যে ট্রান্সফর্ম প্রয়োগ করে: origin দিয়ে direction বরাবর অক্ষ।

      Parameters

      • inputs: MirrorAxisToMatrixDto

        অক্ষের উপর একটি বিন্দু এবং অক্ষের দিক

      Returns Promise<TransformMatrix>

      মিরর ম্যাট্রিক্স, কলাম-মেজর

      const flip = await bitbybit.occt.transforms.mirrorAxisToMatrix({ origin: [0, 0, 0], direction: [0, 1, 0] });
      
    • একটি প্লেনের আড়াআড়ি মিররের ম্যাট্রিক্স তৈরি করে, mirrorAlongNormal যে ট্রান্সফর্ম প্রয়োগ করে: দেওয়া নর্মালসহ origin দিয়ে যাওয়া প্লেন।

      Parameters

      • inputs: MirrorPlaneToMatrixDto

        প্লেনের উপর একটি বিন্দু এবং প্লেনের নর্মাল

      Returns Promise<TransformMatrix>

      মিরর ম্যাট্রিক্স, কলাম-মেজর

      const reflect = await bitbybit.occt.transforms.mirrorPlaneToMatrix({ origin: [0, 0, 0], normal: [1, 0, 0] });
      
    • [x, y, z, w] হিসেবে দেওয়া একটি কোয়াটার্নিয়নের ঘূর্ণন ম্যাট্রিক্স তৈরি করে।

      কোয়াটার্নিয়নটি প্রথমে স্বাভাবিকীকরণ করা হয়, তাই তার দৈর্ঘ্য গুরুত্বপূর্ণ নয়।

      Parameters

      Returns Promise<TransformMatrix>

      ঘূর্ণন ম্যাট্রিক্স, কলাম-মেজর

      const turn = await bitbybit.occt.transforms.quaternionToMatrix({ quaternion: [0, 0.7071, 0, 0.7071] });
      

    on shapes

    • কয়েকটি আকৃতিতে transform প্রয়োগ করে, প্রতিটি তার নিজস্ব সরানো, ঘূর্ণন অক্ষ, কোণ ও স্কেল ফ্যাক্টর দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      • inputs: TransformShapesDto<TopoDSShapePointer>

        আকৃতিগুলি এবং প্রতি আকৃতিতে একটি করে সরণ, ঘূর্ণন অক্ষ, ডিগ্রিতে কোণ ও স্কেল গুণক

      Returns Promise<TopoDSShapePointer[]>

      রূপান্তরিত আকৃতিগুলি, একই ক্রমে

      const moved = await bitbybit.occt.transforms.transformShapes({
      shapes: [box, sphere],
      translations: [[10, 0, 0], [-10, 0, 0]],
      rotationAxes: [[0, 1, 0], [0, 1, 0]],
      rotationAngles: [45, 0],
      scaleFactors: [1, 2],
      });
    • কয়েকটি আকৃতিতে rotate প্রয়োগ করে, প্রতিটি মূলবিন্দু দিয়ে যাওয়া তার নিজস্ব অক্ষের চারপাশে এবং ডিগ্রিতে তার নিজস্ব কোণ দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      ঘোরানো আকৃতিগুলি, একই ক্রমে

      const turned = await bitbybit.occt.transforms.rotateShapes({ shapes: [box, sphere], axes: [[0, 1, 0], [1, 0, 0]], angles: [90, 45] });
      
    • কয়েকটি আকৃতিতে rotateAroundCenter প্রয়োগ করে, প্রতিটি ডিগ্রিতে তার নিজস্ব কোণ, কেন্দ্র ও অক্ষ দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      ঘোরানো আকৃতিগুলি, একই ক্রমে

      const turned = await bitbybit.occt.transforms.rotateAroundCenterShapes({
      shapes: [box, sphere],
      angles: [90, 45],
      centers: [[5, 0, 5], [0, 0, 0]],
      axes: [[0, 1, 0], [0, 1, 0]],
      });
    • কয়েকটি আকৃতিতে align প্রয়োগ করে, প্রতিটি তার নিজস্ব from ও to ফ্রেম দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      • inputs: AlignShapesDto<TopoDSShapePointer>

        আকৃতিগুলি এবং প্রতি আকৃতিতে একটি করে উৎস মূলবিন্দু, উৎস দিক, লক্ষ্য মূলবিন্দু ও লক্ষ্য দিক

      Returns Promise<TopoDSShapePointer[]>

      অ্যালাইন করা আকৃতিগুলি, একই ক্রমে

      const placed = await bitbybit.occt.transforms.alignShapes({
      shapes: [cylinder, cylinder2],
      fromOrigins: [[0, 0, 0], [0, 0, 0]],
      fromDirections: [[0, 1, 0], [0, 1, 0]],
      toOrigins: [[10, 0, 0], [20, 0, 0]],
      toDirections: [[1, 0, 0], [0, 0, 1]],
      });
    • কয়েকটি আকৃতিতে alignAndTranslate প্রয়োগ করে, প্রতিটি তার নিজস্ব দিক ও কেন্দ্র দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      স্থাপিত আকৃতিগুলি, একই ক্রমে

      const placed = await bitbybit.occt.transforms.alignAndTranslateShapes({
      shapes: [profile, profile2],
      directions: [[1, 0, 0], [0, 0, 1]],
      centers: [[10, 0, 0], [0, 0, 10]],
      });
    • কয়েকটি আকৃতিতে translate প্রয়োগ করে, প্রতিটি তার নিজস্ব ভেক্টর দিয়ে।

      দুটি তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      সরানো আকৃতিগুলি, একই ক্রমে

      const moved = await bitbybit.occt.transforms.translateShapes({ shapes: [box, sphere], translations: [[10, 0, 0], [-10, 0, 0]] });
      
    • কয়েকটি আকৃতিতে scale প্রয়োগ করে, প্রতিটি মূলবিন্দুর সাপেক্ষে সমানভাবে তার নিজস্ব ফ্যাক্টর দিয়ে।

      দুটি তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      স্কেল করা আকৃতিগুলি, একই ক্রমে

      const scaled = await bitbybit.occt.transforms.scaleShapes({ shapes: [box, sphere], factors: [2, 0.5] });
      
    • কয়েকটি আকৃতিতে scale3d প্রয়োগ করে, প্রতিটি তার নিজস্ব তিনটি ফ্যাক্টর ও কেন্দ্র দিয়ে।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      • inputs: Scale3DShapesDto<TopoDSShapePointer>

        আকৃতিগুলি এবং প্রতি আকৃতিতে একটি স্কেল ভেক্টর ও কেন্দ্র

      Returns Promise<TopoDSShapePointer[]>

      স্কেল করা আকৃতিগুলি, একই ক্রমে

      const scaled = await bitbybit.occt.transforms.scale3dShapes({
      shapes: [box, sphere],
      scales: [[1, 2, 1], [2, 2, 2]],
      centers: [[0, 0, 0], [10, 0, 0]],
      });
    • কয়েকটি আকৃতিতে mirror প্রয়োগ করে, প্রতিটি তার নিজস্ব অক্ষের আড়াআড়ি।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      • inputs: MirrorShapesDto<TopoDSShapePointer>

        আকৃতিগুলি এবং প্রতি আকৃতিতে একটি অক্ষের মূলবিন্দু ও দিক

      Returns Promise<TopoDSShapePointer[]>

      মিরর করা আকৃতিগুলি, একই ক্রমে

      const flipped = await bitbybit.occt.transforms.mirrorShapes({
      shapes: [box, sphere],
      origins: [[0, 0, 0], [0, 0, 0]],
      directions: [[0, 1, 0], [1, 0, 0]],
      });
    • কয়েকটি আকৃতিতে mirrorAlongNormal প্রয়োগ করে, প্রতিটি তার নিজস্ব প্লেনের আড়াআড়ি।

      সব তালিকার দৈর্ঘ্য একই হতে হবে, নাহলে একটি ত্রুটি থ্রো হয়।

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      মিরর করা আকৃতিগুলি, একই ক্রমে

      const others = await bitbybit.occt.transforms.mirrorAlongNormalShapes({
      shapes: [leftArm, leftLeg],
      origins: [[0, 0, 0], [0, 0, 0]],
      normals: [[1, 0, 0], [1, 0, 0]],
      });

    on single shape

    • একটি আকৃতিকে একবারে স্কেল, ঘোরানো ও সরানো করে: প্রথমে মূলবিন্দুর সাপেক্ষে স্কেল, তারপর মূলবিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘূর্ণন, তারপর সরানো।

      যেহেতু স্কেল ও ঘূর্ণন মূলবিন্দুর সাপেক্ষে ঘটে, সেখানে না থাকা একটি আকৃতিও এর চারপাশে দোলে; এটিকে প্রথমে সরান, অথবা একটি বাছাই করা কেন্দ্রের জন্য rotateAroundCenterscale3d ব্যবহার করুন।

      Parameters

      Returns Promise<TopoDSShapePointer>

      রূপান্তরিত আকৃতি

      const moved = await bitbybit.occt.transforms.transform({
      shape: box,
      translation: [10, 0, 0],
      rotationAxis: [0, 1, 0],
      rotationAngle: 45,
      scaleFactor: 2,
      });
    • একটি আকৃতিকে মূলবিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘোরায়, ডিগ্রিতে একটি কোণ দিয়ে।

      ঘূর্ণনটি ডান-হাতি নিয়ম মেনে চলে: বুড়ো আঙুল axis বরাবর রাখলে আঙুলগুলি ধনাত্মক দিক দেখায়। মূলবিন্দু থেকে দূরের একটি আকৃতি এর চারপাশে দোলে; rotateAroundCenter বদলে একটি বাছাই করা বিন্দুর চারপাশে ঘোরায়।

      Parameters

      Returns Promise<TopoDSShapePointer>

      ঘোরানো আকৃতি

      const turned = await bitbybit.occt.transforms.rotate({ shape: box, axis: [0, 1, 0], angle: 90 });
      
    • একটি আকৃতিকে একটি বাছাই করা বিন্দু দিয়ে যাওয়া একটি অক্ষের চারপাশে ঘোরায়, ডিগ্রিতে একটি কোণ দিয়ে।

      আকৃতিটিকে সরানো হয় যাতে বিন্দুটি মূলবিন্দুতে বসে, সেখানে axis এর চারপাশে ডান-হাতি নিয়মে ঘোরানো হয়, এবং ফিরিয়ে আনা হয়।

      Parameters

      • inputs: RotateAroundCenterDto<TopoDSShapePointer>

        আকৃতি, ডিগ্রিতে কোণ, যে বিন্দুর মধ্য দিয়ে অক্ষটি যায় এবং অক্ষের দিক

      Returns Promise<TopoDSShapePointer>

      ঘোরানো আকৃতি

      const turned = await bitbybit.occt.transforms.rotateAroundCenter({ shape: box, angle: 90, center: [5, 0, 5], axis: [0, 1, 0] });
      
    • একটি আকৃতিকে এমনভাবে সরায় যাতে তার উপরের একটি বিন্দু ও দিক অন্য একটি বিন্দু ও দিকে পড়ে: fromDirection সহ fromOrigin ফ্রেমটি toDirection সহ toOrigin এ নিয়ে যাওয়া হয়।

      এটাই একটি আকৃতিকে একটি সারফেসে দাঁড় করানোর বা একটি রেখা বরাবর তাক করার উপায়: আকৃতিটি সরানো ও ঘোরানো দুটোই হয়, কখনো স্কেল নয়।

      Parameters

      • inputs: AlignDto<TopoDSShapePointer>

        আকৃতি, যে বিন্দু ও দিক থেকে নিতে হবে, এবং যে বিন্দু ও দিকে বসাতে হবে

      Returns Promise<TopoDSShapePointer>

      অ্যালাইন করা আকৃতি

      const standing = await bitbybit.occt.transforms.align({
      shape: cylinder,
      fromOrigin: [0, 0, 0],
      fromDirection: [0, 1, 0],
      toOrigin: [10, 5, 0],
      toDirection: [1, 0, 0],
      });
    • একটি আকৃতিকে এমনভাবে সরায় যাতে তার উপরের একটি পূর্ণ ফ্রেম অন্য একটি ফ্রেমে পড়ে: একটি বিন্দু, তার নর্মাল ও সেই নর্মালের প্লেনে একটি অক্ষ তাদের লক্ষ্যে নিয়ে যাওয়া হয়।

      যেখানে align একটি দিক নির্ধারণ করে এবং এর চারপাশের ঘোরা মুক্ত রাখে, এটি ঘোরাটিও নির্ধারণ করে, যা তাদের অক্ষের সাপেক্ষে গোল নয় এমন আকৃতির জন্য গুরুত্বপূর্ণ।

      Parameters

      • inputs: AlignNormAndAxisDto<TopoDSShapePointer>

        আকৃতি, যে বিন্দু, নর্মাল ও অক্ষ থেকে নিতে হবে, এবং যে বিন্দু, নর্মাল ও অক্ষে বসাতে হবে

      Returns Promise<TopoDSShapePointer>

      অ্যালাইন করা আকৃতি

      const placed = await bitbybit.occt.transforms.alignNormAndAxis({
      shape: bracket,
      fromOrigin: [0, 0, 0],
      fromNorm: [0, 1, 0],
      fromAx: [1, 0, 0],
      toOrigin: [10, 0, 0],
      toNorm: [0, 0, 1],
      toAx: [0, 1, 0],
      });
    • একটি আকৃতিকে ঘোরায় যাতে তার Y অক্ষ direction বরাবর নির্দেশ করে, তারপর এটিকে center এ সরায়।

      এই প্যাকেজের সমতল আকৃতি ও প্রিমিটিভগুলি Y উপরে রেখে ভূমিতে তৈরি, তাই এটাই সেই একটি কল যা সেগুলির যেকোনোটি বসায়: দিকটি তাদের নতুন উপর হয়, এবং কেন্দ্রটি যেখানে তারা বসে।

      Parameters

      • inputs: AlignAndTranslateDto<TopoDSShapePointer>

        আকৃতি, তার Y অক্ষ যে দিক বরাবর নির্দেশ করবে এবং যে বিন্দুতে এটি সরাতে হবে

      Returns Promise<TopoDSShapePointer>

      স্থাপিত আকৃতি

      const placed = await bitbybit.occt.transforms.alignAndTranslate({ shape: profile, direction: [1, 0, 0], center: [10, 0, 0] });
      
    • একটি আকৃতিকে একটি ভেক্টর দিয়ে সরায়, মডেল এককে।

      Parameters

      Returns Promise<TopoDSShapePointer>

      সরানো আকৃতি

      const moved = await bitbybit.occt.transforms.translate({ shape: box, translation: [10, 0, 0] });
      
    • একটি আকৃতিকে মূলবিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমানভাবে স্কেল করে।

      মূলবিন্দু থেকে দূরের একটি আকৃতি এর থেকে দূরে বা এর দিকেও সরে; scaleFromCenter একটি বাছাই করা বিন্দুর সাপেক্ষে স্কেল করে এবং scale3d প্রতিটি অক্ষকে তার নিজস্ব ফ্যাক্টর দিয়ে স্কেল করে।

      Parameters

      Returns Promise<TopoDSShapePointer>

      স্কেল করা আকৃতি

      const bigger = await bitbybit.occt.transforms.scale({ shape: box, factor: 2 });
      
    • একটি আকৃতিকে X, Y ও Z বরাবর আলাদা ফ্যাক্টর দিয়ে স্কেল করে, একটি বাছাই করা কেন্দ্র বিন্দুর সাপেক্ষে।

      অসমান ফ্যাক্টর আকৃতিটিকে টানে, যা বৃত্তকে উপবৃত্তে পরিণত করে এবং পরের অপারেশন, যেমন ফিলেট, ধীর বা ব্যর্থ করতে পারে; আকৃতিটির শুধু বড় হওয়া দরকার হলে ফ্যাক্টরগুলি সমান রাখুন।

      Parameters

      Returns Promise<TopoDSShapePointer>

      স্কেল করা আকৃতি

      const stretched = await bitbybit.occt.transforms.scale3d({ shape: box, scale: [1, 2, 1], center: [0, 0, 0] });
      
    • একটি আকৃতিকে একটি রেখার আড়াআড়ি মিরর করে: origin দিয়ে direction বরাবর অক্ষ।

      প্রতিটি বিন্দু রেখার সামনে যতটা ছিল ততটাই পিছনে পড়ে, যা 3D তে সেই অক্ষের চারপাশে একটি অর্ধ পাকের সমান।

      Parameters

      Returns Promise<TopoDSShapePointer>

      মিরর করা আকৃতি

      const flipped = await bitbybit.occt.transforms.mirror({ shape: box, origin: [0, 0, 0], direction: [0, 1, 0] });
      
    • একটি আকৃতিকে তার উপরের একটি বিন্দু ও তার নর্মাল দিয়ে দেওয়া একটি প্লেনের আড়াআড়ি মিরর করে।

      এটাই সাধারণ আয়না-ছবি, যেমনটি একটি প্রতিসম অংশের দরকার; ফলাফলটি এই অর্থে উল্টে যায় যে একটি বাম-হাতি আকৃতি একটি ডান-হাতি হয়ে যায়।

      Parameters

      Returns Promise<TopoDSShapePointer>

      মিরর করা আকৃতি

      const other = await bitbybit.occt.transforms.mirrorAlongNormal({ shape: leftHalf, origin: [0, 0, 0], normal: [1, 0, 0] });
      
    • একটি আকৃতিকে একটি বাছাই করা বিন্দুর সাপেক্ষে একটি ফ্যাক্টর দিয়ে সমানভাবে স্কেল করে।

      বিন্দুটি যেখানে আছে সেখানেই থাকে এবং বাকি সবকিছু এর থেকে দূরে বা এর দিকে সরে।

      Parameters

      Returns Promise<TopoDSShapePointer>

      স্কেল করা আকৃতি

      const bigger = await bitbybit.occt.transforms.scaleFromCenter({ shape: box, factor: 2, center: [5, 0, 5] });
      
    • একটি আকৃতিকে একটি বিন্দুর মধ্য দিয়ে মিরর করে: আকৃতির প্রতিটি বিন্দু বিন্দুটির আগে যতটা ছিল ততটাই এর ওপারে পড়ে, বিপরীত পাশে।

      ফলাফলটি উল্টে যায়, যেভাবে একটি সমতল আয়না একটি বাম হাতকে একটি ডান হাতে পরিণত করে।

      Parameters

      Returns Promise<TopoDSShapePointer>

      মিরর করা আকৃতি

      const inverted = await bitbybit.occt.transforms.mirrorAboutPoint({ shape: box, point: [0, 0, 0] });
      
    • একটি আকৃতিকে মূলবিন্দুর সাপেক্ষে [x, y, z, w] হিসেবে দেওয়া একটি কোয়াটার্নিয়ন দিয়ে ঘোরায়।

      কোয়াটার্নিয়নটি প্রথমে স্বাভাবিকীকরণ করা হয়, তাই তার দৈর্ঘ্য গুরুত্বপূর্ণ নয়। কোয়াটার্নিয়নই অ্যানিমেশন ও ফিজিক্স লাইব্রেরিগুলি দেয়, তাই এটি সেগুলিকে একটি অক্ষ ও একটি কোণে রূপান্তর করা বাঁচায়।

      Parameters

      Returns Promise<TopoDSShapePointer>

      ঘোরানো আকৃতি

      const turned = await bitbybit.occt.transforms.rotateByQuaternion({ shape: box, quaternion: [0, 0.7071, 0, 0.7071] });