当前位置: 首页 > news >正文

网站开发进度设计与阶段目标可以免费打开网站的软件

网站开发进度设计与阶段目标,可以免费打开网站的软件,织梦宠物网站模板,手机上网站[ 本文原创发表于cnblogs ] NavisWorks API的内容大部分为二次开发#xff0c;在NavisWorks软件中增加所需要的功能。 而我所接到的工作任务是#xff0c;将.nwc等格式的文件通过窗口打开并且可交互。也就是说#xff0c;需要有一个程序去调用API#xff0c;从而打开NavisW…[ 本文原创发表于cnblogs ]   NavisWorks API的内容大部分为二次开发在NavisWorks软件中增加所需要的功能。 而我所接到的工作任务是将.nwc等格式的文件通过窗口打开并且可交互。也就是说需要有一个程序去调用API从而打开NavisWorks文件。   在.NET API Reference Guide中其实已经有了比较完善的示例可以实现很多功能这里我将结合API文档以及一些其他我在网络上查找到的资料专门针对这一方面来进行说明一方面是给自己的工作内容留下记录另一方面希望有类似开发任务的朋友可以共同交流。   首先需要在程序中引入两个dllAutodesk.Navisworks.Api和Autodesk.Navisworks.Controls。这两个dll文件都可以在 ~\Autodesk\Navisworks Manage 2014 目录下找到。 Program.cs文件直接按照文档中的sample来写即可 1 using System;2 using System.Windows.Forms;3 using Autodesk.Navisworks.Api.Controls;4 5 namespace Viewer6 {7 static class Program8 {9 /// summary 10 /// The main entry point for the application. 11 /// /summary 12 [STAThread] 13 static void Main() 14 { 15 //Set to single document mode 16 Autodesk.Navisworks.Api.Controls.ApplicationControl.ApplicationType ApplicationType.SingleDocument; 17 18 //Initialise the api 19 Autodesk.Navisworks.Api.Controls.ApplicationControl.Initialize(); 20 21 Application.EnableVisualStyles(); 22 Application.SetCompatibleTextRenderingDefault(false); 23 Application.Run(new Viewer()); 24 25 //Finish use of the API. 26 Autodesk.Navisworks.Api.Controls.ApplicationControl.Terminate(); 27 } 28 } 29 } 在窗口设计中添加一个ViewControl控件这是用来实现文件显示的然后添加一个DocumentControl控件这是用来控制文件的。 把ViewControl控件的DocumentControl属性设置为刚刚添加的DocumentControl控件用来指定该ViewControl展示的是DocumentControl的内容。 添加菜单栏或者按键实现打开文件的功能。这里可以通过打开一个文件浏览窗口去选择文件也可以直接在后台指定需要打开的文件。我这次的任务是要求直接加载指定文件不允许用户自由选择打开的文件。因此我省略了打开文件浏览窗口的代码。使DocumentControl打开指定文件的代码如下 1 // 打开对话框dlg中选定的文件 2 documentControl.Document.TryOpenFile(dlg.FileName); 3 4 // OR 5 // 直接打开指定文件 6 documentControl.Document.TryOpenFile(res\\测试文件.nwc); 通过以上的操作就可以实现在一个窗口中打开指定的.nwc文件。   接下来补充说明如何与打开的文件进行交互。 首先别忘了在窗口设计器的程序中添加引用 using Autodesk.Navisworks.Api.Controls; using Autodesk.Navisworks.Api; 在窗口中加入几个按键来实现对图像的平移等功能。如果喜欢追求视觉效果也可以使用ToolBar。 这里我实现了最基本的几项功能总体来讲都是通过类似的语句去调用方法。详细能够实现的方法可以参考API手册中的Tool Enumeration。 1 #region Navigate View2 // 旋转模型3 private void Orbit_Click(object sender, EventArgs e)4 {5 documentControl.Document.Tool.Value Autodesk.Navisworks.Api.Tool.NavigateFreeOrbit;6 }7 8 // 缩放模型9 private void Zoom_Click(object sender, EventArgs e) 10 { 11 documentControl.Document.Tool.Value Autodesk.Navisworks.Api.Tool.NavigateZoom; 12 } 13 14 // 平移模型 15 private void Pan_Click(object sender, EventArgs e) 16 { 17 documentControl.Document.Tool.Value Autodesk.Navisworks.Api.Tool.NavigatePan; 18 } 19 20 // 复位模型 21 private void reset_Click(object sender, EventArgs e) 22 { 23 //API中没有复位方法这里调用加载文件以实现复位 24 LoadDocument(); 25 } 26 27 // 组件单选选取 28 private void SinSelect_Click(object sender, EventArgs e) 29 { 30 documentControl.Document.Tool.Value Autodesk.Navisworks.Api.Tool.Select; 31 } 32 33 // 组件选框选取 34 private void MulSelect_Click(object sender, EventArgs e) 35 { 36 documentControl.Document.Tool.Value Autodesk.Navisworks.Api.Tool.SelectBox; 37 } 38 39 #endregion   另外在本次的开发任务中还需要实现能够将镜头聚焦在指定组件上的功能。由于我之前没有使用过NavisWorks所以其实并不是很清楚是否已经存在这样的功能。最终我只能使用一个很笨的方法去实现但是这个方法是非常不完善的首先看下面的代码 1 private void Location_Click(object sender, EventArgs e)2 {3 //Create a new search4 Search s new Search();5 6 //set the selection to everything7 s.Selection.SelectAll();8 9 //Add a search condition 10 //修改组件名以实现选中不同组件的功能 11 s.SearchConditions.Add(SearchCondition.HasPropertyByName(PropertyCategoryNames.Item, DataPropertyNames.ItemName) 12 .EqualValue(VariantData.FromDisplayString(组件名))); 13 14 //get the resulting collection by applying this search 15 ModelItemCollection searchResults s.FindAll(Autodesk.Navisworks.Api.Application.ActiveDocument, false); 16 17 //清空当前所选 18 Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.Clear(); 19 20 21 //show the results 22 foreach (ModelItem mi in searchResults) 23 { 24 Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.Add(mi); 25 } 26 27 //自动居中搜索结果 28 Autodesk.Navisworks.Api.Application.ActiveDocument.ActiveView.FocusOnCurrentSelection(); 29 } 可以看出首先是对指定名称的组件进行了一次搜索。这里搜索的语句并非只有这一种方式其他搜索方法所规定的条件参数都不相同可以根据自己需要的搜索条件去调用不同的搜索方法。 搜索完结果以后将搜索结果选中最后调用居中方法使视角固定在搜索结果上。但是该方法有一个问题就是这个自动居中的方法并不能实现自动调整视角和缩放比例也就是说当对已选组件实行该方法后可能展示出来的视角非常难看而且大小也不合适。这一点如何进行优化还有待后期研究。转载于:https://www.cnblogs.com/brandon988/p/5141444.html
http://www.sadfv.cn/news/327317/

相关文章:

  • 网站的meta标签优化项城市建设方案公示在哪个网站
  • 交易所网站建设做海报素材网站推荐
  • 云主机是不是可以搭建无数个网站湘潭网站公司
  • 建设社区网站有什么借鉴之处可做百度百科参考资料的网站
  • 网站开发用台式机电脑配置网站静态和伪静态意思
  • 网站设计师主要做什么的长春网站建设方案推广
  • 做流量网站江门专业网站建设公司
  • seo优化网站技术排名百度推广网站服务器和空间有什么区别
  • 自己做个网站好还是做别人会员好东莞全网合一网站
  • 静宁网站建设网站推广四个阶段
  • 网站制作怎样做背景网站建设开发公司
  • 在哪个网站做外快设计大连龙采做网站行不行
  • 寻花问柳专注做一家男人最爱的网站关于做旅游网站的参考文献
  • 网站栏目功能分析制作网页代码大全
  • 昆明做网站网站层级
  • 建站软件排行榜西安建设工程有限公司
  • 网银网站模板上海外贸营销网站建设网站
  • 国内最专业的设计网站建设网站建设CEO
  • 昆明网站建设哪家做量化投资网站
  • 绵阳做seo网站公司ftp上传网站后怎么弄
  • 邗江区城乡建设局网站学生做爰网站
  • 唐山公司网站建设 中企动力唐山深圳企业网站哪家强
  • 彩票网站招代理广告怎么做朋友圈营销广告
  • 个人网站可以备案几个建网站用哪个好
  • 山西城乡和住房建设厅网站首页如何做百度关键词推广
  • 如何上传网站源码中山网站建设找阿 n 2
  • 龙海做网站费用全景网站app
  • 网站收录查询方法好的开源网站
  • 仿牛商网营销型网站网络营销策划书5000字
  • 二级网站收录分类信息网址导航