SView Help Center
English (US)

模型操作

Author: sviewngts Last Updated: 2026-09-08 13:48

接口列表

接口名称 说明
获取模型 获取模型对象
隐藏模型 将模型设置为隐藏状态
单独显示 将模型设置为单独显示状态
设置颜色 设置模型的颜色
复位 复位某个模型的位置
居中 将模型居中显示
属性 获取模型属性
显隐交替 将显示的模型隐藏,将未显示的模型显示出来
全部显示 将所有模型显示出来

获取模型

//获取顶级模型
let topModel = scene.getTopModel();
//获取子件model数组,可选参数为是否需要根据装配矩阵进行排序
let modelList = topModel.getChildren();
//获取装配件下所有子件,包含所有下级节点以及孙子节点
let modelList = [];
topModel.getAllSubModels(modelList);
//根据Id获取模型
let model = shapes.getShape(id,M3D.Shapes.ShapeType.MODEL);
//根据装配结构获取模型,例如:M3D|MAIN|PATH|0|c|24
let model = shapes.getModelBySVLPath(svlPath);
//根据原型Id获取Model数组
let modelList = shapes.getModelByProtoId(protoId);

隐藏模型

model.setVisible(false);

单独显示

    已有选中的模型时,直接调用单独显示命令

executeRightClickCommand('rightMenu_single_display')

    未选中,但已获取到需要单独显示的模型

//先隐藏所有的模型
let topModel = scene.getTopModel();
if (topModel != null) {
   let tModels= shapes.getShapes(M3D.Shapes.ShapeType.MODEL);
   scene.setModelIsVisible(tModels, false);
}
//将获取到的模型显示出来
model.setVisible(true);

设置颜色

//参数为M3D.M3DMath.Color,
//Color的构造函数参数为r,g,b,a四个number类型参数,取值范围为0-1
model.setColor(new M3D.M3DMath.Color(1,0,0,1));

复位

//仅复位初始位置
model.resetMovement();
//复位颜色
model.resetColor();
//复位显隐
model.setVisible(model.isVisible(true));

模型居中

//先获取当前视口
let viewport = scene.getCurrentViewPort();
//全部居中
viewport.displayInCenter();
//部分居中,参数为model对象的数组
viewport.displayInCenter(modelList);

属性

//model获取属性为异步接口,需在then回调中进行获取
model.getModelProperties().then((properties) => {
//properties为模型属性Map,Map<string,any>
})

显隐交替

executeRightClickCommand('showOrHidden')

全部显示

executeRightClickCommand('showAll')