您好,我这边测试使用layer3d.clipbybox是没有问题的。建议您检查一下您的裁剪盒子范围是否有误,参数是否有写对,保留裁剪范围内需要使用BoxClipPart.ClipOuter。测试代码如下:
//设置Layer3D.ClipByBox裁剪显示范围 Layer3D layer3D = sceneControl1.Scene.Layers[0] as Layer3D; if (layer3D != null) { // 构造 GeoBox 对象 GeoBox geoBox = new GeoBox(); // 设置长方体的底面大小 geoBox.BottomSize = new Size2D(200, 100); // 设置长方体的高度 geoBox.Height = 300; // 设置长方体所在的位置 geoBox.Position = new Point3D(116.457017861267,39.9129647795134,20.0); layer3D.ClipByBox(geoBox, BoxClipPart.ClipOuter); } sceneControl1.Scene.Refresh();