相关文章:
轻量而敏捷的工业组态软件UI设计工具-ConPipe Studio 2022
基于Visual Studio扩展的WPF工业组态UI控件-ConPipe 2023

继发布《轻量而敏捷的工业组态软件UI设计工具-ConPipe Studio 2022》以来,收到不少工控小伙伴的支持。我在不断完善控件之余,在化工组态控件之外又添加了机械组态控件。规划中机械组态包含:滑轮/滑轮组,绳子/钢缆(支持设置张力),液压,钢结构,墙体(斜杠),链条,龙门吊,波纹管,弹簧,升降机(伸缩式),目前滑轮/滑轮组,液压,链条,弹簧已经接近完成,下面通过动图来感受下效果。

1,链条

Xaml代码:

<Machine:ChainItemCollectionChainWheelCollection="150,300,8,0 360,240,7,1 570,240,7,1 810,347,13,0 490,420,7,0"ChainItemOpacity="0.5" ShowKeySlot="False"ChainItemSize="100,39" HorizontalAlignment="Left" Height="550" Margin="100,100,0,0" VerticalAlignment="Top" Width="1140" />

ChainItemOpacity为链条的透明度;ShowKeySlot设置是否显示链轮轴的键槽(链轮中心轴边缘突出的小方块);ChainItemSize设置每节链条的尺寸(ChainWheelCollection设置后必须设置ChainItemSize后才能显示出链条,否则不显示链条);ChainWheelCollection是链轮的配置数据,每个链轮有四个参数,不同的链轮用空格隔开。前两个参数是链轮轴心的XY坐标,这个坐标是相对于Machine:ChainItemCollection的内部坐标;第三个参数是链轮的齿数(链轮的半径不需要设置,ChainItemSize和齿数确定后链轮的半径也就确定了,这跟在UG等三位软件中设计齿轮一个道理,齿轮的半径由模数和齿数决定);第四个参数指示链轮是否为压链轮(压链轮的意思是:链轮在链条形成的封闭曲线之外,动画中最上面的两个链轮就是压链轮)。在ChainWheelCollection中配置链轮有个非常重要的规则需要遵循的是:链轮的指派顺序必须是顺时针方向的,如下图所标:

2,弹簧

同样是一行代码搞定

<Machine:CoilSpring SpiralDirection="Left"Thickness="10"Turns="10"RendColor="DarkRed"MinHeight="95"MaxHeight="195" Margin="536,250,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="123" Width="70"/>

Thickness设置弹簧的粗细,默认就是10;Turns设置弹簧匝数(弹簧中间有螺纹的部分,不包含上下两个平直端);RendColor设置弹簧的颜色;MinHeight设置弹簧压缩后的最小长度;MaxHeight设置弹簧拉伸后的最大长度;Height可以实时设置的弹簧的长度;VerticalAlignment设置为Top或Bottom可以让弹簧实现顶部或底部固定。

3,液压联动

两个部件两行代码,绿色的RotateableBox控件的Content可以设置为其他任何控件的组合。

<Machine:RotateableBox Name="rotateableBox" FixedRotatePoint="0,49"ActiveRotatePoint="236,49" WorkDirection="Clockwise" Margin="250,316,0,0" Height="50" Width="532" Background="Green" Opacity="0.5" />
<Machine:PistonRod RelevantSystem="{Binding ElementName=rotateableBox}" FixedRotatePoint="300,374" ShowTopBallCup="True" RodDiameterRate="0.9" MaxTravel="120" PistonCylinderHeight="130" CurrentTravel="0" Width="50" />

Machine:RotateableBox的尺寸可以自己定义;FixedRotatePoint为固定旋转点(图中左下角的位置),相对于Machine:RotateableBox的任意位置;ActiveRotatePoint为Machine:RotateableBox与活塞杆联动的位置,也是相对于Machine:RotateableBox的任意位置;通过设置Content属性来定制想要的效果。
Machine:PistonRod为活塞杆。RelevantSystem为关联系统,也就是Machine:RotateableBox,试用绑定的方式赋值,也可以通过C#代码在后台设置;FixedRotatePoint为固定旋转点,相对于父容器的任意位置;CurrentTravel设置活塞杆当前的行程;MaxTravel设置最大行程;ShowTopBallCup设置是否显示活塞杆两头的球头座;RodDiameterRate设置活塞杆的宽度占控件宽度的比例;PistonCylinderHeight设置活塞筒的长度;Width设置活塞杆的最大宽度。

四,滑轮组

滑轮组由一组滑轮和绳索组成

<Machine:PulleyRopeCollection Name="pulleyRopeCollection"PulleyCollection="0,571,113,35,0,1 0,715,381,35,0 0,443,381,35,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="800" Height="600" />

PulleyCollection是滑轮的配置数据,每个滑轮有六个参数,不同的滑轮用空格隔开。第一参数设置滑轮是否带钩;第二、三个参数设置环论轴心的XY坐标;第四个参数设置滑轮的半径;第五个参数为可选参数,设置滑轮是否为驱动轮;第五个参数为可选参数,设置滑轮是否为固定的(固定的滑轮不可以转动,指示用来托住绳子的)。

5,动滑轮

四个滑轮一条绳索。也许有看官会说,明明是三个滑轮啊?!其实最左边那个绳头是半径为0的滑轮而已。

<Machine:Pulley x:Name="p1" Center="228,58" Radius="28" IsDrivePulley="True" IsReverse="False" />
<Machine:PulleyBlock x:Name="p2" Center="228,450" Radius="18" HorizontalAlignment="Left"  />
<Machine:Pulley x:Name="p3" Center="168,158" Radius="28" IsPressurePulley="True" IsStatic="True" IsReverse="True" />
<Machine:Pulley x:Name="p4" Center="50,130" Radius="0" IsStatic="True" />
<Machine:PulleyRope x:Name="rope" Panel.ZIndex="99" RopeThickness="3" PulleyArray="p1,p2,p3,p4" />

Center设置滑轮的轴心位置,相对于父容器的任意位置;Radius为滑轮的半径;IsDrivePulley设置是否为驱动轮,如果滑轮组和绳索不是闭合的,驱动轮上的绳子就会绕满一整圈充当集线轮;IsReverse设置滑轮反转;
Machine:PulleyRope是绳索,PulleyArray配置绳索相关联的滑轮Name,指派顺序同样满足顺时针的规则;RopeThickness设置绳索的粗细;在Distance中设置绳索移动的长度,正增长会带动滑轮顺时针转动并计算旋转的速度,直径大的滑轮转速慢,直径小的滑轮转速快且是成比例的;

轻量而敏捷的工业组态软件UI设计工具-机械组态篇相关推荐

  1. 轻量而敏捷的工业组态软件UI设计工具-ConPipe Studio 2022

    WPF实现组态软件-逼真的管道和速度可变流体(五) 轻量而敏捷的工业组态软件UI设计工具-机械组态篇 ConPipe Studio 2022和ConPipe控件下载地址(Trial版):ConPipe ...

  2. 自动化软件的设计工具

    自动化软件主要包括了组态软件和SCADA 类型的软件,组态软件主要完成大量的参数配置,图形化编程和界面设计.尽管目前有许多窗口软件的设计工具和语言可以选择,例如基于Windows,Andriod,Li ...

  3. APP手机应用程序软件UI设计界面介绍AE模板

    APP手机应用程序软件UI设计界面介绍AE模板下载,具有时尚的设计,现代文本动画和时尚的过渡效果.简单易用,只需编辑文本,拖放到新媒体中并点击渲染即可.推广和宣传新手机应用程序的好方法等等.用这个令人 ...

  4. linux开组态软件,基于嵌入式Linux的组态软件实时数据库的设计

    1 引言 实时数据库(real-TIme database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间 ...

  5. Sublime Text3轻量型跨平台C/C++开发环境(上) 安装使用篇

    Sublime Text 2和3的对比 相比于2,Sublime Text 3就秒启动一项,就压倒性地胜利了.因此在之后的叙述中都以Sublime Text 3为主角.并且3一直在不断的完善更新,具体 ...

  6. Thor UI - 轻量简洁的免费开源移动端 UI 组件库,支持原生小程序和 uni-app

    用来快速开发原生小程序或者通过 uni-app 来开发任何小程序甚至是 APP 的组件库,但我很好奇中文名是不是译作雷神 UI. Thor UI 介绍 Thor UI 是一款开发移动端网页应用.小程序 ...

  7. cyq.data 连接mysql_CYQ.Data 轻量数据层之路 优雅V1.4 辅助工具发布

    类型:磁盘工具大小:2.7M语言:中文 评分:4.2 标签: 立即下载 前言说明 本次发布的辅助工具,只是为简化一些操作,其功能基本为CYQ.Data.SQL名称空间下的OutPutData类提供. ...

  8. 软件原型设计工具Axure RP安装教程

    http://www.axure.us/1896/ Axure RP是产品经理必备的原型制作工具,因为很多同学是新手,在这里整理一下axure7.0的下载.安装和汉化流程,希望能够帮到大家. Axur ...

  9. 【C#】winform软件UI设计模板

    最近一直在改软件UI,源码,欢迎讨论 一.简介 之前用的一个模板用的是office风格的,但是奈何最近做的系统功能并不是很多,菜单栏显得很空洞,BOSS严令整改.遂改变思路想做一个类似360的UI,但 ...

最新文章

  1. Windows7下安装VC2008绿色版
  2. HTML中三维特性,前端进阶系列(三):HTML5新特性
  3. Android --- This custom view should extend android.support.v7.widget.AppCompatTextView instead
  4. Vue用Cordova打包后的app自升级功能实现
  5. Growth Workshop:企业如何用数据驱动 GMV 增长
  6. class对象和class文件_Class文件格式
  7. Java开发工程师,每个阶段需要掌握什么重点?
  8. android 获取录音时长_Android中集成FFmpeg ③执行进度
  9. Unity3D一个全面整合的专业游戏引擎
  10. 基于似然比检验统计量的异常轨迹检测
  11. python_opencv_haze加雾处理
  12. html什么布局可以兼容多平台,腾讯游戏:浅谈游戏官网现状及设计趋势
  13. latex利用bibmap生成双语对照的文献表
  14. 用Python破解有道翻译反爬虫机制
  15. java double long 取值_由一道题引起的思考? java中 long 和double都是64位。为什么double表示的范围大那么多呢?...
  16. 根据用户名字刷账户(取用户名的字母)
  17. PS之人物通道磨皮法
  18. 打开idea后不显示界面
  19. 《深入理解计算机系统》学习笔记——处理器体系结构
  20. 五面拿下阿里飞猪offer,mongodbmysqlredis

热门文章

  1. ssh远程登陆WSL
  2. C#中DataGridView行和列的背景色设置
  3. 有哪些游戏蓝牙耳机,英雄联盟手游赛事耳机分享
  4. 1520D - Same Differences
  5. 动态图 详细演示 TCP
  6. Linux上两种软件安装方式
  7. c语言大一期中考试复盘
  8. php office导出excel,phpoffice/phpexcel 导出数据
  9. 踏莎行·术 - NIO系列2:TCP监听绑定
  10. sleep 1000 c语言,求助C语言Sleep延迟输入问题