第五章 基本图形操作

2013-05-09 YTL YTLWorld数字地球

摘要:图形操作包括各种图元的创建和编辑,简单快捷


一、绘制线图元

绘制线条功能适用于空间图形、剖面图形、柱状图形、布局图形(包括绘制图形视图的视口)及线、点、花纹图例编辑等视图的线条绘制。线条绘制过程中,随着鼠标的移动或键盘的输入,当前光标与上一输入点位置间有橡皮线显示,供用户参考。

绘制线条与线条编辑时,鼠标移动时按住Shif键橡皮线被强制水平或垂直(强制至光标当前位置与前一个点坐标增量大的方向),多数功能可以用Shift+点击实现水平或垂直坐标增量点的输入,至于具体命令是否起作用,一试便知。

系统提供8种线条的绘制,即绘制线条工具条的八个按钮,与之对应的菜单项是[线条]主菜单下的8个子菜单:

(一)[绘制线条]

本功能可用来绘制闭合或不闭合的折线或曲线。绘制什么样的线条,由命令窗口的选项控制。进入本功能时,命令窗口显示如图3:

图3 绘制线条时的命令窗口

命令窗口由上部的固定栏和下部的滚动栏组成,固定栏只有一行,滚动栏可以有多行,当有多行信息时可以增加窗口高度或使用滚动条。竖线是不同项的分界。带下划线的蓝色词是项目名称或一个命令按钮。

固定栏最左边“绘制线条:”是当前命令名称,其右边依次为当前绘制线条的工作环境:图层(新空间图层),线图例(新线图例),颜色(新颜色),修改这些环境应分别在图层、线图例、颜色图例项目窗口选择所需的项目。

线图例参数(高,宽)显示于编辑框,如未经修改,这里显示的是线图例的默认值,用户可以根据需要对其进行修改。其中“线图例高”是修改线条宽度的项目,“线宽”是修改线图例中可变线宽的线图元的参数,需修改时在编辑框输入所需值。

下一项是“线宽”,供用户修改当前线条的宽度,“渐宽线”选项只对线图例高度为0的线图例有效,如果选择了“渐宽线”,则此宽度是线末端的宽度。后面有“曲线”、“闭合”、“光栅追踪”三个复选项,前两个选项的状态决定了当前绘制的线条是折线还是曲线,是闭合线还是非闭合线。在线条绘制完成前任何时候对这些选项所作的改变都会立即生效。

这里的“线图例高”和“线图例宽”是线图例的参数,因为线图例的线条是横着放的,“线图例高”对应于实际线条的线宽,“线图例宽”对应的是线的长度方向上完整显示出线图例所需的长度,线条长度小于线图例宽度时只显示出部分线图例(这与有的软件平台上最少要完整显示出一个完整的线图例方式不同),线条长度大于线图例宽度后是对线图例的循环显示。

滚动栏的第一部分显示当前绘制线条的下一个坐标点的序号,第二部分提供键盘输入坐标的功能(输入单位与当前的投影类型相应,这是在当前坐标类型为无投影或全球方位正射投影等直接以经纬度作为度量单位的坐标系中,输入数据用DMS作为单位,在当前投影类型为直角坐标时,输入单位改变为km为单位),绘制线条的任何时候都可用键盘输入,无需额外的切换操作。其后四个带下划线的蓝色文本是功能按钮。“输入模式”用于选择键盘输入数值的模式(图4)。“当前点可见”是当键盘输入经纬度的点超出视图边界时,点击该命令,刚才的输入点移到屏幕中部(线条绘制结束后就无效了,因为没有了“当前点”)。“反向”功能允许从中间开始绘制线条,到达一端时无需中断,而用鼠标点击此命令,即转向另一端继续绘制。“删退点”功能每点击一次,就从线条末端删除一个坐标点,就象线条“后退”了。

图4 输入模式选择界面

4种位置点输入模式中,“绝对坐标”模式是系统默认模式,输入的是图形的绝对坐标。

其他3种模式均是相对于线条最后一个控制点的,“方位距离”模式是以前一个输入点为基点的极坐标模式,需输入相对基点的距离和方位角,极坐标轴起始方位垂直向上,顺时针为正方向。这种模式适宜在纵横比例相同并且以m、km等长度为标尺度量的视图中使用,距离与方位直观易用。纵横比例不一致的视图,距离与方位角度是按两个方向的值直接计算的,用起来不太方便。以经纬度作为标尺显示的视图,使用的距离是地球大圆的弧度(以DMS表示),与经纬度值的度量有别,在数值上是不相等的,因此使用较难。

“相对距离”适宜在屏幕标尺以km、m为单位的视图中使用,包括纵横比例不相同的视图。以经纬度作为标尺显示的视图使用较难,原因同上。

“相对经纬度”适用于屏幕标尺以经纬度显示的视图,使用经差与纬差的DMS值。

在屏幕标尺显示不是经纬度的视图中,相对经纬度无效,该选项被隐藏。

4种输入模式中,当前光标的绝对坐标已经显示在状态条,绝对坐标输入模式的命令窗口的坐标输入框中是空白的,其他3种模式的当前光标相对线上前一个点的坐标相对值会在命令窗口的编辑框中动态显示。当使用键盘输入坐标时,不要让鼠标在视图内移动,或者干脆将光标移到视图外,以免干扰改变输入的数值。

绘制线条的操作十分简单:鼠标操作时,首次点击为线条的首点,并成为当前点,在当前点与间出现橡皮线,之后每点击一次,线条即延伸至该点并成为新的当前点;键盘操作时,每输入一组坐标并在输入焦点位于坐标的右编辑框时按回车键(必须按回车键!),即完成一个点的输入,编辑框被清空等候下一个坐标数据的输入,若输入坐标有效(坐标编辑框空白时回车输入的是无效坐标),则线条延伸至刚输入的点(橡皮线始点移至该点)。一条线条最后一个点输入后,右击(只有右击)结束本线的绘制。保留绘制下一线条的命令状态。

当使用相对坐标模式输入时,光标移动在编辑框显示的数值不能被键盘输入直接利用。若直接回车,输入的仍然是无效的坐标,若要利用该坐标值,只能使用鼠标点击或者作简单编辑再回车

(二)[绘制矩形]

鼠标绘制时,直接用鼠标点击矩形两个角点的位置即可。点击首点时该点的经纬度值会出现在命令信息窗口第一角点的经纬度编辑框中,点击第二点完成矩形绘制后在“输入高宽”模式时矩形的高宽会显示在矩形高度和宽度的编辑框中。

键盘输入时可在命令信息窗口选择“输入高宽”或“输入对角点”两种模式界面如图5,图6:

图5 绘制矩形时的命令窗口-输入对角点

默认输入对角点模式,输入两个角点的绝对经纬度。

图6 绘制矩形时的命令窗口-输入高宽

输入高宽模式,输入一个角点的绝对经纬度和矩形的高宽。矩形高度为正值表示该点为矩形的下角点,负值表示该点为矩形的上角点;矩形宽度正值表示该点是矩形的左角点,负值表示该点是矩形的右角点。

(三)[绘制平行四边形]

平行四边形需要不在同一线上的三个点的坐标,鼠标创建时需要点击输入三个角点的位置,键盘输入需要三个角点的坐标。命令窗口(图7)中有一“正交矩形(T)”复选项,(T)是复选项的键盘控制方式,按一下T键相当于点击该复选项一次。该选项选中后强制绘制倾斜方位矩形,此时第三点位置只起控制矩形高度的作用。

(“绘制矩形”功能只能绘制屏幕正方位矩形,绘制平行四边形的T功能可绘制任意方位矩形)

利用Shift可以不退出本命令而实现矩形绘制。

图7 输入平行四边时的命令窗口

(四)[圆心半径绘制圆]

图8 圆心半径输入圆时的命令窗口

鼠标输入时,先点击输入圆心,第二个输入点为圆周上的点;键盘输入时,输入圆心位置坐标,默认输入半径,如取消“直接输入半径”选项,则需输入相对圆心的水平与垂直两个偏移量。命令窗口还有一个“线图例朝外(T)”选项,(T)是复选项的键盘控制方式,按一下T键相当于点击该复选项一次。此选项默认为选中状态,线图例上方朝圆的外侧,对于上下不对称的线图例,需作出合适的选择。

(五)[圆上三点绘制圆]

输入的是圆周上的三个点。在圆周位置确定而圆心位置不明确时有用。

(六)[绘制椭圆]

图9 绘制椭圆时的命令窗口

先输入的两个点为椭圆的一个轴,可为长轴或短轴,第三点与已定的椭圆轴的垂直距离决定了椭圆的另一轴的半长度,第三点输入后椭圆绘制完成。

利用Shift可强制椭圆轴在水平与垂直方位。

(七)[绘制圆弧]

与三点绘制圆相同均需输入三个点,而圆弧自首点开始,结束于第三点。

(八)[绘制椭圆弧]

与绘制椭圆相似,但在输入一个轴的两点后,接着输入的是椭圆弧起点的位置(坐标),该点与已输入的椭圆轴的垂直距离决定椭圆另一轴的长短,该点和椭圆中心的连线与椭圆相交的交点是椭圆弧的起始端。最后一个输入点和椭圆中心连线与椭圆的交点是椭圆弧的终点。

绘制的椭圆弧是从首端沿逆时针方向到末端的这部分,所以首末端顺序必须正确。

利用Shift可强制椭圆轴在水平与垂直方位,但对弧的起始与结束位置不起作用。

二、[捕捉]

捕捉功能是绘制线条、创建点(图块)等操作时准确定位的功能。进入捕捉功能时光标不变。

进入捕捉功能后,当光标接近符合条件的点(捕捉点),在该位置显示出红色的捕捉点标记,形状与捕捉点的类型有关(表1)。

捕捉功能是将下一个输入点准确定位到已经存在的某些特征点的工具,出现捕捉点标记时,点击操作的输入点即为该捕捉点。有11种特征点捕捉方式和连续捕捉方式设置共12个功能。前10种功能每执行一次命令,只进行一次捕捉,捕捉实现后即退出捕捉状态。

(一)[捕捉线端点]:

捕捉线段端点,线条的每一个控制点都是捕捉对象。

(二)[捕捉线条中点]:

捕捉整条线条的中点(距离中点),闭合线无效。

(三)[捕捉线上两控制点的中点]:

捕捉线条上两控制点的中点。

(四)[捕捉线交点]:

捕捉的是线段(包括延长线)的交点。

(五)[捕捉圆心]:

捕捉圆心,包括椭圆的中心位置。

(六)[捕捉垂足]:

绘制线条时捕捉已输入的最后一点在光标靠近的线段(包括延长线上)上的垂足

(七)[捕捉插入点]:

捕捉的是点图元的插入位置。

(八)[捕捉线上点]:

捕捉的是接近光标的线段(不包括延长线)上光标的垂足

(九)[捕捉网格交点]:

捕捉视图上光标附近的网格线交点

(十)[捕捉网格线上点]:

捕捉网格线上任意点。

单纯鼠标移动捕捉网格纵线上的点,Shift+鼠标移动捕捉网格横线上的点。

(十一)[连续捕捉点]:

前面的捕捉命令完成一次捕捉后即退出捕捉状态,本命令弥补这种不足:当需要连续捕捉某种或某些类型的捕捉点时,可以使用本命令功能。

本命令被执行后即处于连续捕捉状态,直到再次点击此命令菜单或工具按钮退出连续捕捉状态。至于捕捉何种特征点、捕捉多少种特征点需使用下一个功能设置。

(十二)[连续捕捉点设置]:

设置连续捕捉点的捕捉类型。

理论上可以将以上捕捉类型全部选中,这样就可以同时捕捉到所有需要的特征点,但是实际效果可能适得其反,因为捕捉类型的处理顺序或许会造成你需要的捕捉点未能出现。因此同时捕捉的特征点类型不宜设多,只能根据需要选择一种,或根据经验作恰当的设置。

 

三、线条编辑

线条编辑工具条上11个工具按钮,对应子菜单项在[线条]主菜单下。这些编辑功能如无特别声明,同时只能对选择的单一线条操作。对这样的命令,若所选线条多于1条,会逐条闪烁询问确认所选线条。

对单一线条操作的命令,一次操作即完成的,操作循环一般是“选择线条-编辑操作”;可以多次反复操作的,操作循环一般是“选择线条-编辑操作,编辑操作…-右击退出编辑”;可对多条线条同时操作的,操作循环一般是“选择线条集-右击-编辑操作”。

(一)[偏移线条]

本功能根据选择的线条,在通过偏移位置点或与线条偏移指定距离处新建其对应的偏移线条。

进入偏移线条功能,若进入命令前已选择了线条,选择多条时会逐条闪烁询问用户确认拟偏移的线条,只选一条时直接进入偏移操作;进入命令前未选择线条则需选择拟偏移线条,同样若选择多条线条,系统仍会询问用户确认拟偏移线条,只选一条即进入偏移操作。

偏移操作:点击或键盘输入一个点,创建的偏移线即完成并显示,完成一次线偏移,返回进入命令选择拟偏移线状态。

偏移线的具体位置与命令窗口的选项有关。

偏移操作类型:“指定偏移通过的位置点”和“指定偏移所在位置侧”2个单选项,当选择“指定偏移通过的位置点”时,所显示偏移距离被忽略,偏移线通过输入点,偏移距离编辑框中的值改变为此时和偏移距离。当选择“指定偏移所在位置侧”时,显示的偏移距离值作为偏移线条与原线条的距离,输入点仅作为偏移线在原线的偏移侧的依据。

偏移距离类型:有一个“图纸距离”复选项,未选即为空间偏移距离,选中时为图纸上的距离。两种距离单位可能不同,因而所显示的数值也可能不同,但偏移效果相同且同步改变。

进入偏移命令时,偏移距离初始值为图纸2mm。需要修改该值时,随时往编辑框中输入数值即可。

柱状图形、垂向比例不同于水平方向比例的剖面图形的偏移距离为水平方向的距离,其垂直距离经过比例换算,使偏移线条在屏幕上的纵横方向偏移距离相同(此时实际坐标的纵横偏移值不同)。

(二)[延长线条]

延长线条从被选择线条的末端继续绘制线条的操作。闭合线,圆,圆弧,椭圆,椭圆弧不能被延长。

(三)[一点剪断线]

进入命令,线条选择后,显示待编辑标记,光标显示为大十字,当光标离该线条距离较小时,线条上出现剪断标记,表示当前点击时剪断点的位置,点击即完成剪断操作。闭合线被剪断后,仍然是一根线条,但已不再是闭合线。非闭合线条剪断后,成为两条线条。线条剪断后仍有一条处于编辑状态,可继续对其执行剪断操作。右击清除线条的选择,保留命令执行状态,可重新选择线条操作或右击退出命令。

圆,圆弧,椭圆,椭圆弧不接受剪断操作。

(四)[二点剪断线]

二点剪断线需要两个剪断点才完成剪断操作,并且2个剪断点之间的线条被删除。非闭合线条被两个剪断点剪断为三段并将两个剪断点间的线条删除,闭合线条被二点剪断成两条线条,需要用户在拟删除的一条点击确认后将该段删除。剪断后始端所在线条仍处于待剪状态。右击清除线条的选择,保留命令执行状态,可重新选择线条操作或右击退出命令。

(五)[连接线]

进入命令,先后点击两条非闭合线,若线条不相交,则两线条近端连接;若线条相交,则在交点处连接,保留两线条的点选部分。若两线条的参数不同,则使用先选择线条的参数。

如果进入命令前已选择线条集,进入命令后直接要求输入第二条线条,点选后即执行线条连接。与第二条线条连接的是选择集线条中最先进入选择集的线条。

连接线对象包括开线条和非闭合的弧(椭圆弧),不包括闭合线。弧连接后离散化成折线线条。

(六)[倒直线角]

倒直线角是在折线顶点处用长度等于倒角距离的直线段截去顶点,使线条趋于圆滑。倒角的直线段与截去的线段组成等腰三角形。

椭圆,圆,圆弧,椭圆弧,曲线不能作为倒角对象,只有2个点的线条不能作整条线条倒角。

进入命令,命令窗口有3个单选项:指定倒角距离,整条线条倒角,指定两直线段之间倒角。

首次执行此命令或变换视图,默认倒角距离是图纸上距离1mm,空间距离按此换算,空间视图在1:50000比例尺时为(DMS)1.8038秒或0.1km,柱状图形视图和剖面图形视图在垂直比例为1:100时是0.1m。修改倒角距离在任意操作状态可以直接在倒角距离编辑框内输入数值。或者选中命令窗口的“指定倒角距离”单选项后,在视图内点击两次,其间距即为倒角距离,第一次点击后,点击处至当前光标间出现橡皮线,点击处与当前光标的距离在倒角距离编辑框中连续动态显示,对于纵横比例尺不一致的视图,因为倒角距离是按垂直方向计量的,两个点击点应在一条垂线上,否则设定的距离偏小。也可一个点用点击,另一个点用键盘输入坐标或者两个点均使用键盘输入坐标。

“整条线条倒角”即对选中的线条的所有控制点作倒角。命令窗口提示“点选或开窗口选择倒角第一条直线段”,此时选择的线条立即进行倒角并显示倒角后图形,选择出现多于1条时,闪烁图元要求用户进一步作出确认,可以连续选择线条倒角,但每次只选择一条,也可以对同一线条连连续多次倒角。右击退出命令。

“指定两直线段之间倒角”只执行指定线段间的一个线段控制点处的倒角。两直线段之间倒角有2种情形,一是同一线条相邻直线段间倒角,另一种是2条非闭合折线的线段之间倒角。

2条线条间的倒角在2个被点击线条的线段间进行,若倒角成功结果为一条线条,线条的某些部分可能被截去,两线段间用长度等于倒角距离的线段连接。如果倒角线段实相交,倒角后保留2条线条被点击的部分;否则截去与倒角三角形相连的部分。若两条线条平行或倒角距离不合适,倒角失败。如前述倒角顶点与倒角线段构成等腰三角形,两线条的倒角,倒角顶点是两倒角线段的交点(或延长线交点),如果此三角形底边两点位置在两倒角线段上,倒角成功,如有一个点以上落到了倒角线段的延长线上,则倒角失败,导致失败的点若与倒角顶点位于倒角线段同侧,属倒角距离太小,位于两侧属倒角距离太大。

 

 

倒角距离(半径)太大小

倒角距离(半径)太小

 

柱状图与剖面图水平方向与垂直方向的比例尺常不一致,倒角距离按垂直距离计量,倒角效果按屏幕视觉的等腰三角形设计,即不同位置不同倾斜角度的倒角距离在视图上目视是相等的,而按坐标计算倒角两点间的距离是不相等的。另外,倒角刚完成时视觉上的等腰三角形,在图形的纵横比例尺的比值改变后就不再等腰了。

对一条线条在相同倒角距离下多次倒角,会出现倒角不对称的形态,这是直线倒角方法造成的:一侧倒角后,另一侧的线段可能变短因而无法倒角。要得到满意的对称的圆滑效果,在每一次倒角后应适当减小倒角距离。

(七)[倒圆弧角]:

线条的顶点处用圆弧削去顶点,使线条顶点处圆滑。

操作过程,线条类型与倒直线角相同,对同一线条连续多次倒圆弧角一般没有作用,因为一次倒角后在相同倒角半径下已不存在可倒之角。

倒圆弧角使用半径等于倒角半径的圆弧在与倒角线段相切的位置截去部分线段用圆弧替换,如该圆弧无法同时与两倒角线段实相切则倒角失败。虚切的位置靠近倒角顶点为倒角半径太小,反之为倒角半径太大。

倒圆弧角的矩形改曲线时倒角的形状出现畸变

(八)[延伸线条]

本命令可选择多条线条同时向同一参照线条延伸。

进入命令先以点击或框选选择拟延伸线条集,右击结束选择,切换为选择延伸参照线,延伸参照线选择后完成一个延伸线操作循环,返回进入命令的初始状态。

延伸线条的结果,是延伸线条两端按线端方向延伸至与目标线条某一线段或其延长线的相交处,没有相交则不延伸。当延伸方向上与目标线条的多个线段有相交时,只延伸到最近的线段上。

圆,椭圆,圆弧,椭圆弧,闭合线条,被锁定图层的线条不能进行延伸,但可作为延伸参照线。

是不是要延伸到线段的延长线上?近乎平行时会延伸到很远,有没有必要?

(九) [线裁剪](未开发)

 

(十) [区裁剪](未开发)

 

(十一)[统改线条]

统改线条参数。进入命令先建立线条选择集并右击结束选择,命令窗口显示如图10。可以统改的有图层,线图例,颜色,“曲线”,“闭合”,“统改线方向”,“线图例宽”,“线图例高”,“线宽”等项。其中前三项(图层,线图例,颜色)分别通过点击图层项目窗口、线图例项目窗口、颜色图例项目窗口内的项目实现修改,其他项目直接在命令窗口内点击实现修改,对线宽的修改,在线图例原高为0.00时修改线宽项目,在线图例原高不为0时修改线图例高项目。闭合复选项内显示一个绿色的小方块,表示选择集中的线条同时包含有闭合线条和非闭合线条(如果选择集中既有折线也有曲线,曲线复选项也会如此显示)。这些项目的改变除线方向没有显示外都立即在图形上反应出来。

图10 统改线条的命令窗口

(十二)[线连接弧]

操作与延长线类似,即从线的末端延长,以该点作为圆弧的第一个控制点,以三点绘制圆弧的方式延长,延长出来的圆弧离散化为折线,第一段圆弧的末点作为下一段圆弧的始点,右击结束该线编辑。如果右击时圆弧的第3点尚未输入,该段圆弧未完成而被舍弃。结果线类型为折线。

本功能以三点圆弧方式延长线条,如果三个点严格在一条直线上,则可延长出一段直线段,但注意第二点需在首末点之间,否则结果可能不如所愿。

用鼠标输入的情况下,移动鼠标时按住Shift键橡皮线强制水平或垂直,在点击时按住Shift键,输入的坐标中与前一点增量小的坐标分量强制与前一个点相等。利用这一特点,可以绘制出水平或垂直延长的直线段。

(十三)[线连接切线弧]

操作与延长线类似,但每输入一个控制点,在线末与该控制点间以与原线末相切的圆弧相连并离散化。右击结束该线编辑。

本功能在移动鼠标时按住Shift键橡皮线虽强制水平或垂直,但即使点击时按住Shift键,对输入位置也没有影响,

(十四)[移动线上点]

线条选择后显示待编辑标记,点击标记点,该点即显示为当前编辑点标记,光标与当前编辑点的前后控制点间出现橡皮线,点击完成移动,返回线条待编辑状态。可以反复多次移动线上点,右击退出该线编辑。

用键盘作移动时,有多种坐标输入模式可选:通过点击命令窗口滚动栏中“输入模式”按钮弹出对话界面选择(详见本章一“绘制线图元”中绘制线条)。键盘输入坐标时,被移动点随坐标改变实时移动,在输入焦点位于右侧坐标编辑框时回车完成移动,返回待编辑状态。

需要说明的是,当选择方位距离或相对距离(相对经纬度)时,输入坐标是以被移动点的前一个点为基点的。与绘制线条相同,使用相对坐标输入模式时,编辑框中动态显示的数值不能被键盘输入直接利用。

(十五)[连续移动线上点]

与移动线上点相似,只是完成一个点的移动后,直接进入下一个点的移动状态。右击退出该线编辑。

(十六)[线上插点]

只能对折线或控制点数不固定的一般曲线操作。线条选择后,线条控制点显示蓝色编辑标记,接着点击编辑线条的某直线段选择插入位置,插入位置前后控制点显示当前编辑与当前选择标记,光标与两个控制点间出现橡皮线,用鼠标点击即在点击处插入一个控制点,并成为新的当前编辑点,可以继续作插入操作,右击返回进入命令的初始状态。

用键盘插入点同样可以选择坐标输入模式,同样插入点位置随输入坐标改变而变,在输入焦点位于右侧坐标编辑框时回车完成插入。

(十七)[线上删点]

只对折线或控制点可变的一般曲线操作。线条选择后进入待编辑状态,可以点击控制点将该点删除,也可框选将多个控制点删除,可以多次重复删除控制点的操作,直至右击返回进入命令的初始状态。如果删除到只剩下一个控制点,线条被删除。

(十八)[重塑线条](需二点相交)

用折线重新绘制被编辑线条的一部分。线条选择后进入待编辑状态,可对其进行重塑。

重塑操作是绘制一条与被塑线条有两个交点的线条,当第二个交点出现后,重塑绘制的线条的两个交点间的部分替换被塑线条两个交点之间的部分(对于闭合线是长度较短的部分)。可以多次重塑待编辑线条,右击返回至进入命令初始状态。

曲线被重塑后被离散化成折线。

有时不是重塑线条两个交点间的部分(图?)

 

四、[图形文本]

图形文命令集中[图形文本]主菜单下,工具条则分为“创建图形文本”和“编辑图形文本”两个。

创建或编辑的图形文本如果内容为空将被自动删除。

(一)[创建单行图形文本]

进入本命令,显示插入单行文本光标。

命令窗口(图11)中,窗眉显示的信息有主命令名称,当前图层,当前字体样式的参数(字体、字形、字高、字宽、字距、字符旋转),颜色其他效果命令等。插入点可用点击或键盘输入坐标定位。其他效果(命令无生效)

图11 创建单行文本的命令窗口

窗眉处的字体、字形、字高、字宽、字距、字符旋转,颜色,上下标(插入文本后显示)等对文本内选择的字符起作用,与WORD一样,显示的参数适用于此后输入的文字,但光标位置变化后这些参数会更改为该位置文字的参数。字体,字形使用下拉列表,“字体”包括了WINDOWS平台的所有横排字体,“字形”有常规、粗体、斜体、粗斜体四种,

窗体左侧“文本位置”用于选择文本对齐方式,即与插入点相重合的文本15种特征点。前9个对齐特征插入的是变长文本,插入对齐点是文本左中右上中下组合而成的9种特征点。变长文本的字体大小按设置,文本长度随文字多少自动改变。

第10-12种对齐特征插入的是端对齐文本,这种文本的长度限制为两个插入点间,保持文字高宽比不变,文字的大小根据文字多少调整。

第13-15种对齐特征插入的是定长文本,文本长度同样限制为两个插入点间,在文字数量变化时,保持字高不变,字宽比例根据文字多少调整。

对于固定长度文本,命令窗口增加一个宽度编辑框,用于修改文本的长度,插入点输入框由一个点增加至2个点。

变长文本改为定长或端对齐文本,文本当前位置的两个端点自动转为两个插入点。定长文本改为变长文本,右端插入点和因定长或两端对齐而调整的文字大小被取消。端对齐与定长文本互改,各按规则调整文字高度和宽度。

窗体内有一个“鼠标模式”,点击可以选择对字符高度、文本旋转角度、斜切角度项目用鼠标输入,如果选中了这些项目,在插入点输入时,就由鼠标对选择项目进行设置:由插入点至光标的连线为文本的实际方位(点击确定);文本方位确定后,随光标移动出现虚拟平行四边形,活动中的另一组平行边的方位就是字符斜切的方向,边长决定字符的高度。

非鼠标模式下,在合适位置点击,输入1个(或2个)插入点,文本编辑框按设定的风格出现在该位置。进入编辑状态后,“鼠标模式”命令消失。

窗体内的文本旋转角度、斜切角度项目在文本编辑期间可随时在命令窗口内修改,立即生效。

初次插入的文本框内显示“在此输入单行文本”字样,此后插入的文本框内是上次单行文本编辑结束时的一个拷贝(几乎包括文本的所有风格)。光标在文本框范围外显示为普通箭头,在文本框阴影区显示四方位箭头(移动),在文本框内显示为文本插入符号。右击,回车、“Esc”键均可结束文本编辑,返回命令初始状态。

文本位置可用鼠标移动(在光标进入编辑框阴影显示移动光标时)或键盘输入(两个坐标值均完成输入后生效)改变。                                                                                                                                                                                           图34

(二)[创建版面图形文本]

本功能的命令窗口与创建单行文本类似,在窗眉增加了“字体”和“段落”单选钮,选择“字体”时显示内容与单行文本时相同,选择“段落”时,显示了段落设置的选项(图12):对齐方式(左对齐,中间对齐,右对齐,两端对齐,分散对齐5种选择),首行、段落左右缩进设置,行间距、段落前后间距设置。

图12 创建版面文本的命令窗口

窗体部分有对齐方式的选项(左中右上中下9个特征点),版面宽度,旋转,斜切参数,插入点的坐标输入和“鼠标模式”按钮等项目。

鼠标模式”有两个复选项:两点输入文本框位置与鼠标两点输入文本框宽度。两者皆不选时,只需输入一个插入点,即按命令窗口显示的设置插入版面文本。只选中前者,命令窗口中的宽度,旋转设置被忽略,输入两个插入点决定版面的宽度和旋转。两项都选中时,输入两点决定版面的宽度,旋转被强制为0度。仅选择第二个选项与都不选择效果相同。

要实现版面的斜切,只有键盘输入斜切角度一种方法。

编辑中,版面旋转与斜切角度由键盘输入的角度改变;版面宽度可由键盘输入,也可由光标在版面编辑框两侧出现左右箭头时拖放实现;版面位置可由键盘输入坐标实现或光标在编辑框外的阴影处显示为移动光标时进行移动;各段落设置(首行、左右缩进)可用鼠标或键盘输入调整,其调整方法与WORD基本相同。

版面的高度随着文字的多少自动调整,版面宽度调整时文字自动重新排版。

用户很快就会发现,版面图形文本与WORD多么相似。

结束版面文本的编辑,使用右击或“Esc”键。版面文本编辑中回车键的作用是一个段落结束,新的段落开始,因而无法结束编辑。

(三)[选择线条创建位置文本]

在选择线条上创建位置文本。

位置文本比前二种文本在命令窗口的窗眉多了“控制点文本”和“随线旋转”二个选项。选中了“控制点文本”,字符以线条控制点为依据从线条始点开始每个控制点处显示一个文字,字数多于控制点时自动向线末方向延伸(开线)或循环重复(闭合线);取消该项选择即位置点文本,位置点文本的文字为等间距分布,在创建位置点文本时,选择线条后,还需用鼠标或键盘输入起始点位置(该点与所选线条的距离为文本对线条的偏移),输入文本从此点开始按设定间距向线条末端分布(若偏移值不为0,则沿偏移线分布),线条长度不足的处理方式与控制点文本相同。

位置文本编辑阶段在每个文字(包括待输入的下一个文字)左下角显示标记,控制点文本标记是桃红色小方框,位置点文本标记是桃红与绿色相间的小方框。当光标在位置文本线条上时,显示为移动光标,可以用拖放操作平移文本;光标在文字范围内时显示为文字插入符,点击可编辑文字;光标在控制点文本标记的位置时,显示为控制点编辑光标,可以用拖放移动该控制点。

位置文本位置点的编辑与控制点文本控制点的编辑不同。位置点文本的桃红色标记点是移动文本位置的,拖放操作使整个文本同时移动,字间距不变,拖放终点与控制线条的距离成为位置文本对控制线条的偏移,拖放终点与控制线条的切向分量成为位置文本延控制线条移动的距离;绿色标记点是调整字间距的,它的新位置与前一个位置点的距离为新的字间距,位置文本以被移动点的新位置(或其前一个位置点)为准按新的字间距重新排列。位置点文本的偏移和文字间距调整也可以在命令窗口用键盘输入。

控制点文本与位置点文本可以互换。

位置文本创建后,线条的位置拷贝作为位置文本的一部分,不再依赖创建文本的线条(线条的编辑不再影响文本,文本位置的调整不再影响线条)。

“随线旋转”选中时,每个字均旋转到与线条相切的方向(实际是线段方向),否则均显示为0度方向。字与线的距离,字间距可在命令窗口修改。

命令窗口内还有“全选文本”和“反向”命令,前者选择位置文本的全部文字,后者使位置文本反向排列。

结束位置文本编辑与结束单行文本编辑相同,可用右击,回车或“Esc”键。

对于椭圆,当需要对称的位置文本,这样的调整方法难以准确调整,是否需要增加(以椭圆轴端为基点的)中间对称排列,首末点定位(相当于定长)排列?

选择闭合线条曾经出现一次死循环现象,出现在多次文本创建编辑操作之后

(四)[编辑文本]

进入命令后选择图形文本进入文本编辑,方法与创建时相同。

(五)[查找文本]

进入命令后键盘输入欲查找的字符串并回车,系统先用对话框显示查找到多少个包含输入字符串的图形文本,然后显示第一个找到的目标,用命令窗口的有关命令可逐个显示所找到的对象。

(六)[替换文本]

进入命令后键盘输入查找的字符串和替换字符串,利用命令窗口的按钮,可以逐个查找、替换,也可以全部替换。替换文本可以为空,此时等同于删除查找字符串。

锁定图层的文本不在替换范围内。

(七)[统改文本参数]

进入命令后先选择欲统改参数的图形文本的选择集,右击切换到统改状态(图13)。

图13  统改文本参数的命令窗口

因为不同的图形文本的参数不尽相同,当选择集中有不同类型的图形文本时,不同类型的图形文本仍然要分别进行统改,命令窗口窗体左边的组合框包含了当前选择集的图形文本种类所需要统改参数的类型,用户应逐一选择修改。

锁定图层的文本不在统改参数范围内。

(八)[编辑文字体图例式]:

打开或激活字体图例编辑视图。文字体图例编辑操作见第六章。

(九)[拷贝文字体图例式]:

打开或激活字体图例拷贝视图(以便从其他YTL数据库拷贝字体图例)。

(十)[输入线创建位置文本]:

进入本命令后,按输入线条的操作,默认文本随即显示,线条输入结束,右击进入文本编辑。

与绘制线条不同的是,这里的相对输入模式,键盘输入可直接利用鼠标移动时动态显示的坐标值,即输入焦点位于坐标右侧编辑框时,回车可以将显示于编辑框中的数值作为有效坐标添加为新的线条控制点,而不必进行任何编辑。

(十一)[矩形创建位置文本]:

按创建矩形操作,矩形完成后即进入文本编辑。

(十二)[平行四边形创建位置文本]:

按创建平行四边形操作,完成后即进入文本编辑。

(十三)[圆心半径创建位置文本]:

按圆心半径创建圆操作,完成后即进入文本编辑。

(十四)[三点圆创建位置文本]:

按三点创建圆操作,完成后进入文本编辑。

(十五)[圆弧创建位置文本]:

按创建圆弧操作,完成后进入文本编辑。

(十六)[椭圆创建位置文本]:

按创建椭圆操作,完成后进入文本编辑。

(十七)[椭圆弧创建位置文本]:

按创建椭圆弧操作,完成后进入文本编辑。

(十八)[延长位置文本线]:

进入命令后选择位置文本,此后按延长线操作。

同样,这里的相对输入模式,键盘输入可直接利用鼠标移动时动态显示的坐标值,即输入焦点位于坐标右侧编辑框时,回车可以将显示于编辑框中的数值作为有效坐标添加为新的线条控制点。

(十九)[移动位置文本控制点]:

进入命令后选择位置文本,位置文本的控制点显示为蓝色编辑标记,可用鼠标拖放方式移动标记点。(本功能无法编辑位置点文本的位置点,需要编辑位置点请使用“编辑文本”功能)

同样,这里的相对输入模式,键盘输入可直接利用鼠标移动时动态显示的坐标值,即输入焦点位于坐标右侧编辑框时,回车可以将控制点移动至显示于编辑框中的坐标位置。

(二十)[连续移动位置文本控制点]:

本功能与上一功能类似,只是在移动一个控制点后立即进入下一控制点的移动。

同样,这里的相对输入模式,键盘输入可直接利用鼠标移动时动态显示的坐标值,即输入焦点位于坐标右侧编辑框时,回车可以将控制点移动至显示于编辑框中的坐标位置。

(二十一)[插入位置文本控制点]:

进入命令选择位置文本,选择后的操作与“线上插点”相同

同样,这里的相对输入模式,键盘输入可直接利用鼠标移动时动态显示的坐标值,即输入焦点位于坐标右侧编辑框时,回车可以将显示于编辑框中的坐标位置作为插入点。

(二十二)[删除位置文本控制点]:

进入命令选择位置文本,选择后的操作与“线上删点”相同

(二十三)[改为单行文本]:

未完成

(二十四)[改为版面文本]:

未完成

(二十五)[改为位置文本]:

未完成

 

五、[点和图块]()

这一主菜单的部分子菜单的对应工具钮在创建点和图块工具条,部分在编辑点和图块工具条。

(一)[插入点图元]

图14 插入点图元的命令窗口

插入点图元显示命令窗口如图14。

命令窗口窗眉前三项当前图层、当前点图例、点图例颜色是当前工作环境,修改这些项应分别在图形、点图例、颜色图例的项目管理窗口选择所需项目。之后“点图例原始宽度”、“点图例原始高度”、“锁定高宽比例”3个复选项,3个项目默认处于选中状态,此时使用的点图例参数是默认值,输入的点图元为默认大小。前两个复选项在未选状态可用点击选中,在选中状态下不能用鼠标改变。

要改变输入点图元的大小,在命令窗口窗体内修改点图例的宽度或高度;点图元的旋转角度和斜切角度也可根据需要修改。当点图例参数的宽度或高度被修改后,若“锁定高宽比例”处于选中状态,“点图例原始高度”与“点图例原始宽度”选项便成为非选中状态;若“锁定高宽比例”处于非选中状态,则只有对应的复选项变化。

在“锁定高宽比例”处于选中状态下,改变点图例的高度,宽度会随之改变,反之亦然。要使高宽比改变,需将“锁定高宽比例”选项设为非选中状态,然后修改点图例宽度或高度。工作环境和点的大小设置后,点击或键盘输入坐标输入点图元。

命令窗口窗眉最后还有一个“鼠标输入模式”命令,这是在鼠标输入点图元但点参数不使用命令窗口设置而直接用鼠标设置时用的。执行该命令弹出对话框,上部选择鼠标输入的4个参数复选项,包括旋转角度,X方向的斜切角度,点的宽度和高度,选中项目在鼠标输入点位置后接着进行设置。

对话框下部“约束点图例高度宽度变化比例”与“采用点图例原始高度宽度”选项只有在上部点高度与点宽度选项均未选中时有效。

当点宽度或点高度项目之一选中时,“采用点图例原始高度宽度”选项被忽略。

当点宽度与点高度项目均选中时,对话框下部两个选项均被忽略。

要取消鼠标输入模式,必须再次执行“鼠标输入模式”命令,将其中的选项设置为非选中状态。

当旋转角度,X方向的斜切角度,点的宽度和高度4个选项有选中项时,在点击输入点图元位置后,接着需用鼠标输入选中选项的数据。

先输入的是宽度和旋转角度(如果这两个选项均未选则跳过本操作):光标与图元位置的距离为点图元正方向宽度(点图例中心位置与点图例水平坐标最大值的距离),光标与图元位置连线为图元宽度正方向旋转结果的方位(有虚拟图形显示可参考输入效果。当旋转选项未选时,旋转角度为0),点击便完成这两个参数的输入。

接着输入的是高度和斜切(如果这两个选项均未选,则此图元输入结束):光标与图元位置的垂向偏移为图元正方向高度(点图例中心位置与点图例垂直坐标最大值的距离),光标相对图元位置的水平偏移决定水平斜切角(斜切选项未选时,斜切角为0),点击便完成此两个参数的输入,点图元输入完成。最后确定的点参数成为下一个点输入参数的默认值,但只有在接着使用键盘输入或鼠标输入模式取消时使用鼠标输入才起作用。

为与菜单命令一致将命令窗口的标题“创建点图例”改为“插入点图元”,“点图例参数”改为“点参数”(D:\YTLWorld\YTLCommand\YTLCommand_EditSelOne.cpp)

(二)[编辑点图例图元](编辑点参数)

本命令对单一点图元操作。

操作循环:选择图元,编辑参数。

右击退出命令。

点参数编辑:改图层,改点图例,改点颜色分别在图层、点图例、颜色图例项目窗口选择所需项目;点高,宽,旋转,斜切,位置直接在命令窗口输入数值。编辑参数立即生效。

菜单命令建议改为“编辑点参数”,命令窗口的标题“编辑点图例”改为“编辑点参数”,(D:\YTLWorld\YTLCommand\YTLCommand_EditSubgraphics.cpp)

(三)[统改点图例图元](统改点参数)

本命令对点图元选择集操作。

操作循环:选择点图元集,右击,编辑参数。

编辑参数时右击退出命令。

点参数编辑:改图层,改点图例,改点颜色分别在图层、点图例、颜色图例项目窗口选择所需项目;点图例原高,点图例原宽,点高,宽,旋转,斜切直接在命令窗口输入数值。编辑参数立即生效。

由于是统改,选择集中的图元被编辑参数将改为相同的值。

菜单命令建议改为“统改点参数”,命令窗口的标题“统改点图例”改为“统改点参数”,(D:\YTLWorld\YTLCommand\YTLCommand_EditSubgraphics_All.cpp)D:\YTLWorld\YTLCommand_CommonCmd\YTLCommand_Sel.cpp

(六)[创建图块]

未完成

(七)[插入图块]

未完成

(八)[编辑图块]

未完成

(九)[图块外存成图块文件]

未完成

(十)[炸开图块]

未完成

六、[区域]

本系统有关区域的几个名称,含义如下:

区域(面域):区域是由闭合边界围成的面状实体。

子区:区域的最小单位,由单一外部边界,或与若干内部边界共同围成的面状实体。

区群:由多个子区组成,在图形中作为一个整体(图元)保存、具有相同参数和属性、除边界编辑外的其他区域编辑功能中进行整体操作的子区实体组合。

区图元(区域图元):图形中独立保存的区域实体。一个区图元可以是一个子区,也可以是一个区群。

(一)[选择当前区域及当前边界](用于区域编辑)

点击某一子区,将选择该子区所属的区图元,被选择区图元以紫色填充显示,区域边界以蓝色或红色显示,红色表示当前边界。本功能只能选择一个图元,选择了其他图元,原选择图元即成为非选择图元。

对选择的图元可以进行以下编辑:

编辑所在图层:在图形视图的相应项目窗口选择图层,选择图元的图层即改属于当前图层,所作改变在命令窗口立即刷新。

编辑填充花纹:在花纹图例窗口选择图例项目,当前选择的花纹即成为选择图元新的填充花纹,所作改变在命令窗口立即刷新显示。

编辑花纹参数:点击命令窗口的“花纹参数” 命令,弹出的界面可以设置花纹的宽度、高度、旋转角度、斜切角度,进入界面时显示的是选择图元当前的填充参数。界面中还有“当前花纹参数设置为默认输入参数”复选项,进入YTLWorld系统时花纹参数默认值高、宽为10mm,旋转、斜切为0,该选项被选中时,按“确定”键退出界面,所作设置不仅作用于当前选择的图元,还保存在内存默认值中,直到下一次被改变;如未选中该选项,则当前界面数据仅作用于当前图元。“采用花纹默认参数”按钮可将当前参数默认值显示于界面。

编辑花纹颜色:选中命令窗口“花纹颜色”选项,然后在颜色图例窗口选择项目,当前选择颜色成为选择图元的花纹颜色。所作改变在命令窗口立即刷新显示。

编辑填充颜色:选中命令窗口“填充底色”选项,然后在颜色图例窗口选择项目,当前选择颜色成为选择图元的填充底色。所作改变在命令窗口立即刷新显示。

右击退出本命令或选择其他图元时,被编辑图元选择状态取消,界面编辑所作的改变即显示。

(二)[点取拓扑创建子区域](子区域建议改区群)

鼠标视图内点击,如果点击点周围存在圈闭线条,包括由多条开放线条组成的圈闭,则用该圈闭线条创建区群的一个子区,连续创建的子区均属于同一个区群,直至右击或者执行了非创建区群的命令。

以下原则同样适用于其他创建区群的命令:

进入命令可以预先设置区图元参数,或者在结束区群创建前随时设置。方法同前。

如果没有合用的花纹和颜色,可以立即创建,创建后即可使用。转到创建花纹时当前区群创建结束。

如果区群创建尚未结束而选择其他创建区群命令,则仍延续当前区群的创建。如果选择了非创建子区域的命令,则此子区域创建结束。

创建区群可以使用视图显示的所有线条,包括锁定图层的线条,创建的区群属于当前图层。

区群创建后,独立于创建时使用的线条。

(三)[拾取边界创建子区域]

用鼠标直接点选线条创建子区域,可以连续点选线条。连续点取的开放线条按顺序联合创建一个子区,点选的闭合线条单独创建一个子区。右击结束区群的创建。

(四)[新建边界创建子区域]

前面的功能以已经存在的线条作为边界创建区群,此功能则重新创建边界来创建区群。

创建边界操作与创建线条的操作相同,不再重述。但这里创建的只是区域边界,并没有向图形添加线条,边界创建后子区域也即创建。

与绘制线条相同,当使用相对坐标模式输入时,光标移动在编辑框显示的数值不能被键盘输入直接利用。若直接回车,输入的仍然是无效的坐标,若要利用该坐标值,只能使用鼠标点击或者作简单编辑再回车。

(五)[清除重叠区域]

在创建子区域,只检查子区外边界的闭合,子区内有没有包含其他子区未作检查,会造成子区的重叠。本功能可清除这种重叠的子区。进入命令后,先点击选择需要清除重叠的子区域,再右击完成操作。

本功能在子区内部重叠其他子区时,将其他子区范围从本子区剔除(掏空),如果选择的子区是被重叠的(包含在其他子区内),则选择子区被删除。

(六)[删除子区]

本功能删除所选择的子区,每次点击,被点击子区即从图形中删除。

(七)[编辑填充花纹形状]

进入命令选择图元后,除了可实现“选择当前区域及当前边界(用于区域编辑)”命令的编辑功能外,还可以用鼠标编辑花纹的参数。方法是:

在视图内任意位置点击或键盘输入一个点作为基点,鼠标拉出的橡皮线的长度为花纹的宽度,其方位为花纹旋转角度(水平向右起算,逆时针为正),点击或输入坐标确定两参数后,橡皮线呈平行四边形,两个输入点成为平行四边形的固定边,平行四边形的高度为花纹高度,平行四边形锐角的余角为斜切的角度(从平行四边形活动边起算绕锐角顶点至垂直于固定边的角度,逆时针为正)。如果希望斜切角度为0,可将命令窗口的“正交矩形(T)”选项选中。

鼠标操作产生的花纹参数会在命令窗口显示,但图形花纹只有在完成一个循环之后才会刷新,因此设置需凭经验,好在可以多次反复,设置至满意为止。

使用命令窗口编辑花纹参数,只需编辑旋转,宽度,斜切,高度4个参数,不必输入插入点的坐标。输入参数后图形花纹立即刷新,比之鼠标输入,键盘输入更直观易用。

(八)[区域边界提取线条]

将选择区域的边界以闭合线条添加到当前图层。选择区群时,所属子区的边界均显示为红色即为选中边界,若其中的某些边界不提取线条,可选中命令窗口的“减少选择”选项,然后点击已选择的边界线,该边界线即从选择集删除。选择提取的边界线确定后,右击,弹出选择边界线信息,待用户确认后完成提取线条操作。

添加到图形的线条使用当前默认的图层、线图例、颜色等参数。

(九)[移动边界点]

进入命令后,选择区图元,可移动的边界显示为红色,不可移动边界显示为蓝色,点击时距点击处较近的边界点成为移动点,有橡皮线出现,再点击完成移动,可以继续移动该边界的其他点,右击退出至命令状态。

(十)[连续移动边界点]

与移动边界点操作类似,只是完成一个边界点的移动后,下一个边界点自动成为移动点,右击结束连续移动,返回至选择区域后连续移动前的状态,再右击退出至命令状态。

(十一)[删除边界点]

进入命令,先选择区图元,点击处子区边界显示为红色,为当前操作边界,如果选择图元为区群,则其他子区边界为非操作边界显示为蓝色。

点击操作边界上的控制点,被点击控制点即被删除,可连续删除控制点,右击退出。如果边界点只剩最后一个,则该边界与子区被删除。

(十二)[插入边界点]

进入命令,先选择区图元,点击处子区边界显示为红色,为当前操作边界,如果选择图元为区群,则其他子区边界为非操作边界显示为蓝色。

插入边界点的操作与线条插入点相同。

(十三)[区域拓扑]

进入命令,用鼠标直接点取或开窗口选择区域边界或线条,右击即执行区域拓扑,生成图层使用当前参数。已经存在区域的边界仍然创建重叠的子区。

与拾取边界创建区群的区别:

拾取开放线条会自动闭合创建子区,拓扑则忽略开放线条。

创建区群命令结束前所创建的子区属于同一个区群,拓扑创建的区域不存在多子区的区群。

(十四)[区域求交]

进入命令,先选择求交图元,最后选择的图元为当前图元,然后右击。

右击后命令窗口出现2个选项:新建交集且保留原区域,替换当前区域并删除求交区域,默认为后者。还有“确定”与“取消”按钮

右击或点击命令窗口的“确定”按钮完成求交操作。因视图内的右击是执行而不是取消求交操作,如果要取消求交操作,需点击命令窗口的“取消”按钮。

求交操作可以选择1 个以上图元。只选1个图元的求交等于取消本次求交操作;选择多个图元求交结果是多个图元的共有区域,若多个图元没有共有区域,则