【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧
前言:随着工业化的进一步发展,制造业、工业自动化等多领域,都可能用到上位监控系统。而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代码技巧的更多相关文章
- C# WPF过渡效果实现(C# WPF Material Design UI: Transitions)
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- WPF教程九:理解WPF中的对象资源
在WPF中,所有继承自FrameworkElement的元素都包含一个Resources属性,这个属性就是我们这篇要讲的资源. 这一篇讲解的资源是不是上一篇的程序集资源(那个是在编译过程中打包到程序集 ...
- WPF快速入门系列(6)——WPF资源和样式
一.引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用.而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一样,尽管我们可以在每个控件中定义格式,但是如果 ...
- WPF快速入门系列(1)——WPF布局概览
一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中 ...
- WPF 3D 小小小小引擎 - ·WPF 3D变换应用
原文:WPF 3D 小小小小引擎 - ·WPF 3D变换应用 WPF可以提供的3D模型使我们可以轻松地创建3D实体,虽然目前来看还很有一些性能上的问题,不过对于一些简单的3D应用应该是可取的,毕竟其开 ...
- WPF换肤之三:WPF中的WndProc
原文:WPF换肤之三:WPF中的WndProc 在上篇文章中,我有提到过WndProc中可以处理所有经过窗体的事件,但是没有具体的来说怎么可以处理的. 其实,在WPF中,要想利用WndProc来处理所 ...
- WPF系列(1)WPF和XAML基础
终于下定决心开始更新WPF一个系列的文章,这里主要是出于两个目的,一是自己对所学的知识有一个系统的总结,二十希望能对其他人有些帮助,如果您觉得我写的不好,欢迎提意见. 那么既然我要开始写WPF,那我们 ...
- WPF加载HTML、WPF与JavaScript交互
目录 一.WebBrowser加载远程网页 二.WebBrowser加载本地网页,注:不可以加载本地样式CSS和脚本JS文件 三.WebBrowser隐藏网页的JavaScript错误 四.网页屏蔽鼠 ...
- WPF 学习笔记-在WPF下创建托盘图标
原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...
随机推荐
- DRF JWT认证(一)
为什么要使用JWT认证?构成和原理又是什么?怎么还有Base64的事?我都写了
- Java学习day38
Java内存:1.堆:存放new的对象和数组:可以被所有线程共享,不会存放别的对象引用 2.栈:存放基本变量类型(会包含这个基本类型的具体数值):存放对象的变量(会存放这个引用在堆里面的具体地址) 3 ...
- 面试官:RabbitMQ过期时间设置、死信队列、延时队列怎么设计?
哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 RabbitMQ我们经常的使用, ...
- el-table高度问题
1. 外层容器flex=1,el-table设置属性height="calc(100% - 60px),有时一刷新页面表格高度无限增加,滚动条一直变短 试验过几次后发现是因为el-table ...
- .NET 7 预览版2 中的 ASP.NET Core 更新
.NET 7 预览版2 现已推出,其中包括对ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: 推断来自服务的API 控制器操作参数 SignalR 集线器方法的依赖注入 为 ...
- Sliding Window - 题解【单调队列】
题面: An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving fr ...
- JavaCV的摄像头实战之七:推流(带声音)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...
- 『忘了再学』Shell基础 — 12、用户自定义变量
目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名=" ...
- Bugku CTF练习题---社工---信息查找
Bugku CTF练习题---社工---信息查找 flag:KEY{462713425} 解题步骤: 1.观察题目,思考题目内容,了解答案是群号 2.这里涉及到好多的信息,首先有网址,第二个是今日头条 ...
- keil工程当中实现printf重定向串口打印
之前是完全不知道printf可以重定向设置 最近才发现还有这等好事,可以让printf直接实现串口打印 在网上找了很多资料,终于实现了我想要的效果 原理:printf是通过调用底部的fputc来实现打 ...