1. 現時 Ubuntu 版 Solvespace 安裝

  2. .slvs 檔案格式

  3. Pyslvs 3D 模式

Solvespace 編譯

確保下列事項:

  1. GNU 5.3 以上

  2. CMake 3.0 以上

下載後進入資料夾。

$git submodule update --init extlib/libdxfrw
$mkdir build
$cd build
$cmake .. -DENABLE_TESTS=OFF

若出現 GCC 5.0+ is required 問題,請使用下列指令更改優先權:

$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
$sudo update-alternatives --config gcc
替代項目 gcc(提供 /usr/bin/gcc)有 2 個選擇。

  選項       路徑            優先權  狀態
------------------------------------------------------------
* 0            /usr/bin/gcc-4.8   48        自動模式
  1            /usr/bin/gcc-4.8   48        手動模式
  2            /usr/bin/gcc-5     1         手動模式

按 [enter] 保留目前選項 [*],或輸入選項編號:2   
update-alternatives: 以 /usr/bin/gcc-5 提供 手動模式 中的 /usr/bin/gcc (gcc)

若出現這個警告:

The CMAKE_CXX_COMPILER:

/usr/bin/c++

is not a full path to an existing compiler tool.

請更改 CMake List 的參數(注意不要指到軟連結,必須是執行檔本體):

$sudo cmake -D CMAKE_C_COMPILER="/usr/bin/gcc-5" -D CMAKE_CXX_COMPILER="/usr/bin/g++-5" ../CMakeLists.txt

最後 build 檔案出來後,使用下列指令:

$cd ..
$sudo make

編譯完畢後,可以在 src 資料夾中找到 solvespace 執行檔,點兩下就能執行了。


.slvs 檔案格式

為了瞭解 Solvespace 的運作流程,也以便之後跟它溝通,想知道 .slvs 的儲存方式。

觀察檔案格式,用文字編輯軟體開啟之前存的範例。

Solvespace 是用西歐語系 ISO-8859-15 編碼儲存圖檔的,以這點來說,Python 要輸出成 .slvs 應該是輕而易舉。

之後觀察一下每種圖形的變化式,應該就能理解如何將 Pyslvs 的表格 Output 給 Solvespace 開啟了。


Pyslvs 3D 模式

在想 Pyslvs 之後會加入 3D 模式,採用 Qt OpenGL 繪圖(可以控制鏡頭),且和 2D 模式並存,參考這裡的文章:

http://doc.qt.io/qt-5/topics-graphics.html#2d-graphics-with-qpainter

之前好像看過 QPainter 和 QOpenglWidgets 重疊渲染錯誤的問題,不過只要分開 Widget,應該是不會造成太大衝突。

而 2D 和 3D 共存不知道是否會吃太多資源,還有待觀察。

另外在成功大學的文件裡找到關於 STL 格式的說明:

http://vr.me.ncku.edu.tw/courses/cg99/Download/STL.pdf

想要大約瞭解一下,畢竟大部分的 3D CAD 軟體應該都支援 STL 檔。

亦找到一篇 C++ 讀取 STL 並用 OpenGL 顯示的範例 code,值得研究一下。

http://www.cnblogs.com/xds1224/p/3565280.html


Comments

comments powered by Disqus