二维绘图
# 创建直线
iframe:
postKsjMessage(
{
commandName: "createLineSegment",
data: {
pt1: { pointx: number, pointy: number, pointz: number },
pt2: { pointx: number, pointy: number, pointz: number },
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createLineSegment({ pt1: { pointx: 0, pointy: 0, pointz: 0 }, pt2: { pointx: 100, pointy: 0, pointz: 0 } });
参数说明:
- pt1: 起始点
- pt2: 终止点
- 返回值: 图形id
# 通过弧上三点创建圆弧
iframe:
postKsjMessage(
{
commandName: "createArc",
data: {
startPt: { pointx: number, pointy: number, pointz: number },
midPt: { pointx: number, pointy: number, pointz: number },
endPt: { pointx: number, pointy: number, pointz: number },
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createArc({ startPt: { pointx: 0, pointy: 100, pointz: 0 }, midPt: { pointx: 100, pointy: 150, pointz: 0 }, endPt: { pointx: 200, pointy: 110, pointz: 0 } });
参数说明:
- startPt: 起始点
- midPt: 中间点
- endPt: 终止点
- 返回值: 图形id
# 创建椭圆
iframe:
postKsjMessage(
{
commandName: "createEllipse",
data: {
center: { pointx: number, pointy: number, pointz: number },
midPt: { pointx: number, pointy: number, pointz: number },
vector0: { pointx: number, pointy: number, pointz: number },
vector90: { pointx: number, pointy: number, pointz: number },
radiusA: number,
radiusB: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createEllipse({ center: { pointx: 0, pointy: 200, pointz: 0 }, vector0: { pointx: 1, pointy: 0, pointz: 0 }, vector90: { pointx: 0, pointy: 1, pointz: 0 }, radiusA: 20, radiusB: 10 });
参数说明:
- center: 中心点
- vector0: 长轴向量
- vector90: 短轴向量
- radiusA: 长轴长度
- radiusB: 短轴长度
- 返回值: 图形id
# 创建椭圆
iframe:
postKsjMessage(
{
commandName: "createCircular",
data: {
center: { pointx: number, pointy: number, pointz: number },
normal: { pointx: number, pointy: number, pointz: number },
radius: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createCircular({ center: { pointx: 0, pointy: 200, pointz: 0 }, vector0: { pointx: 1, pointy: 0, pointz: 0 }, vector90: { pointx: 0, pointy: 1, pointz: 0 }, radiusA: 20, radiusB: 10 });
参数说明:
- center: 中心点
- normal: 平面法向
- radius: 半径
- 返回值: 图形id
# 创建线串
iframe:
postKsjMessage(
{
commandName: "createLineString",
data: {
points: { pointx: number, pointy: number, pointz: number }[]
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createLineString({ points: pts });
参数说明:
- pts: 点集
- 返回值: 图形id
# 创建样条曲线(控制点)
iframe:
postKsjMessage(
{
commandName: "createUniformKnots",
data: {
points: { pointx: number, pointy: number, pointz: number }[],
order: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createUniformKnots({ points: pts, order: 3 });
参数说明:
- pts: 点集
- order: 阶数
- 返回值: 图形id
# 创建样条曲线(通过点)
iframe:
postKsjMessage(
{
commandName: "createFromAkima",
data: {
points: { pointx: number, pointy: number, pointz: number }[]
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createFromAkima({ points: pts});
参数说明:
- pts: 点集
- 返回值: 图形id
# 创建闭合样条曲线(控制点)
iframe:
postKsjMessage(
{
commandName: "createPeriodicUniformKnots",
data: {
points: { pointx: number, pointy: number, pointz: number }[],
order: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
createPeriodicUniformKnots({ points: pts, order: 3});
参数说明:
- pts: 点集
- order: 阶数
- 返回值: 图形id
# 偏移线
iframe:
postKsjMessage(
{
commandName: "offsetCurve",
data: {
id: string,
offset: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
offsetCurve({ id: id, offset: 10 });
参数说明:
- id: 图形id
- offset: 偏移距离
- 返回值: 图形id
# 根据点截取线(保留首端)
iframe:
postKsjMessage(
{
commandName: "TrimEndByPointElement",
data: {
id: string,
pt: { pointx: number, pointy: number, pointz: number }
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
TrimEndByPointElement({ id: id, pt: { pointx: 50, pointy: 50, pointz: 0 } })
参数说明:
- id: 图形id
- pt: :线上点或临近点
- 返回值: 图形id
# 根据点截取线(保留尾端)
iframe:
postKsjMessage(
{
commandName: "TrimBeginByPointElement",
data: {
id: string,
pt: { pointx: number, pointy: number, pointz: number }
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
TrimBeginByPointElement({ id: id, pt: { pointx: 50, pointy: 50, pointz: 0 } });
> **参数说明:**
> - id: 图形id
> - pt: :线上点或临近点
> - 返回值: 图形id
---
#### 根据线上点或临近点截取并偏移线
iframe:
postKsjMessage( { commandName: "GetVariableOffsetCurve", data: { id: string, offset: number, startPt: { pointx: number, pointy: number, pointz: number }, endPt: { pointx: number, pointy: number, pointz: number } }, }, (result) => { console.log(result); } );
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk"; GetVariableOffsetCurve({ id: id, offset: 20, startPt: { pointx: 50, pointy: 50, pointz: 0 }, endPt: { pointx: 50, pointy: 50, pointz: 0 } });
参数说明:
- id: 图形id
- offset: :偏移距离
- startPt: :起始点
- endPt: 终止点
- 返回值: 图形id
# 根据线上点或临近点截取线
iframe:
postKsjMessage(
{
commandName: "GetVariableCurve",
data: {
id: string,
startPt: { pointx: number, pointy: number, pointz: number },
endPt: { pointx: number, pointy: number, pointz: number }
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
GetVariableCurve({ id: id, startPt: { pointx: 50, pointy: 50, pointz: 0 }, endPt: { pointx: 50, pointy: 50, pointz: 0 } });
> **参数说明:**
> - id: 图形id
> - startPt: :起始点
> - endPt: 终止点
> - 返回值: 图形id
---
#### 打断线
iframe:
postKsjMessage( { commandName: "breakCurve", data: { id: string, Pt: { pointx: number, pointy: number, pointz: number } }, }, (result) => { console.log(result); } );
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk"; breakCurve({ id: id, Pt: { pointx: 50, pointy: 50, pointz: 0 } });
参数说明:
- id: 图形id
- Pt: 线上点或临近点
- 返回值: 图形id
# 创建文字
iframe:
postKsjMessage(
{
commandName: "CreateText",
data: {
text: string,
origin: { pointx: number, pointy: number, pointz: number },
vecx: { pointx: number, pointy: number, pointz: number },
vecz: { pointx: number, pointy: number, pointz: number },
just: number,
fontName?: string,
fontSize?: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJTwoDElementApi } from "bjksj-sdk";
CreateText({text: "CreateText", origin: { pointx: 0, pointy: 0, pointz: 0 }, vecx: { pointx: 1, pointy: 0, pointz: 0 }, vecz: { pointx: 0, pointy: 0, pointz: 1 }, just: 2});
> **参数说明:**
> - text: 文字
> - origin: 基点
> - vecx: 文字方向
> - vecz: 文字所在平面法向
> - just: 放置方式 0:左上 1:左中 2:左下 3:中上 4:中中 5:中下 6:右上 7:右中 8:右下
> - fontSize: :文字高度
> - fontName: 字体
> - 返回值: 图形id
---