前言:随着工业化的进一步发展,制造业、工业自动化等多领域,都可能用到上位监控系统。而WPF在上位监控系统方面,应该算是当下最流行的前端框架之一了。而随着监控体系的不断完善与更新迭代,监控画面会变得越来越复杂、多样化和全面化。

随着监控画面的不断复杂和庞大,如果靠开发者人为进行绘制图案、模型等,无疑会是一个很庞大的工作量。而大多数监控系统的开发,可能还需要结合CAD图纸的布局图进行“自定义创作”,也是一个较为繁琐的工程。如果可以通过CAD图纸直接转换为WPF的画布图纸,那么开发者的工作将会变得更加轻松愉快,只需要做一些简单的调整就可以变成自己的一套监控系统。那么下面的文章,我将会以几个很简单的步骤,来演示一下通过CAD图纸转换为XAML代码文件的方法,供大佬们参考。

零:为了防止被爬虫到各种不友好的网站(会自动同步到CSDN同账号,除 博客园 与 CSDN 外,都可能是爬虫爬过去的,谨防被忽悠),以及防止影响大家阅读体验,建议可以点击该博客的在博客园的原文链接进行阅读:

https://www.cnblogs.com/weskynet/p/16412223.html

一、为了演示一个简单的操作,我此处先打开一个空白的CAD,等下用来进行绘制点内容使用。

二、自定义随便绘制点东西,此处包括了三个矩形,三个圆,一个椭圆,以及一个螺旋图案,还有一行文字,当作测试使用。

三、绘制完成以后(正常使用,可能是打开cad图纸以后,直接进行这一步),选择 文件 -> 另存为,将图纸另存为.dxf格式的文件,供后续的AI工具进行打开。

四、使用AI工具进行打开.dxf文件

【备注】此处打开时候由于设置了边界全部显示为1px,所以三个圆变细了,请无视这个细节。

五、AI工具打开以后,选择 文件- 导出为.xaml格式。正常情况下可以导出为silverlight和wpf两种,此处咱们选择导出为wpf支持的xaml格式。

【备注】AI导出的路径不能有中文,否则可能导出会不成功。

六、导出成功以后,在导出目录下,可以看到生成了一个.xaml格式的代码文件。

七、用文本文件打开瞅一眼,可以看到熟悉的xaml标签代码,它由<viewbox/>控件包含,所以也可以直接用它来制作用户控件使用等等,大佬们可以自行发挥。

八、新建一个WPF项目,目前主窗体没有任何元素,用于后续测试生成的xaml代码是不是可以使用。

九、将导出的xaml代码文件的代码,全部复制到主窗体下,可以看到主窗体设计器自动展示了元素的效果。与CAD图纸上的基本一致。

十、咱们运行一下程序,看看启动以后的效果,如下图所示,说明导出的代码是可以直接使用的,并且符合预期。

十一、对于AI工具没有导出WPF选项的,需要添加一个插件。插件下载地址:http://mikeswanson.com/xamlexport/

下载地址打开以后的页面,如下图所示,已经提示了很详细的使用方法了,参照提示信息进行放置插件即可。

十二、下载的插件,解压以后会有两个aip文件,一个是MAC系统支持的,另一个是Windows系统支持的,如下图所示,存放到AI工具的安装目录下的plug-ins文件夹下即可。

【备注】AI安装的如果是破解版、或者不是默认安装路径,有可能会识别插件不成功,比如说在打开AI程序的时候,可能提示 "ai载入增效工具时失败"之类的。

以上就是该文章的全部内容,感谢各位大佬捧场。

如果大佬们对.NET方向技术感兴趣,可以找到该文章的博客园的原文链接:https://www.cnblogs.com/weskynet/p/16412223.html

在最下面有一个加入QQ群的信息,可以直接加入。

或者也可以扫以下的二维码,加我个人微信,然后一起讨论技术,或者申请进微信群,我也拉你进微信同群,也是OK的。

最后祝大佬们撸码愉快~~

如果有帮助,欢迎点赞、收藏或评论转发呀~~不用客气~~

【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧的更多相关文章

  1. C# WPF过渡效果实现(C# WPF Material Design UI: Transitions)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  2. WPF教程九:理解WPF中的对象资源

    在WPF中,所有继承自FrameworkElement的元素都包含一个Resources属性,这个属性就是我们这篇要讲的资源. 这一篇讲解的资源是不是上一篇的程序集资源(那个是在编译过程中打包到程序集 ...

  3. WPF快速入门系列(6)——WPF资源和样式

    一.引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用.而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一样,尽管我们可以在每个控件中定义格式,但是如果 ...

  4. WPF快速入门系列(1)——WPF布局概览

    一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中 ...

  5. WPF 3D 小小小小引擎 - ·WPF 3D变换应用

    原文:WPF 3D 小小小小引擎 - ·WPF 3D变换应用 WPF可以提供的3D模型使我们可以轻松地创建3D实体,虽然目前来看还很有一些性能上的问题,不过对于一些简单的3D应用应该是可取的,毕竟其开 ...

  6. WPF换肤之三:WPF中的WndProc

    原文:WPF换肤之三:WPF中的WndProc 在上篇文章中,我有提到过WndProc中可以处理所有经过窗体的事件,但是没有具体的来说怎么可以处理的. 其实,在WPF中,要想利用WndProc来处理所 ...

  7. WPF系列(1)WPF和XAML基础

    终于下定决心开始更新WPF一个系列的文章,这里主要是出于两个目的,一是自己对所学的知识有一个系统的总结,二十希望能对其他人有些帮助,如果您觉得我写的不好,欢迎提意见. 那么既然我要开始写WPF,那我们 ...

  8. WPF加载HTML、WPF与JavaScript交互

    目录 一.WebBrowser加载远程网页 二.WebBrowser加载本地网页,注:不可以加载本地样式CSS和脚本JS文件 三.WebBrowser隐藏网页的JavaScript错误 四.网页屏蔽鼠 ...

  9. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

随机推荐

  1. Java学习day24

    今天学习了IP地址.端口以及TCP/UDP通信协议 网络连接与过去的信件类似,需要知道对方的地址才能寄出去,在计算机网络中,我们的地址就是IP以及端口号 IP能用来唯一定位一台联网的计算机 本机的IP ...

  2. 轻量迅捷时代,Vite 与Webpack 谁赢谁输

    你知道Vite和Webpack吗?也许有不少"程序猿"对它们十分熟悉. Webpack Webpack是一个JavaScript应用程序的静态模块打包工具,它会对整个应用程序进行依 ...

  3. 控制Python浮点数输出位数

    技术背景 在Python的一些长效任务中,不可避免的需要向文本文件.二进制文件或者数据库中写入一些数据,或者是在屏幕上输出一些文本,此时如何控制输出数据的长度是需要我们注意的一个问题.比如对于一个二进 ...

  4. CentOS 下 MySQL 服务搭建

    1. 卸载旧 MySQL 查看 rpm 包 rpm-qa | grep mysql 如果存在,使用如下命令卸载 rpm -e 查找是否存在mysql 相关目录 find / -name mysql 卸 ...

  5. C#接入SMTP邮件服务

    我的个人博客 引入SMTP服务包 //引入邮件服务包using System.Net.Mail;using System.Net; 这两个引用用于C#接入邮件的SMTP服务 控件页面 定时器 为了给用 ...

  6. kali2021.4a搭建pwn环境

    最近电脑重装系统(吐槽一下,win11真的一言难尽),顺便在虚拟机装了最新版本的KaliLinux,顺带着搭建一下PWN环境.总的来说这次搭建PWN环境问题不大,按照之前安装的步骤,整个过程还算是比较 ...

  7. 【Java分享客栈】一文搞定CompletableFuture并行处理,成倍缩短查询时间。

    前言   工作中你可能会遇到很多这样的场景,一个接口,要从其他几个service调用查询方法,分别获取到需要的值之后再封装数据返回.   还可能在微服务中遇到类似的情况,某个服务的接口,要使用好几次f ...

  8. .NET MAUI RC2 发布,支持 Tizen 平台

    在.NET多平台应用程序UI(.NET MAUI)RC1之后仅两周,微软已经发布了RC2,并以新的Tizen支持为亮点..NET MAUI是微软对Xamarin.Forms的演变,因为它除了iOS和A ...

  9. mask-image实现聚光灯效果

    大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...

  10. 解决vue安装less报错Failed to compile with 1 errors的问题

    1.创建vue项目后安装less,执行 npm install less less-loader --save-dev 下载版本为:less-loader@6.1.0 , less@3.11.3,重启 ...