Skip to content
Shapemetry

Brep

Solid-root B-Rep document (multi-shell partition): primitives, boolean, fillet, measure, heal. Display mesh: Brep.tessellateTriangleMesh. Validate: Brep.validate.

import { Brep } from '@huukhanhnguyen/geometry'

API reference

Brep.analyticSection

Brep.analyticSection(json: string, first_face: number, second_face: number, seed_region: Float64Array): Float64Array

Wasm: brep_analytic_section

Brep.analyzeTolerances

Brep.analyzeTolerances(json: string): Float64Array

Wasm: brep_analyze_tolerances

Brep.boundingBox

Brep.boundingBox(json: string): Float64Array

Wasm: brep_bounding_box

Brep.boundingSphere

Brep.boundingSphere(json: string): Float64Array

Wasm: brep_bounding_sphere

Brep.box

Brep.box(dx: number, dy: number, dz: number): string

Wasm: brep_box

Brep.centerOfMass

Brep.centerOfMass(json: string): Float64Array

Wasm: brep_center_of_mass

Brep.chamfer

Brep.chamfer(json: string, edge_indices: Uint32Array, distance1: number, distance2: number): string

Wasm: brep_chamfer

Brep.chamferReportJson

Brep.chamferReportJson(json: string, edge_indices: Uint32Array, distance1: number, distance2: number): string

Wasm: brep_chamfer_report_json

Brep.checkBsplineRestrictions

Brep.checkBsplineRestrictions(json: string, max_degree: number, max_segments: number, tolerance: number): number

Wasm: brep_check_bspline_restrictions

Brep.circularPattern

Brep.circularPattern(json: string, axis_x: number, axis_y: number, axis_z: number, center_x: number, center_y: number, center_z: number, count: number): string

Wasm: brep_circular_pattern

Brep.classifyPoint

Brep.classifyPoint(json: string, x: number, y: number, z: number, tolerance: number): number

Wasm: brep_classify_point

Brep.classifyShells

Brep.classifyShells(documents: string[]): string[]

Wasm: brep_classify_shells

Brep.clone

Brep.clone(json: string): string

Wasm: brep_clone

Brep.collapseCollinearDefaultTolerance

Brep.collapseCollinearDefaultTolerance(): number

Wasm: brep_collapse_collinear_default_tolerance

Brep.collapseCollinearVertices

Brep.collapseCollinearVertices(json: string, tolerance: number): string

Wasm: brep_collapse_collinear_vertices

Brep.cone

Brep.cone(bottom_radius: number, top_radius: number, height: number): string

Wasm: brep_cone

Brep.containsPoint

Brep.containsPoint(json: string, x: number, y: number, z: number, include_boundary: boolean): boolean

Wasm: brep_contains_point

Brep.convertDefaultTolerance

Brep.convertDefaultTolerance(): number

Wasm: brep_convert_default_tolerance

Brep.convertEdgesToElementary

Brep.convertEdgesToElementary(json: string, tolerance: number): string

Wasm: brep_convert_edges_to_elementary

Brep.convertToBspline

Brep.convertToBspline(json: string): string

Wasm: brep_convert_to_bspline

Brep.convertToElementary

Brep.convertToElementary(json: string, tolerance: number): string

Wasm: brep_convert_to_elementary

Brep.cornerChamfer

Brep.cornerChamfer(json: string, vertex_index: number, distance: number): string

Wasm: brep_corner_chamfer

Brep.cornerFillet

Brep.cornerFillet(json: string, vertex_index: number, radius: number, sphere_center_mode: number): string

Wasm: brep_corner_fillet

Brep.crossSection

Brep.crossSection(json: string, first_face: number, second_face: number, seed_region: Float64Array): Float64Array

Wasm: brep_cross_section

Brep.crossSectionCurves

Brep.crossSectionCurves(json: string, first_face: number, second_face: number, seed_region: Float64Array): string

Wasm: brep_cross_section_curves

Brep.cylinder

Brep.cylinder(radius: number, height: number): string

Wasm: brep_cylinder

Brep.distanceTo

Brep.distanceTo(json: string, x: number, y: number, z: number): Float64Array

Wasm: brep_distance_to

Brep.draftFaces

Brep.draftFaces(json: string, face_indices: Uint32Array, pull_x: number, pull_y: number, pull_z: number, angle: number, neutral_x: number, neutral_y: number, neutral_z: number): string

Wasm: brep_draft_faces

Brep.edgeForms

Brep.edgeForms(json: string): string

Wasm: brep_edge_forms

Brep.edgeFormsJson

Brep.edgeFormsJson(json: string): string

Wasm: brep_edge_forms_json

Brep.edgeInteriorPointsJson

Brep.edgeInteriorPointsJson(json: string): string

Wasm: brep_edge_interior_points_json

Brep.edgeRange

Brep.edgeRange(json: string, edge_index: number): Float64Array

Wasm: brep_edge_range

Brep.edgeRangesJson

Brep.edgeRangesJson(json: string): string

Wasm: brep_edge_ranges_json

Brep.edgeToFaceMap

Brep.edgeToFaceMap(json: string): Uint32Array

Wasm: brep_edge_to_face_map

Brep.edgeValue

Brep.edgeValue(json: string, edge_index: number, t: number): Float64Array

Wasm: brep_edge_value

Brep.entityCounts

Brep.entityCounts(json: string): Uint32Array

Wasm: brep_entity_counts

Brep.eulerCharacteristic

Brep.eulerCharacteristic(json: string): number

Wasm: brep_euler_characteristic

Brep.extrude

Brep.extrude(outer: Float64Array, holes_json: string, dx: number, dy: number, dz: number): string

Wasm: brep_extrude

Brep.extrudeProfile

Brep.extrudeProfile(profile_json: string, holes_json: string, dx: number, dy: number, dz: number): string

Wasm: brep_extrude_profile

Brep.faceArea

Brep.faceArea(json: string, face_index: number, eps: number): number

Wasm: brep_face_area

Brep.faceCentroid

Brep.faceCentroid(json: string, face_index: number): Float64Array

Wasm: brep_face_centroid

Brep.faceContainsPoint

Brep.faceContainsPoint(json: string, face_index: number, x: number, y: number, z: number, tolerance: number, include_boundary: boolean): boolean

Wasm: brep_face_contains_point

Brep.faceDomain

Brep.faceDomain(json: string, face_index: number): Float64Array

Wasm: brep_face_domain

Brep.faceForms

Brep.faceForms(json: string): string

Wasm: brep_face_forms

Brep.faceFormsJson

Brep.faceFormsJson(json: string): string

Wasm: brep_face_forms_json

Brep.faceFromLoop

Brep.faceFromLoop(points: Float64Array, holes_json: string, tolerance: number): string

Wasm: brep_face_from_loop

Brep.faceFromSurface

Brep.faceFromSurface(surface_json: string, bounds: Float64Array, reversed: boolean, tolerance: number): string

Wasm: brep_face_from_surface

Brep.faceFromSurfaceWithLoops

Brep.faceFromSurfaceWithLoops(surface_json: string, loops_json: string, reversed: boolean, tolerance: number): string

Wasm: brep_face_from_surface_with_loops

Brep.faceLoopPoints

Brep.faceLoopPoints(json: string): string

Wasm: brep_face_loop_points

Brep.faceModifyShape

Brep.faceModifyShape(json: string, face_index: number, constraints_json: string): string

Wasm: brep_face_modify_shape

Brep.faceOffset

Brep.faceOffset(json: string, face_index: number, distance: number, tolerance: number): string

Wasm: brep_face_offset

Brep.faceOutwardNormal

Brep.faceOutwardNormal(json: string, face_index: number, u: number, v: number): Float64Array

Wasm: brep_face_outward_normal

Brep.facePlanar

Brep.facePlanar(points: Float64Array, tolerance: number): string

Wasm: brep_face_planar

Brep.facePlanarWithHoles

Brep.facePlanarWithHoles(points: Float64Array, holes_json: string, tolerance: number): string

Wasm: brep_face_planar_with_holes

Brep.faceProject

Brep.faceProject(json: string, face_index: number, x: number, y: number, z: number): Float64Array

Wasm: brep_face_project

Brep.faceRectangle

Brep.faceRectangle(width: number, height: number, tolerance: number): string

Wasm: brep_face_rectangle

Brep.faceSplitByLoops

Brep.faceSplitByLoops(json: string, loops_json: string, tolerance: number): string

Wasm: brep_face_split_by_loops

Brep.faceSummary

Brep.faceSummary(json: string): Uint32Array

Wasm: brep_face_summary

Brep.faceThicken

Brep.faceThicken(json: string, face_index: number, thickness: number, symmetric: boolean): string

Wasm: brep_face_thicken

Brep.faceTrim

Brep.faceTrim(json: string, face_index: number, tool_json: string, tool_face_index: number, side: boolean): string

Wasm: brep_face_trim

Brep.faceTrimByLoop

Brep.faceTrimByLoop(json: string, face_index: number, loop_points: Float64Array, side: boolean, tolerance: number): string

Wasm: brep_face_trim_by_loop

Brep.faceValue

Brep.faceValue(json: string, face_index: number, u: number, v: number): Float64Array

Wasm: brep_face_value

Brep.fillet

Brep.fillet(json: string, edge_indices: Uint32Array, law_kind: number, law_params: Float64Array): string

Wasm: brep_fillet

Brep.filletReportJson

Brep.filletReportJson(json: string, edge_indices: Uint32Array, law_kind: number, law_params: Float64Array): string

Wasm: brep_fillet_report_json

Brep.filterCircularEdges

Brep.filterCircularEdges(json: string): Uint32Array

Wasm: brep_filter_circular_edges

Brep.filterConcaveEdges

Brep.filterConcaveEdges(json: string): Uint32Array

Wasm: brep_filter_concave_edges

Brep.filterConvexEdges

Brep.filterConvexEdges(json: string): Uint32Array

Wasm: brep_filter_convex_edges

Brep.filterLinearEdges

Brep.filterLinearEdges(json: string): Uint32Array

Wasm: brep_filter_linear_edges

Brep.fix

Brep.fix(json: string, config: string): Float64Array

Wasm: brep_fix

Brep.fixSplitCommonVertex

Brep.fixSplitCommonVertex(json: string): string

Wasm: brep_fix_split_common_vertex

Brep.fixWireframe

Brep.fixWireframe(json: string, tolerance: number): string

Wasm: brep_fix_wireframe

Brep.freeEdgeCount

Brep.freeEdgeCount(json: string): number

Wasm: brep_free_edge_count

Brep.gridPattern

Brep.gridPattern(json: string, x_axis: Float64Array, y_axis: Float64Array, spacing_x: number, spacing_y: number, count_x: number, count_y: number): string

Wasm: brep_grid_pattern

Brep.helix

Brep.helix(outer: Float64Array, holes_json: string, radius: number, pitch: number, turns: number, clockwise: boolean, origin: Float64Array, axis: Float64Array, segments_per_turn: number): string

Wasm: brep_helix

Brep.imprint

Brep.imprint(json_a: string, json_b: string): string

Wasm: brep_imprint

Brep.intersect

Brep.intersect(json_a: string, json_b: string): string

Wasm: brep_boolean_intersect

Brep.isClosed

Brep.isClosed(json: string): boolean

Wasm: brep_is_closed

Brep.isValidCheap

Brep.isValidCheap(json: string): boolean

Wasm: brep_is_valid_cheap

Brep.linearPattern

Brep.linearPattern(json: string, dx: number, dy: number, dz: number, spacing: number, count: number): string

Wasm: brep_linear_pattern

Brep.loft

Brep.loft(profiles_json: string, ruled: boolean, closed: boolean): string

Wasm: brep_loft

Brep.loopRegularPolygon

Brep.loopRegularPolygon(radius: number, sides: number): Float64Array

Wasm: brep_loop_regular_polygon

Brep.massProperties

Brep.massProperties(json: string, eps: number): Float64Array

Wasm: brep_mass_properties

Brep.measurementDefaultEps

Brep.measurementDefaultEps(): number

Wasm: brep_measurement_default_eps

Brep.measurementDeflection

Brep.measurementDeflection(json: string): number

Wasm: brep_measurement_deflection

Brep.mirror

Brep.mirror(json: string, normal_x: number, normal_y: number, normal_z: number, point_x: number, point_y: number, point_z: number): string

Wasm: brep_mirror

Brep.normalizeEdgeParameterFlags

Brep.normalizeEdgeParameterFlags(json: string): string

Wasm: brep_normalize_edge_parameter_flags

Brep.offset

Brep.offset(json: string, distance: number): string

Wasm: brep_offset

Brep.outerShellDocument

Brep.outerShellDocument(json: string): string

Wasm: brep_outer_shell_document

Brep.pipe

Brep.pipe(outer: Float64Array, holes_json: string, path_json: string, guide_json: string): string

Wasm: brep_pipe

Brep.pullFace

Brep.pullFace(json: string, face_index: number, distance: number): string

Wasm: brep_pull_face

Brep.recognizeHoles

Brep.recognizeHoles(json: string): Float64Array

Wasm: brep_recognize_holes

Brep.removeInternalLoops

Brep.removeInternalLoops(json: string): string

Wasm: brep_remove_internal_loops

Brep.restrictionDefaultOptions

Brep.restrictionDefaultOptions(): Float64Array

Wasm: brep_restriction_default_options

Brep.reverse

Brep.reverse(json: string): string

Wasm: brep_reverse

Brep.revolve

Brep.revolve(outer: Float64Array, holes_json: string, axis_point: Float64Array, axis_direction: Float64Array, angle: number): string

Wasm: brep_revolve

Brep.section

Brep.section(json: string, normal_x: number, normal_y: number, normal_z: number, point_x: number, point_y: number, point_z: number): string

Wasm: brep_section

Brep.sew

Brep.sew(json: string, tolerance: number): string

Wasm: brep_sew_shells

Brep.shell

Brep.shell(json: string, thickness: number, open_face_indices: Uint32Array): string

Wasm: brep_shell

Brep.signedVolume

Brep.signedVolume(json: string, eps: number): number

Wasm: brep_signed_volume

Brep.solidEntityCounts

Brep.solidEntityCounts(json: string): Uint32Array

Wasm: brep_solid_entity_counts

Brep.sphere

Brep.sphere(radius: number): string

Wasm: brep_sphere

Brep.splitByPlane

Brep.splitByPlane(json: string, normal_x: number, normal_y: number, normal_z: number, point_x: number, point_y: number, point_z: number): string

Wasm: brep_split_by_plane

Brep.splitSelfIntersectingInnerLoops

Brep.splitSelfIntersectingInnerLoops(json: string): string

Wasm: brep_split_self_intersecting_inner_loops

Brep.subtract

Brep.subtract(json_a: string, json_b: string): string

Wasm: brep_boolean_subtract

Brep.surfaceArea

Brep.surfaceArea(json: string, eps: number): number

Wasm: brep_surface_area

Brep.surfaceCross

Brep.surfaceCross(first_json: string, second_json: string, seed_region: Float64Array): string

Wasm: brep_surface_cross

Brep.surfaceCrossCurves

Brep.surfaceCrossCurves(first_json: string, second_json: string, seed_region: Float64Array): string

Wasm: brep_surface_cross_curves

Brep.sweep

Brep.sweep(outer: Float64Array, holes_json: string, path_json: string, ruled: boolean, segments: number): string

Wasm: brep_sweep

Brep.sweepProfile

Brep.sweepProfile(profile_json: string, holes_json: string, path_json: string, ruled: boolean, segments: number): string

Wasm: brep_sweep_profile

Brep.thickOffset

Brep.thickOffset(json: string, distance: number, excluded_face_indices: Uint32Array): string

Wasm: brep_thick_offset

Brep.torus

Brep.torus(major_radius: number, minor_radius: number): string

Wasm: brep_torus

Brep.transform

Brep.transform(json: string, matrix: Float64Array): string

Wasm: brep_transform

Brep.translate

Brep.translate(json: string, dx: number, dy: number, dz: number): string

Wasm: brep_translate

Brep.unifyDefaultOptions

Brep.unifyDefaultOptions(): Float64Array

Wasm: brep_unify_default_options

Brep.unifySameDomain

Brep.unifySameDomain(json: string, unify_faces: boolean, unify_edges: boolean, linear_tolerance: number, angular_tolerance: number): string

Wasm: brep_unify_same_domain

Brep.union

Brep.union(json_a: string, json_b: string): string

Wasm: brep_boolean_union

Brep.validate

Brep.validate(json: string, tolerance_scale: number, disabled: string): string

Wasm: brep_validate

Brep.validateOuterShell

Brep.validateOuterShell(json: string, tolerance_scale: number, disabled: string): string

Wasm: brep_validate_outer_shell

Brep.vertexPositions

Brep.vertexPositions(json: string): Float64Array

Wasm: brep_vertex_positions

Brep.voidShellDocuments

Brep.voidShellDocuments(json: string): string

Wasm: brep_void_shell_documents

Brep.volume

Brep.volume(json: string, eps: number): number

Wasm: brep_volume

See GEOMETRY_CATALOG.md for catalog ownership.

Last updated: 📖 3 min readEdit on GitHub