实心填充实体 (SolidEnt)
大约 1 分钟
实心填充实体 (SolidEnt)
SolidEnt 表示 CAD 中的实心填充三角形或四边形区域。
概述
实心填充是一种简单的填充实体,通过 3 个或 4 个点定义一个实心填充区域。与 HatchEnt 不同,SolidEnt 不需要边界实体,直接通过点定义。
构造函数
import { SolidEnt, Point2D } from 'vjcad';
// 简化写法(推荐)
// 创建三角形实心填充(3个点)
const solid3 = new SolidEnt([0, 0], [100, 0], [50, 100]);
solid3.setDefaults();
// 创建四边形实心填充(4个点)
const solid4 = new SolidEnt([0, 0], [100, 0], [100, 100], [0, 100]);
solid4.setDefaults();
// Point2D 写法
const solid5 = new SolidEnt(
new Point2D(0, 0),
new Point2D(100, 0),
new Point2D(100, 100),
new Point2D(0, 100)
);简化写法
构造函数和 point1-point4 属性都支持 [x, y] 数组形式的坐标。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
points | Point2D[] | 顶点数组(3-4个点) |
示例
绘制实心三角形
import { Engine, SolidEnt, Point2D } from 'vjcad';
function drawSolidTriangle(p1: Point2D, p2: Point2D, p3: Point2D) {
const solid = new SolidEnt([p1, p2, p3]);
solid.setDefaults();
solid.color = 1; // 红色
Engine.addEntities(solid);
}
drawSolidTriangle(
new Point2D(0, 0),
new Point2D(100, 0),
new Point2D(50, 86.6) // 等边三角形
);绘制实心矩形
import { Engine, SolidEnt, Point2D } from 'vjcad';
function drawSolidRectangle(x: number, y: number, width: number, height: number) {
const solid = new SolidEnt([
new Point2D(x, y),
new Point2D(x + width, y),
new Point2D(x + width, y + height),
new Point2D(x, y + height)
]);
solid.setDefaults();
Engine.addEntities(solid);
}
drawSolidRectangle(50, 50, 100, 60);