Bitbybit Docs
    Preparing search index...

    Class JSCADShapes

    بناء مجسمات JSCAD الصلبة: المكعبات ومتوازيات المستطيلات والكرات والإهليلجيات والأسطوانات والحلقة ومجسم صلب من نقاط مضلعات خام، لكل منها متغير يضع نسخة واحدة على كل نقطة من قائمة. تحتفظ النواة بـ Z كمحورها الخاص، فتقف الأسطوانة على طول Z وتستلقي الحلقة مسطحة في المستوى XY؛ وكل مجسم صلب شبكة مغلقة من المضلعات ويحدد segments عدد الأوجه المسطحة التي تقرّب سطحا مستديرا.

    Index

    Constructors

    primitives

    • يبني مكعبا بطول حافة size متمركزا على center، بأوجهه موازية للمحاور.

      Parameters

      Returns Promise<JSCADEntity>

      المجسم الصلب للمكعب

      const cube = await bitbybit.jscad.shapes.cube({ center: [0, 0, 0], size: 10 });
      
    • يبني صندوقا متمركزا على center بـ width على طول X و height على طول Y و length على طول Z، بأوجهه موازية للمحاور.

      Parameters

      • inputs: CuboidDto

        المركز وأطوال الأضلاع الثلاثة

      Returns Promise<JSCADEntity>

      المجسم الصلب للصندوق

      const box = await bitbybit.jscad.shapes.cuboid({ center: [0, 0, 0], width: 10, height: 5, length: 20 });
      
    • يبني أسطوانة بمقطع عرضي إهليلجي يمكن أن يختلف نصفا قطريه عند الطرفين، قائمة على طول Z ومتمركزة على center.

      startRadius هو نصف القطر على X و Y عند الطرف السفلي و endRadius عند العلوي، فالأزواج غير المتساوية تصنع مجسما صلبا مدببا أو شبه مخروطي؛ يُقسم height بالتساوي فوق center وتحته.

      Parameters

      • inputs: CylidnerEllipticDto

        المركز والارتفاع وزوجا أنصاف الأقطار وعدد القطع

      Returns Promise<JSCADEntity>

      المجسم الصلب للأسطوانة الإهليلجية

      const cone = await bitbybit.jscad.shapes.cylinderElliptic({ center: [0, 0, 0], height: 10, startRadius: [4, 2], endRadius: [1, 0.5], segments: 32 });
      
    • يبني أسطوانة مستديرة بنصف القطر radius المعطى قائمة على طول Z، مع height مقسوما بالتساوي فوق center وتحته.

      segments هو عدد الجوانب المسطحة حولها؛ الأكثر يجعلها أكثر استدارة.

      Parameters

      • inputs: CylidnerDto

        المركز والارتفاع ونصف القطر وعدد القطع

      Returns Promise<JSCADEntity>

      المجسم الصلب للأسطوانة

      const cylinder = await bitbybit.jscad.shapes.cylinder({ center: [0, 0, 0], height: 10, radius: 3, segments: 32 });
      
    • يبني مجسما إهليلجيا، كرة ممطوطة بشكل منفصل على طول X و Y و Z، متمركزا على center.

      radius يحمل أنصاف الأحجام الثلاثة بترتيب [x, y, z]؛ القيم المتساوية تصنع كرة.

      Parameters

      • inputs: EllipsoidDto

        المركز وأنصاف الأقطار الثلاثة وعدد القطع

      Returns Promise<JSCADEntity>

      المجسم الصلب للإهليلجي

      const egg = await bitbybit.jscad.shapes.ellipsoid({ center: [0, 0, 0], radius: [5, 3, 8], segments: 32 });
      
    • يبني كرة من مثلثات متساوية الحجم، بالطريقة التي تُبنى بها القبة الجيوديسية، متمركزة على center.

      frequency هو مدى دقة تقسيم الأوجه العشرين الأولية؛ يُستخدم بمضاعفات صحيحة للعدد 6 ويجب أن يكون 6 على الأقل، والقيم الأعلى تعطي كرة أكثر استدارة.

      Parameters

      • inputs: GeodesicSphereDto

        المركز ونصف القطر وتردد التقسيم الفرعي

      Returns Promise<JSCADEntity>

      المجسم الصلب للكرة الجيوديسية

      const dome = await bitbybit.jscad.shapes.geodesicSphere({ center: [0, 0, 0], radius: 5, frequency: 12 });
      
    • يبني صندوقا بكل حوافه وزواياه مقوّسة بـ roundRadius، متمركزا على center بـ width على طول X و height على طول Y و length على طول Z.

      يجب أن يكون roundRadius أقل من نصف الضلع الأصغر وإلا رُمي خطأ؛ segments يحدد مدى نعومة تسطيح التقويس.

      Parameters

      • inputs: RoundedCuboidDto

        المركز وأطوال الأضلاع الثلاثة ونصف قطر الاستدارة وعدد القطع

      Returns Promise<JSCADEntity>

      المجسم الصلب للصندوق المستدير الزوايا

      const soft = await bitbybit.jscad.shapes.roundedCuboid({ center: [0, 0, 0], width: 10, height: 5, length: 20, roundRadius: 1, segments: 16 });
      
    • يبني أسطوانة قائمة على طول Z حافتاها مقوّستان بـ roundRadius، مع height مقسوما بالتساوي فوق center وتحته.

      يجب أن يكون height أكبر من ضعف roundRadius وإلا رُمي خطأ.

      Parameters

      • inputs: RoundedCylidnerDto

        المركز ونصف قطر الاستدارة والارتفاع ونصف القطر وعدد القطع

      Returns Promise<JSCADEntity>

      المجسم الصلب للأسطوانة المستديرة الحواف

      const pill = await bitbybit.jscad.shapes.roundedCylinder({ center: [0, 0, 0], roundRadius: 1, height: 10, radius: 3, segments: 32 });
      
    • يبني كرة بنصف القطر radius المعطى متمركزة على center؛ segments هو عدد الأوجه المسطحة حولها، فالأكثر يجعلها أكثر استدارة.

      Parameters

      Returns Promise<JSCADEntity>

      المجسم الصلب للكرة

      const ball = await bitbybit.jscad.shapes.sphere({ center: [0, 0, 0], radius: 5, segments: 32 });
      
    • يبني طارة، حلقة ذات مقطع عرضي دائري، مستوية في المستوى XY حول center ومحور Z يمر عبر فتحتها.

      outerRadius هو المسافة من المركز إلى منتصف الأنبوب و innerRadius نصف قطر الأنبوب نفسه، الذي يجب أن يكون أصغر. الدورانات و startAngle بالدرجات؛ و outerRotation أقل من 360 يترك الحلقة مفتوحة.

      Parameters

      • inputs: Bit.Inputs.JSCAD.TorusDto

        المركز ونصفا القطر وعددا القطع والدورانان وزاوية البداية

      Returns Promise<JSCADEntity>

      المجسم الصلب للحلقة

      const ring = await bitbybit.jscad.shapes.torus({ center: [0, 0, 0], innerRadius: 1, outerRadius: 5, innerSegments: 16, outerSegments: 48, innerRotation: 0, outerRotation: 360, startAngle: 0 });
      

    primitives on centers

    • يبني مكعبا واحدا بطول حافة size على كل نقطة من centers، بالترتيب نفسه.

      Parameters

      Returns Promise<JSCADEntity[]>

      مكعب واحد لكل نقطة مركز

      const cubes = await bitbybit.jscad.shapes.cubesOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0], [40, 0, 0]], size: 10 });
      
    • يبني صندوقا واحدا بـ width و height و length المعطاة على كل نقطة من centers، بالترتيب نفسه.

      Parameters

      • inputs: CuboidCentersDto

        نقاط المراكز وأطوال الأضلاع الثلاثة

      Returns Promise<JSCADEntity[]>

      صندوق واحد لكل نقطة مركز

      const boxes = await bitbybit.jscad.shapes.cuboidsOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], width: 10, height: 5, length: 20 });
      
    • يبني أسطوانة إهليلجية واحدة بنصفي القطر والارتفاع المعطاة على كل نقطة من centers، بالترتيب نفسه، كما تفعل cylinderElliptic لواحدة.

      Parameters

      • inputs: CylidnerCentersEllipticDto

        نقاط المراكز والارتفاع وزوجا أنصاف الأقطار وعدد القطع

      Returns Promise<JSCADEntity[]>

      أسطوانة إهليلجية واحدة لكل نقطة مركز

      const cones = await bitbybit.jscad.shapes.cylinderEllipticOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], height: 10, startRadius: [4, 2], endRadius: [1, 0.5], segments: 32 });
      
    • يبني أسطوانة واحدة بـ radius و height المعطيين على كل نقطة من centers، بالترتيب نفسه، كما تفعل cylinder لواحدة.

      Parameters

      • inputs: CylidnerCentersDto

        نقاط المراكز والارتفاع ونصف القطر وعدد القطع

      Returns Promise<JSCADEntity[]>

      أسطوانة واحدة لكل نقطة مركز

      const posts = await bitbybit.jscad.shapes.cylindersOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0], [40, 0, 0]], height: 10, radius: 1, segments: 16 });
      
    • يبني مجسما إهليلجيا واحدا بأنصاف الأقطار المعطاة على كل نقطة من centers، بالترتيب نفسه، كما تفعل ellipsoid لواحد.

      Parameters

      • inputs: EllipsoidCentersDto

        نقاط المراكز وأنصاف الأقطار الثلاثة وعدد القطع

      Returns Promise<JSCADEntity[]>

      إهليلجي واحد لكل نقطة مركز

      const eggs = await bitbybit.jscad.shapes.ellipsoidsOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], radius: [5, 3, 8], segments: 32 });
      
    • يبني كرة جيوديسية واحدة بنصف القطر radius المعطى على كل نقطة من centers، بالترتيب نفسه، كما تفعل geodesicSphere لواحدة.

      Parameters

      Returns Promise<JSCADEntity[]>

      كرة جيوديسية واحدة لكل نقطة مركز

      const domes = await bitbybit.jscad.shapes.geodesicSpheresOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], radius: 5, frequency: 12 });
      
    • يبني صندوقا مقوّسا واحدا بالأضلاع والتقويس المعطاة على كل نقطة من centers، بالترتيب نفسه، كما تفعل roundedCuboid لواحد.

      Parameters

      • inputs: RoundedCuboidCentersDto

        نقاط المراكز وأطوال الأضلاع الثلاثة ونصف قطر الاستدارة وعدد القطع

      Returns Promise<JSCADEntity[]>

      صندوق مستدير الزوايا واحد لكل نقطة مركز

      const softBoxes = await bitbybit.jscad.shapes.roundedCuboidsOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], width: 10, height: 5, length: 20, roundRadius: 1, segments: 16 });
      
    • يبني أسطوانة مقوّسة واحدة بالحجم والتقويس المعطاة على كل نقطة من centers، بالترتيب نفسه، كما تفعل roundedCylinder لواحدة.

      Parameters

      • inputs: RoundedCylidnerCentersDto

        نقاط المراكز ونصف قطر الاستدارة والارتفاع ونصف القطر وعدد القطع

      Returns Promise<JSCADEntity[]>

      أسطوانة مستديرة الحواف واحدة لكل نقطة مركز

      const pills = await bitbybit.jscad.shapes.roundedCylindersOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0]], roundRadius: 1, height: 10, radius: 3, segments: 32 });
      
    • يبني كرة واحدة بنصف القطر radius المعطى على كل نقطة من centers، بالترتيب نفسه، كما تفعل sphere لواحدة.

      Parameters

      • inputs: SphereCentersDto

        نقاط المراكز ونصف القطر وعدد القطع

      Returns Promise<JSCADEntity[]>

      كرة واحدة لكل نقطة مركز

      const balls = await bitbybit.jscad.shapes.spheresOnCenterPoints({ centers: [[0, 0, 0], [20, 0, 0], [40, 0, 0]], radius: 5, segments: 32 });
      

    shapes

    • يبني مجسماً صلباً من أوجهه، كل منها معطى كقائمة نقاط تدور حول الوجه.

      اسرد نقاط كل وجه باتجاه عقارب الساعة كما ترى من خارج المجسم الصلب؛ يجب أن تغلق الأوجه المجسم الصلب لتعمل العمليات المنطقية عليه. تُقرأ كل قائمة بترتيب معكوس ولا يتغير المدخل.

      Parameters

      Returns Promise<JSCADEntity>

      المجسم الصلب

      const tetrahedron = await bitbybit.jscad.shapes.fromPolygonPoints({ polygonPoints: [
      [[0, 0, 0], [10, 0, 0], [0, 10, 0]],
      [[0, 0, 0], [0, 10, 0], [0, 0, 10]],
      [[0, 0, 0], [0, 0, 10], [10, 0, 0]],
      [[10, 0, 0], [0, 0, 10], [0, 10, 0]],
      ] });