需要了解anycpu、x86和x64目标平台之间的区别
请参考以下博文:
原文链接:https://blog.csdn.net/lordwish/article/details/52312015
原文链接:https://www.cnblogs.com/netserver/p/11106130.html
得出的结论是dll和主程序的生成平台一直就可以
在vs中进行anycad.net 应用的前提
下载下来的anycad.net sdk 的dll是x86或者x64编译的(官网就可以下载),因此建立项目生成主程序也要选择x86和x64的目标平台才可以,否则会报错。
在这里我选择的是x86平台目标,将anycad.net sdk x86文件夹下debug下的所有dll文件,复制到exe同文件加下,并添加框出的三个dll引用。
开始运行anycad 并查看三维视图
// A highlighted block
private RenderWindow3d m_RenderView = null;
//private Feature m_CurrentFeature = null;
public AnyCAD.Presentation.RenderWindow3d RenderView
{
get { return m_RenderView; }
set { m_RenderView = value; }
}
public show3DModel()
{
InitializeComponent();
var container = this.panelControl1;
m_RenderView = new RenderWindow3d();
m_RenderView.Size = container.ClientSize;
m_RenderView.Dock = System.Windows.Forms.DockStyle.Fill;
container.Controls.Add(m_RenderView);
//Thread showModelThread = new Thread(new ThreadStart(read3DModel));
//showModelThread.IsBackground = true;
//showModelThread.Start();
//Thread.Sleep(1000);
}
//用于显示三维模型
public void read3DModel()
{
string path = AppDomain.CurrentDomain.BaseDirectory+"Airport.obj";//模型文件本地路径
ModelReader reader = new ModelReader();
GroupSceneNode node = reader.LoadFile(new AnyCAD.Platform.Path(path));
if (node != null)
{
node.SetName("modelOfAirport");
m_RenderView.ShowSceneNode(node);
m_RenderView.RequestDraw();
m_RenderView.ShowWorkingGrid(false);
}
}
anycad 可以展示obj和3ds格式的模型。
切记一定要把下载下来的所有dll文件复制到你所建立项目的debug文件下。
本博文只是简单地用于三维模型的展示,anycad功能很强大,可以根据自己需求进行二次开发。
由于没有购买,所以启动时会弹出 please buy it to get license 的提示框。不过并不影响使用,不适应者可以选择购买