前言:随着工业化的进一步发展,制造业、工业自动化等多领域,都可能用到上位监控系统。而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. HCIE-SEC笔记-第四节-网络入侵和防火墙基础

    等级保护: 网络安全:防火墙.VPN.准入控制 渗透测试: 防火墙:区域隔离和访问控制 数字与研究公司:用数据说话 IDC:国际数据公司 Gartner:著名的数字与咨询公司 弗雷斯特: 数世咨询: ...

  2. Python 交互式解释器的二三事

    学 Python 不知道何时起成了一种风尚.这里,我也随便聊聊跟Python 的交互式解释器的几个有意思的小问题. 如何进入 Python 交互解释器? 当你安装好 Python 后,如何进入 Pyt ...

  3. 原生 js 重点案例 [tab栏切换]

    代码示例 :  <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  4. 「Python实用秘技07」pandas中鲜为人知的隐藏排序技巧

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第7期 ...

  5. 在 K8s 上运行 GraphScope

    本文将详细介绍:1) 如何基于 Kubernetes 集群部署 GraphScope ; 2) 背后的工作细节; 3) 如何在分布式环境中使用自己构建的 GraphScope 开发镜像. 上篇文章介绍 ...

  6. 面试官:请用SQL模拟一个死锁

    文章首发于公众号:BiggerBoy 有读者说面试被问到怎么用SQL模拟数据库死锁? 这位读者表示对Java中的死锁还是略知一二的,但是突然用SQL写死锁的案例之前还真没遇到过,这个问题没答上来.所以 ...

  7. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第六版,支持OpenGL,3D上帝视角俯视K线概貌。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  8. 《Streaming Systems》第一章: Streaming 101

    数据的价值在其产生之后,将随着时间的流逝逐渐降低.因此,为了获得最大化的数据价值,尽可能实时.快速地处理新产生的数据就显得尤为重要.实时数据处理将在越来越多的场景中体现出更大的价值所在 -- 实时即未 ...

  9. Vue.js 3.x 双向绑定原理

    什么是双向绑定? 废话不多说,我们先来看一个 v-model 基本的示例: <input type="text" v-model="search"> ...

  10. numpy学习Ⅱ

    今天有空再把numpy看一下,补充点不会的,再去看matplotlib 回顾之前笔记,发现之前的numpy学习Ⅰ中关于numpy的行.列.维可能表述有点不清晰,这里再叙述一下 import numpy ...