射线和构造线 (RayEnt / XLineEnt)
大约 1 分钟
射线和构造线 (RayEnt / XLineEnt)
射线和构造线是无限长度的辅助线实体。
RayEnt - 射线
射线从一个基点出发,沿指定方向无限延伸。
构造函数
import { RayEnt, Point2D } from 'vjcad';
// 简化写法(推荐)
const ray1 = new RayEnt([0, 0], Math.PI / 4);
// Point2D 写法
const ray2 = new RayEnt(new Point2D(0, 0), Math.PI / 4);
ray1.setDefaults();简化写法
构造函数和 basePoint 属性都支持 [x, y] 数组形式的坐标。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
basePoint | Point2D | 射线起点 |
angle | number | 方向角度(弧度) |
XLineEnt - 构造线
构造线是双向无限延伸的直线。
构造函数
import { XLineEnt, Point2D } from 'vjcad';
// 简化写法(推荐)
const xline1 = new XLineEnt([50, 50], Math.PI / 6);
// Point2D 写法
const xline2 = new XLineEnt(new Point2D(50, 50), Math.PI / 6);
xline1.setDefaults();简化写法
构造函数和 basePoint 属性都支持 [x, y] 数组形式的坐标。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
basePoint | Point2D | 构造线上的点 |
angle | number | 方向角度(弧度) |
示例
import { Engine, RayEnt, XLineEnt, Point2D } from 'vjcad';
// 创建水平构造线
const hLine = new XLineEnt(new Point2D(0, 50), 0);
hLine.setDefaults();
// 创建垂直构造线
const vLine = new XLineEnt(new Point2D(50, 0), Math.PI / 2);
vLine.setDefaults();
// 创建 45° 射线
const ray = new RayEnt(new Point2D(0, 0), Math.PI / 4);
ray.setDefaults();
Engine.addEntities([hLine, vLine, ray]);