2024年2月21日 星期三

Colab : 讓 OpenSCAD 可以輸出圖片

2024年2月21日 星期三

 在一般的電腦中,OpenSCAD 可以利用 -o xxx.png ,來輸出模型的預覽圖片,但是相同的指令在 Google Colab 中卻會出現類似這樣的錯誤訊息:

Compiling design (CSG Products normalization)...
Normalized CSG tree has 102 elements
Unable to open a connection to the X server.
DISPLAY=
Can't create OpenGL OffscreenView. Code: -1.

然後圖片並沒有輸出任何內容。

主要的原因是 OpenSCAD 輸出圖片時,需要有一個「顯示器」,但它在 Colab 這種遠端的虛擬機環境中並找不到,就出現錯誤訊息了。

沒關係,既然是虛擬機,那就安裝 Xvfb 和 pyvirtualdisplay,來一個虛擬的顯示器吧!

在安裝完 OpenSCAD 後,順便加上這樣的指令,來安裝 Xvfb 和 pyvirtualdisplay:

if not os.path.exists('/usr/bin/Xvfb') :
  print('安裝 xvfb ...')
  !apt-get -qq install xvfb 2>/dev/null >/dev/null
try: from pyvirtualdisplay import Display
except:
  print('安裝 pyvirtualdisplay ...')
  !pip -q install pyvirtualdisplay

要啟用虛擬顯示器就加上這兩行:

from pyvirtualdisplay import Display
Display().start()

有了 Xvfb + pyvirtualdisplay 助攻,就可以在 Colab 中,順利地讓 OpenSCAD 輸出圖片了。

相關文章


沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket