构件操作
# 点选构件
iframe:
postKsjMessage(
{
commandName: "KSJElementApi.selectElement",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementApi } from "bjksj-sdk";
KSJElementApi.selectElement();
# 显示所有构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.showAllCategories",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.showAllCategories();
# 隐藏所有构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.hideAllCategories",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.hideAllCategories();
# 隐藏指定构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.hideElements",
data: { Ids: ["0x215", "0x21f"] },
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.hideElements({ Ids: ["0x215", "0x21f"] });
参数说明:
Ids:
<string[]> 构件id的数组
# 显示指定构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearHiddenElements",
data: { Ids: ["0x215", "0x21f"] },
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearHiddenElements({ Ids: ["0x215", "0x21f"] });
参数说明:
Ids:
<string[]> 构件id的数组
# 恢复模型显示
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearHidden",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearHidden();
# 设置构件颜色
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.setElementColor",
data: {
Ids: ["0x215", "0x21f"],
red: 0,
green: 0,
blue: 255,
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.setElementColor({
Ids: ["0x215", "0x21f"],
red: 0,
green: 0,
blue: 255,
});
参数说明:
Ids:
<string[]> 构件id的数组red, green, blue : 颜色取值范围 0~255
# 恢复构件颜色
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearElementColor",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearElementColor();
# 设置指定构件的透明度
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.setElementTransparency",
data: {
Ids: ["0x215", "0x21f"],
transparency: 0.8,
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.setElementTransparency({
Ids: ["0x215", "0x21f"],
transparency: 0.8,
});
参数说明:
Ids:
<string[]> 构件id的数组setElementTransparency : 透明度取值范围 0~1
# 恢复指定构件的透明度
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearElementTransparency",
data: {
Ids: ["0x215", "0x21f"],
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearElementTransparency({
Ids: ["0x215", "0x21f"],
});
参数说明: Ids:
<string[]> 构件id的数组
# 隔离构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.isolateElements",
data: {
ids: ["0x215", "0x21f"],
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.isolateElements({
ids: ["0x215", "0x21f"],
});
参数说明: ids:
<string[]> 构件id的数组
# 清除隔离构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearIsolatedElements",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearIsolatedElements();
# 突显构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.emphasizeElements",
data: {
ids: ["0x215", "0x21f"],
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.emphasizeElements({
ids: ["0x215", "0x21f"],
});
参数说明: ids:
<string[]> 构件id的数组
# 清除突显构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearEmphasizedElements",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearEmphasizedElements();
# 清除隔离、突显、隐藏构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.clearIsolatedEmphasizedHiddenElements",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.clearIsolatedEmphasizedHiddenElements();
# 查找构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.findElementIds",
data: {
userLabel: "装饰墙 2",
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
let ids = await KSJElementStateApi.findElementIds({
userLabel: "装饰墙 2",
});
参数说明:
userLabel: string 构件名称
# 定位到指定构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.zoomToElements",
data: {
Ids: Ids: ["0x21f"],
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.zoomToElements({
Ids: Ids: ["0x21f"],
});
参数说明:
Ids:
<string[]> 构件id的数组
# 高亮显示指定构件
iframe:
postKsjMessage(
{
commandName: "KSJElementStateApi.highLight",
data: {
Ids: ["0x21f"],
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementStateApi } from "bjksj-sdk";
KSJElementStateApi.highLight({
Ids: ["0x21f"]
});
参数说明:
Ids:
<string[]> 构件id的数组
# 构件旋转
iframe:
postKsjMessage(
{
commandName: "KSJElementApi.rotateElement",
data:
{
id: string,
yaw: number,
pitch: number,
roll: number
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementApi } from "bjksj-sdk";
rotateElement.({id:"0x21f", yaw:45, pitch : 45, roll:45});
参数说明:
- id: 图形id
- yaw: 偏航角
- pitch: 俯仰角
- roll: 翻滚角
# 构件移动
iframe:
postKsjMessage(
{
commandName: "KSJElementApi.moveElement",
data: {
id: string,
destPt: { pointx: number, pointy: number, pointz: number }
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementApi } from "bjksj-sdk";
moveElement({id:"0x21f", destPt:{pointx:10, pointy:0, pointz:0}});
参数说明:
- id: 图形id
- destPt: 目标点
# 开始构件闪烁
iframe:
postKsjMessage(
{
commandName: "KSJElementFlickerApi.startElementFlicker",
data: { ids: ["0x72b"], interval: 0.01 },
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementFlickerApi } from "bjksj-sdk";
KSJElementFlickerApi.startElementFlicker({ ids: ["0x72b"], interval: 0.01 });
参数说明:
ids:
<string[]> 构件id的数组interval:闪烁间隔,单位秒
# 停止构件闪烁
iframe:
postKsjMessage(
{
commandName: "KSJElementFlickerApi.stopElementFlicker",
data: null,
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementFlickerApi } from "bjksj-sdk";
KSJElementFlickerApi.stopElementFlicker();
# 添加构件移动路径
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.CreateOrUpdataPathMovement",
data: {
ids: ["0x72b"],
points: [
{ pointx: 18.9, pointy: -4.13, pointz: 0 },
{ pointx: 26, pointy: -0.19, pointz: 0 },
{ pointx: 28.73, pointy: 11.88, pointz: 0 },
{ pointx: -2.03, pointy: 38.1, pointz: 0 },
{ pointx: -18.07, pointy: 48.67, pointz: 0 },
],
speed: 5
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.CreateOrUpdataPathMovement({
ids: ["0x72b"],
points: [
{ pointx: 18.9, pointy: -4.13, pointz: 0 },
{ pointx: 26, pointy: -0.19, pointz: 0 },
{ pointx: 28.73, pointy: 11.88, pointz: 0 },
{ pointx: -2.03, pointy: 38.1, pointz: 0 },
{ pointx: -18.07, pointy: 48.67, pointz: 0 },
],
speed: 5
});
参数说明:
ids:
<string[]> 构件id的数组points:移动路径坐标点speed:移动速度
# 开始构件移动
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.StartPathMovement",
data: {
ids: ["0x72b"]
},
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.StartPathMovement({
ids: ["0x72b"]
});
参数说明: ids:
<string[]> 构件id的数组
# 暂停构件移动
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.PauseMove",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.PauseMove();
# 恢复构件移动
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.ContinueMove",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.ContinueMove();
# 停止构件移动
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.StopMove",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.StopMove();
# 重新开始自定义路径移动
iframe:
postKsjMessage(
{
commandName: "KSJElementPathMovementApi.ReStartMove",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementPathMovementApi } from "bjksj-sdk";
KSJElementPathMovementApi.ReStartMove();
# 获取构件id
获取模型中已经选中的构件的id
iframe:
postKsjMessage(
{
commandName: "KSJElementApi.getSelectedElementIds",
data: null
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementApi } from "bjksj-sdk";
KSJElementApi.getSelectedElementIds();
# 获取构件的属性
通过构件id获取构件的属性
iframe:
postKsjMessage(
{
commandName: "KSJElementApi.getElementProperty",
data: {id: '0x72b'}
},
(result) => {
console.log(result);
}
);
sdk:
import { KSJElementApi } from "bjksj-sdk";
KSJElementApi.getElementProperty({id: '0x72b'});
参数说明: id:
string 目标构件的id