據老一輩的程式員說開發三維程式門檻很高,需要學若幹年才能入門,自從遇上AnyCAD三維控制項後,開發三維應用變的簡單了。當結合nuget後,一切更簡單了。 ...
據老一輩的程式員說開發三維程式門檻很高,需要學若幹年才能入門,自從遇上AnyCAD三維控制項後,開發三維應用變的簡單了。當結合nuget後,一切更簡單了。
1 準備工作
安裝VS201x以後,就可以開始開發了。
1.1 創建WinForm工程
如果是跟已有的項目集成,就可以跳過此步。
1.2 使用nuget添加AnyCAD三維控制項
使用nuget安裝可以自動添加AnyCAD程式集引用。
1.3 設置項目屬性
為保障三維應用的性能,建議使用x64
2 開始寫代碼
2.1 在窗體上添加控制項容器
可以使用Panel這樣的Container控制項來存放三維控制項。
2.2 創建三維控制項
public partial class Form1 : Form
{
RenderWindow3d mRenderView;
public Form1()
{
InitializeComponent();
mRenderView = new RenderWindow3d();
this.splitContainer1.Panel2.Controls.Add(mRenderView);
mRenderView.Dock = DockStyle.Fill;
}
}
2.3 運行
3 擴展到CAD瀏覽器
3.1 打開STEP文件
增加打開文件菜單,在處理函數中增加以下代碼:
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "STEP File (*.stp;*.step)|*.stp;*.step||";
if (DialogResult.OK != dlg.ShowDialog())
return;
var shape = GlobalInstance.BrepTools.LoadFile(new Path(dlg.FileName));
if (shape != null)
{
int myObjectId = 100;
mRenderView.ShowGeometry(shape, myObjectId);
}
}
3.2 運行測試
打開一個STEP文件測試一下:
4 小結
通過使用nuget包管理工具,簡單基本就可以實現與AnyCAD三維控制項集成,再加幾行代碼就可以開發一個CAD模型瀏覽程式。 更多的功能請參考anycad的github代碼倉庫,那裡有豐富的示例,尤其是:https://github.com/anycad/AppFeatures。