[返回博客](/cn/blog) # 常见问题：如何禁用/启用块内的灯光？

Andrew Markovich 十一月 07, 2017 [\#rendering](/cn/blog/tag/rendering) [\#getting started](/cn/blog/tag/getting-started)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

默认情况下，块插入内部的光源显示是启用的，并且 Teigha 渲染会考虑它们。但是大型图纸可能包含许多光源，这会严重降低渲染性能。例如，一个建筑图纸可能包含一个带有房间的建筑物，房间里有灯具，每个灯具都可以作为块插入创建并包含一个光源。在这种情况下，应用程序可以禁用块插入中光源的渲染，以提高渲染性能，并且只显示放置在层次结构顶层的光源。

对于 .dwg 数据库，您可以调用“LIGHTSINBLOCKS”系统变量来启用/禁用块内光源的显示：

```
void disableLightsInBlocks(OdDbDatabase *pDb)
{
  pDb->setLIGHTSINBLOCKS(0);
}

```

程序上，应用程序可以使用 OdGsModel::setEnableLightsInBlocks 方法控制图形缓存部分中块内光源的显示：

```
void disableLightsInBlocks(OdGsModel *pGsModel)
{
  pGsModel->setEnableLightsInBlocks(false);
}

```

包含四个块插入内部灯光的图纸示例：

![image1](/files/inline-images/image003_12.png)禁用块插入内部灯光显示的相同图纸示例：

![image2](/files/inline-images/image004_10.png)

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
