Bitbybit Docs
    Preparing search index...

    Class OCCTEdge

    Tepi di OpenCascade: kurva tunggal antara dua verteks, lurus, melingkar, eliptis atau bebas. Bangun dari titik dan garis, sebagai busur, lingkaran dan elips, atau sebagai konstruksi tangen terhadap lingkaran; baca kembali sebagai titik, panjang, tangen dan pusat; dan pilih tepi dari bentuk apa pun. Tepi-tepi tersambung ujung ke ujung menjadi kawat, yang ditangani shapes.wire. Parameter di sepanjang tepi berjalan dari 0 di awalnya sampai 1 di akhirnya; sudut dalam derajat.

    Index

    Constructors

    constraint

    • Menggambar garis-garis lurus dari dua titik yang tepat menyinggung sebuah lingkaran, satu garis singgung dari setiap titik.

      positionResult mempertahankan solusi pada satu sisi lingkaran atau semuanya, dan circleRemainder menambahkan potongan lingkaran di antara titik-titik singgung.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Garis-garis tangen, dan potongan lingkaran jika diminta

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromTwoPtsToCircle({
      circle,
      point1: [20, 0, 0],
      point2: [-20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Menggambar dua garis lurus dari sebuah titik yang tepat menyinggung sebuah lingkaran.

      positionResult mempertahankan solusi pada satu sisi lingkaran atau keduanya, dan circleRemainder menambahkan potongan lingkaran di antara titik-titik singgung.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Garis-garis tangen, dan potongan lingkaran jika diminta

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromPtToCircle({
      circle,
      point: [20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Menggambar garis-garis lurus yang tepat menyinggung dua lingkaran sekaligus, seperti sabuk yang melingkari dua katrol.

      positionResult mempertahankan garis-garis pada satu sisi atau semuanya, dan circleRemainders menambahkan potongan luar atau dalam lingkaran di antara titik-titik singgung, yang melengkapi bentuk sabuk.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Garis-garis tangen, dan potongan-potongan lingkaran jika diminta

      const belt = await bitbybit.occt.shapes.edge.constraintTanLinesOnTwoCircles({
      circle1,
      circle2,
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainders: Bit.Inputs.OCCT.twoCircleInclusionEnum.outside,
      });

    debug

    • Mengumpulkan fakta diagnostik tentang kurva sebuah tepi: jenis dan derajatnya, jumlah titik kontrol dan knot, apakah rasional, periodik atau tertutup, rentang parameter dan periodenya, panjangnya dan titik-titik ujungnya.

      Parameters

      Returns Promise<EdgeDebugInfo>

      Laporan tentang kurva tepi

      const info = await bitbybit.occt.shapes.edge.debugInfo({ shape: edge });
      

    extract

    • Menemukan titik pada pecahan tertentu di sepanjang tepi: 0 adalah awal, 1 akhir, 0.5 tengah rentang parameter.

      Pecahan mengikuti parameter kurva itu sendiri, yang untuk kurva bebas tidak tersebar merata menurut panjang; gunakan pointOnEdgeAtLength untuk jarak.

      Parameters

      Returns Promise<Point3>

      Titik pada tepi

      const middle = await bitbybit.occt.shapes.edge.pointOnEdgeAtParam({ shape: edge, param: 0.5 });
      
    • Menemukan titik pada pecahan yang sama di sepanjang setiap tepi dalam daftar.

      Parameters

      Returns Promise<Point3[]>

      Satu titik per tepi, dalam urutan yang sama

      const middles = await bitbybit.occt.shapes.edge.pointsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Mengubah setiap tepi sebuah bentuk menjadi rangkaian titik yang mengikuti kurvanya cukup dekat untuk digambar, satu daftar per tepi.

      Pengaturan defleksi menyatakan seberapa rapat titik-titik memeluk tepi lengkung; tepi-tepi sebuah kawat dikembalikan dalam urutannya di sepanjang kawat.

      Parameters

      Returns Promise<Point3[][]>

      Satu daftar titik per tepi

      const polylines = await bitbybit.occt.shapes.edge.edgesToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Menemukan arah yang dituju setiap tepi dalam daftar pada pecahan yang sama di sepanjangnya.

      Parameters

      Returns Promise<Point3[]>

      Satu tangen per tepi, dalam urutan yang sama

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Menemukan titik pada jarak tertentu di sepanjang tepi dari awalnya, diukur sepanjang kurva dalam satuan model.

      Parameters

      Returns Promise<Point3>

      Titik pada tepi

      const point = await bitbybit.occt.shapes.edge.pointOnEdgeAtLength({ shape: edge, length: 2.5 });
      
    • Menemukan titik pada jarak yang sama dari awal di sepanjang setiap tepi dalam daftar.

      Parameters

      Returns Promise<Point3[]>

      Satu titik per tepi, dalam urutan yang sama

      const points = await bitbybit.occt.shapes.edge.pointsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Menemukan arah yang dituju setiap tepi dalam daftar pada jarak yang sama dari awalnya.

      Parameters

      Returns Promise<Vector3[]>

      Satu tangen per tepi, dalam urutan yang sama

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Membaca titik tempat sebuah tepi dimulai, menurut arah tepi itu sendiri.

      Parameters

      Returns Promise<Point3>

      Titik awal

      const start = await bitbybit.occt.shapes.edge.startPointOnEdge({ shape: edge });
      
    • Membaca titik awal setiap tepi dalam daftar.

      Parameters

      Returns Promise<Point3[]>

      Satu titik awal per tepi, dalam urutan yang sama

      const starts = await bitbybit.occt.shapes.edge.startPointsOnEdges({ shapes: edges });
      
    • Membaca titik tempat sebuah tepi berakhir, menurut arah tepi itu sendiri.

      Parameters

      Returns Promise<Point3>

      Titik akhir

      const end = await bitbybit.occt.shapes.edge.endPointOnEdge({ shape: edge });
      
    • Membaca titik akhir setiap tepi dalam daftar.

      Parameters

      Returns Promise<Point3[]>

      Satu titik akhir per tepi, dalam urutan yang sama

      const ends = await bitbybit.occt.shapes.edge.endPointsOnEdges({ shapes: edges });
      
    • Menempatkan titik-titik di sepanjang tepi pada langkah parameter yang sama, dari awal sampai akhir.

      nrOfDivisions langkah menghasilkan satu titik lebih banyak dari itu; removeStartPoint dan removeEndPoint membuang ujung-ujungnya. Pada kurva bebas, langkah parameter yang sama bukan jarak yang sama; gunakan divideEdgeByEqualDistanceToPoints untuk itu.

      Parameters

      Returns Promise<Point3[]>

      Titik-titik di sepanjang tepi, secara berurutan

      const points = await bitbybit.occt.shapes.edge.divideEdgeByParamsToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Menempatkan titik-titik di sepanjang setiap tepi dalam daftar pada langkah parameter yang sama, satu daftar per tepi.

      Parameters

      Returns Promise<Point3[][]>

      Satu daftar titik per tepi, dalam urutan yang sama

      const points = await bitbybit.occt.shapes.edge.divideEdgesByParamsToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Menempatkan titik-titik di sepanjang tepi pada jarak yang sama diukur sepanjang kurvanya, dari awal sampai akhir.

      nrOfDivisions langkah menghasilkan satu titik lebih banyak dari itu; removeStartPoint dan removeEndPoint membuang ujung-ujungnya.

      Parameters

      Returns Promise<Point3[]>

      Titik-titik di sepanjang tepi, secara berurutan

      const points = await bitbybit.occt.shapes.edge.divideEdgeByEqualDistanceToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Menempatkan titik-titik di sepanjang setiap tepi dalam daftar pada jarak yang sama sepanjang kurvanya, satu daftar per tepi.

      Parameters

      Returns Promise<Point3[][]>

      Satu daftar titik per tepi, dalam urutan yang sama

      const points = await bitbybit.occt.shapes.edge.divideEdgesByEqualDistanceToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      

    from

    from base

    • Membuat tepi lurus dari objek garis berbentuk { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi lurus

      const edge = await bitbybit.occt.shapes.edge.fromBaseLine({ line: { start: [0, 0, 0], end: [10, 0, 0] } });
      
    • Membuat satu tepi lurus per objek garis berbentuk { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Satu tepi per garis, dalam urutan yang sama

      const edges = await bitbybit.occt.shapes.edge.fromBaseLines({ lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [10, 0, 0], end: [10, 10, 0] }] });
      
    • Membuat tepi lurus dari segmen, pasangan titik [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi lurus

      const edge = await bitbybit.occt.shapes.edge.fromBaseSegment({ segment: [[0, 0, 0], [10, 0, 0]] });
      
    • Membuat satu tepi lurus per segmen, masing-masing pasangan titik [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Satu tepi per segmen, dalam urutan yang sama

      const edges = await bitbybit.occt.shapes.edge.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Menyambungkan setiap titik ke titik berikutnya dengan tepi lurus, sehingga daftar titik menjadi rantai tepi.

      Tepi-tepi dikembalikan lepas; shapes.wire.createPolylineWire membuat kawat yang tersambung secara langsung.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Satu tepi per pasangan titik yang bertetangga

      const edges = await bitbybit.occt.shapes.edge.fromPoints({ points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]] });
      
    • Membuat satu tepi lurus per segmen objek polyline; polyline tertutup juga mendapat tepi dari titik terakhirnya kembali ke titik pertama.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Satu tepi per segmen, secara berurutan

      const edges = await bitbybit.occt.shapes.edge.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], isClosed: true } });
      
    • Membuat tiga tepi lurus dari segitiga yang diberikan sebagai tiga titik.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Ketiga tepinya

      const edges = await bitbybit.occt.shapes.edge.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 10, 0]] });
      
    • Membuat tiga tepi lurus dari setiap segitiga sebuah mesh, semuanya dalam satu daftar rata.

      Segitiga yang tepi-tepinya tidak dapat dibangun dilewati dengan peringatan, bukan menghentikan sisanya.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Tepi-tepi dari semua segitiga

      const edges = await bitbybit.occt.shapes.edge.fromBaseMesh({ mesh: triangles });
      

    get

    • Mengambil satu tepi dari sebuah bentuk menurut posisinya, dihitung dari 0, dalam urutan kernel menelusuri bentuk.

      Bentuk harus berupa tepi, kawat atau sesuatu yang dibangun darinya; indeks di luar tepi terakhir memicu error.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi pada indeks tersebut

      const first = await bitbybit.occt.shapes.edge.getEdge({ shape: wire, index: 0 });
      
    • Mencantumkan setiap tepi sebuah bentuk dalam urutan kernel menelusurinya, yang bukan urutan sepanjang kawat; gunakan getEdgesAlongWire untuk itu.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Tepi-tepi yang ditemukan dalam bentuk

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      
    • Mencantumkan tepi-tepi sebuah kawat dalam urutan saling mengikuti di sepanjangnya, masing-masing diorientasikan agar berjalan searah kawat.

      Satu tepi dikembalikan sebagai daftar satu elemen.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Tepi-tepinya secara berurutan di sepanjang kawat

      const ordered = await bitbybit.occt.shapes.edge.getEdgesAlongWire({ shape: wire });
      
    • Mencantumkan hanya tepi-tepi lingkaran sebuah kawat, dalam urutan saling mengikuti di sepanjangnya.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Tepi-tepi melingkarnya secara berurutan

      const arcs = await bitbybit.occt.shapes.edge.getCircularEdgesAlongWire({ shape: roundedRectangle });
      
    • Mencantumkan hanya tepi-tepi lurus sebuah kawat, dalam urutan saling mengikuti di sepanjangnya.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Tepi-tepi lurusnya secara berurutan

      const straights = await bitbybit.occt.shapes.edge.getLinearEdgesAlongWire({ shape: roundedRectangle });
      
    • Mencantumkan titik-titik ujung setiap tepi sebuah bentuk, dengan pengulangan dihapus, sehingga sudut tempat beberapa tepi bertemu muncul sekali.

      Titik-titiknya tidak dalam urutan tertentu.

      Parameters

      Returns Promise<Point3[]>

      Titik-titik ujung unik dari tepi-tepi

      const corners = await bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape({ shape: box });
      
    • Mengukur panjang sebuah tepi di sepanjang kurvanya, dalam satuan model.

      Parameters

      Returns Promise<number>

      Panjang

      const len = await bitbybit.occt.shapes.edge.getEdgeLength({ shape: edge });
      
    • Mengukur setiap tepi sebuah bentuk di sepanjang kurvanya, dalam satuan model.

      Parameters

      Returns Promise<number[]>

      Satu panjang per tepi, dalam urutan yang dicantumkan getEdges

      const lengths = await bitbybit.occt.shapes.edge.getEdgeLengthsOfShape({ shape: box });
      
    • Mengukur setiap tepi dalam daftar di sepanjang kurvanya, dalam satuan model.

      Parameters

      Returns Promise<number[]>

      Satu panjang per tepi, dalam urutan yang sama

      const lengths = await bitbybit.occt.shapes.edge.getEdgesLengths({ shapes: edges });
      
    • Menemukan pusat massa sebuah tepi, titik keseimbangan kurvanya; untuk tepi lurus itu adalah titik tengahnya, untuk busur sebuah titik di dalam kurva.

      Parameters

      Returns Promise<Point3>

      Titik pusat massa

      const center = await bitbybit.occt.shapes.edge.getEdgeCenterOfMass({ shape: edge });
      
    • Menemukan pusat massa setiap tepi dalam daftar.

      Parameters

      Returns Promise<Point3[]>

      Satu titik per tepi, dalam urutan yang sama

      const centers = await bitbybit.occt.shapes.edge.getEdgesCentersOfMass({ shapes: edges });
      

    get circular edge

    • Menemukan pusat lingkaran tempat tepi lingkaran berada.

      Tepi yang bukan lingkaran memicu error.

      Parameters

      Returns Promise<Point3>

      Titik pusat

      const center = await bitbybit.occt.shapes.edge.getCircularEdgeCenterPoint({ shape: arc });
      
    • Membaca jari-jari lingkaran tempat tepi lingkaran berada.

      Tepi yang bukan lingkaran memicu error.

      Parameters

      Returns Promise<number>

      Jari-jari dalam satuan model

      const radius = await bitbybit.occt.shapes.edge.getCircularEdgeRadius({ shape: arc });
      
    • Membaca normal bidang tempat tepi lingkaran berada.

      Tepi yang bukan lingkaran memicu error.

      Parameters

      Returns Promise<Vector3>

      Normal satuan dari bidang lingkaran

      const normal = await bitbybit.occt.shapes.edge.getCircularEdgePlaneDirection({ shape: arc });
      

    is

    • Memberi tahu apakah sebuah tepi adalah garis lurus.

      Parameters

      Returns Promise<boolean>

      True jika tepi lurus

      const straight = await bitbybit.occt.shapes.edge.isEdgeLinear({ shape: edge });
      
    • Memberi tahu apakah sebuah tepi berada pada lingkaran, baik lingkaran penuh maupun busur.

      Parameters

      Returns Promise<boolean>

      True jika tepi melingkar

      const round = await bitbybit.occt.shapes.edge.isEdgeCircular({ shape: edge });
      

    primitives

    • Membuat tepi lurus di antara dua titik, tepi paling sederhana yang ada.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi lurus

      const edge = await bitbybit.occt.shapes.edge.line({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Membuat busur lingkaran yang dimulai di titik pertama, melewati titik tengah dan berakhir di titik terakhir.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi busur

      const arc = await bitbybit.occt.shapes.edge.arcThroughThreePoints({ start: [0, 0, 0], middle: [5, 5, 0], end: [10, 0, 0] });
      
    • Membuat busur lingkaran dari satu titik ke titik lain yang meninggalkan titik pertama ke arah tertentu.

      Tangen menetapkan bidang dan jari-jari busur.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi busur

      const arc = await bitbybit.occt.shapes.edge.arcThroughTwoPointsAndTangent({ start: [0, 0, 0], tangentVec: [0, 1, 0], end: [10, 0, 0] });
      
    • Memotong busur dari tepi lingkaran di antara dua titik yang berada padanya.

      sense memilih ke arah mana mengelilingi lingkaran busur berjalan dari titik pertama ke titik kedua.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi busur

      const arc = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoPoints({ circle, start: [10, 0, 0], end: [0, 0, 10], sense: true });
      
    • Memotong busur dari tepi lingkaran di antara dua sudut, dalam derajat, diukur mengelilingi lingkaran dari awalnya sendiri.

      sense memilih ke arah mana mengelilingi lingkaran busur berjalan dari sudut pertama ke sudut kedua.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi busur

      const quarter = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoAngles({ circle, alphaAngle1: 0, alphaAngle2: 90, sense: true });
      
    • Memotong busur dari tepi lingkaran yang dimulai di sebuah titik pada lingkaran dan merentang sudut tertentu, dalam derajat.

      sense memilih ke arah mana mengelilingi lingkaran busur berjalan.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi busur

      const arc = await bitbybit.occt.shapes.edge.arcFromCirclePointAndAngle({ circle, point: [10, 0, 0], alphaAngle: 45, sense: true });
      
    • Membuat lingkaran penuh sebagai satu tepi tertutup, terletak pada bidang yang normalnya adalah direction.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi lingkaran

      const circle = await bitbybit.occt.shapes.edge.createCircleEdge({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Membuat elips penuh sebagai satu tepi tertutup, terletak pada bidang yang normalnya adalah direction.

      radiusMajor tidak boleh lebih kecil dari radiusMinor, atau kernel menolak elips itu.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi elips

      const ellipse = await bitbybit.occt.shapes.edge.createEllipseEdge({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      

    rebuild

    • Membangun ulang kurva sebuah tepi sebagai B-spline dengan derajat tertentu, dalam batas toleransi.

      Menurunkan derajat menyederhanakan kurva, menaikkannya memberi operasi selanjutnya lebih banyak keleluasaan; bagaimanapun kurva baru tetap berada dalam tolerance dari yang lama.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi baru dengan kurva yang dibangun ulang

      const simpler = await bitbybit.occt.shapes.edge.rebuildEdgeDegree({ shape: edge, degree: 3, tolerance: 1e-3 });
      

    seam

    • Memindahkan sambungan tepi periodik tertutup, titik tempat tepi dimulai dan berakhir, ke parameter tertentu di sepanjang kurva.

      Geometrinya tidak berubah; hanya tempat tepi dianggap bermula.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi baru yang dimulai di seam

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Memindahkan sambungan tepi periodik tertutup, titik tempat tepi dimulai dan berakhir, sejauh jarak tertentu di sepanjang kurva dari awalnya saat ini.

      Geometrinya tidak berubah; hanya tempat tepi dianggap bermula.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Tepi baru yang dimulai di seam

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByLength({ shape: circle, length: 2.5 });
      

    shapes

    • Menggabungkan muka-muka yang berada pada permukaan yang sama dan tepi-tepi pada kurva yang sama, yang menghapus sambungan internal yang ditinggalkan operasi boolean atau peleburan.

      Ini adalah shapes.shape.unifySameDomain dengan tepi dan muka sama-sama disatukan dan B-spline dibiarkan apa adanya.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Bentuk tanpa seam internal

      const clean = await bitbybit.occt.shapes.edge.removeInternalEdges({ shape: fused });