常见问题#
如何断开与 OpticStudio 的连接?#
您可以使用zos.disconnect断开与 OpticStudio 的连接:
import zospy as zp
zos = zp.ZOS()
oss = zos.connect("extension")
# Do work ...
# Disconnect
zos.disconnect()
如果您以扩展模式连接,这将关闭连接,但保持OpticStudio处于打开状态。如果您以独立模式连接,这将停止独立的OpticStudio实例。在脚本结束时,无需断开连接;当Python终止时会自动处理。
如何重新连接到 OpticStudio?#
注意
以下信息仅适用于v2.0.0之前的ZOSPy版本。请参阅如果您使用的是 ZOSPy v2.0.0 或更高版本。:::
您可以通过先断开连接,然后创建与OpticStudio的新连接来执行此操作。请注意,无需创建新的ZOS实例。这样做会引发错误,因为只允许一个ZOS实例。
例如,下面这个方法是行不通的:
import zospy as zp
zos = zp.ZOS()
oss = zos.connect("extension")
# Do work ...
# Disconnect
zos.disconnect()
# Try to create a second connection to the ZOS-API
zos = zp.ZOS() # ValueError: Cannot have more than one active ZOS instance
oss = zos.connect("extension")
但这确实有效:
import zospy as zp
zos = zp.ZOS()
oss = zos.connect("extension")
# Do work ...
# Disconnect
zos.disconnect()
# Create a new connection
oss = zos.connect("extension")
(常见问题/single-zos-instance)= {#single-zos-instance}
为什么我会收到ValueError: Cannot have more than one active ZOS instance ?
注意
以下信息仅适用于 v2.0.0 之前的ZOSPy版本。如果您使用的是ZOSPy v2.0.0 或更高版本,请参阅ZOS管理与ZOS-API的连接。:::
如果之前已创建另一个实例,则在创建新的ZOS实例时将引发此错误。ZOS-API仅支持每个进程一个连接,这反映在ZOSPy中,仅允许ZOS类的一个实例。
ZOS类管理ZOS-API连接。关闭与OpticStudio的连接不会关闭与ZOS-API的连接。因此,您只需要此类的一个实例。例如,如果您尝试重新连接到 OpticStudio ,则可以重复使用此实例。