Skip to content

mxcad_2d API 文档 / 2d / McGePoint3d

Class: McGePoint3d ​

2d.McGePoint3d

McGePoint3d 表示三维空间中的一个点对象。

Description

该类用于描述和操作 CAD/三维场景中的坐标点,常见用途包括: 计算两点距离、执行点与向量的运算、进行坐标变换以及与 Three.js 的向量对象互转。 它是很多几何运算和图形绘制逻辑的基础类型。

Example

ts
import { McGePoint3d, McGeVector3d, McGeMatrix3d } from "mxcad";

const pt1 = new McGePoint3d(10, 20, 0);
const pt2 = new McGePoint3d(30, 40, 0);

const distance = pt1.distanceTo(pt2);
console.log("距离:", distance);

const vec = pt2.sub(pt1);
const matrix = new McGeMatrix3d();
matrix.setToTranslation(vec);//平移矩阵
pt1.transformBy(matrix);//应用平移矩阵

Table of contents ​

Constructors ​

Properties ​

Accessors ​

Methods ​

Constructors ​

constructor ​

• new McGePoint3d(dX?, dY?, dZ?)

构造函数。

Parameters ​

NameTypeDescription
dX?number | objectX 坐标。
dY?numberY 坐标。
dZ?numberZ 坐标。

Properties ​

imp ​

• imp: any

内部实现对象


kOrigin ​

▪ Static kOrigin: McGePoint3d

坐标系的原点

Accessors ​

vector3 ​

• get vector3(): Vector3

Returns ​

Vector3

• set vector3(val): void

Parameters ​

NameType
valVector3

Returns ​

void


x ​

• get x(): number

获取或设置 X 坐标。

Returns ​

number

• set x(val): void

Parameters ​

NameType
valnumber

Returns ​

void


y ​

• get y(): number

获取或设置 Y 坐标。

Returns ​

number

• set y(val): void

Parameters ​

NameType
valnumber

Returns ​

void


z ​

• get z(): number

获取或设置 Z 坐标。

Returns ​

number

• set z(val): void

Parameters ​

NameType
valnumber

Returns ​

void

Methods ​

addvec ​

▸ addvec(vec): McGePoint3d

计算点加上向量后的新位置

Parameters ​

NameTypeDescription
vecMcGeVector3d向量

Returns ​

McGePoint3d

计算后的点对象

Example

ts
import { McGePoint3d, McGeVector3d } from "mxcad";

const pt1 = new McGePoint3d(20,10,0);
const pt = pt1.clone().addvec(new McGeVector3d(10,10,0))

av ​

▸ av(vec): McGePoint3d

计算点加上向量后的新位置

Parameters ​

NameTypeDescription
vecMcGeVector3d向量

Returns ​

McGePoint3d

计算后的点对象


c ​

▸ c(): McGePoint3d

刻隆一个点对象

Returns ​

McGePoint3d

三维点对象


clone ​

▸ clone(): McGePoint3d

刻隆一个点对象

Returns ​

McGePoint3d

三维点对象

Example

ts
import { McGePoint3d } from "mxcad"

const pt1 = new McGePoint3d(10,10,0);
const pt2 = pt1.clone();

copy ​

▸ copy(val): McGePoint3d

复制点对象的值

Parameters ​

NameTypeDescription
valMcGePoint3d点对象

Returns ​

McGePoint3d

复制后的点对象

Example

ts
import { McGePoint3d } from "mxcad"

const point1 = new McGePoint3d(20,10,0);
const point2 = new McGePoint3d();
point2.copy(point1);

distanceTo ​

▸ distanceTo(pnt): number

计算两点距离

Parameters ​

NameTypeDescription
pntMcGePoint3d三维点对象

Returns ​

number

两点距离

Example

ts
import { McGePoint3d } from "mxcad";

const pt1 = new McGePoint3d(20,10,0);
const pt2 = new McGePoint3d(50,20,0);
const dist = pt1.distanceTo(pt2);

isEqualTo ​

▸ isEqualTo(pnt): boolean

判断两个点是否相等

Parameters ​

NameTypeDescription
pntMcGePoint3d三维点对象

Returns ​

boolean

布尔值

Example

ts
import { McGePoint3d } from "mxcad"

const pt1 = new McGePoint3d(10,20,0);
const pt2 = new McGePoint3d(10,10,0);
const res = pt1.isEqualTo(pt2);
console.log(res)//输出false

setFromVector3 ​

▸ setFromVector3(val): McGePoint3d

将three.js 的向量设置成点

Parameters ​

NameType
valVector3

Returns ​

McGePoint3d


sub ​

▸ sub(pt): McGeVector3d

返回两点相减后得到的一个新的向量

Parameters ​

NameTypeDescription
ptMcGePoint3d三维点对象

Returns ​

McGeVector3d

三维点向量

Example

ts
import { McGePoint3d } from "mxcad";

const pt1 = new McGePoint3d(20,10,0);
const pt2 = new McGePoint3d(50,20,0);
const vec = pt1.sub(pt2);

subvec ​

▸ subvec(vec): McGePoint3d

计算点减去向量后的新位置

Parameters ​

NameTypeDescription
vecMcGeVector3d向量

Returns ​

McGePoint3d

计算后的点对象

Example

ts
import { McGePoint3d, McGeVector3d } from "mxcad";

const pt1 = new McGePoint3d(20,10,0);
const pt = pt1.clone().subvec(new McGeVector3d(10,10,0));

sv ​

▸ sv(vec): McGePoint3d

计算点减去向量后的新位置

Parameters ​

NameTypeDescription
vecMcGeVector3d向量

Returns ​

McGePoint3d

计算后的点对象


toVector3 ​

▸ toVector3(): Vector3

将当前对象的坐标信息转换为 THREE.Vector3 类的实例

Returns ​

Vector3

THREE.Vector3实例对象


transformBy ​

▸ transformBy(leftSide): McGePoint3d

使用矩阵变换该点

Parameters ​

NameTypeDescription
leftSideMcGeMatrix3d变换矩阵

Returns ​

McGePoint3d

变换后的点对象

Example

ts
import { McGePoint3d, McGeVector3d, McGeMatrix3d } from "mxcad"

const point = new McGePoint3d(20,10,0);
  let matrix = new McGeMatrix3d();
  matrix.setToTranslation(new McGeVector3d(10,10,0));//平移
  point.transformBy(matrix);