背景技术:
在采矿工业中,隧道设计必须遵循特定的隧道设计参数,以确保该隧道设计满足用于构建的工业标准。例如,隧道设计的隧道段必须遵循特定的梯度设计限制,以确保这些隧道段对于采矿操作来说是可行的和安全的。现有的隧道设计系统和方法可以允许采矿工程师基于特定的隧道设计参数,来生成或修改隧道设计。但是,在使用这些系统和方法以生成或修改该隧道设计之后,采矿工程师仍然需要手工地检查和确认该隧道设计的每一个部分实际地遵循特定的隧道设计参数。对于采矿工程师来说,手工地检查隧道设计不是用于确认隧道设计遵循必需的隧道设计参数的高效或者成本有效方法。此外,采矿工程师手工地检查隧道设计可能会丢失隧道设计中的错误,其导致隧道的构建不满足用于确保可行性和安全性的工业标准。
技术实现要素:
本发明通过确保在隧道设计的生成和修改期间遵循所指定的隧道设计参数,解决现有隧道设计系统和方法的问题。具体而言,本发明在隧道设计的生成和修改期间,提供实时反馈和指导,其包括实时地检测没有遵循特定的隧道设计参数的隧道设计的增加和修改。本发明通过以下方式提供该检测:随着采矿工程师处于对隧道设计进行增加和修改的过程之中(在提交隧道设计之前),针对所必需的隧道设计参数中的每一个,执行增加或者修改的实时、精确检查。随后,本发明提供用于向采矿工程师通知隧道设计的特定部分没有遵循必需的(或者特定的)隧道设计参数,以及该部分没有遵循的精确原因的实时、视觉反馈。此外,本发明还可以配置为防止采矿工程师以没有遵循特定的隧道设计参数的方式,增加或者修改隧道设计。此外,关于某些隧道设计参数而言,本发明可以实时地自动修改隧道设计,使得增加和修改动态地遵循所必需的/特定的隧道设计参数。
因此,不同于现有隧道设计系统和方法,采矿工程师不会发生用于手动地检查和确认隧道设计的每一个部分是否实际遵循特定的隧道设计参数的低效率、费力和容易出错的任务。相反,本发明对于在处理的隧道设计中不遵循隧道设计参数的实时、精确反馈和响应,确保产生满足可行性和安全性的工业标准的隧道设计。
本发明针对于用于根据隧道设计参数来设计隧道的计算机系统和方法。本文的计算机系统和方法可以包括通信地耦合到用户界面和计算机存储器的用于设计隧道的至少一个处理器。为了设计隧道,本文的计算机系统和方法提供了用于隧道设计的必需的隧道设计参数,其中在隧道设计的生成和修改期间,本文的计算机系统和方法确保维持这些必需的隧道设计参数。这些计算机系统和方法可以从计算机存储器中加载特定的(必需的)隧道设计参数和它们相应的容差(tolerance),作为默认值或者保存值,或者使用户能够在用户界面上指定这些必需的隧道设计参数和它们相应的容差。如果用户指定这些必需的隧道设计参数,则计算机系统和方法可以更新计算机存储器以保存这些必需的/特定的隧道设计参数和相应的容差,以用于隧道设计的未来修改。这些必需的/特定的隧道设计参数可以包括:梯度限制、段之间的梯度过渡限制、转弯半径限制、段之间的拐角角度限制、以及任何其它这种隧道设计参数。
此外,本文的计算机系统和方法还从计算机存储器中加载主题隧道设计。该隧道设计可以是加载的用于进行修改的现有隧道设计,或者加载成空白模板或其它初始格式的新隧道设计。本文的计算机系统和方法将用户界面上显示的隧道设计呈现成相应隧道的视觉模型。该视觉模型可以是在三维(3d)空间中,在用户界面上呈现的3d视觉模型。随后,本文的计算机系统和方法接收用于表示用户界面上的一个点的选择的用户输入。例如,本文的计算机系统和方法可以使用户(例如,采矿工程师)或者其它计算机系统选择用户界面上的定义视觉模型的一个或多个对象的点。所选定的点可以是隧道设计的建模点,例如,隧道段的建模隧道顶点或者建模端点。所述一个或多个定义的对象可以是通过所选定的点来定义的该主题隧道设计的一个或多个建模隧道段。此外,本文的计算机系统和方法还通过接收用于表示使所选定的点朝着用户界面上的期望位置移动的用户输入,使所选定的点进行移动,从而该用户输入造成该点穿过用户界面上的多个位置。用户可以使用定点设备(例如,鼠标)来接收用户输入。
随着所选定的点穿过所述多个位置中的每一个,如果选择了相应的位置来放置该点,则本文的计算机系统和方法提供所选定的点和所述一个或多个定义的对象的相应布置的实时预览。作为在用户界面上显示的实时预览的一部分,本文的计算机系统和方法执行所述一个或多个定义的对象的相应布置是否遵循所必需的隧道设计参数的实时判断。如果本文的计算机系统和方法的实时判断指示相应的布置不遵循所必需的隧道设计参数,则本文的计算机系统和方法可以以各种方式,在预览中进行响应。在一些实施例中,本文的计算机系统和方法可以在用户界面的预览中,自动地修正所述一个或多个定义的对象的相应布置,以遵循隧道设计参数。例如,相应布置的自动修正可以包括:当梯度过渡没有遵循必需的梯度过渡限制参数时,自动地平滑梯度过渡。对于另一个例子而言,所述一个或多个定义的对象的相应布置的自动修正还可以包括:当拐角角度没有遵循必需的拐角角度限制参数时,使用圆弧代替拐角角度。在一些实施例中,本文的计算机系统和方法可以防止用户界面上的预览更新为显示造成不合格的定点设备的穿过位置。在其它实施例中,本文的计算机系统和方法可以在用户界面上的预览中,视觉地指示(例如,红色突出显示或者其它视觉地影响)没有遵循这些必需的/特定的隧道设计参数的所述一个或多个定义的对象。
此外,本文的计算机系统和方法还可以接收用于表示以一种方式选择了所述多个预览的位置中的一个位置的用户输入,其中该方式在所述一个选定的位置处对所选定的点进行数字化。随着在用户界面上显示,该数字化将所述一个或多个定义的对象调整为视觉模型中的相应的预览布置。在实施例中,调整所述一个或多个定义的对象导致下面中的一项或多项:扩展定义的对象、改变定义的对象之间的角度、改变定义的对象的梯度、以及改变定义的对象的半径。如果所述一个或多个定义的对象的调整的布置没有遵循所必需的/特定的隧道设计参数,则本文的计算机系统和方法可以在用户界面上的视觉模型的相应部分中,视觉地指示该失败。此外,本文的计算机系统和方法还可以更新计算机存储器中的隧道设计,以反映所述一个或多个定义的对象的经调整的布置。
附图说明
通过对于如附图中所示出的本发明的示例性实施例的下面更详细描述,前述的内容将变得显而易见,其中贯穿不同的视图,相同的附图标记指代相同的部件。这些附图不必依比例进行绘制,而是将重点放在说明本发明的实施例。
图1a示出了在本发明的实施例中,设计隧道的示例性概括性计算机实现方法的流程图。
图1b-1c示出了在本发明的实施例中,构造隧道设计数据以提供实时预览的示例性图。
图1d示出了在本发明的实施例中,隧道设计的视觉模型的示例性图。
图2a-2b示出了在本发明的实施例中,在特定的隧道设计参数之内扩展隧道设计的示例性基于计算机的方法的流程图。
图3a-3e示出了用于配置在本发明的实施例中使用的必需的隧道设计参数(其定义约束或者约束限制)的示例性用户界面。
图4a-4d是在本发明的实施例中,描述用于使用隧道拐角限制设计参数的示例性方法的图。
图5a-5c是在本发明的实施例中,描述用于使用隧道梯度限制设计参数的示例性方法的图。
图6a和6b是在本发明的实施例中,描述用于使用隧道转弯半径限制设计参数的示例性方法的图。
图7a-7c是在本发明的实施例中,描述用于修正超过隧道拐角角度限制设计参数的隧道拐角角度的示例性方法的图。
图8a-8c是在本发明的实施例中,描述用于修正超过梯度过渡限制设计参数的隧道梯度过渡的示例性方法的图。
图9是用于在本发明的实施例中,执行隧道设计的计算机(或数字处理)系统的框图。
图10是可以实现本发明的实施例的示例性计算机网络环境的示意图。
具体实施方式
下面将描述本发明的示例性实施例。
隧道设计的概括方法
图1a示出了在本发明的实施例中,设计隧道的示例性概括性方法100的流程图。方法100可以由通信地耦合到用户界面和存储器的计算机系统来执行。该计算机系统可以是专门针对用于工业操作(例如,采矿操作)的隧道设计的创建、可视化、修改和存储而实现的系统。此外,该计算机系统还专门实现为在三维(3d)空间下提供这些功能,其包括用于将隧道设计的显示提供成视觉3d模型的系统的用户界面。
计算机实现的方法100开始于步骤110,计算机系统提供必需的或者特定的隧道设计参数。隧道设计参数是当修改隧道设计的组成部分(例如,隧道段)时,必须被维持的范围和容差。这些隧道设计参数可以包括针对下面中的一个或多个的范围和容差:梯度限制(其具有“最小值±梯度”和“最大值±梯度”容差选项)、段之间的梯度过渡限制(其具有“最大值±段之间的过渡”和“最小过渡段长度”容差选项)、转弯半径限制(其具有“最小转弯半径”容差选项)和拐角角度限制(其具有“段之间的最大角度”容差选项)或者其它这种隧道设计限制。例如,如果作为修改隧道设计的一部分,用户以改变隧道段和相邻的隧道段之间的角度的方式来移动隧道段,针对角度的改变必须维持在隧道设计参数中指定的拐角角度限制之内。计算机系统可以从存储器中加载针对这些必需的/特定的隧道设计参数的默认或者保存的值,并且在用户界面上为用户提供选项,以指定或者调整加载的隧道设计参数。
随后,计算机系统可以通过将隧道设计加载成相应隧道的视觉模型,来执行方法100的步骤120。应当注意,在一些实施例中,可以在步骤110的隧道设计参数的提供之前,执行步骤120的隧道设计的加载。可以通过系统的用户经由用户界面来选择加载选项,来发起视觉模型的加载。在一些实施例中,视觉模型表示存储在本系统的存储器中或者通信地耦合到该系统的另一个系统的存储器中的现有隧道设计。所存储的隧道设计包括用于定义相应隧道中的组成部分(例如,隧道段)的位置的数据。例如,该数据可以包括隧道顶点的位置、用于定义弯曲的隧道段的圆弧半径与相邻的隧道段在哪里正切的参数、或者其它该隧道设计数据。在这些实施例中,该系统通过获取所存储的隧道设计数据,并且将该数据转换成在该系统的用户界面上显示的视觉模型中,来加载该视觉模型。可以将视觉模型显示成表示相应的隧道设计的隧道的组成部分(例如,隧道段和隧道顶点)的对象(例如,线、圆弧、点和固体表面)的组合。视觉模型的显示还可以基于隧道类型、隧道状态、在该隧道设计中存在的错误、以及与该视觉模型的显示有关的用户选项。在其它实施例中,视觉模型表示新的隧道设计,其可以在用户界面处呈现成空白模板或者其它初始模型格式。
一旦在步骤120处,系统加载了隧道模型,系统的用户可以修改该视觉模型。用户可以通过移动或者改变该视觉模型中的现有对象,或者通过向该视觉模型增加新对象,来修改该视觉模型。为了对视觉模型进行修改,在方法100的步骤130处,用户可以选择用于定义该视觉模型的一个或多个对象的点。例如,用户可以选择一个隧道段的端点(其定义了该相应的隧道段),或者用户可以选择两个隧道段之间的顶点(其定义了两个隧道段)。对于另一个例子而言,用户可以选择用户界面上的一个新点,以增加连接到现有的段端点的新段,使得该新点定义新的隧道段。用户可以通过使用诸如电子定点设备(如,鼠标、光标控制设备等等)之类的定点设备,或者任何其它指向装置(例如,在触摸屏的情况下,用户的手指),来选择该点。
一旦在步骤130处选择了该点,则在方法100的步骤140处,用户可以对定点设备进行移动,以使该点朝着期望的位置进行移动。随着定点设备使该点朝着期望的位置进行移动,该定点设备穿过多个其它位置。如果用户选择将选定点放置在穿过的位置中的一个处,则该点的经调整的布置还导致该点所定义的一个或多个对象的相应的调整的布置。例如,该点的经调整的布置可以导致:对该点定义的对象进行扩展,改变该点定义的两个对象之间的角度,改变该点定义的对象的梯度,或者改变该点定义的对象的半径。在方法100的步骤150处,随着定点设备穿过多个位置中的每一个,如果用户选择了相应的位置,则该系统提供对所选定的点和所述一个或多个定义的对象的经调整的布置的实时隧道预览(即,预览)。该实时隧道预览包括:实时地判断所述一个或多个定义的对象的经调整布置是否遵循隧道设计参数。
例如,如果所选定的点是隧道段端点,并且如果选择用于该隧道段端点的具体穿过位置将造成相应的隧道段不遵循梯度限制参数(例如,超过最大垂直梯度),则作为预览的一部分,该系统可以实时地进行该确定。在一些实施例中,如果所述一个或多个定义的对象的经调整的布置没有遵循要求,则该系统可以自动地修正预览中的该经调整的布置,使得所述一个或多个定义的对象的布置将遵循所必需的隧道设计参数。例如,这些隧道设计参数可以包括:用于通过包括下面中的一个或二者,来自动地修正不遵循这些隧道设计参数的隧道设计的选项:用于修正不遵循梯度过渡限制的段过渡的“自动平滑垂直过渡”选项,以及用于修正不遵循拐角角度限制的段之间的角度的“当超过最大角度时,使用圆弧来更换”选项。在一些实施例中,如果所述一个或多个定义的对象的经调整的布置不遵循要求,则该系统可以防止或者限制该预览更新到该调整的布置。在其它实施例中,如果所述一个或多个定义的对象的经调整的布置不遵循要求,则该系统可以在用户界面上的预览处,(例如,视觉地、可听见地等等)指示该调整的布置不遵循所必需的隧道设计参数。
基于与各个穿过的位置相对应的实时预览,在方法100的步骤160处,用户选择一个位置来提交所选定的点,以对调整的布置进行数字化。应当注意,数字化描述了选择3d空间中的一个物理点位置,将所选定的3d点位置转换成执行方法100的系统或者通信地耦合的系统可以使用的数字格式,以便使用该隧道设计来执行另外的自动功能。所选定的位置可以是用户初始时将所选定的点朝向其移动的相同期望位置,也可以不是该期望位置。该数字化将所述一个或多个定义的对象调整到视觉模型中的相应预览的、调整的布置上。如果该调整的布置不遵循所必需的/特定的隧道设计参数,则该系统可以在用户界面处指示不合格(例如,通过突出显示隧道模型的不合格部分)。此外,这种不合格的指示还可以包括其它视觉指示,例如,改变隧道段的颜色、线型或者填充类型,或者改变定点设备光标(形状、风格、类型等等)。在一些实施例中,用户可以在稍后时间重新加载该隧道设计,以修正该隧道设计中不遵循所必需的隧道设计参数的对象。随后,该系统可以对存储器中的隧道设计进行更新,以反映视觉模型中的经调整的一个或多个定义的对象。此外,该系统还可以存储原始加载的隧道设计,在其需要进行未来的隧道修改的情况下。
隧道设计构造
图1b-图1c示出了在本发明的实施例中,构建隧道设计数据以提供实时预览的示例性图。具体而言,每一个隧道设计表示具有相应的隧道简档的特定隧道类型的相应隧道。如图1b中所示,与隧道类型数据结构153中存储的给定隧道类型相对应的,在存储器中(在隧道设计结构152中)构造隧道设计数据,并将其链接到存储用于该特定隧道类型的有效详细属性(例如,隧道设计参数)的相对应的隧道简档数据结构154上。因此,隧道设计结构152使相同隧道类型的每一个隧道设计能够引用(和共享)隧道类型数据结构153中的相同隧道类型数据和隧道简档数据结构154中的相应的隧道简档数据。因此,当针对隧道设计生成视觉模型时,在隧道设计结构152的隧道几何数据结构155中简单地创建相应的隧道设计的中间线几何形状,并将其链接到共享的隧道类型数据结构153,继而被链接到与该隧道设计的隧道类型相对应的隧道简档数据结构154。隧道类型和相对应的隧道简档数据结构153、154的这种共享的构造提供了一种高效的组织,以针对(隧道几何形状数据结构155中的)该隧道的当前几何形状,来检查(隧道类型和隧道简档数据结构153、154中的)隧道设计数据。也就是说,随着用户使用视觉模型来操纵隧道设计的几何形状,则隧道设计参数与该隧道设计的当前几何形状的分离,使隧道预览能够提供对共享的隧道设计参数的实时查询,以针对隧道设计的当前几何形状来确定这些隧道设计参数的有效性。
此外,如图1c的图156中所示,本发明将存储器中的隧道的内部几何形状数据表示155(即,隧道几何形状数据结构),与作为视觉模型而在用户界面上显示的视觉表示157进行分离。这种分离实现了存储器中的内部几何形状数据表示155和视觉表示157之间的责任的分割,使得执行本发明的计算机系统可以实时地在用户界面上向用户提供反馈,并在无需损坏存储器中的该隧道设计的表示的情况下这样做。例如,存储器中的内部几何形状数据表示155和用户界面上的视觉表示157之间的这种分离,使得能在隧道预览中实时地对视觉表示157进行修饰(例如,在错误的情况下,视觉地突出显示),而无需操纵存储器中的几何形状数据表示155。
移动隧道设计的视觉模型中的对象
图1d示出了在本发明的实施例中,可以由图1a的方法100进行修改的隧道设计的视觉模型180的示例图。视觉模型180包括用于定义用户界面上的视觉模型的对象的三个点182、186、190。这些定义的对象表示相应的隧道设计的组成部分(隧道段194、195)。点1(182)是段1(194)的端点,因此,其是定义段1(194)的点。点2(186)是段1(194)和段2(195)之间的顶点,因此,其是定义段1(194)和段2(195)的点。点3(190)是段2(195)的端点,因此,其是定义段2(195)的点。
在图1d中,指向器196选择顶点(点2(186))。随后,指向器196然后将所选定的点2(186)朝着用户界面上的期望位置进行移动,使得选定的点2(186)穿过多个位置187、188、189。随着选定的点2(186)穿过所述多个位置中的每一个,提供点2以及点2(186)所定义的对象(即,段1(194)和段2(195))的实时隧道预览。如图1d中所示,如果用户选择了第一位置187,则随着选定的点2(186)穿过第一位置187,实时隧道预览显示段1(194)的经调整的布置183和段2(195)的经调整的布置191。此外,如果用户选择了第二位置188,则随着选定的点2(186)穿过第二位置188,实时隧道预览显示段1(194)的经调整的布置184和段2(195)的经调整的布置192。类似地,如果用户选择了第三位置189,则随着选定的点2(186)穿过第三位置189,实时隧道预览显示段1(194)的经调整的布置185和段2(195)的经调整的布置193。
包括作为实时隧道预览的一部分的实时确定,计算段1(194)的经调整的布置183、184、185和段2(195)的经调整的布置191、192、193是否没有遵循指定的隧道设计参数。例如,这些计算可以发现:段1(194)的经调整的布置185和段2(195)的经调整的布置193没有遵循拐角角度限制,这是由于在这些布置185、193处,段1(194)和段2(195)之间的角度将超过段之间的相应最大角度容差。在一些实施例中,由于该特定的不合格,因此隧道预览将仍然更新到位置189和调整的布置185和193,但将通过使用圆弧来替换段1(194)和段2(195)之间的拐角角度,来自动地修正预览的隧道。在其它实施例中,防止该隧道预览更新到调整的布置185、193。也就是说,指向器196移动到位置189,但隧道预览替代地保持在位置188处,并且因此段1(194)和段2(195)分别保持在调整的布置184和192处。在其它实施例中,隧道预览将仍然更新到位置189,但通过在视觉模型的隧道预览中突出地显示段1(194)、段2(195)或者二者,来视觉地指示该不合格。
在指定的参数之内扩展隧道设计的方法
图2a-图2b示出了在本发明的实施例中,在特定的隧道设计参数之内扩展隧道设计的示例性的基于计算机或者计算机实现的方法200的流程图。方法200可以是图1的概括性隧道设计方法100的实施例。计算机系统可以执行方法200来修改从计算机存储器中加载的现有隧道设计或者新隧道设计。隧道设计的修改可以包括:向隧道设计增加新的隧道对象(例如,新的隧道段),或者修改隧道设计中的现有隧道对象(例如,现有的段和顶点)。在开始方法200之前,将隧道设计加载成计算机系统的用户界面处的视觉模型。计算机渲染或者显示视觉模型结果。
方法200开始于(图2a的)步骤205,用户选择显示的视觉模型上的一个点。作为响应,计算机系统对新的隧道段进行数字化,或者对视觉模型中的现有隧道段进行移动。也就是说,该点可以是放置在视觉模型的末尾附近的新点,使得该新点定义在该视觉模型中进行数字化的新对象。例如,该点可以是新的隧道段端点,其定义在现有的隧道段的末尾处进行数字化的新隧道段。替代地,该点可以是现有的隧道点,其定义在该视觉模型中移动的一个或多个现有的对象。例如,该点可以是现有的隧道顶点,其定义进行移动以扩展视觉模型的两个隧道段(即,位于两个隧道段之间)。对于另外的例子而言,该点可以是现有的隧道段端点,其定义了进行移动以扩展视觉模型的现有隧道段。
在方法200的步骤210(图2a)处,响应于通过定点设备(例如,鼠标)的用户命令,该系统将所选定的新点或者现有点朝着用户所指示的新位置(如他想要对该点进行数字化的地方)进行移动。与用户移动定点设备相对应,系统通过使该点穿过多个其它位置,使该点朝着新位置进行移动。如果用户选择将所选定的点放置在穿过的位置中的一个处,则该点的经调整的布置也将导致对该点所定义的一个或多个对象的相应调整的布置进行数字化。在(图2a)的步骤215处,当用户仍然移动定点设备时,系统提供该定点设备所指向的(并且所选定的点穿过的)当前位置的实时视觉反馈。随着用户移动定点设备所提供的实时反馈,被称为隧道预览(即,预览)。如果用户选择将所选定的点放置在每一个穿过的位置(即,在该时刻、定点设备的当前位置),则该隧道预览实时地向用户显示该隧道设计的所获得的视觉模型看起来怎样。具体而言,在隧道预览中,系统显示了视觉模型中的相应定义对象的经调整的布置,如同用户针对每一个穿过的位置,相应地选择放置所选定的点。
在(图2a)的方法200的步骤220处,该预览还向用户实时地指示:将所述点放置在定点设备所指向的当前位置,是否造成相应定义的对象没有遵循所必需的隧道设计参数和相应的容差。为了提供该指示,系统连续地实时地计算:所选定的点穿过的每一个位置(即,定点设备的当前位置)是否遵循针对该隧道设计所指定的每一个隧道设计参数。也就是说,该系统单独地针对所定义的一个或多个对象的相应布置,实时地检查每一个相应的隧道设计参数的容差,以判断所选定的点的穿过位置是否遵循隧道设计参数。例如,如果该点是两个隧道段之间的顶点,则随着定点设备移动该顶点,系统判断移动后的顶点在穿过的位置处的布置是否遵循每一个指定的隧道设计参数的相应容差。例如,系统可以检查在穿过的位置处的顶点是否将造成段之间的角度超过隧道拐角角度限制参数的容差(段之间的最大角度)。
如果定点设备指向的当前位置遵循必需的隧道设计参数,则随后,系统/方法200转到(图2a的)步骤225,其中在步骤225处,用户可以选择定点设备所指向的当前位置。应当注意,当用户选择当前位置时,所选定的点的当前位置和相关联的隧道预览处于相同的位置。也就是说,由于当前位置遵循隧道设计参数,因此没有原因来阻止隧道预览更新到该位置。当前位置的选择导致系统根据所选定的点定义的一个或多个对象的相应预览布置,对所述一个或多个对象进行数字化。例如,如果所选定的点是隧道顶点,则用户选择当前位置导致系统根据该顶点连接的隧道段的相应的预览布置,对这些隧道段进行数字化。该数字化更新视觉模型,以便根据预览的布置来显示一个或多个对象。随后,在(图2a的)步骤280处,系统对存储器中的隧道设计进行更新,以反映新隧道对象的增加或者隧道对象的新位置。如果用户选择继续地增加或者移动更多的隧道对象,则系统继续重复方法200,其开始于(图2a的)步骤205,直到在系统界面上创建期望的隧道的视觉模型,并在存储器中更新了相对应的隧道设计为止。
如果在(图2a的)方法200的步骤220处,将所选定的点放置在定点设备指向的当前位置造成所定义的对象的相应布置没有遵循所必需的隧道设计参数和相应的容差,则系统转到(图2a的)步骤230处。例如,系统可以检查所定义的对象的布置是否没有遵循梯度限制、段之间的梯度过渡限制、转弯半径限制和拐角角度限制设计参数。在(图2a的)步骤230处,系统检查是否配置了自动地修正隧道预览中的不合格问题的选项。如果配置了该选项,则在(图2a的)步骤235处,系统基于配置的选项,对隧道预览进行修改,以自动地修正所定义的对象的不合格性。例如,如果所选定的点是隧道顶点,并且如果该隧道顶点在当前位置的布置将造成该顶点连接的两个段之间的角度超过隧道拐角限制设计参数(“段之间的最大角度”容差选项),则系统可以自动地修正预览中的不合格的角度。也就是说,如果配置了拐角角度限制设计参数,使得设置了选项“当超过最大角度时,使用圆弧来替换”或者用于拐角角度限制设计参数的其它这种选项,则系统通过使用圆弧来替换该角度,从而在隧道预览中自动地修正两个段之间的角度。对于另一个例子而言,如果所选定的点是隧道段端点,并且如果该隧道段端点在当前位置的布置将造成相应的段和连接到该相应的隧道段的另一个段之间的垂直梯度过渡,超过梯度过渡限制设计参数(“最大值±段之间的过渡”容差选项),则系统可以自动地修正不合格的隧道段的垂直梯度过渡。也就是说,如果配置了梯度过渡限制设计参数,使得设置了选项“自动地平滑垂直过渡”或者用于梯度过渡限制设计参数的其它这种选项,则系统通过对这些过渡进行平滑,从而在隧道预览中自动地修正不合格的段的垂直梯度过渡。
在系统修改隧道预览以自动地修正不合格性之后,系统返回到(图2a的)步骤215,并且系统继续提供定点设备所指向的(并且所选定的点穿过的)当前位置的实时视觉反馈。此外,在(图2a的)方法200的步骤220处,系统继续地检查预览是否指示:将所选定的点放置在定点设备指向的当前位置将造成相应的定义的对象没有遵循所必需的隧道设计参数和相应的容差。如果在(图2a的)方法200的步骤220处,将所选定的点放置在定点设备指向的当前位置将造成定义的对象的相应布置没有遵循隧道设计参数和容差,但也没有被配置为对所定义的对象的不合格性进行修正的选项,则该系统转到(图2b的)步骤240处。如图2a和图2b中所示,(图2a的)步骤230经由图2a和图2b二者上所描述的箭头232,来转到(图2b的)步骤240。如果在(图2b的)步骤240处,系统进行检查以判断是否设置了“防止隧道超过隧道参数和容差”选项,以防止创建不合格的隧道。如果进行了设置,则该选项使系统能够限制其将所选定的点移动到定点设备所指向的当前位置(如果当前位置将造成相应的定义的对象的不合格布置的话)。也就是说,隧道预览将不会将所选定的点和相应定义的对象的布置更新到定点设备所指向的当前位置,从而防止用户选择该当前位置以用于对所选定的点进行数字化。
如果没有设置该选项,则在(图2b的)步骤260处,系统允许用户将所选定的点移动到定点设备所指向的当前位置,从而在隧道预览中对所选定的点和相应定义的对象的布置进行更新。随后,系统通过在隧道预览中突出地显示(或者其它视觉效果)视觉模型中不遵循隧道设计参数的部分,来进行视觉地指示。例如,如果所选定的点的布置将造成该选定的点定义的两个段之间的角度超过隧道拐角角度限制,则系统可以对一个或两个段以及这两个段之间的角度的相应值进行突出显示(闪烁、照明等等),以说明不符合隧道设计参数。随后,方法200转到(图2b的)步骤265,其中在步骤265处,用户可以选择定点设备所指向的当前位置。应当注意,当用户选择该当前位置时,该当前位置和所选定的点的相关联的隧道预览处于相同的位置。也就是说,由于当前位置遵循隧道设计参数,因此没有原因来防止该隧道预览更新到该位置。
此外,在步骤265处,对当前位置的选择导致系统根据所选定的点定义的一个或多个对象的相应的预览布置,来对所述一个或多个对象进行数字化。例如,如果所选定的点是隧道顶点,则对当前位置的选择导致系统根据该顶点所连接的隧道段的相应的预览布置,来对这些隧道段进行数字化。该数字化更新视觉模型,以根据该预览布置来显示所述一个或多个对象。随后,在(图2b的)步骤270处,系统对存储器中的隧道设计进行更新,以反映新隧道对象的增加或者隧道对象的新位置。在(图2b)的步骤275处,系统通过在隧道预览中突出地显示或者其它方式视觉地指示视觉模型中不遵循隧道设计参数的部分。视觉指示和突出显示的视觉模型的部分,是在(图2b的)步骤260处,在隧道预览中进行视觉指示和突出显示的相同部分。如果用户选择继续地增加或者移动更多的隧道对象,则系统继续重复方法200,其开始于(图2a的)步骤205,直到在系统界面处对期望的隧道的视觉模型进行了数字化,并在存储器中更新了相对应的隧道设计为止。
如果在(图2b的)步骤240处,确定设置了“防止隧道超过隧道参数和容差”选项,则在(图2b的)步骤245处,系统防止隧道预览将所选定的点更新到定点设备所指向的当前位置,从而进一步防止隧道预览更新所定义的对象的相应布置。系统提供用于对隧道预览进行约束,以维持遵循所必需的隧道设计参数和容差的实时视觉反馈。例如,如果所选定的点是隧道段端点,并且将该隧道段端点移动到定点设备所指向的当前位置将造成该段以及连接的相邻段具有低于转弯半径限制设计参数的转弯半径,则系统防止隧道预览将该隧道段端点更新到当前位置。应当注意,由于在隧道预览中防止将所选定的点更新到定点设备所指向的当前位置,因此定点设备的位置和相关联的隧道点不是处于相同的位置,但替代地系统使隧道预览中的这两个位置之间的距离最小化。应当注意,在一些实施例中,所选定的点是用户界面上的三维空间,并且因此,该距离是在三维空间下最小化的三维距离。
随后,方法200转到(图2b的)步骤250,其中在步骤250处,用户可以对在隧道预览中当前示出的位置处(即,在最小距离位置处)的所选定的点进行数字化。例如,如果隧道预览对该隧道预览中的所选定点进行了约束,以防止更新到定点设备所指向的位置(由于该位置将造成该段和连接的相邻段具有低于转弯半径限制的转弯半径),则系统对在隧道预览中的该约束位置处的所选定的点进行数字化。另外,当前位置的选择还导致系统根据所选定的点定义的一个或多个对象的相应预览布置,对所述一个或多个对象进行数字化。该数字化更新视觉模型,以根据该预览布置来显示所述一个或多个对象。随后,在(图2b的)步骤255处,系统对存储器中的隧道设计进行更新,以反映对象的增加或者对象的新位置,如在隧道预览中所示出的。如果用户选择继续地增加或者移动更多的隧道对象,则系统继续重复方法200,其开始于(图2a的)步骤205,直到在系统界面处对期望的隧道的视觉模型进行了数字化,并在存储器中更新了相对应的隧道设计为止。
隧道设计参数
图3a-图3e示出了用于配置在本发明的实施例中使用的必需的隧道设计参数的示例性用户界面。图3a示出了用于配置用于隧道段的梯度限制的容差的示例性用户界面。在该示例性用户界面中,用户可以通过选择用于“最小值±梯度”和“最大值±梯度”的百分比,来配置梯度限制。图3b示出了用于配置用于隧道段之间的梯度过渡限制的示例性用户界面。在该示例性用户界面中,用户可以通过选择用于“最大值+/-隧道段之间的过渡”的百分比和选择用于“最小值过渡段长度”的值,来配置用于梯度过渡限制的容差。在该例子中,用户还可以选择(经由复选框)用于“自动地平滑垂直过渡”的选项。该复选框的选择将使得当段之间的过渡不遵循所配置的梯度过渡限制时,系统能够自动地修正段之间的垂直过渡(即,通过平滑该过渡)。
图3c示出了用于配置用于隧道段的转弯半径限制的示例性用户界面。在该示例性用户界面中,用户可以通过选择用于“最小转弯半径”的值,来配置用于转弯半径限制的容差。图3d示出了用于配置直线隧道段之间的拐角角度限制的示例性用户界面。在该示例性用户界面中,用户可以通过选择用于“段之间的最大角度”的度数值,来配置用于拐角角度限制的容差。在该例子中,用户还可以选择(经由复选框)用于“当超过最大角度时,使用圆弧来替换”的选项。该复选框的选择将使得当段之间的角度不遵循所配置的拐角角度限制时,系统能够自动地使用圆弧来修正段之间的角度。
图3e示出了用于(经由复选框)选择“防止隧道超过隧道参数和容差”的选项的示例性用户界面。该复选框的选择将使得系统能够以某种方式,来防止创建或者修改不遵循隧道设计参数的隧道设计,如上面所描述的。在一些实施例中,即使选择了该选项,系统也仍然允许临时的覆盖选项,其用于使用户或者某些系统操作能够在偶尔的特殊环境下进行不合格的隧道设计修改。
使用隧道拐角限制设计参数
图4a和图4b示出了在本发明的实施例中,描述用于使用隧道拐角限制设计参数的示例性方法的图。在图4a和图4b中,将隧道拐角角度设计参数(段之间的最大水平角度)设置为60度,并且将隧道转弯半径限制参数(最小转弯半径)设置为20m。在图4a的图410、412和414中,使用通过显示的光标所示出的定点设备,对新点(点3)进行移动,以布置在隧道设计的视觉模型中。新的点3的布置定义了新的段(段2),其放置在点3和现有的段1的端点(点2)之间。在图4a的图410中,点3的布置的预览显示出:段2的相应布置在段1和段2之间创建了59度的水平角度。由于59度的角度没有超过所指定的段之间的最大水平角度60度,因此段2的布置遵循隧道拐角角度设计参数。此外,没有考虑转弯半径限制设计参数,这是由于该隧道设计的视觉模型没有包括圆弧或者不需要进行更新以包括圆弧。因此,由于段2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
应当注意,为了检查段之间的最大水平角度,可以如图4c中所示地,计算两个段(段1和段2)之间的角度。也就是说,如图4c中所示,由于段1是由点“p1”(点1)和点“p2”(点2)构成的,并且段2是由点“p2”(点2)和点“p3”(点3)构成的,因此可以根据这些点来计算两个相对应的向量:vector1={xp2-xp1,yp2-yp1,zp2-zp1}和vector2={xp3-xp2,yp3-yp2,zp3-zp2}。随后,通过下面的算法来确定这两个向量之间的水平角度:angel=acos((vector1·vector2)/(length(vector1)*length(vector2))),其中将length(vector)定义成
在图4a的图412中,定点设备尝试移动点3,使得段2的相对应的布置将创建段2和段3之间的水平角度为61度(点3的左下方所示出的光标指示尝试的移动到61度,其没有显示)。因此,点3的布置将不遵循隧道拐角角度限制设计参数,这是由于段2的相对应的布置将创建超过指定的段之间的最大水平角度60度的段1和段2之间的水平角度。由于在图412中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点3的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,将点3约束到段2和段3之间的最大可允许水平角度不超过60度的位置。为了计算该场景下的点3的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。
应当注意,系统可以使定点设备和受约束位置之间的距离最小化,如图4d中所示。两个点之间的最小距离是沿着用于连接这两个点的直线。如图412中所示,这两个点(点1和点2)需要沿着与这些点所定义的原始向量(段1)的布置偏移60度的第一向量。因此,发现最小距离是沿着与期望的第二向量的右角度的直线,其中该期望的第二向量是按照与第一向量的右角度,根据点1(xp1、yp1、zp1)到鼠标定点设备(xm、ym、zm)的坐标来定义的。如图4d中所示,使用第一向量和第二向量,可以根据第一向量和第二向量的点积来确定输出坐标xp2、yp2、zp2,转而其与原始向量进行相乘。输出坐标(即,最小距离)将沿着与鼠标定点设备坐标(xm、ym、zm)相垂直的受约束向量,并且输出坐标可以用于将该段(段1)放置在受约束位置。
在图4a的图414中,如图412中所示,定点设备尝试移动点3,使得段2的相对应的布置将创建段1和段2之间的水平角度为61度。但是,在图414中,“防止隧道超过隧道参数和容差”选项被设置为“关”。此外,在图414中,“当超过最大角度时,自动使用圆弧来替换拐角角度”选项被设置为“关”,其禁止通过使用圆弧进行替换,来使系统自动地修正不合格的拐角角度。这样,系统不被配置为限制预览或者在预览中修正拐角角度,所以在预览中,对移动点3的定点设备的位置进行跟踪(即使点3在该位置的布置将创建超过隧道拐角角度限制的段1和段2之间的水平角度)。相反,系统在预览中视觉地指示视觉模型中不遵循隧道拐角限制设计参数的部分。在图414中,系统在预览中,对段2以及由于段2的布置所创建的61度的角度进行突出显示(点划线),以说明段2的布置没有遵循隧道拐角限制设计参数。
在图4b的图420、422和424中,点2是视觉模型的现有的段1和段2之间的顶点。图420、422和424中的定点设备用于对点2进行移动,以布置在该视觉模型中。点2的布置将调整段1和段2的相应布置,使得段1和段2之间的拐角角度也被调整。在图4b的图420中,点2的布置的预览显示出,段1和段2的相应调整的布置将创建59度的段1和段2之间的水平角度。由于59度的角度没有超过所指定的段之间的最大水平角度60度,因此点2的布置遵循隧道拐角角度限制设计参数。因此,由于点2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
在图4b的图422中,定点设备尝试移动点2,使得段1和段2的相对应的布置将创建61度的水平相邻角度(点2的右上方示出的光标指示尝试的移动到61度,其没有显示)。因此,点2的布置将不遵循隧道拐角角度限制设计参数,这是由于段1和段2之间的水平角度将超过指定的段之间的最大水平角度60度。由于在图422中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点2的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,将点2约束到段1和段2之间的最大可允许水平角度不超过60度的位置。为了计算该场景下的点2的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。
在图4b的图424中,如图422中所示,对定点设备进行移动以放置点2,使得段1和段2之间的相对应的布置将创建为61度的相邻水平角度。但是,在图424中,“防止隧道超过隧道参数和容差”选项被设置为“关”。此外,在图424中,“当超过最大角度时,使用圆弧来替换拐角角度”选项被设置为“关”,其防止系统通过使用圆弧进行替换,来自动地修正拐角角度。因此,系统没有被配置为对预览进行约束或者对拐角角度进行修正,所以在预览中,对移动点2的定点设备的位置进行跟踪(即使点2在该位置的布置将创建超过隧道拐角角度限制的段1和段2之间的水平角度)。相反,系统视觉地指示视觉模型中不遵循隧道拐角限制设计参数的部分。如图414中所示,系统在预览中,对段2以及由于点2的布置所创建的61度的角度进行突出显示(点划线),以说明段2的布置没有遵循隧道拐角限制设计参数。
使用隧道梯度限制设计参数
图5a和图5b示出了在本发明的实施例中,描述用于使用隧道梯度限制设计参数的示例性方法的图。在图5a和图5b中,将隧道梯度限制设计参数(最大值±垂直梯度)设置为±15%。在图5a的图510、512和514中,使用通过显示的光标所示出的定点设备,对新点(点3)进行移动,以布置在隧道设计的视觉模型中。新的点3的布置定义了新的段(段2),其放置在点3和现有的段1的端点(点2)之间。在图5a的图510中,点3的布置的预览显示出:段2的相应布置通过系统执行段2的实时上升/运行计算,并且将该计算值与±15%的最大值±垂直梯度进行比较,创建了-10%的点2和点3之间的垂直梯度。由于-10%垂直梯度没有超过所指定的最大值±垂直梯度-15%,因此段2的布置遵循隧道梯度限制设计参数。应当注意,在图510中,“自动平滑垂直过渡”选项被设置为“关”,其在图510中并不重要,这是由于没有以下面的方式来放置点3:这种方式导致段1和段2之间的梯度过渡需要进行平滑,以遵循段之间的梯度过渡限制。因此,由于段2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
应当注意,为了检查最大垂直梯度限制,可以如图5c中所示地,计算段的梯度。也就是说,如图5c中所示,梯度是角度测量值(其表示成百分比,而不是十进制度数/弧度)。使用垂直距离的改变量除以水平距离的改变量,来计算梯度。最终值表示成百分比(例如,45度具有100%的梯度,而90度具有无限的梯度),其可以用于检测该段(例如,段2)是否超过最大垂直梯度限制。
在图5a的图512中,定点设备尝试移动点3,使得段2的相对应的布置将具有-16%的梯度。因此,点3的布置将不遵循隧道梯度限制设计参数,这是由于段2的相对应的布置将超过所指定的最大值±垂直梯度±15%(在点3的左下方示出的光标指示尝试的移动到-16%,其没有显示)。由于在图512中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点3的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,将点3约束到将造成段2的最大值±垂直梯度不超过±15%的位置。为了计算该场景下的点3的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。应当注意,因为“自动平滑垂直过渡”选项被设置为“关”,所以系统不会在该预览中自动地修正由于段3的布置所造成的段1和段2之间的任何垂直梯度过渡问题(通过平滑)。
在图5a的图514中,如图512中所示,对定点设备进行移动以放置点3,使得段2的相对应的布置将造成段2具有-16%的梯度。此外,在图5a的图514中,如图512中所示,“自动平滑垂直过渡”选项被设置为“关”。但是,在图514中,“防止隧道超过隧道参数和容差”选项被设置为“关”。因此,该系统没有被配置为使预览受到隧道梯度限制的约束,所以在预览中对移动点3的定点设备的位置进行跟踪(即使点3在该位置的布置将造成段2具有超过隧道梯度限制的梯度)。系统视觉地指示视觉模型中不遵循隧道梯度限制设计参数的部分。如图514中所示,系统对段2以及由于段2的布置所创建的-16%的梯度进行突出显示(点划线),以说明段2的布置没有遵循梯度限制设计参数。
在图5b的图520、522和524中,点2是视觉模型的现有的段1和段2之间的顶点,而不是如图5a的图510、512和514中所示出的新点。图520、522和524中的定点设备用于对点2进行移动,以布置在隧道设计的视觉模型中。点2的布置将调整段2的布置,使得段2的梯度也进行调整。在图5b的图520中,点2的布置的预览显示出,段2的相应布置创建了点2和点3之间的垂直梯度-10%。由于-10%垂直梯度没有超过所指定的最大值±垂直梯度-15%,因此段2的布置遵循隧道梯度限制设计参数。此外,“自动平滑垂直过渡”选项被设置为“关”,其在图520中并不重要,这是由于没有以下面的方式来放置点2:这种方式导致点2和点3之间的梯度过渡需要进行平滑,以遵循段之间的梯度过渡限制。因此,由于段2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
在图5b的图522中,定点设备尝试移动点2,使得段2的相对应的布置将具有-16%的梯度。因此,点2的布置将不遵循隧道梯度限制设计参数,这是由于段2的相对应的布置将超过所指定的最大值±垂直梯度±15%(在点2的右上方示出的光标的显示指示尝试的移动到-16%,其没有显示)。由于在图522中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点2的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,将点2约束到段2的垂直梯度不超过±15%的位置。为了计算该场景下的点2的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。
在图5b的图524中,如图522中所示,对定点设备进行移动以放置点2,使得段2的相对应的布置将造成段2具有-16%的梯度。但是,在图524中,“防止隧道超过隧道参数和容差”选项被设置为“关”。此外,因为“自动平滑垂直过渡”选项被设置为“关”,所以系统在预览中,没有自动地修正由于点2的布置所造成的点2和点3之间的垂直梯度过渡问题(通过平滑)。因此,该系统没有被配置为利用隧道梯度限制对预览进行约束,所以在预览中对移动点2的定点设备的位置进行跟踪(即使点2在该位置的布置将造成段2具有超过隧道梯度限制的梯度)。系统视觉地指示视觉模型中不遵循隧道梯度限制设计参数的部分。如图524中所示,系统在预览中对段2以及由于段2的布置所创建的-16%的梯度进行突出显示(点划线),以说明段2的布置没有遵循梯度限制设计参数。
使用转弯半径限制设计参数
图6a和6b是在本发明的实施例中,描述用于使用隧道转弯半径限制设计参数的示例性方法的图。在图6a和图6b中,将隧道转弯半径限制设计参数(最小转弯半径)设置为20m。在图6a的图610、612和614中,使用通过显示的光标所示出的定点设备,对新点(点3)进行移动,以布置在隧道设计的视觉模型中。新的点3的布置定义了新的圆弧隧道段(段2),其放置在点3和现有的段1的端点(点2)之间。在图6a的图610中,点3的布置的预览显示出:段2的相应布置将具有21m的转弯半径。由于段2的21m的转弯半径高于20m的最小转弯半径,因此段2的布置遵循隧道转弯半径限制设计参数。因此,由于段2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
在图6a的图612中,定点设备尝试移动点3,使得段2的相对应的布置将造成段2具有17m的转弯半径(在点3的左上方示出的光标的显示指示尝试的移动到17m处,其没有显示)。因此,点3的布置将不遵循隧道转弯限制设计参数,这是由于段2的相对应的布置将造成段2具有低于所指定的最小转弯半径20m。由于在图612中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点3的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,将点3约束到将造成段2的转弯半径低于20m的位置。为了计算该场景下的点3的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。
在图6a的图614中,如图612中所示,对定点设备进行移动以放置点3,使得段2的相对应的布置将造成段2具有17m的转弯半径。但是,在图614中,“防止隧道超过隧道参数和容差”选项被设置为“关”。因此,该系统没有被配置为使预览受到隧道转弯半径限制的约束,所以在预览中对移动点3的定点设备的位置进行跟踪(即使点3在该位置的布置将造成段2具有低于隧道转弯半径限制的转弯半径)。系统视觉地指示视觉模型中不遵循转弯半径限制设计参数的部分。如图614中所示,系统在预览中对段2以及由于段2的布置所创建的17m的转弯半径进行突出显示,以说明段2的布置没有遵循隧道转弯半径限制设计参数。
在图6b的图620、622和624中,点2是视觉模型的现有的段1和段2之间的顶点,而不是如图6a的图610、612和614中所示出的新点。图6b的图620、622和624中的定点设备用于对现有的点2进行移动,以布置在隧道设计的视觉模型中。点2在移动期间在穿过的位置处的布置将调整段2的布置,使得也对段2的转弯半径进行调整。在图6b的图620中,点2的布置的预览显示出,段2的相应的布置将具有21m的转弯半径。由于段2的21m的转弯半径高于最小转弯半径20m,因此段2的布置遵循隧道转弯半径设计参数。因此,由于段2的布置遵循所有配置的隧道设计参数,因此在隧道预览中跟踪定点设备的位置(即,没有原因对该预览进行约束来防止更新到该定点设备的位置,这是由于其遵循所有的隧道设计参数)。
在图6b的图622中,定点设备尝试移动点2,使得段2的相对应的布置将造成段2具有17m的转弯半径。因此,点2的布置将不遵循隧道转弯限制设计参数,这是由于段2的相对应的布置将低于所指定的最小转弯半径20m(在点2的右下方示出的光标的显示指示尝试的移动到17m处,其没有显示)。由于在图622中,将“防止隧道超过隧道参数和容差”选项设置为“开”,因此对预览进行约束以防止更新到点2的该布置。也就是说,将定点设备放置在该尝试的位置,但在预览中,点2被约束到段2的转弯半径保持高于20m的位置。为了计算该场景下的点2的位置,系统使预览中的定点设备的位置和受约束位置之间的距离最小化。
在图6b的图624中,如图6b的622中所示,对定点设备进行移动以放置点2,使得段2的相对应的布置将造成17m的转弯半径。但是,在图624中,“防止隧道超过隧道参数和容差”选项被设置为“关”。因此,该系统没有被配置为使预览受到隧道转弯半径限制的约束,所以在预览中对移动点2的定点设备的位置进行跟踪(即使点2在该位置的布置将造成段2具有低于隧道转弯半径限制的转弯半径)。系统视觉地指示视觉模型中不遵循转弯半径限制设计参数的部分。如图624中所示,系统在预览中对段2以及由于段2的布置所创建的17m的转弯半径进行突出显示,以说明段2的布置没有遵循隧道转弯半径限制设计参数。
修正超过限制的隧道拐角角度
图7a和图7b示出了在本发明的实施例中,描述用于修正超过隧道拐角角度限制的隧道拐角角度的示例性计算机方法的图710、712、720、722。在图7a和图7b中,如同图4a和图4b中,将隧道拐角限制设计参数(段之间的最大水平角度)设置为60度,并且将隧道转弯半径限制参数(最小转弯半径)设置为20m。在图7a的图710和图7a的图712中,使用通过显示的光标所示出的定点设备,对新点(点3)进行移动,以布置在隧道设计的视觉模型中。新的点3的布置定义了新的段(段2),其放置在点3和现有的段1的端点(点2)之间。在图7a的图710中,如同图4a的图414中,定点设备穿过一个位置,使得段2在该位置的相对应的布置将创建段1和段2之间的水平角度61度,其超过了60度的限制。
在图7a的图710中,如同图4a的图414中,“当超过最大角度时,使用圆弧来自动地替换拐角角度”选项被设置为“关”,并且因此,系统将不会通过使用圆弧来替换拐角角度,从而不会在预览中自动地修正过度的拐角角度。此外,在图7a的图710中,如图4a的图414中所示,“防止隧道超过隧道参数和容差”选项被设置为“关”。因此,系统没有被配置为使用隧道拐角角度限制对预览进行约束,所以在预览中,对移动点3的定点设备的位置进行跟踪(即使点3在该位置的布置将创建超过隧道拐角角度限制的段1和段2之间的水平角度)。相反,系统视觉地指示视觉模型中不遵循隧道拐角限制设计参数的部分。在图710中,如图4a的图414中所示,系统在预览中,对段2以及由于点2的布置所创建的61度的角度进行突出显示(点划线),以说明段2的布置没有遵循隧道拐角限制设计参数。
图7a的图712示出了与图7a的图710相同的场景,但是,在图712中,“当超过最大角度时,自动地使用圆弧来替换拐角角度”选项被设置为“开”。因此,系统被配置为:当拐角角度超过隧道拐角角度限制参数(段之间的最大水平角度)时,在预览中使用圆弧来替换拐角角度。在图712中,当用户将定点设备移动到造成段2被放置成在段1和段2之间的拐角角度是61度的位置时,系统实时地确定该布置超过最大水平角度60度,并在预览中自动地使用圆弧来替换该角度。对该替换圆弧进行公式化,以便与形成该拐角角度的段相正切。如图7c中所示,通过求解下面的情形来找到该圆弧的中心:表示每一个段(段1和段2)的垂直方向的两个向量在与原始的直线段具有半径偏移距离的地方精确地相交,并利用其来相应地放置用于替换该过度拐角角度的圆弧。如果在不使用低于转弯半径限制20m的转弯半径的情况下,这些段太短以至于不能适应正切,则系统在预览中将不替换该拐角角度。在图712中,段1和段2足够长而能适应正切,并且因此,在预览中,使用圆弧来替换该拐角角度。
在预览中利用这种自动替换,用户可以继续移动点3,这是由于段2的布置不再受到隧道拐角角度限制参数的约束(由于段1不再由拐角角度进行定义,而是通过一个圆弧进行定义)。此外,由于该圆弧的转弯半径是20m,因此该圆弧遵循被设置为20m的隧道转弯半径设计参数(最小转弯半径),并且因此,预览中的视觉模型不再需要进行与段2有关的进一步修正或约束。如果用户随后使用定点设备来选择该位置,则系统对点3的当前位置进行数字化,并在视觉模型中提交段2的预览的布置(具有替换的圆弧)。因此,该视觉模型所表示的隧道设计遵循所指定的隧道设计参数。
在图7b的图720和图722中,点2是该视觉模型的现有的段1和段2之间的现有顶点。使用图720和图722中的定点设备,来在视觉模型中移动现有的点2。点2在移动期间在穿过的位置处的布置,将调整段1和段2的布置,使得段1和段2之间的拐角角度将被调整。在图7b的图720中,如同图4b的图424中,对定点设备进行移动以放置点2,使得段1和段2之间的相对应的布置将创建61度的水平角度。在图7b的图720中,如同图4b的图424中,“防止隧道超过隧道参数和容差”选项被设置为“关”。此外,在图720中,如同图424中,“当超过最大角度时,自动地使用圆弧来替换拐角角度”选项被设置为“关”,其防止系统通过使用圆弧进行替换,来自动地修正拐角角度。因此,系统没有被配置为对预览进行约束或者对拐角角度进行修正,所以在预览中,对移动点2的定点设备的位置进行跟踪(即使点2在该位置的布置将创建超过隧道拐角角度限制的段1和段2之间的水平角度)。系统视觉地指示视觉模型中不遵循隧道拐角限制设计参数的部分。如图720中所示,系统在预览中,对段2以及由于段2的布置所创建的61度的角度进行突出显示(点划线),以说明段2的布置没有遵循隧道拐角限制设计参数。
图7b的图722示出了与图720相同的场景,但是,在图722中,“当超过最大角度时,自动地使用圆弧来替换拐角角度”选项被设置为“开”。因此,系统被配置为:当拐角角度超过隧道拐角角度限制参数(段之间的最大水平角度)时,在预览中使用圆弧来替换拐角角度。在图722中,当用户将点2移动到造成段1和段2之间的拐角角度被调整为61度的位置时,系统实时地确定该布置超过最大水平角度60度。随后,系统可以在预览中自动地使用圆弧来替换该角度。对该替换进行公式化,以便与形成该拐角角度的段相正切。如果在不使用低于转弯半径限制20m的转弯半径的情况下,这些段太短以至于不能适应正切,则系统在预览中将不替换该拐角角度。在图722中,段1和段2足够长而能适应正切,并且因此,在预览中,使用圆弧来替换该拐角角度。
在预览中利用这种自动替换,用户可以继续移动点2,这是由于段2的布置不再受到隧道拐角角度限制参数的约束(由于段2不再由拐角角度进行定义,而是通过圆弧进行定义)。此外,由于该圆弧的转弯半径是20m,因此该圆弧遵循被设置为20m的隧道转弯半径设计参数(最小转弯半径),并且因此预览中的视觉模型不需要进行与段2有关的进一步修正或约束。如果用户随后使用定点设备来选择该位置,则系统对点2的当前位置进行数字化,并在视觉模型中提交段2的预览的布置(具有替换的圆弧)。因此,该视觉模型所表示的隧道设计遵循所指定的隧道设计参数。
在预览中利用这种自动替换,用户可以继续移动点2,这是由于段1和段2的布置不再受到隧道拐角角度限制参数的约束(由于它们不再由拐角角度进行定义,而是通过圆弧进行定义)。此外,由于该圆弧的转弯半径是20m,因此该圆弧遵循被设置为20m的隧道转弯半径设计参数(最小转弯半径),并且因此预览中的视觉模型不需要进行与点2有关的进一步修正或约束。如果用户随后使用定点设备来选择该位置,则系统对点2的当前位置进行数字化,并在视觉模型中提交段2的预览的布置(具有替换的圆弧)。因此,该视觉模型所表示的隧道设计遵循所指定的隧道设计参数。
修正隧道梯度过渡
图8a-图8c示出了在本发明的实施例中,描述用于修正隧道梯度过渡的计算机示例性方法的图810、图812、图820、图822、图830、图832。在图8a-图8c中,将梯度限制设计参数(最大值±垂直梯度)设置为±15%,并且将梯度过渡限制参数(最大值±段之间的过渡)设置为增量5%。此外,在图8a-图8c中,将“防止隧道超过隧道参数和容差”选项设置为“关”。在图8a的图810、图8b的图820和图8c的图830中,使用通过显示的光标所示出的定点设备,对新点(点3)进行移动,以布置在隧道设计的视觉模型中。新的点3的布置定义了新的段(段2),其放置在点3和段1的端点(点2)之间。在图8a的图810中,点3的布置的预览显示出:段2的相应的布置创建了段1和段2之间的垂直梯度-15%。在图8b的图820中,点3的布置的预览显示出:段2的相应的布置创建了段1和段2之间的垂直梯度-12%。在图8c的图830中,点3的布置的预览显示出:段2的相应的布置创建了段1和段2之间的垂直梯度-8%。因此,图810、图820和图830超过了所配置的最大值±增量为5%的段之间的过渡。由于“防止隧道超过隧道参数和容差”选项和“自动平滑垂直过渡”选项均被设置为“关”,因此系统没有被配置为对预览进行约束或者修正不合格的梯度,所以在预览中,将定点设备的位置移动到点3,即使点3在该位置的布置将造成段2具有超过梯度过渡限制参数的梯度。相反,系统视觉地指示该视觉模型中不遵循隧道梯度过渡限制参数的部分,如在图810、图820和图830中通过对段2和不合格的梯度进行突出显示(点划线)所示出的。
图8a的图812、图8b的图822和图8c的图832分别示出了与图8a的图810、图8b的图820和图8c的图830相同的场景,除了现在将选项“自动平滑垂直过渡”设置为“开”。也就是说,系统现在被配置为在图812、图822和图832中,自动地平滑过度的梯度过渡。因此,在图812、图822和图832中,系统通过将段1和段2之间的相应的过渡转换分割成更小的相同大小的梯度过渡(其插入有8m长的过渡段(如通过设置成8m的“最小过渡段长度”参数所指定的)),来执行过度梯度转换的自动平滑。为了确保段1和段2之间的最大值±梯度过渡不超过指定的容差5%的增量,系统计算所需要的最小长度段(一个或多个)的数量。随后,系统插入新的使这些段(段1和段2)之间的垂直梯度过渡相等的最小长度段。在与当前的梯度过渡点具有相同的距离处,连接这些新的段。
为了计算最小长度段的数量:最小长度段的数量=ceiling(绝对值(段之间的当前梯度过渡)/最大值±段之间的梯度过渡)-1。应当注意,在图8a-图8c中,将最大值±段之间的梯度过渡设置为增量5%。
为了计算段之间的新梯度过渡:新的梯度过渡段=当前梯度过渡/(最小过渡段长度+1)。应当注意,在图8a-图8c中,最小过渡段长度=8m。
用此方式,在图8a的图812中,自动地生成两个新段(段a和段b)以平滑垂直过渡。它们可以基于下面的公式来计算:段1=0%梯度,段2=-15%梯度,2个隧道段之间的当前梯度过渡=-15%,需要的最小长度段的数量=ceiling(绝对值(-15%)\5%)-1=2。这些段之间的新梯度过渡将是=-15%/(2+1)=-5%。新段的梯度将是:段a=-5%和段b=-10%。
在图8b的图822中,自动地生成两个新段(段a和段b)以平滑垂直过渡。它们基于下面的公式来计算:段1=0%梯度,段2=-12%梯度,2个隧道段之间的当前梯度过渡=-12%,需要的最小长度段的数量=ceiling(绝对值(-12%)\5%)-1=2。这些段之间的新梯度过渡将是=-12%/(2+1)=-4%。新段的梯度将是:段a=-4%和段b=-8%。
在图8c的图832中,自动地生成一个新段(段a)以平滑垂直过渡。它们基于下面的公式来计算:段1=0%梯度,段2=-8%梯度,2个隧道段之间的当前梯度过渡=-8%,需要的最小长度段的数量=ceiling(绝对值(-8%)\5%)-1=1。这些段之间的新梯度过渡将是=-8%/(1+1)=-4%。新段的梯度将是:段a=-4%。
在预览中利用这种自动替换,用户可以继续移动点3,这是由于段2的布置不再受到梯度限制和梯度过渡限制参数的约束。随后,如果用户随后使用定点设备来选择该位置,则系统对点3的当前位置进行数字化,并在视觉模型中提交段2的预览的布置(图812和图822中的新段a和b,以及图832中的新段a)。因此,图8a-图8c中的视觉模型所表示的隧道设计遵循所指定的隧道设计参数。
数字处理环境
图9是根据本发明的实施例,可以用于在文档(设计系统文件)中设计隧道的基于计算机的系统920的简化框图。系统920包括总线925。总线925服务于系统920的各个部件之间的相互连接器。输入/输出设备接口928连接到总线925,以将诸如键盘、鼠标、显示器、扬声器等等之类的各种输入和输出设备连接到系统920。中央处理单元(cpu)922连接到总线925,并且提供用于计算机指令的执行。存储器927为用于执行计算机指令的数据,提供易失性存储。存贮设备926提供用于软件指令(例如,操作系统(没有示出))的非易失性存储。具体而言,存储器927和/或存贮设备926配置有程序指令,其实现:(a)用于上面在图1a-2b中详细描述的设计隧道的方法100-200;(b)图3a-图3e的用户界面;以及(c)图4a-图8c的操作。此外,系统920还包括网络接口921,以连接到本领域已知的各种网络中的任何一种,包括广域网(wan)和局域网(lan)。
第一模块923也另外连接到总线925。第一模块923被配置为将隧道设计加载成用户界面上的视觉模型。第一模块923可以通过本领域已知的任何方式来提供加载功能。例如,第一模块923可以引用在存贮设备926或者存储器927上存储的隧道设计数据。对于另外的例子而言,第一模块923可以经由网络接口921和/或输入/输出设备接口928,从通信地耦合到系统920的任何点加载隧道设计。
此外,系统920还包括第二模块924,后者通信地/操作性耦合到第一模块923。第二模块924被配置为:提供针对于隧道设计的视觉模型做出增加或者修改的实时隧道预览。第二模块924可以通过本领域已知的任何方式来提供实时功能。例如,第二模块924可以将用于该视觉模型的实时显示数据(例如,像素数据)存储在存贮设备926或存储器927上。对于另一个例子而言,第二模块924可以通过经由总线925的cpu922的方式,计算实时预览中的对象的布置是否遵循隧道设计参数。对于另外的例子而言,第二模块924可以经由网络接口921和/或输入/输出设备接口928,对来自通信地耦合到系统920的任何点的实时预览进行缓存。
应当理解的是,本文所描述的示例性实施例可以以多种不同的方式来实现。在一些实例中,本文所描述的各种方法和机器均可以通过物理、虚拟或者混合通用计算机(例如,计算机系统920)来实现。计算机系统920可以转换成执行本文描述的方法的机器,例如,通过将软件指令加载到存储器927或者非易失性存贮设备926中以便由cpu922来执行。此外,虽然将第一模块923和第二模块924示出成单独的模块,但在一个示例性实施例中,可以使用各种各样的配置来实现这些模块。
系统920和其各种组件可以被配置为执行本文所描述的本发明的任何实施例。例如,系统920可以被配置为执行上面结合图1a-图2b所描述的方法100-200,并支持图3a-图8c的用户界面和操作。在一个示例性实施例中,可以利用存储在存储器927和/或存贮设备926上的软件来实现第一模块923和第二模块924。在该示例性实施例中,具有存储在存储器927和/或存贮设备926上的计算机代码指令的cpu922和存储器927,实现用于将隧道设计加载成视觉模型的第一模块。此外,系统920的组件实现操作性耦合到第一模块的第二模块,其中第二模块被配置为提供针对视觉模型的增加和修改的实时预览。
图10示出了可以实现本发明的实施例的计算机网络环境1060。在该计算机网络环境1060中,服务器31通过通信网络32来链接到客户端33a-n。环境1060可以用于允许客户端33a-n单独地或者与服务器31组合地,执行上面所描述的方法中的任何一种。应当理解的是,可以以多种不同的方式来实现上面所描述的示例性实施例。在一些实例中,本文所描述的各种方法和机器均可以由物理、虚拟或混合通用计算机、或者诸如计算机环境1060之类的计算机网络环境来实现。
本发明的实施例或方面可以用硬件、固件或软件的形式来实现。当使用软件实现时,可以将软件存储在任何非暂时性计算机可读介质上,其中该非暂时性计算机可读介质被配置为使处理器加载软件或者其指令的子集。随后,处理器执行这些指令,并被配置为操作装置或者使装置以本文所描述的方式进行操作。
此外,本文将固件、软件、例行程序或者指令描述成执行数据处理器的某些动作和/或功能。但是,应当理解的是,本文所包含的这些描述只是为了方便起见,并且事实上这些动作源自于计算设备、处理器、控制器或者执行该固件、软件、例行程序、指令等等的其它设备。
应当理解的是,流程图、框图和网络图可以包括更多或更少的元素、可以按不同方式排列、或者可以按不同方式表示。此外,还应当理解的是,某些实现可以指定框图和网络图,以及以特定的方式来实现示出这些实施例的执行的框图和网络图的数目。
因此,另外的实施例还可以用各种各样的计算机架构、物理计算机、虚拟计算机、云计算机和/或其某种组合来实现,并且因此,本文所描述的数据处理器旨在用于举例目的,而不是限制这些实施例。
虽然已经参考本发明的示例性实施例具体地显示和描述了本发明,但本领域普通技术人员应当理解,可以在其中进行形式和细节方面的多种改变,而不脱离由所附权利要求书涵盖的本发明的保护范围。