前页 | 后页 |
绘图方法
使用形状脚本创建形状时,可以使用方法定义形状的值。这些值包括以下内容:
- 形状是什么 - 一个矩形,一条线,一个球体
- 形状的大小
- 形状和边框的颜色
- 形状具有的隔间和隔间文本
- 显示在形状中和形状周围的文本和标签
- 形状是否包含或包含捕获的图像
方法语法
<方法名> "(" <参数列表> ")";";
示例
主要形状
{
// 初始化属性 - 这些必须在绘制命令之前
noshadow = "真";
h_align = "中心";
//绘图命令(方法)
矩形(0,0,100,100);
println ("foo bar");
}
方法
方法名称 |
描述 |
也见 |
---|---|---|
addsubshape( string shapename( int宽度, int高度)) |
添加一个必须在当前形状定义中定义的名为“shapename”的子形状。 |
|
附加隔间文本( string ) |
将额外的字符串附加到隔间的文本中。 添加文本的隔间取决于在使用“appendcompartmenttext”之前使用“setcompartmentname”设置的隔间名称。 必须调用此方法才能显示隔间。 |
将自定义隔间添加到元素 |
弧( int左, int顶部, int右, int底部, int起点x, int起点, int终点x, int终点) |
绘制一个椭圆逆时针圆弧,椭圆的范围在左、上、右和下。 圆弧的起点由椭圆与椭圆中心到该点的连线(startingpointx,startingpointy)的交点定义。 弧的终点类似地由椭圆与从椭圆中心到该点的线(endpointx,endpointy)的交点定义。 例如: 弧(0, 0, 100, 100, 95, 0, 5, 0);
|
|
arcto( int左, int顶部, int右, int底部, int起点 x, int起点, int终点 x, int终点) |
至于圆弧方法,只不过是从当前位置画一条线到圆弧的起点,然后将当前位置更新到圆弧的终点。 |
|
bezierto( int controlpoint1x, int controlpoint1y, int controlpoint2x, int controlpoint2y, int endpointx, int endpointy) |
绘制贝塞尔曲线并更新画笔位置。 |
|
defSize( int宽度, int高度) |
设置元素的默认大小。 这可能出现在 IF 和 ELSE 子句中,每个子句具有不同的值,并导致元素在每次值更改时自动调整大小。 if(HasTag("水平","true")) { defSize(100,20); 矩形(0,0,100,100); } else { defSize(20,100); 矩形(0,0,100,100); } 本示例在每次更改标签值'标记值'时将形状设置为指定的默认大小。 设置后,Alt+Z 还会将形状调整为定义的尺寸。 int width 和int height 的最小值都是 10。 |
|
绘制形状() |
以通常的非形状脚本表示法渲染形状;随后的绘图命令叠加在本机符号上。 仅元素形状脚本支持此方法;不支持线形状脚本。 |
|
绘制父图形() |
在扩展非 UML物件类型时使用。 呈现从父原型定义的形状。如果没有继承的形状脚本可用,则行为与形状脚本() 相同。 |
创建构造型扩展非 UML 对象 |
椭圆( int left, int top, int right, int底部) |
绘制一个椭圆,其范围由左、上、右和下定义。 |
|
结束路径() |
结束定义路径的绘图命令的序列。 |
|
填充行程路径() |
用当前的填充颜色填充之前定义的路径,然后用当前的笔绘制它的轮廓。 |
|
填充路径() |
用当前填充颜色填充先前定义的路径。 |
|
获取默认填充颜色() |
获取元素的默认填充颜色。这可以是所有元素的标准填充颜色,或者,如果在“首选项”对话框的“图表>外观”页面上选择了“元素使用组样式”选项,则为元素类型定义的默认填充颜色。 |
图表外观Options 标准颜色 |
获取默认线颜色() |
获取元素的默认线条颜色。这可以是所有元素的标准线条颜色,或者,如果在“首选项”对话框的“图表>外观”页面上选择了“元素使用组样式”选项,则为元素类型定义的默认线条颜色。 |
标准颜色 图表外观Options |
隐藏标签( string标签名称) |
隐藏由 labelname 指定的标签,其中 labelname 是以下值之一:
抑制标签的推荐方法是覆盖该形状。例如,抑制默认构造型标签: 形状中间底部标签 { 打印(””); } |
|
图像( string imageId, int左, int顶部, int右, int底部) |
在图像管理器中绘制名称为 imageId 的图像。 图像必须存在于使用原型的模型中;如果模型中不存在,则必须将其作为参考数据导入或从技术文件中选择。 如果图像在技术文件中,则它的文件名格式应为 <technology ID>::<imagename>.<extension>。 |
导入参考 添加图片 |
lineto( int x, int y) |
从当前光标位置到 x 和 y 指定的点绘制一条线,然后将笔光标更新到该位置。 (另见注记部分。) |
|
移动( int x, int y) |
将笔光标移动到 x 和 y 指定的点。 |
|
多边形( int centerx, int centery, int numberofsides, int radius,float rotation) |
绘制一个正多边形,中心在点 (centerx, centery),边数为 numberofsides。 |
|
打印( string文本) |
打印指定的文本string 。 您不能更改此文本的字体大小或类型。 |
|
printifdefined( string propertyname, string truepart(, string falsepart)) |
如果给定属性存在并且具有非空值,则打印“truepart”,否则打印可选的“falsepart”。 您不能更改此文本的字体大小或类型。 |
|
println( string文本) |
将一行文本附加到形状和换行符。 您不能更改此文本的字体大小或类型。 |
|
printwrapped( string文本) |
打印指定的文本string ,如果文本比其包含的形状宽,则将其包裹在多行中。 您不能更改此文本的字体大小或类型。 |
|
矩形( int左, int顶部, int右, int底部) |
绘制一个矩形,其范围为左、上、右、下。值是百分比。 |
|
圆形矩形( int左, int顶部, int右, int底部, int abs_cornerwidth, int abs_cornerheight) |
绘制一个圆角矩形,其范围由左、上、右和下定义。 角的大小由 abs_cornerwidth 和 abs_cornerheight 定义;这些值不随形状缩放。 |
|
设置附件模式() |
定义连接器如何连接到元素形状,在元素边上的任意点(参数“normal”)或在每个边的中心点(参数“diamond”),具体取决于“矩形表示法”选项的设置。请参阅示例脚本帮助主题。 |
示例脚本 |
设置隔间名称( string ) |
将隔间名称设置为提供的string 。 此方法必须在调用 appendcompartmenttext 之前使用;在调用 appendcompartmenttext 之后调用它会清除已添加到隔离专区的任何文本。 |
将自定义隔间添加到元素 |
设置默认颜色() |
将画笔和画笔颜色恢复为默认设置,或恢复为用户定义的颜色(如果可用)。 |
颜色查询 |
setfillcolor( int red, int green, int blue)或 |
设置填充颜色。 您可以通过定义 RGB 值或使用任何颜色查询返回的颜色值来指定所需的颜色,例如: GetUserFillColor() 或 获取用户边框颜色() 在所有情况下,setfillcolor 优先于适用于元素的任何颜色定义。 |
颜色查询 |
setfixedregion( int xStart, int yStart, int xEnd, int yEnd) |
修复连接器中可以绘制子形状的区域,以便子形状不会随着连接器线的长度或方向重新缩放。 有关示例,请参阅示例脚本主题中的“旋转方向”脚本。 |
示例脚本 |
setfontcolor( int red, int green, int blue)或 |
设置文本string的字体颜色。 您可以通过定义 RGB 值或使用任何颜色查询返回的颜色值来指定所需的颜色,例如: GetUserFontColor() 或 获取用户填充颜色() 您可以将此命令与任何文本打印命令一起使用。 |
颜色查询 |
setlinestyle( string线型) |
修改使用笔的命令的笔划模式。 string linestyle: 具有以下有效样式:
|
|
setorigin( string relativeTo, int xOffset, int yOffset) |
相对于主形状定位浮动文本标签。
|
|
setpen( int red, int green, int blue, int penwidth) 或 setpen(Color newcolor, int penwidth) |
将画笔设置为定义的颜色并设置画笔宽度。 此方法仅适用于画线命令。它不影响任何文本打印命令。 |
颜色查询 |
setpencolor( int red, int green, int blue) 或 setpencolor(Color newColor) |
设置画笔颜色。 您可以通过定义 RGB 值或使用任何颜色查询返回的颜色值来指定所需的颜色,例如: 获取用户填充颜色() 此方法仅适用于画线命令。它不影响任何文本打印命令。 |
颜色查询 |
setpenwidth( int penwidth) |
设置画笔的宽度。笔宽应在1到 5 之间。 此方法仅适用于画线命令。它不影响任何文本打印命令。 |
|
显示标签( string标签名称) |
显示由 labelname 指定的隐藏标签,其中 labelname 是以下值之一:
|
|
startcloudpath(puffWidth、puffHeight、噪声) |
与 startpath 类似,不同之处在于它使用云状曲线段(粉扑)绘制路径。 参数:
|
|
开始路径() |
启动定义路径的绘图命令的序列。 |
|
行程路径() |
用当前画笔绘制先前定义的路径的轮廓。 |
注记
- 如果为一条由多条线段组成的线绘制形状脚本,并为线段定义不同的线型,则除中心线段以外的所有线段都使用第一个定义的线型;中心线段使用定义的第二种线型,如图所示:
形状 主要的
{
// 此笔样式将被忽略,因为没有绘制任何内容。
setpen ( 0 , 0 , 0 , 1 );
SetLineStyle ( “实心” );
// 这种笔样式将用于非中心线段,因为它是
// 第一个用于绘图。
设置笔( 255 , 0 , 0 , 2 );
SetLineStyle ( “破折号” );
移动到( 0 , 0 );
lineto ( 50 , 0 );
// 这个线型用在中间段,没有其他的,因为它
// 不是第一个绘制的。
setpen ( 0 , 255 , 0 , 1 );
SetLineStyle ( "点" );
lineto ( 100 , 0 );
// 此线型仅用于中心段的注释。
setpen ( 0 , 0 , 0 , 1 );
SetLineStyle ( “实心” );
setfixedregion ( 40 ,- 10 , 60 , 10 );
椭圆( 40 ,- 10 , 60 , 10 );
}
具有此形状脚本A依赖连接器可能类似于以下内容: