通用曲线控件的设计
超级XY曲线控件例程说明文档
超级XY曲线控件例程说明文档北京亚控科技发展有限公司2009年6月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 定义设备 (1)3.2 定义变量 (1)3.3 制作画面 (2)3.4 功能实现说明 (10)3.5 进入运行系统 (12)4. 注意事项 (14)1. 功能概述常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。
组态王中的实现方法:1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。
2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。
超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。
其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。
2. 工程实例我们举一个例子来说明超级XY曲线控件的使用。
在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。
下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
CATIA曲线设计实例分享
CATIA曲线设计实例分享在本文中,将分享一些CATIA曲线设计的实例,帮助读者更好地了解和应用CATIA软件。
本文将通过实例展示CATIA曲线设计的具体步骤和技巧,帮助读者掌握这一设计工具的使用方法。
1. 引言CATIA是一款强大的三维设计和建模软件,广泛应用于工业设计、航空航天、汽车制造等领域。
其中,曲线设计功能是CATIA的重要组成部分,它可以帮助设计师创建和编辑复杂的曲线形状。
下面将通过几个实例来介绍CATIA曲线设计的应用。
2. 实例一:创建二维曲线在CATIA中,创建二维曲线可以通过多种工具和方法完成。
例如,我们可以使用“线段”工具创建直线,使用“圆弧”工具创建弧线等。
此外,还可以通过连接、切割、修剪等操作来编辑已创建的曲线。
通过这些功能,设计师可以方便地创建各种形状复杂的二维曲线。
3. 实例二:绘制三维曲线在CATIA中,设计师可以将二维曲线转换为三维曲线,并对其进行进一步的编辑和优化。
CATIA提供了多种工具和命令,例如“扫描”、“偏移”等,用于将二维曲线拉伸、翻转或修整为三维曲线。
通过这些功能,设计师可以更好地对曲线进行调整和修改,以满足设计需求。
4. 实例三:应用曲线设计于实际项目CATIA的曲线设计功能除了可以用于创建和编辑曲线外,还可以应用于实际的项目中。
例如,在汽车设计中,曲线设计可以用于创建车身曲线和车窗曲线;在飞机设计中,曲线设计可以用于创建机翼曲线和机身曲线。
通过利用CATIA的曲线设计功能,设计师可以更好地实现产品的外观美观和功能需求。
5. 实例四:优化曲线设计在进行曲线设计时,设计师还可以利用CATIA的曲线优化工具来进一步改善曲线的形状和质量。
CATIA提供了各种优化算法和命令,例如“平滑”、“边界调整”等,帮助设计师优化曲线的光滑度、连续性和对称性。
通过这些功能,设计师可以得到更加精确和符合设计要求的曲线形状。
6. 结论通过以上实例,我们可以看到CATIA曲线设计功能的强大和灵活性。
CATIA曲线设计教程
CATIA曲线设计教程CATIA是一种广泛使用的计算机辅助设计(CAD)软件,它在工业设计和工程领域得到了广泛的应用。
在CATIA中,曲线设计是其中一个重要的功能,可以用于创建各种复杂的曲线形状。
本篇文章将向您介绍CATIA中曲线设计的基本知识和使用方法。
一、CATIA曲线设计的基本概念1. 曲线类型在CATIA中,有许多不同类型的曲线可以使用。
一些常见的曲线类型包括直线、圆弧、椭圆和样条曲线等。
每种曲线类型都有其独特的特点和用途。
2. 控制点和控制曲线在CATIA中,曲线的形状是通过控制点来定义的。
控制点是曲线上的一些特定点,通过调整这些点的位置,可以改变曲线的形状。
控制曲线是通过连接这些控制点而形成的曲线。
3. 曲线参数化CATIA中的曲线可以使用参数化来定义,通过调整参数的值,可以改变曲线的位置、形状、长度等属性。
参数化可以帮助设计师更加灵活地控制曲线的属性。
二、CATIA中曲线设计的基本操作1. 创建曲线在CATIA中,可以通过多种方法创建曲线。
例如,可以通过绘制直线或圆弧来创建曲线,也可以通过连接多个点来创建样条曲线等。
根据具体的需求和设计要求,选择合适的方法来创建曲线。
2. 编辑曲线CATIA提供了丰富的编辑曲线的工具和功能。
通过这些工具,可以对曲线进行平移、旋转、缩放、修剪、延伸等操作。
通过合理使用这些编辑工具,可以精确地调整曲线的形状和位置。
3. 分割曲线有时候,需要将曲线分割成多个部分。
在CATIA中,可以使用分割工具来实现这一目的。
通过选择合适的分割点,将曲线分割成多个段落,从而更好地满足设计需求。
4. 曲线连接在实际设计中,经常需要将不同曲线连接在一起,形成一个完整的曲线。
CATIA提供了曲线连接的工具,可以将曲线的端点或其他特定点进行连接,以实现曲线的衔接和平滑过渡。
三、CATIA曲线设计的进阶应用1. 曲线变形CATIA中的曲线变形功能可以帮助设计师通过调整曲线的形状,实现创造性的设计效果。
winccxy 轴的多功能曲线的实现方法
在WinCC中,可以使用XY图表控件来实现多功能曲线的显示。
具体实现步骤如下:
1. 在WinCC的画面设计器中,选择图表控件,并将其拖动到需要显示多功能曲线的位置。
2. 在属性设置中,选择XY图表类型。
可以设置图表的标题、轴标题、轴范围、网格线、数据点等属性。
3. 在数据源设置中,选择需要显示的数据源。
可以选择多个数据源,并且可以设置每个数据源的颜色和线型。
4. 点击“更新”按钮,即可显示多功能曲线。
需要注意的是,在WinCC中,多功能曲线的数据源可以是实时数据、历史数据或者SQL查询结果等。
可以通过设置数据源的类型和属性来实现不同的数据展示方式。
此外,WinCC 还提供了丰富的图表操作功能,如放大、缩小、平移、刷新等,可以帮助用户更好地分析和处理数据。
超级XY曲线控件例程说明文档
超级XY曲线控件例程说明文档北京亚控科技发展有限公司2009年6月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 定义设备 (1)3.2 定义变量 (1)3.3 制作画面 (2)3.4 功能实现说明 (10)3.5 进入运行系统 (12)4. 注意事项 (14)1. 功能概述常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。
组态王中的实现方法:1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。
2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。
超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。
其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。
2. 工程实例我们举一个例子来说明超级XY曲线控件的使用。
在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。
下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
labview曲线的制作方法
LabVIEW中有很多图形显示控件,最常用的有三个:波形图(Waveform Graph),波形图(Waveform Chart),XY图(XY Graph)。
本文主要讲本人使用XY图的一些心得,多有不足,还望各位海涵。
XY图专门用于表示Y值随X值得变化规律,很多资料中都说“XY图只能用来一次显示接收到的数据,并无实时显示能力”,但是合理编程,还是可以实时显示的,下文中我会讲到这样一种实时显示方法。
XY图控件位置为:前面板——图形——XY图,其完整路径及控件如下:
下面来说XY图的应用。
首先是单曲线的显示,有两种方法。
方法一:先将单个点的X,Y坐标捆绑成簇,再组成数组送给XY图;
方法二:X,Y轴坐标先输出为一维数组,再捆绑为簇送给XY图。
对于两条曲线显示,有多种方法。
方法一:将两条曲线的坐标分别捆绑为簇,再组成数组送给XY图(和单曲线显示方法一类似);
方法二:各曲线X,Y轴坐标输出为一维数组,分别捆绑为簇之后,再创建簇数组送给XY图(和单曲线显示方法一类似);
方法三:各曲线X,Y轴坐标分别捆绑为簇,输出为一维簇数组,然后捆绑为簇,创建簇数组送给XY图。
双曲线显示还有另外一种方法方法四,就是我说的可以实现即时显示功能的。
不过似乎最多两条,再多我不知道为什么不可以了。
最后说一下超过两条曲线输出时可用的方法,在单纯两条曲线显示方法中,方法一和方法四是不可以实现三条以上曲线同时输出的。
方法二和方法三则通用于任何情况。
由于时间和经验关系,先写这么点吧,欢迎补充。
多有不足,还望见谅。
组态王,历史趋势曲线控件例程说明文档
历史趋势曲线1,功能概述常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:1)利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
2)利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。
缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。
许多功能都不需要通过编写脚本的方法实现,使用比较方便。
缺点在于无法进WEB 的发布。
工程实例以一个简单的例程来说明“历史趋势曲线控件”的使用。
操作步骤1.1创建新工程打开组态王工程管理器,创建一个新工程。
1.2定义设备进入工程浏览器,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。
此仿真PLC可以做为虚拟设备与组态王进行通讯。
仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器 STATIC,常量字符串寄存器STRING,CommErr寄存器。
具体的寄存器的使用请参考组态王IO驱动帮助。
1.3定义变量在数据词典中新建两个IO变量,变量名称分别为“压力”、“流量”,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。
这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。
变量基本属性定义画面如下图一、图二所示:图一定义变量压力图二定义变量流量在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。
通用曲线控件的设计
()接 口 2 2 :数据 的接 收 数 据 存 储 区 设 计 为 二 维 数 组 ,记 为 :
CAr a < o t r y f a , f o t > m Va u Ar a l l a le ry
De i no mmo r eCo t l sg fCo nCu v n r o
FU n — n LI W a g k i Xi g wa g , U n — a , S HE W e . u N iq n
(. c o l f tmainS in e Ee tc l n ier g B ia gUnv ri , e ig1 0 8 , hn ; 1 S h o o o t cec & lc ia E gn ei , eh n iesy B in 0 3 C ia Au o r n t j 0 2 S h o f rn uis c n ea dE gn eig Be a gU ies y B in 0 3 C ia . c o l o a t i c n n ie r , i n nvri , ej g1 0 8 , hn ) o Ae cS e n h t i 0
2 0 , 12 , . 0 6 Vo . 5 No 2
通 用 曲线 控 件 的设计
付 兴旺 ’ ,刘 旺开 ,沈 为 群 ( .北京航 空航 天 大学 自动化 科 学与 电气 工 程学 院 ,北 京 10 8 : 1 0 0 3
2 .北京 航 空航 天大 学 航 空科 学 与工程 学 院 ,北 京 10 8 ) 00 3
超级XY曲线控件使用
超级XY曲线控件的使用配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建画面: (4)3.2) 控件方法介绍: (4)3.3) 控件属性设置: (7)3.4) 功能实现说明: (9)4.进入运行系统: (11)四、注意事项 (13)图表图一插入超级XY曲线 (4)图二超级XY曲线 (5)图三超级XY曲线控件属性 (7)图四坐标选项设置 (8)图五坐标选项设置 (8)图六曲线选项设置 (9)图七超级XY曲线控件 (9)图八调用控件方法 (10)图九画面命令语言-显示时 (11)图十画面命令语言-存在时 (12)图十一超级XY曲线控件运行画面 (12)一、功能概述常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。
组态王中的实现方法:1、利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。
2、利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。
超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。
其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。
二、工程实例我们举一个例子来说明超级XY曲线控件的使用。
在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC” 。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
cxgrid绘制曲线实例
cxgrid绘制曲线实例在C++的图形用户界面开发中,cxGrid是一个常用的控件,它提供了丰富的功能和灵活的布局方式。
但是,对于一些需要更高级绘图需求的场景,我们可能需要借助其他的图形库来实现。
在这篇文章中,我们将介绍如何使用cxGrid控件来绘制曲线。
一、准备工作首先,确保你已经安装了适当的C++开发环境,并且熟悉cxGrid的基本用法。
二、绘制曲线步骤1.创建cxGrid控件并设置布局:在程序中创建一个cxGrid控件,并使用合适的布局方式(如网格布局)来安排控件的位置和大小。
2.添加绘图组件:在cxGrid控件中添加适当的绘图组件,如线条、椭圆、矩形等。
这些组件通常提供了一些属性,如颜色、线宽等,可以用来绘制曲线。
3.绘制曲线:使用绘图组件的属性或函数来绘制曲线。
通常需要提供曲线的起点、终点以及中间的各个点。
可以通过循环或数组等方式来生成这些点,并使用绘图组件的函数将它们连接起来。
4.调整绘图效果:根据需要,可以调整绘图组件的属性(如颜色、线宽)或使用其他绘图技巧(如渐变、阴影等)来增强曲线的视觉效果。
5.保存和展示:最后,可以将绘制好的曲线保存为图片或直接展示给用户。
三、示例代码下面是一个简单的示例代码,展示了如何使用cxGrid控件绘制一条简单的曲线:```cpp//创建cxGrid控件并设置布局cxGrid*grid=newcxGrid(this,CXGRID_V_BOX);grid->SetColCount(3);//设置列数grid->SetColWidth(0,200);//设置第一列的宽度grid->SetColLabel(0,"X坐标");//设置列标签grid->SetColLabelSize(0,30);//设置标签大小grid->SetRowCount(5);//设置行数grid->SetRowLabel(0,"Y坐标");//设置行标签grid->SetRowLabelSize(0,25);//设置标签大小grid->SetRowHeight(0,40);//设置第一行的行高//添加绘图组件并绘制曲线cxGridCell*cell=grid->AddCell(1,0);//添加第一个绘图组件到第一行第二列cell->AddString("x=1");//设置坐标系的第一点坐标和标签cell=grid->AddLine(1,1,2,2,CXGRID_LINE_SOLID,RGB(255,0,0));//在第二行第二列绘制一条红色的实线cell->SetText("y=f(x)=x^2");//设置曲线的标签和公式cell=grid->AddCell(3,0);//在第三行第一列添加第二个绘图组件cell->AddString("f'(x)=2x");//设置曲线的导数公式和坐标系第二点坐标cell=grid->AddLine(4,1,3,2,CXGRID_LINE_DASHED,RGB(0,255,0));//在第四行第二列绘制一条蓝色的虚线表示导数曲线//保存和展示绘制好的曲线grid->SaveImage("curve.png",CXGRID_IMAGE_PNG);//将绘制好的曲线保存为图片```这段代码创建了一个cxGrid控件,并在其中添加了三个绘图组件来绘制一条曲线。
cchartctrl多区域曲线绘制
【cchartctrl多区域曲线绘制】1. cchartctrl是一种强大的图表控件,可以用来展示多区域曲线的绘制。
在本文中,我将深入探讨cchartctrl的使用方法,以及如何利用它来绘制多区域曲线,使得图表更加生动、清晰和有价值。
2. cchartctrl的使用方法cchartctrl是一种在MFC(Microsoft Foundation Class)应用程序中常用的图表控件。
它提供了丰富的功能和灵活的定制选项,可以帮助开发者轻松地绘制各种类型的图表,包括曲线图、柱状图、饼状图等等。
要使用cchartctrl来绘制多区域曲线,首先需要创建一个cchartctrl对象,并在相应的窗口中进行初始化和设置。
3. 绘制多区域曲线的步骤- 准备好需要展示的数据,包括每个区域的曲线数据和相关信息。
如果要展示某个时间段内的温度变化情况,那么需要准备每个时间点对应的温度数值,并对应每个区域的曲线颜色、样式等设置。
- 利用cchartctrl的接口和方法,将准备好的数据传入图表控件中,指定每个区域的曲线数据和样式。
- 调用图表控件的绘制方法,将图表内容显示在相应的窗口或界面中。
这样就可以实现多区域曲线的绘制,让数据更加直观地展现出来。
4. 优点与应用场景cchartctrl的多区域曲线绘制具有以下优点:- 可以清晰地展示多个区域的曲线走势,比较不同区域之间的关联和趋势变化。
- 支持丰富的图表样式和定制选项,可以根据实际需求进行灵活调整和配置。
- 适用于各种数据展示场景,如科研数据分析、工程监控系统、金融行业数据展示等等。
5. 个人观点和理解对于cchartctrl多区域曲线的绘制,我个人认为它是一种非常有用和实用的功能。
通过利用cchartctrl,开发者可以轻松地实现多区域曲线的绘制,并且能够以直观、清晰的方式展示数据,使得数据分析和决策更加准确和可靠。
6. 总结与回顾通过本文的介绍和讨论,我希望读者能够更加深入地了解cchartctrl 多区域曲线的绘制方法和应用场景,并且能够在实际项目中灵活运用,提升数据可视化的效果和实用性。
cchartctrl多区域曲线绘制
cchartctrl多区域曲线绘制
【hatCtrl 简介】
CChatCtrl 是一款功能强大的曲线绘制控件,广泛应用于各种科学、工程和金融领域。
它具有直观、易用的特点,支持多种数据可视化模式,能够满足多种场景下的曲线绘制需求。
【2.曲线绘制原理】
CChatCtrl 基于svg技术实现曲线绘制。
用户输入数据后,CChatCtrl会将数据解析为坐标点,并通过贝塞尔曲线连接这些点,生成平滑的曲线。
在此基础上,CChatCtrl 还支持多区域绘制,使得用户可以更灵活地展示数据。
【3.多区域曲线绘制方法】
要在CChatCtrl 中实现多区域曲线绘制,首先需要对数据进行合理的划分。
将数据按照一定的规则划分为多个区域,然后为每个区域分别绘制曲线。
在绘制曲线时,可以采用以下方法:
- 设置曲线颜色、线型、宽度等样式参数;
- 利用贝塞尔曲线连接各个区域的数据点;
- 利用平滑算法优化曲线,使绘制结果更加美观。
【4.实际应用场景】
CChatCtrl 的多区域曲线绘制功能在许多领域具有广泛的应用,如:
- 经济数据分析:用于展示不同地区、不同时间节点的经济发展状况,便于对比分析;
- 科研数据分析:用于展示实验数据,帮助研究人员分析规律、探索未
知;
- 工程设计:用于展示设计方案的性能指标,便于评估优化方案。
【5.总结与建议】
CChatCtrl 是一款实用的曲线绘制控件,特别是在多区域曲线绘制方面具有显著优势。
在使用过程中,建议用户充分挖掘其功能,实现个性化定制,以满足不同场景下的需求。
同时,持续关注CChatCtrl 的更新,以便及时了解新功能和优化体验。
C#绘制坐标简易曲线控件
C#绘制坐标简易曲线控件winform控件源码webForm控件源码思路概要:1 ⾸先确定曲线轴的长度和宽度,确定原点,便于坐标转换2 分别绘制X轴 Y轴,并且绘制刻度3 根据实际数据在坐标轴上绘制数据标识4 绘制曲线,计算实际坐标与数轴坐标之间的转换5 响应各种⿏标事件实现:vs2005 +C# 实现(包括winform和webform)两种控件注意问题:1winform控件问题需要解决闪烁问题,所以每次⿏标事件后都只重新绘制部分曲线或者坐标轴。
背景上华坐标轴,pictureBox上画曲线。
2控件图标问题,添加16*16象素bmp格式图⽚,Build Action设置为“Embedded Resource”,曲线类头部引⽤为“[System.Drawing.ToolboxBitmap(typeof(hocylan_Curve.Icon), "UcDate.bmp")]”3部分变量定义和坐标转换:坐标转换:float x,y分别为⿏标在数轴上的实际值,返回该点对应坐标轴的值private string TransPositionToValue(float x, float y){int xPointIndex = Convert.ToInt32((x - XYO.X) / XSlice);//对应x轴的点号string xValue;float yValue;try{if (xPointIndex < Keys.Length && xPointIndex > 0){xValue = Keys[xPointIndex];// Keys[xPointIndex];}else{xValue = "-";}//Y的实际值yValue = ((XYO.Y - y) * YSliceValue) / YSlice + YSliceBegin;return"(" + x.ToString() + "," + y.ToString() + "),(" + xValue.ToString() + "," + yValue.ToString("#.##") + YUnit + ")";}catch (Exception ex){return"(" + x.ToString() + "," + y.ToString() + "),(" + ex.Message.ToString() + ")";}}变量定义:private Graphics objGraphics; //Graphics 类提供将对象绘制到显⽰设备的⽅法private Pen pen1 = new Pen(Color.Red, 2);private Point XYO = new Point();//坐标原点private Point XZ = new Point(); //X轴终点private Point YZ = new Point(); //Y轴终点private Bitmap objBitmap; //位图对象private int m_Width = 624; //图像宽度private int m_Height = 400; //图像⾼度private string m_Title = "曲线图"; //标题private float m_XSlice; //X轴刻度宽度private float m_YSlice; //Y轴刻度宽度private int xPointScaleNum = 15;//X轴点数(刻度数)private int xInScaleNum = 1;//X轴⼤刻度间的⼩刻度private float m_YSliceValue = 40; //Y轴刻度的数值宽度private float m_YSliceBegin = 10; //Y轴刻度开始值private float m_YSliceEnd = 200; //Y轴刻度最⼤值private int yPointScaleNum;//Y轴⼤点数private int m_YInSliceNum = 5; //Y轴刻度⼤刻度间的⼩刻度private float m_Tension = 0.0f;//设置张⼒private string m_yUnit = "KV"; //单位private string m_xUnit = ""; //单位private string m_XAxisText = "X轴说明⽂字"; //X轴说明⽂字private string m_YAxisText = "Y轴说明⽂字"; //Y轴说明⽂字private string[] m_Keys = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }; //键private float[][] m_LineValue;//=new float[]{{120.5f, 23.0f, 23.90f, 0f, 22f, 100f },{ 20.5f, 123.0f, 3.90f, 92f, 122f, 190f },{200.5f, 123.0f, 90.90f, 100f, 0f, 50f }, };private Color[] lineColor = new Color[] { Color.Yellow, Color.Red, Color.White, Color.Green, Color.Orange, Color.BlueViolet };private Color m_BgColor = Color.DeepSkyBlue; //背景private Color m_TextColor = Color.Black; //⽂字颜⾊private Color m_BorderColor = Color.Black; //整体边框颜⾊private Color m_AxisColor = Color.Blue; //轴线颜⾊private Color m_GriddingColor = Color.Blue; //轴线颜⾊private Color m_AxisTextColor = Color.Black; //轴说明⽂字颜⾊private Color m_SliceTextColor = Color.Black; //刻度⽂字颜⾊private Color m_SliceColor = Color.Black; //刻度颜⾊private Color m_CurveColor = Color.Red; //曲线颜⾊代码和资源:winform控件源码webForm控件源码。
通用曲线控件的设计
通用曲线控件的设计
付兴旺;刘旺开;沈为群
【期刊名称】《兵工自动化》
【年(卷),期】2006(25)2
【摘要】采用ActiveX技术开发的通用曲线监控控件,通过曲线信息加入、数据接收、停止绘制后控件自处理等步骤实现多个接口函数,再以设置曲线采样周期定义控件属性.该控件首先通过Windows程序实现实际坐标与屏幕坐标的转换,再定义坐标,最后采用CDC类的成员函数绘制其曲线.
【总页数】2页(P91-92)
【作者】付兴旺;刘旺开;沈为群
【作者单位】北京航空航天大学,自动化科学与电气工程学院,北京,100083;北京航空航天大学,航空科学与工程学院,北京,100083;北京航空航天大学,自动化科学与电气工程学院,北京,100083
【正文语种】中文
【中图分类】TP311.11
【相关文献】
1.PB开发环境下通用录入与编辑控件的设计与实现 [J], 刘志明;方韬
2.多编码多种群遗传算法通用控件的设计与实现 [J], 蒋南云;周微民;黄必栋;樊树海
3.用于工程设计说明书自动生成的通用ActiveX控件设计 [J],
4.一种新型的通用动态查询用户控件的设计与应用 [J], 李竹林;许淳;田云娜
5.基于Grid控件的通用数据库操作组件设计与实现 [J], 金百东
因版权原因,仅展示原文概要,查看原文内容请购买。
CAD曲线设计与编辑技巧
CAD曲线设计与编辑技巧CAD(Computer-Aided Design,计算机辅助设计)是一种常见的工具,用于创建和修改设计图纸。
在CAD软件中,曲线设计和编辑是一个非常重要的方面。
本文将介绍一些CAD曲线设计和编辑的技巧,帮助读者更好地使用AE软件进行设计工作。
1. 使用基本的曲线工具CAD软件通常提供了各种各样的曲线工具,如线段、圆弧、椭圆等。
熟悉并熟练地使用这些基本的曲线工具是设计工作中的重要一步。
通过这些工具,可以按照设计要求绘制出各种形状的曲线。
2. 使用控制点编辑曲线在CAD软件中,曲线通常由一定数量的控制点定义。
通过移动这些控制点,可以修改曲线的形状。
在编辑曲线时,可以选择控制点并拖动它们,或者使用其他编辑命令来修改曲线。
3. 利用曲线平滑工具在CAD软件中,曲线平滑工具可以将不规则的曲线变得更加光滑。
通过选定曲线,然后应用曲线平滑工具,可以调整曲线上的点以使其更加光滑。
这对于设计造型要求高的曲线非常有用。
4. 使用曲线修剪和延长工具当需要修改曲线的长度或形状时,可以使用CAD软件中的曲线修剪和延长工具。
通过这些工具,可以修剪掉曲线的一部分,或者延长曲线使其更长。
这些工具使得曲线的修改和调整更加方便和高效。
5. 使用辅助线和约束工具在CAD软件中,可以使用辅助线和约束工具来帮助设计和编辑曲线。
辅助线可以作为参考线用于绘制曲线,而约束工具可以将曲线与其他几何元素保持对齐、垂直或平行关系。
通过使用这些工具,可以更精确地进行曲线设计和编辑。
6. 使用曲线连接和平滑工具当需要将多个曲线连接在一起时,可以使用CAD软件中的曲线连接工具。
通过选择要连接的曲线,然后应用连接工具,可以将它们自动连接起来。
另外,CAD软件还提供了曲线平滑工具,可以通过简化曲线的形状,使其过渡更加自然和平滑。
7. 使用曲线偏移工具在CAD软件中,有时需要在曲线周围创建一个平行的曲线。
这时可以使用曲线偏移工具。
通过选择要偏移的曲线,然后指定偏移距离,软件会自动生成平行于原曲线的新曲线。
控件功能说明一.实时曲线、历史曲线(REALTIMECURVE、CURVE)1...
控件功能说明一.实时曲线、历史曲线(RealTimeCurve、Curve)1.获取信息GetText(“控件名称”);得到一个字符串,用”,”分割,5个为一组变量名称1; 断电颜色1;报警颜色1;曲线颜色1;样式1;曲线宽度1; 变量名称2; 断电颜色2;报警颜色2;曲线颜色2;样式2;曲线宽度2;…………..2.设置游标位置SetText(“X坐标,Y坐标”);3.删除AddData(“控件名称”,”删除”,{“变量名”}) //删除单个AddData(“控件名称”,”删除”,{“清空”})//清空4.添加AddData(“控件名称”,”添加”,{”变量名称”,”断电颜色”,”报警颜色”,”曲线颜色”,”样式”,”曲线宽度”});5.设置门限及最大值最小值AddData(“控件名称”,”纵轴参数”,{”断电值”,”复电值”,”报警值”,”最大值”,”最小值”,”Y轴刻度数”})二.实时状态、历史状态(RealTimeStateDiagram、StateDiagram)1.获取信息GetText(“控件名称”);得到一个字符串,用”,”分割,3个为一组变量名称1;曲线颜色1;样式1;曲线宽度1; 变量名称2;曲线颜色2;样式2;曲线宽度2;………….. 2.设置游标位置SetText(“X坐标,Y坐标”);3.删除AddData(“控件名称”,”删除”,{“变量名”}) //删除单个AddData(“控件名称”,”删除”,{“清空”})//清空4.添加AddData(“控件名称”,”添加”,{”变量名称”,”曲线颜色”,”样式”,”曲线宽度”});三.柱状图(SensorStateDiagram)1.获取信息GetText(“控件名称”);//得到一个字符串,用”,”分割,2个为一组(变量名,颜色)2.删除AddData(“控件名称”,”删除”,{“变量名”}) //删除单个AddData(“控件名称”,”删除”,{“清空”})//清空3.添加AddData(“控件名称”,”添加”,{”变量名称”,”柱状颜色”});四列表控件(GridView)1.获取信息GetText(““控件名称”);//得到一个字符串,用” ,”分割,第一个为GridView行号2.列名AddData(“控件名称”,”列名”,{“列名1”,”列名2”});//方法一AddTable(“控件名称”,{“列名1”,”列名2”},{空});//方法二3.删除AddData(“控件名称”,”删除”,{行下标});4.添加AddData(“控件名称”,”添加”,{“列名1”,”列名2”});AddTable(“控件名称”,”添加”,{“变量名”});5.绑定AddData(“控件名称”,”绑定”,{“变量名”});AddTable(“控件名称”,”绑定”,{“变量名”});6.清空Clear(“控件名称”);所有颜色均采用#FFFFFF(#后加6个十六进制数)格式表示。
CAD曲线编辑器的使用技巧指南
CAD曲线编辑器的使用技巧指南CAD(Computer-Aided Design)软件是当前设计领域广泛使用的工具之一。
在CAD软件中,曲线编辑器是一项重要的功能,它能够帮助用户创建复杂的曲线形状和路径。
本文将为大家介绍CAD曲线编辑器的使用技巧,以帮助初学者更好地掌握这一功能。
1. 启动曲线编辑器:在CAD软件中,选择相应的绘图工具或命令来启动曲线编辑器。
常用的曲线编辑器包括贝塞尔曲线编辑器、样条曲线编辑器等。
根据实际需求选择适合的编辑器。
2. 创建曲线:曲线编辑器通常通过在绘图窗口中点击鼠标来创建曲线的控制点。
根据所选的编辑器,鼠标点击可以直接创建控制点,也可以创建曲线路径点。
3. 调整控制点:在曲线编辑器中,用户可以通过拖动控制点来调整曲线的形状。
选择相应的控制点,按住鼠标左键并拖动即可实现曲线的形状调整。
调节控制点的位置和曲线的曲率来实现所需的效果。
4. 添加和删除控制点:在曲线编辑器中,用户可以根据需要添加或删除控制点。
通过选择曲线上的某一点,然后使用相应的命令或工具来添加或删除控制点。
注意,在删除控制点时需要谨慎操作,以免影响曲线的完整性。
5. 平滑曲线:在CAD曲线编辑器中,用户可以通过添加更多的控制点来实现曲线的平滑效果。
通过增加控制点的数量,曲线的形状将更加接近用户所期望的效果。
此外,使用平滑工具或命令也能使曲线更加光滑。
6. 修改曲线:在CAD曲线编辑器中,用户可以随时修改已创建的曲线。
选择需要修改的曲线或控制点,然后通过拖动、添加或删除等操作来实现所需的效果。
灵活运用这些操作可以极大地提高设计效率。
7. 变换曲线形状:CAD曲线编辑器中的变换工具可以帮助用户改变曲线的形状。
变换工具通常包括缩放、旋转和反转等操作。
选择要变换的曲线或控制点,然后使用相应的变换工具来实现曲线形状的变化。
8. 曲线类型选择:在CAD曲线编辑器中,用户可以选择不同的曲线类型来满足不同的设计需求。
曲线类型通常包括线段、圆弧、椭圆等。
曲线设计实例教学
曲线设计实例教学引言曲线设计是艺术和设计领域中常见的技巧之一。
通过巧妙地运用曲线,我们可以创造出独特的视觉效果,使作品更加动感和生动。
本文将介绍一些曲线设计的实例,并给出相应的教学步骤,帮助读者掌握曲线设计技巧。
第一部分:基础知识在开始实例教学之前,我们先来了解一些关于曲线设计的基础知识。
曲线设计通常涉及到贝塞尔曲线、曲线编辑器等概念。
贝塞尔曲线是一种数学曲线,用于描述平滑的曲线轨迹。
曲线编辑器是用于调整和编辑曲线的工具。
掌握这些基础知识对于进行曲线设计非常重要。
第二部分:实例教学1. 绘制曲线图标我们将以绘制曲线图标为例,讲解曲线设计的实例教学。
首先,我们选择一个适合的图标主题,例如心形或星星。
然后,使用曲线编辑器绘制曲线轮廓。
在绘制过程中,我们可以通过添加或删除点来调整曲线的形状。
完成曲线轮廓后,我们可以选择适当的颜色和效果进行填充,使图标更加生动和吸引人。
2. 制作曲线文字效果曲线文字效果是一种常见的设计技巧,可以使文字更加艺术和独特。
我们可以选择一个合适的字体,然后使用曲线编辑器将文字转化为曲线轮廓。
接着,通过调整曲线轮廓的形状和方向,使文字呈现出曲线的效果。
最后,我们可以选择适当的颜色和背景进行修饰,使文字和背景相互融合,创造出独特的视觉效果。
3. 绘制曲线插画曲线插画是一种复杂而精美的艺术形式。
要创建曲线插画,我们首先需要选择一个主题或场景,例如花朵、动物或风景。
然后,使用曲线编辑器绘制插画的轮廓。
在绘制过程中,我们需要注意曲线的流动和旋转,以及细节的处理。
完成插画轮廓后,我们可以进行着色和阴影的调整,使插画更加生动和立体。
第三部分:注意事项在进行曲线设计时,有一些注意事项需要我们注意:1. 尽量保持曲线的流动和连贯性,避免出现生硬和不自然的边缘。
2. 对于复杂的曲线设计,可以使用分层和分组的技巧,方便编辑和调整各个部分。
3. 尝试不同的颜色组合和渐变效果,以增加作品的视觉冲击力和艺术感。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1006-1576(2006)02-0091-02通用曲线控件的设计付兴旺1,刘旺开2,沈为群1(1. 北京航空航天大学自动化科学与电气工程学院,北京 100083;2. 北京航空航天大学航空科学与工程学院,北京 100083)摘要:采用ActiveX技术开发的通用曲线监控控件,通过曲线信息加入、数据接收、停止绘制后控件自处理等步骤实现多个接口函数,再以设置曲线采样周期定义控件属性。
该控件首先通过Windows程序实现实际坐标与屏幕坐标的转换,再定义坐标,最后采用CDC类的成员函数绘制其曲线。
关键词:ActiveX控件;接口;实时绘制中图分类号:TP311.11 文献标识码:ADesign of Common Curve ControlFU Xing-wang1,LIU Wang-kai2,SHEN Wei-qun1(1. School of Automation Science & Electrical Engineering, Beihang University, Beijing 100083, China;2. School of Aeronautics Science and Engineering, Beihang University, Beijing 100083, China)Abstract: The ActiveX technology was adopted to develop the common curve control. The multi-interface functions could be realized through adding curve information, receiving data and automatic management after stopping drawing. The curve sample period was set to define the control attributes. At first, the real coordinates was transformed to screen coordinates by curve control; then, the coordinates were defined; at last all curves were drawn by using member functions of CDC.Keywords: ActiveX Control; Interface; Real time drawing1 引言在监控系统中,对监控变量的监测以曲线监控的方式最为直观有效。
因此,开发通用的、功能强大的曲线控件不仅有助于监控系统的开发,而且对增强监控系统的功能有极其重要的意义。
2 ActiveX控件技术ActiveX控件是某接口的COM对象。
它通过IDispatch公开自己的方法和属性,且多数ActiveX 控件具有在位激活功能。
ActiveX控件可在MFC对话框、Visual Basic窗体及Web网页上工作。
VC++有两种创建ActiveX控件方法:ATL和MFC。
由于曲线监控控件功能强大,很多功能需要MFC控件支持,加上MFC ActiveX Control Wizard 为开发人员提供接口,所以采用MFC开发控件。
3 曲线控件的接口设计(1) 接口1:曲线信息的加入设计曲线信息结构体CURVE_INFO,包含曲线的名称、索引、颜色、线型、线宽等。
曲线信息存放在CArray<CURVE_INFO,CURVE_INFO>m_Cur Array的数组里。
接口函数设计如下:AddCurve(LPCTSTR CurName, short CurIndx){ CURVE_INFO info;Info.CurName = CurName; //名称Info.VarIndex = CurIndx; //索引……此外定义曲线的颜色、线型、线宽m_CurArray.Add(info);}(2) 接口2:数据的接收数据存储区设计为二维数组,记为:CArray<float*,float*> m_ValueArray。
接口函数设计为:void AddData(float FAR* Value){ m_Counter++;m_ValueArray.Add(Value); }……启动曲线实时绘制m_Counter为数据记录计数器。
存储区如图1。
每行数据表示各参数在某时刻的数值,每列数据表示某参数各时刻的数据集合。
Valus[1]Value[2]Value[3]Value[counter]图1 数据存储区设定数据采样周期为period,则读取n*period 时刻第i个参数的数值表示为:m_ValueArray[ n ][ i ]。
(3) 接口3:停止绘制后控件自处理函数收稿日期:2005-08-31;修回日期:2005-09-30作者简介:付兴旺(1979-),男,湖北人,北京航空航天大学在读硕士,从事计算机测量与控制研究。
·91·Reset( ){ m_ValueArray.RemoveAll( );m_Counter = -1;……滚动条复位,刷新曲线窗口}(4) 属性:int period-设置曲线采样周期。
4 曲线的绘制4.1 windows程序中实际坐标与屏幕坐标的转换窗口区域屏幕左上角坐标为(0,0),右下角为(w,h)。
实际数值窗口左下角为(Vx0,Vy0),右上角为(Vx1,Vy1)。
如图2。
屏幕坐标(w, h)屏幕坐标(Vx0, Vy0)数值坐标图2 坐标转换图将实际数值坐标(Vx,Vy)转换为屏幕坐标(x,y)的转换公式如下:x=[(v x-v x0)/(v x1-v x0)]×wy=[(v y1-v y)/(v y1-v y0)]×h曲线绘制采用CDC类的成员函数:Polyline (LPPOINT lpPoints, int nCount);提供屏幕坐标和点数,即可绘制曲线。
4.2 曲线的实时绘制与历史浏览曲线窗口所绘制的时间区域由一个滚动条来定位。
设滚动条的滚动范围为(0,maxPos),滚动条的当前位置为pos,maxPos和pos初始值为零。
设曲线窗口横轴代表时间,长度为xLength,每个网格宽度为xGrid,纵轴最小值为yMin,最大值为yMax,网格宽度为yGrid。
随着数据不断加入,曲线窗口绘制的曲线不断增长,当运行时间超过曲线窗口横轴表示最大时间时,maxPos加1,曲线窗口向右滚屏xGrid时长,横轴表示时间整体向右增加xGrid。
表达式如下:If(m_Counter*period > maxPos*xGrid + xLength){ maxPos++;}……刷新屏幕,重绘曲线根据上面设置,曲线窗口左侧时间为pos* xGrid,右侧时间为pos* xGrid + xLength。
根据前面坐标转换原理设置坐标转换函数如下:CPoint GetPoint(float x, float y){ CPoint pt;pt.x = (x - pos* xGrid)*w / xLength;pt.y = (yMax – y)*h / (yMax - yMin);return pt; }设加入控件的第n条曲线,绘制方法如下:n1 = pos* xGrid / period; // 确定起始点n2 = min( (pos* xGrid + xLength) / period, m_Counter);//确定终止点POINT* point = new POINT[n2 – n1 + 1];for(int i = n1;i<=n2;i++){ CURVE_INFO info = m_CurArray[n];……根据结构体信息设置曲线的风格point[i – n1] = GetPoint(i * period ,m_ValueArray[i][info. VarIndex]); }pDC->Polyline(pt, n2 - n1 + 1);滚动条会不断修改pos的滚动值,从而可获取曲线运行的任何时段,完成曲线历史浏览。
4.3 频繁刷新屏幕闪烁问题的解决Windows程序屏幕刷新是调用Invalidae函数,触发WM_ERASEBKGND消息对窗口失效区的填充及触发WM_PAINT消息对图形绘制。
控件采用双缓冲技术,将GDI绘图绘制到内存dc中,完成后将位图复制到显示设备上,避免屏幕闪烁问题。
5 控件的使用及结论控件效果图如图3,设置对话框如图4。
图3 控件效果图图4 曲线设置对话框可见,采用ActiveX控件技术开发的通用曲线监控控件,为监控系统提供强有力的支持,方便了系统的开发和试验人员的使用。
参考文献:[1] 北京博彦科技发展有限公司. MFC Windows 程序设计(第二版)[M]. 北京: 清华大学出版社, 2001.[2] Rogerson D. COM技术内幕—微软组件对象模型[M].杨秀章译. 北京: 清华大学出版社, 1999.[3] 潘爱民. COM原理与应用[M]. 杨秀章译. 北京: 清华大学出版社, 1999.·92·。