Bitbybit Docs
    Preparing search index...

    Class Draw

    رسم أي شيء في المشهد: أشكال النواة والنقاط والخطوط والخطوط متعددة الأضلاع والمنحنيات والشبكات والوسوم تمر جميعها عبر drawAnyAsync، الذي يختار المصيّر المناسب للكيان ويعيد الكائن المرسوم. تبني دوال options خيارات الرسم بقيم افتراضية لكل نوع من الكيانات، وتصنع createPBRMaterial و createTexture المواد لخانات الأوجه، ويمكن إعادة رسم كائن مرسوم في مكانه بتمريره مرة أخرى.

    Hierarchy (View Summary)

    Index

    Constructors

    • Returns Bit.Draw

    draw async

    • يرسم أي كيان في المشهد، كما يفعل drawAnyAsync، من دون إعادة الكائن المرسوم؛ للخطوة الأخيرة من سكربت يحتاج فقط إلى ظهور النتيجة.

      Parameters

      • inputs: DrawAny

        الكيان المراد رسمه وخيارات الرسم الاختيارية

      Returns Promise<void>

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      await bitbybit.draw.drawAnyAsyncNoReturn({ entity: box });
    • يرسم أي كيان تنتجه المكتبة في المشهد ويعيد الكائن المرسوم: أشكال النواة من OCCT وJSCAD وManifold، والنقاط والخطوط والخطوط متعددة الأضلاع والمنحنيات والشبكات والوسوم والعقد.

      تُطابَق الخيارات مع الكيان، مع قيم افتراضية عندما لا تُعطى أي خيارات؛ مرّر النتيجة السابقة مرة أخرى في خانة التحديث لإعادة الرسم في المكان نفسه.

      Type Parameters

      • E extends any

      Parameters

      • inputs: DrawAny<E>

        الكيان المراد رسمه وخيارات الرسم الاختيارية والنتيجة السابقة عند التحديث

      Returns Promise<Drawn<E, Mesh>>

      ما ينتجه رسم الكيان: كائن مشهد للهندسة، أو الوسم أو الوسوم لوسم، أو ثلاثي محاور لعقدة؛ و undefined لقائمة فارغة

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const options = bitbybit.draw.optionsOcctShapeSimple({ precision: 0.01, drawFaces: true, faceColour: "#ff0000", drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: box, options });

    draw sync

    • يرسم كيانًا لا يحتاج إلى عمل من النواة، كما يفعل drawAny، من دون إعادة الكائن المرسوم؛ تنطبق على النقاط والخطوط والخطوط متعددة الأضلاع والوسوم، ولا تنطبق على أشكال النواة.

      Parameters

      • inputs: DrawAny

        الكيان المراد رسمه وخيارات الرسم الاختيارية

      Returns void

      bitbybit.draw.drawAnyNoReturn({ entity: [[0, 0, 0], [5, 5, 5], [10, 0, 0]] });
      
    • يرسم كيانًا لا يحتاج إلى عمل من النواة في المشهد فورًا ويعيد الكائن المرسوم: النقاط والخطوط والخطوط متعددة الأضلاع والوسوم والعقد.

      أشكال النواة من OCCT وJSCAD وManifold يجب أن تمر عبر drawAnyAsync، الذي ينتظر النواة لتحويلها إلى شبكات.

      Type Parameters

      • E extends any

      Parameters

      • inputs: DrawAny<E>

        الكيان المراد رسمه وخيارات الرسم الاختيارية والنتيجة السابقة عند التحديث

      Returns Drawn<E, Mesh>

      ما ينتجه رسم الكيان: كائن مشهد للهندسة، أو الوسم أو الوسوم لوسم، أو ثلاثي محاور لعقدة؛ و undefined لقائمة فارغة

      const options = bitbybit.draw.optionsSimple({ colours: "#00ff00", size: 0.5, opacity: 1, updatable: false, hidden: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, colorMapStrategy: Bit.Inputs.Base.colorMapStrategyEnum.lastColorRemainder, arrowSize: 0, arrowAngle: 15 });
      const drawn = bitbybit.draw.drawAny({ entity: [[0, 0, 0], [5, 5, 5], [10, 0, 0]], options });

    grid

    • يرسم شبكة أرضية على مستوى الأرض، كما يفعل drawGridMesh، من دون إعادة الشبكة.

      Parameters

      • inputs: SceneDrawGridMeshDto

        حجم شبكة الأرضية وتباعد خطوطها وألوانها وعتامتها

      Returns void

      bitbybit.draw.drawGridMeshNoReturn({ width: 400, height: 400, subdivisions: 10, majorUnitFrequency: 10, minorUnitVisibility: 0.45, gridRatio: 0.5, opacity: 0.5, backFaceCulling: false, mainColor: "#ffffff", secondaryColor: "#ffffff" });
      
    • يرسم شبكة أرضية على مستوى الأرض، وهو المستوى XZ المار بنقطة الأصل، لإعطاء إحساس بالمقياس والاتجاه؛ يُرسم كل خط عاشر أسمك افتراضيًا.

      Parameters

      • inputs: SceneDrawGridMeshDto

        حجم شبكة الأرضية وتباعد خطوطها وألوانها وعتامتها

      Returns Mesh

      شبكة الأرضية

      const grid = bitbybit.draw.drawGridMesh({ width: 400, height: 400, subdivisions: 10, majorUnitFrequency: 10, minorUnitVisibility: 0.45, gridRatio: 0.5, opacity: 0.5, backFaceCulling: false, mainColor: "#ffffff", secondaryColor: "#ffffff" });
      

    material

    • ينشئ نسيج صورة من عنوان URL لخانات النسيج في createPBRMaterial، مع تكرار وإزاحة وتدوير وترشيح تعني الشيء نفسه في كل مصيّر.

      Parameters

      • inputs: GenericTextureDto

        عنوان URL للصورة وخيارات التبليط والإزاحة والتدوير والقلب وأخذ العينات

      Returns Texture

      نسيج المحرك

      const texture = bitbybit.draw.createTexture({ url: "https://example.com/wood.jpg", name: "wood", uScale: 2, vScale: 2, uOffset: 0, vOffset: 0, wAng: 0, invertY: false, invertZ: false, samplingMode: Bit.Inputs.Draw.samplingModeEnum.trilinear });
      
    • ينشئ مادة قائمة على الفيزياء من إعدادات تعني الشيء نفسه في كل مصيّر: اللون الأساسي، والمعدنية والخشونة، والعتامة، والتوهج الانبعاثي، وخانات النسيج، وخيارات الألفا والجانب؛ ضعها في faceMaterial ضمن خيارات الرسم.

      Parameters

      • inputs: GenericPBRMaterialDto

        الاسم والألوان وقيم المعدنية والخشونة والعتامة والأنسجة وخيارات التصيير

      Returns PBRMetallicRoughnessMaterial

      مادة المحرك

      const material = bitbybit.draw.createPBRMaterial({ name: "steel", baseColor: "#c0c0c0", metallic: 1, roughness: 0.4, alpha: 1, emissiveColor: "#000000", emissiveIntensity: 1, zOffset: 0, zOffsetUnits: 0, alphaMode: Bit.Inputs.Draw.alphaModeEnum.opaque, alphaCutoff: 0.5, doubleSided: false, wireframe: false, unlit: false });
      const options = bitbybit.draw.optionsOcctShapeMaterial({ precision: 0.01, faceMaterial: material, drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2 });

    options

    • يبني خيارات الرسم للنقاط والخطوط والخطوط متعددة الأضلاع والمنحنيات والأسطح وشبكات JSCAD: الألوان والحجم والعتامة والتصيير على الوجهين ورؤوس الأسهم على الخطوط، مع قيم افتراضية لما يُترك.

      Parameters

      Returns DrawBasicGeometryOptions

      خيارات الرسم

      const options = bitbybit.draw.optionsSimple({ colours: "#ff0000", size: 2, opacity: 1, updatable: false, hidden: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, colorMapStrategy: Bit.Inputs.Base.colorMapStrategyEnum.lastColorRemainder, arrowSize: 0, arrowAngle: 15 });
      
    • يبني خيارات الرسم الكاملة لأشكال OCCT: دقة التشبيك، وألوان وأحجام الأوجه والحواف والرؤوس، وتسميات الفهارس، والأسهم على الحواف، والتصيير على الوجهين، وذاكرة التثليث المؤقتة، مع قيم افتراضية لما يُترك.

      Parameters

      Returns DrawOcctShapeOptions

      خيارات الرسم

      const options = bitbybit.draw.optionsOcctShape({ faceOpacity: 1, edgeOpacity: 1, edgeColour: "#ffffff", faceColour: "#ff0000", edgeWidth: 2, drawEdges: true, drawFaces: true, drawVertices: false, vertexColour: "#ff00ff", vertexSize: 0.03, precision: 0.01, drawEdgeIndexes: false, edgeIndexHeight: 0.06, edgeIndexColour: "#ff00ff", drawFaceIndexes: false, faceIndexHeight: 0.06, faceIndexColour: "#0000ff", drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, edgeArrowSize: 0, edgeArrowAngle: 15, keepMeshData: false, allowQualityDecrease: true, forceFaceDeflection: false });
      
    • يبني خيارات الرسم الأكثر استخدامًا لأشكال OCCT، وهي الدقة وألوان الأوجه والحواف والتصيير على الوجهين، مع قيم افتراضية لما يُترك.

      Parameters

      Returns DrawOcctShapeSimpleOptions

      خيارات الرسم

      const options = bitbybit.draw.optionsOcctShapeSimple({ precision: 0.01, drawFaces: true, faceColour: "#ff0000", drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      
    • يبني خيارات الرسم لأشكال OCCT التي تستخدم أوجهها مادة محرك كاملة، كما ينشئها createPBRMaterial، إضافة إلى الدقة ونمط الحواف.

      Parameters

      Returns DrawOcctShapeMaterialOptions

      خيارات الرسم

      const material = bitbybit.draw.createPBRMaterial({ name: "steel", baseColor: "#c0c0c0", metallic: 1, roughness: 0.4, alpha: 1, emissiveColor: "#000000", emissiveIntensity: 1, zOffset: 0, zOffsetUnits: 0, alphaMode: Bit.Inputs.Draw.alphaModeEnum.opaque, alphaCutoff: 0.5, doubleSided: false, wireframe: false, unlit: false });
      const options = bitbybit.draw.optionsOcctShapeMaterial({ precision: 0.01, faceMaterial: material, drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2 });
    • يبني خيارات الرسم لمجسمات Manifold الصلبة ومقاطعها العرضية: لون الوجه أو مادة محرك كاملة، ونمط خطوط المقاطع العرضية، والنواظم، والتصيير على الوجهين.

      Parameters

      Returns DrawManifoldOrCrossSectionOptions

      خيارات الرسم

      const options = bitbybit.draw.optionsManifoldShapeMaterial({ faceOpacity: 1, faceColour: "#ff0000", faceMaterial: material, crossSectionColour: "#ff00ff", crossSectionWidth: 2, crossSectionOpacity: 1, computeNormals: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: solid, options });
    • يبني خيارات الرسم لعقد التحويل، التي تُرسم كثلاثية من خطوط المحاور الملونة بطول معين.

      Parameters

      Returns DrawNodeOptions

      خيارات الرسم

      const options = bitbybit.draw.optionsBabylonNode({ colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: node, options });