CN117369794A - 一种基于模型开发编程工具的连线方法 - Google Patents
一种基于模型开发编程工具的连线方法 Download PDFInfo
- Publication number
- CN117369794A CN117369794A CN202311577789.2A CN202311577789A CN117369794A CN 117369794 A CN117369794 A CN 117369794A CN 202311577789 A CN202311577789 A CN 202311577789A CN 117369794 A CN117369794 A CN 117369794A
- Authority
- CN
- China
- Prior art keywords
- base point
- target
- target pin
- pin
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000011161 development Methods 0.000 title claims abstract description 12
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 41
- 230000008859 change Effects 0.000 claims description 29
- 230000003993 interaction Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 7
- 230000001976 improved effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100321992 Drosophila melanogaster ABCD gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- UQDJGEHQDNVPGU-UHFFFAOYSA-N serine phosphoethanolamine Chemical compound [NH3+]CCOP([O-])(=O)OCC([NH3+])C([O-])=O UQDJGEHQDNVPGU-UHFFFAOYSA-N 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Abstract
本发明公开了一种基于模型开发编程工具的连线方法,涉及核电厂仪控软件领域,以起始位置以及结束位置为基础,确定连线类型,最后基于连线类型调度预先部署的连线算法进行连线,能够实现不同图符布局下的智能连线,支持线条位置编辑等功能,使得算法图符间的连线尽可能合理清晰,有效提升工具可用性。
Description
技术领域
本发明涉及核电厂仪控软件领域,具体涉及一种基于模型开发编程工具的连线方法。
背景技术
核电厂仪控工程应用软件的开发普遍图形化设计方法,模型经过代码生成工具编译可获得通用编程语言的程序如C等。因此需要一个工具使得用户与模型的图形化表示进行交互,进而实现图形化的建模方式。目前流行的编程方法是基于文本的,主要是应用某种公认编程语言对系统进行建模,近年来人们开始意识到对软件开发方式进行可视化表示可很大程度上提高软件开发效率。在许多情况下,图形化表示更为清晰,直观,更接近于实际需求,通过图形化表示可直观的观察到他们之间的关联、数据流等信息。而通过文本无法达到这种直观的理解。可视化表示法也成为软件开发方法学的发展趋势,如UML。可视化系统的好处是可以把枯燥的编程语言语法映射为图形化对象之间的关系,使得一般技术人员在不理解语言语法的情况下仍可理解系统。从一定程度上降低了编程设计的门槛。
本发明只关心图形建模软件开发相关的内容,不包括图形与文本的转换规则。对于图形化建模软件的开发,目前有很多可用的编程框架可使用,如QT、Eclipse等。即使采用了通用的编程框架,我们仍需自己解决软件的可用性问题,如何实现一个简洁、易用、功能强大的建模软件仍需开发人员投入很多精力和创意。本发明针对在图形化建模过程中的连线方面的需求,提出了一种易用可行的连线方法。
发明内容
本发明的目的在于提供一种基于模型开发编程工具的连线方法,解决了上述现有技术中存在的技术问题。
本发明通过下述技术方案实现:
一种基于模型开发编程工具的连线方法,包括:
以模型开发编程工具为基础,获取第一目标连线图符的第一目标引脚位置以及第二目标连线图符的第二目标引脚位置;所述第一目标引脚位置表示起始位置,所述第二目标引脚位置表示结束位置;
以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型;其中连线类型包括:L型、反L型、S型以及反S型;
根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,完成连线流程。
在一种可能的实施方式中,以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,包括:
提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2;
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,调度第一连线算法将第一目标引脚与第二目标引脚连接;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,调度第二连线算法将第一目标引脚与第二目标引脚连接。
在一种可能的实施方式中,第一连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第三基点P3的位置为((x1+x2)/2,y1),确定第四基点P4的位置为((x1+x2)/2,y2);
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,第二连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第二基点P2的位置为(x1+m,y1),确定第三基点P3的位置为(x1+m,(y1+y2)/2),确定第四基点P4的位置为(x2-m,(y1+y2)/2),确定第五基点P5的位置为(x2-m,y1);其中m表示预设的位置偏移;
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互产生的第一目标引脚位置和/或第二目标引脚位置的第一调整指令,并根据该第一调整指令调整第一目标引脚位置和/或第二目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化和/或第六基点P6跟随第二目标引脚位置变化,其余基点的位置跟随第一基点P1变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互输入的第二调整指令,使第三基点P3和/或第四基点P4的横坐标根据第二调整指令变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互产生的第一目标引脚位置的第三调整指令,并根据该第三调整指令调整第一目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化,其余基点的位置跟随第一基点P1变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第四调整指令,使第二基点P2和/或第五基点P5的横坐标根据第四调整指令变化,第三基点P3以及第四基点P4跟随变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第五调整指令,使第三基点P3和/或第四基点P4根据第五调整指令变化,第二基点P2以及第五基点P5跟随变化。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
实时检测第一目标引脚位置和/或第二目标引脚位置是否发生变化,若是,则提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2,否则继续监测;
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
在一种可能的实施方式中,第一连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第三基点P3的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y1),确定第四基点P4的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y2);
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,第二连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第二基点P2的位置为(x1+m(1+f*i),y1),确定第三基点P3的位置为(x1+m(1+f*i),(y1+y2)/2),确定第四基点P4的位置为(x2-m(1+f*i),(y1+y2)/2),确定第五基点P5的位置为(x2-m(1+f*i),y1);其中m表示预设的位置偏移,f表示缩进系数;
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,还包括:
向工作人员提供自由折线模式,且在自由折线模式下,接受用户通过人机输入的多个连续控制点;
针对任一两个相邻的控制点,采用A模式、B模式、C模式或者D模式进行连线;
A模式为水平直角连线,B模式为垂直直角连线,C模式为水平连线,D模式为垂直连线。
本发明提供的一种基于模型开发编程工具的连线方法,以起始位置以及结束位置为基础,确定连线类型,最后基于连线类型调度预先部署的连线算法进行连线,能够实现不同图符布局下的智能连线,支持线条位置编辑等功能,使得算法图符间的连线尽可能合理清晰,有效提升工具可用性。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明实施例提供的一种基于模型开发编程工具的连线方法的流程图。
图2为本发明实施例提供的连线类型的示意图。
图3(a)为本发明实施例提供的第一连线算法的示意图,图3(b)为本发明实施例提供的第二连线算法的示意图。
图4为本发明实施例提供的L型连接线位置变换示意图。
图5为本发明实施例提供的S型连接线位置变换示意图。
图6为本发明实施例提供的连线算法改进效果图。
图7为本发明实施例提供的S型连接线衍生连线样式图。
图8为本发明实施例提供的自由折线连线模式的示意图。
图9为本发明实施例提供的自由折线连线示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
如图1所示,一种基于模型开发编程工具的连线方法,包括:
S1、以模型开发编程工具为基础,获取第一目标连线图符的第一目标引脚位置以及第二目标连线图符的第二目标引脚位置。所述第一目标引脚位置表示起始位置,所述第二目标引脚位置表示结束位置。
S2、以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型。
如图2所示,其中连线类型包括:L型、反L型、S型以及反S型。
S3、根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,完成连线流程。
本发明提供的一种基于模型开发编程工具的连线方法,以起始位置以及结束位置为基础,确定连线类型,最后基于连线类型调度预先部署的连线算法进行连线,能够实现不同图符布局下的智能连线,支持线条位置编辑等功能,使得算法图符间的连线尽可能合理清晰,有效提升工具可用性。
在一种可能的实施方式中,以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,包括:
提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2。
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,调度第一连线算法将第一目标引脚与第二目标引脚连接。
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,调度第二连线算法将第一目标引脚与第二目标引脚连接。
如图3(a)所示,第一连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6。
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2)。
确定第三基点P3的位置为((x1+x2)/2,y1),确定第四基点P4的位置为((x1+x2)/2,y2)。
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
如图3(b)所示,第二连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6。
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2)。
确定第二基点P2的位置为(x1+m,y1),确定第三基点P3的位置为(x1+m,(y1+y2)/2),确定第四基点P4的位置为(x2-m,(y1+y2)/2),确定第五基点P5的位置为(x2-m,y1)。其中m表示预设的位置偏移。
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互产生的第一目标引脚位置和/或第二目标引脚位置的第一调整指令,并根据该第一调整指令调整第一目标引脚位置和/或第二目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化和/或第六基点P6跟随第二目标引脚位置变化,其余基点的位置跟随第一基点P1变化。
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互输入的第二调整指令,使第三基点P3和/或第四基点P4的横坐标根据第二调整指令变化。
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互产生的第一目标引脚位置的第三调整指令,并根据该第三调整指令调整第一目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化,其余基点的位置跟随第一基点P1变化。
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第四调整指令,使第二基点P2和/或第五基点P5的横坐标根据第四调整指令变化,第三基点P3以及第四基点P4跟随变化。
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第五调整指令,使第三基点P3和/或第四基点P4根据第五调整指令变化,第二基点P2以及第五基点P5跟随变化。
例如:支持引脚位置变动和控制点变动以实现灵活布线和人为调整,其变动规则如下对于L型,移动情况包括:a、c)起始引脚移动,则P1跟随起始引脚移动,P3纵坐标跟随变化,横坐标不变,其余点不动。b、d)点击线条选中线,鼠标移动到P3、P4附近时,P3、P4点可随鼠标沿X轴移动,P3、P4横坐标同步随鼠标位置变化。其余点不动。结束引脚的移动情况与起始引脚的移动类似,不赘述。对于S型连线,移动情况包括:a)起始引脚位置移动,P1跟随变换,P2纵坐标跟随移动,横坐标不变。b)同L型,P2和P5可在鼠标选中时进行横向移动,P3和P4被动跟随。c)P3和P4可在鼠标选中时随鼠标进行任意位置的移动,P2和P5横坐标被动跟随。连线变换如图4以及图5所示。
在一种可能的实施方式中,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
实时检测第一目标引脚位置和/或第二目标引脚位置是否发生变化,若是,则提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2,否则继续监测。
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
例如:当引脚相对位置发生变化会检查连线模式,会自动跳转线型进行重新布局,转换的逻辑为,如果移动前为L型连线,当移动引脚使得引脚位置发生变化,使得x1>=x2时,则触发线性切换,重新连线生成S型。如果移动前为S型,当发生位置变化,线型不会发生变化,原因在于S型较L型复杂,可塑性较高,可通过手动对S型线进行调整实现L型连接。反之则不能。
由于连线的算法采用的是同一套算法,当对同一图符的平行引脚进行连线时导致线条重回难以区分,因此针对该问题提出一个新的连线计算方法,这里需要引入图符输入引脚和输出引脚的数量n和当前连线的引脚索引i。根据引脚索引将线条进行一定的缩进,以分离重合的线条,具体如图6所示。
在一种可能的实施方式中,第一连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6。
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2)。
确定第三基点P3的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y1),确定第四基点P4的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y2)。
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
对于S型连线,可通过移动控制点实现如图7所示的衍生连线样式,用于规避S型连线路径中的障碍项。
在一种可能的实施方式中,第二连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6。
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2)。
确定第二基点P2的位置为(x1+m(1+f*i),y1),确定第三基点P3的位置为(x1+m(1+f*i),(y1+y2)/2),确定第四基点P4的位置为(x2-m(1+f*i),(y1+y2)/2),确定第五基点P5的位置为(x2-m(1+f*i),y1)。其中m表示预设的位置偏移,f表示缩进系数。
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
在一种可能的实施方式中,还包括:
向工作人员提供自由折线模式,且在自由折线模式下,接受用户通过人机输入的多个连续控制点。
针对任一两个相邻的控制点,采用A模式、B模式、C模式或者D模式进行连线。
A模式为水平直角连线,B模式为垂直直角连线,C模式为水平连线,D模式为垂直连线。
还可以支持自定义自由折线,该折线有一个控制点列表组成,鼠标单击起始引脚,进入连线模式,此时移动鼠标每单击一次则生成一个或两个控制点,直到点击结束引脚时结束。通过连接所有控制点实现自由折线的绘制。绘制方法如下:自由折线的绘制模式包括图8的4种模式,分别是A水平直角,B垂直直角,C水平线,D垂直线。A模式的控制点计算方法为:P2’=(x2,y1),P1和P2为鼠标点击位置。B模式的控制点计算方法为:P2’=(x1,y2),P1和P2为鼠标点击位置。C模式和D模式的控制点计算方法为:P1和P2为鼠标点击位置。在绘制过程中绘制的模式会根据鼠标两次点击的位置在ABCD之间进行切换,以实现更为合理的折线。
切换逻辑为:起始引脚处使用A模式(即初始化为A模式),当鼠标第一次点击的位置与初始引脚位于同一水平位置时,当前使用C模式绘图。如果当鼠标第一次点击的位置与初始引脚位于同一垂直位置时,当前使用D模式绘图。否则,使用A模式绘图。在继续连线的过程中,如果同一水平用C,同一垂直用D。其他情况下,如果上次使用的是C则下次使用B,如果上次使用D则下次使用A,否则延续上一次模式。绘图模式转换实例如图9。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者所述的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,所述的存储介质可以是ROM/RAM、磁碟、光盘等等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于模型开发编程工具的连线方法,其特征在于,包括:
以模型开发编程工具为基础,获取第一目标连线图符的第一目标引脚位置以及第二目标连线图符的第二目标引脚位置;所述第一目标引脚位置表示起始位置,所述第二目标引脚位置表示结束位置;
以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型;其中连线类型包括:L型、反L型、S型以及反S型;
根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,完成连线流程。
2.根据权利要求1所述的基于模型开发编程工具的连线方法,其特征在于,以所述第一目标引脚位置以及第二目标引脚位置为基础,确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,包括:
提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2;
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
3.根据权利要求2所述的基于模型开发编程工具的连线方法,其特征在于,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接,包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,调度第一连线算法将第一目标引脚与第二目标引脚连接;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,调度第二连线算法将第一目标引脚与第二目标引脚连接。
4.根据权利要求3所述的基于模型开发编程工具的连线方法,其特征在于,第一连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第三基点P3的位置为((x1+x2)/2,y1),确定第四基点P4的位置为((x1+x2)/2,y2);
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
5.根据权利要求3所述的基于模型开发编程工具的连线方法,其特征在于,第二连线算法,包括:
确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第二基点P2的位置为(x1+m,y1),确定第三基点P3的位置为(x1+m,(y1+y2)/2),确定第四基点P4的位置为(x2-m,(y1+y2)/2),确定第五基点P5的位置为(x2-m,y1);其中m表示预设的位置偏移;
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
6.根据权利要求5所述的基于模型开发编程工具的连线方法,其特征在于,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互产生的第一目标引脚位置和/或第二目标引脚位置的第一调整指令,并根据该第一调整指令调整第一目标引脚位置和/或第二目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化和/或第六基点P6跟随第二目标引脚位置变化,其余基点的位置跟随第一基点P1变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型时,接受人机交互输入的第二调整指令,使第三基点P3和/或第四基点P4的横坐标根据第二调整指令变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互产生的第一目标引脚位置的第三调整指令,并根据该第三调整指令调整第一目标引脚位置,同时使第一基点P1跟随第一目标引脚位置变化,其余基点的位置跟随第一基点P1变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第四调整指令,使第二基点P2和/或第五基点P5的横坐标根据第四调整指令变化,第三基点P3以及第四基点P4跟随变化;
当第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型时,接受人机交互输入的第五调整指令,使第三基点P3和/或第四基点P4根据第五调整指令变化,第二基点P2以及第五基点P5跟随变化。
7.根据权利要求2所述的基于模型开发编程工具的连线方法,其特征在于,根据第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型,调度预先部署的连线算法将第一目标引脚与第二目标引脚连接之后,还包括:
实时检测第一目标引脚位置和/或第二目标引脚位置是否发生变化,若是,则提取第一目标引脚位置中的X轴坐标为x1,提取第二目标引脚位置中的X轴坐标为x2,否则继续监测;
判断第一目标引脚位置中的X轴坐标x1是否大于或等于第二目标引脚位置中的X轴坐标x2,若是,则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为S型或反S型,否则确定第一目标连线图符的第一目标引脚与第二目标连线图符的第二目标引脚之间的连线类型为L型或反L型。
8.根据权利要求3所述的基于模型开发编程工具的连线方法,其特征在于,第一连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1以及第二基点P2的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第五基点P5以及第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第三基点P3的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y1),确定第四基点P4的位置为((x1+x2)*(0.3+(0.4*i)/(n+1)),y2);
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
9.根据权利要求3所述的基于模型开发编程工具的连线方法,其特征在于,第二连线算法,包括:
获取第一目标连线图符的引脚总数n以及第一目标引脚的引脚索引i,确定六个基点分别为第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6;
确定第一基点P1的位置为第一目标连线图符的第一目标引脚位置(x1,y1),确定第六基点P6的位置为第二目标连线图符的第二目标引脚位置(x2,y2);
确定第二基点P2的位置为(x1+m(1+f*i),y1),确定第三基点P3的位置为(x1+m(1+f*i),(y1+y2)/2),确定第四基点P4的位置为(x2-m(1+f*i),(y1+y2)/2),确定第五基点P5的位置为(x2-m(1+f*i),y1);其中m表示预设的位置偏移,f表示缩进系数;
将第一基点P1、第二基点P2、第三基点P3、第四基点P4、第五基点P5以及第六基点P6顺次连接,完成连线。
10.根据权利要求1所述的基于模型开发编程工具的连线方法,其特征在于,还包括:
向工作人员提供自由折线模式,且在自由折线模式下,接受用户通过人机输入的多个连续控制点;
针对任一两个相邻的控制点,采用A模式、B模式、C模式或者D模式进行连线;
A模式为水平直角连线,B模式为垂直直角连线,C模式为水平连线,D模式为垂直连线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311577789.2A CN117369794A (zh) | 2023-11-23 | 2023-11-23 | 一种基于模型开发编程工具的连线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311577789.2A CN117369794A (zh) | 2023-11-23 | 2023-11-23 | 一种基于模型开发编程工具的连线方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117369794A true CN117369794A (zh) | 2024-01-09 |
Family
ID=89389417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311577789.2A Pending CN117369794A (zh) | 2023-11-23 | 2023-11-23 | 一种基于模型开发编程工具的连线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369794A (zh) |
-
2023
- 2023-11-23 CN CN202311577789.2A patent/CN117369794A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8004539B2 (en) | Systems and methods for improved graphical parameter definition | |
Kang et al. | Instant 3D design concept generation and visualization by real-time hand gesture recognition | |
CN110434856B (zh) | 一种焊接控制方法、装置、存储介质及焊接机器人 | |
JPH0355848B2 (zh) | ||
CN106843141B (zh) | 数值控制装置 | |
CN112698823A (zh) | 一种图形化的机器人编程交互系统及方法 | |
US8334869B1 (en) | Method and apparatus for modeling 3-D shapes from a user drawn curve | |
JP5777842B2 (ja) | プログラミングツール | |
CN111694501A (zh) | 用于流程模拟器中的流连接的触摸手势 | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
CN105034000B (zh) | 一种基于cad导入的工业机器人图形化控制系统 | |
CN117369794A (zh) | 一种基于模型开发编程工具的连线方法 | |
Cordeiro et al. | A survey of immersive systems for shape manipulation | |
JPH01200413A (ja) | 相似形状のパートプログラム作成方法 | |
Read et al. | A UNITY sketch based modelling environment for virtual assembly and machining to evaluate DFMA metrics | |
JPH01316804A (ja) | 輪郭形状定義方法 | |
CN114131599B (zh) | 一种机器人编程控制方法、装置、存储介质及示教器 | |
JP2000039909A (ja) | 数値制御情報作成装置 | |
WO2013109246A1 (en) | Gestures and tools for creating and editing solid models | |
JPS61267179A (ja) | カ−ソル・ウインドウ表示方式 | |
US11537218B2 (en) | System and method for processing commands in a computer-graphics software environment | |
JP7436797B2 (ja) | ロボットのプログラム作成支援装置 | |
CN103543690B (zh) | 一种图形交互式数控加工方法及装置 | |
JP4774911B2 (ja) | 作図処理プログラム、作図処理プログラムを記録した記録媒体、作図処理方法及び作図処理システム | |
KR20050008886A (ko) | 오토캐드 파일에 대한 피 디 엠 에스로의 전환 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |