Openroads designer 路廊的参数化方法大全

guanghui7 发表了文章 • 1 个评论 • 114 次浏览 • 2018-03-15 15:55 • 来自相关话题

本篇文章将介绍如何使用路廊模板的参数化功能方法。
路廊模板的参数化主要体现在了定义控制点的约束关系,使用参数替代约束值,使用display rule 控制组件以及边界条件控制边坡 这几个方面。

1.定义控制点的约束关系:当我们在template 对话框中创建控制点时,大家可以发现点的坐标都是通过父节点的坐标定义的,这样定义的方式就使得整个模板的控制点是关联在一起的,从而达到修改一个点相关点能自动变化的功能。同时,坐标的约束关系也提供了竖向,横向及坡度等多种约束关系(更多内容见模板的帮助文档),通过这些不同的约束关系使得控制点的自动变化方式更加多样化。






通过 点选constraints 可以查看点与点的约束关系,如下图






2.使用参数替代约束值: 在设置约束的具体值时,我们可以发现下面有一个Label 下拉菜单,你可以选择下拉菜单中已经定义好的label,这样当前约束的值就会被label的内容所替换。如果你想新建一个label,可以直接在改下拉菜单中输入名字,然后系统会自动把这个新的label加入到模板中,同时当前的约束值将作为这个label的默认值。






同时你也可以在当前模板标签下查看有哪些点使用了哪些label,如下图






定义好这些label之后,最重要的用途就是通过“Create Parametric Constaint” 命令实现模板的自动变化,如下图所示






点击这个命令后,出现如下对话框










在这个对话框里,我们可以在不同的桩号范围内,指定label的值的变化,从而达到了模板根据参数变化的目的。


3.使用display rule 控制组件:前面的label方式只能达到控制模板的点的变化,但是对于模板突变的情况无法应对,例如对于道路模板的层数的改变等,这时候就需要使用display rule 了。
首先右键点击模板组件,然后选择set component display rules ,如下图











在 Display Rules 的定义对话框中,我们可以添加新的rule,也可以编辑和删除已有的rule。下面是新建和编辑的对话框,







在这个对话框里,我们可以定义水平竖直等多种类型的显示规则,例如我们可以是组件的显示依赖于边坡的竖向高度范围,这样当边坡达到该范围是就会自动触发改构件的显示规则,从而达到模板构件的变化。
同时还可以组合使用构件里的规则,可以在Conditional Expression for XXX Component (XXX构件的条件表达式)中来定义组合规则。具体的使用方法可以参考中国优先的wiki。


4.point control :
通过使用point control 的功能可以实现对模板上的点的三维位置进行特殊的控制,例如可以控制路廊上的点沿着某一条几何线来变化,如下所示







打开命令对话框后,然后按照提示选择起始位置,然后输入控制的描述,然后选择需要控制的模板关键点,然后选择模式(此处为平面,也可以选择纵断面和同时),然后选择路廊外一条带特征定义的直线,然后输入偏移值,确定后,程序就会根据你的输入值来控制模板点的变化。

5.end condition and except
(未完待续)




  查看全部

本篇文章将介绍如何使用路廊模板的参数化功能方法。
路廊模板的参数化主要体现在了定义控制点的约束关系,使用参数替代约束值,使用display rule 控制组件以及边界条件控制边坡 这几个方面。

1.定义控制点的约束关系:当我们在template 对话框中创建控制点时,大家可以发现点的坐标都是通过父节点的坐标定义的,这样定义的方式就使得整个模板的控制点是关联在一起的,从而达到修改一个点相关点能自动变化的功能。同时,坐标的约束关系也提供了竖向,横向及坡度等多种约束关系(更多内容见模板的帮助文档),通过这些不同的约束关系使得控制点的自动变化方式更加多样化。

Image1.png


通过 点选constraints 可以查看点与点的约束关系,如下图

Image2.png


2.使用参数替代约束值: 在设置约束的具体值时,我们可以发现下面有一个Label 下拉菜单,你可以选择下拉菜单中已经定义好的label,这样当前约束的值就会被label的内容所替换。如果你想新建一个label,可以直接在改下拉菜单中输入名字,然后系统会自动把这个新的label加入到模板中,同时当前的约束值将作为这个label的默认值。

Image3.png


同时你也可以在当前模板标签下查看有哪些点使用了哪些label,如下图

Image4.png


定义好这些label之后,最重要的用途就是通过“Create Parametric Constaint” 命令实现模板的自动变化,如下图所示

Image5.png


点击这个命令后,出现如下对话框

Image6.png


Image7.png

在这个对话框里,我们可以在不同的桩号范围内,指定label的值的变化,从而达到了模板根据参数变化的目的。


3.使用display rule 控制组件:前面的label方式只能达到控制模板的点的变化,但是对于模板突变的情况无法应对,例如对于道路模板的层数的改变等,这时候就需要使用display rule 了。
首先右键点击模板组件,然后选择set component display rules ,如下图

Image8.png


Image9.png


在 Display Rules 的定义对话框中,我们可以添加新的rule,也可以编辑和删除已有的rule。下面是新建和编辑的对话框,

Image10.png



在这个对话框里,我们可以定义水平竖直等多种类型的显示规则,例如我们可以是组件的显示依赖于边坡的竖向高度范围,这样当边坡达到该范围是就会自动触发改构件的显示规则,从而达到模板构件的变化。
同时还可以组合使用构件里的规则,可以在Conditional Expression for XXX Component (XXX构件的条件表达式)中来定义组合规则。具体的使用方法可以参考中国优先的wiki。


4.point control :
通过使用point control 的功能可以实现对模板上的点的三维位置进行特殊的控制,例如可以控制路廊上的点沿着某一条几何线来变化,如下所示

Image11.png



打开命令对话框后,然后按照提示选择起始位置,然后输入控制的描述,然后选择需要控制的模板关键点,然后选择模式(此处为平面,也可以选择纵断面和同时),然后选择路廊外一条带特征定义的直线,然后输入偏移值,确定后,程序就会根据你的输入值来控制模板点的变化。

5.end condition and except
(未完待续)




 

DgnPlatform API - Overview

回复

guanghui7 发起了问题 • 1 人关注 • 0 个回复 • 341 次浏览 • 2018-02-19 11:57 • 来自相关话题

乱弹正向设计软件开发

guanghui7 发表了文章 • 1 个评论 • 209 次浏览 • 2018-02-14 14:43 • 来自相关话题

     在BIM的浪潮下,国内的各大设计院都提出了自己的解决方案,其中正向设计这个名词也是被多次提到,但要达到正向设计我们还有很远的距离。
  
    在BIM时代,对于设计人员来说可能是从二维到三维,从图纸到信息模型的转变。别看这两点差别,因为现在大家还在这个差别 上没有明确的观点。例如三维和二维,有的人说我现在就可以通过二维图纸生成三维模型,而且是包含设计信息的模型,这个就是BIM了,我承认从结果来看,这样做是满足了BIM的信息模型的要求,但是我觉得在观念上是不对的,例如在编程界的面向对象的发展一样,使用C语言也可以实现面向对象的,为什么后来还要出现C++,object-c呢,而且C++在很多语言设计上还没有c合理,我觉得C++最大的作用就是改变了开发人员的思维,把以前面向过程的思维转到了面向对象的思维,这才是推动软件发展的直接动力,映射到工程界也是这样,只有我们的工程设计人员真正的从三维的角度去考虑设计问题才是真正的走向正向设计的道路。


















        说过了观念问题,再从软件的角度说说正向设计。在以前的路桥行业软件,大家都是直接按照图纸的要求来设计软件的,也就是俗称的套图版,这样的方法可以帮助设计人员快速的完成出图工作,这个可以可以理解为工程界的面向过程,这样的设计软件只解决了工程设计中的一个出图过程的问题,后来大家又在这个基础上通过图纸生成来三维模型,用于后续的施工模拟,方案展示和运维等。这样设计软件的思维就把BIM割裂成了一个个过程,设计人员在不同的过程中完成自己的工作,这样的方式就无法满足BIM设计中的协同设计了,所以大家开始以三维模型为中心来研发软件了,无论是设计,施工还是运营大家都是从三维模型出发,然后在完成自己的工作流。以道路设计软件为例,现在设计人员首先要做的是建立一个符合真是三维世界的道路信息模型,在创建好模型之后,后续的工作流都是围绕着三维模型开展。比如说出图,我们可以通过三维模型来切出二维平面图,然后标注信息。在比如施工模拟,根据施工的需求对模型进行分割,然后按照施工顺序模拟施工。

        最后说一下设计软件的正向设计开发。在目前市面上大部分的三维设计软件在三维建模上都有了各自较成熟的套路,毕竟三维模型是与真实的模型是一致的,这个目标很明确,但在出图上这些三维软件和二维时代的工具还相差甚远,首先是出图的标准不统一,其次采用的技术的限制。因为在三维时代,图纸都是切出来的,但是对于一个三维几何体来说,切出来的对象的标注是一个难点,例如一个椎体不同的角度切得到的平面图形是不一样的。还有一个难点就是切图是否需要动态的。这里强调的是动态,因为在三维软件里大家习惯了模型实时的动态联动,所以对图纸也要求能动态的联动,这个对于编程上就带来的困难,因为现在的模型越来越大,为了达到动态的效果程序上一般采用的是增量式的并行的方式来处理,所以在代码的设计上会需要多线程缓存池等多种技术手段,我认为在建模上采用这些方式能够帮助设计人员实施的观察到设计结果的变化,但在出图上我觉得有些浪费算力,首先我承认这种事实的方式是先进,但对于出图来说,在设计已经定型后这种需求并不是很明显,我觉得通过一个刷新机制就能够解决出图的更新,而且程序更稳定,尤其是在设计的后期,大家也不愿意看到出图时候导致程序崩溃而破坏了设计文件吧。


  查看全部
     在BIM的浪潮下,国内的各大设计院都提出了自己的解决方案,其中正向设计这个名词也是被多次提到,但要达到正向设计我们还有很远的距离。
  
    在BIM时代,对于设计人员来说可能是从二维到三维,从图纸到信息模型的转变。别看这两点差别,因为现在大家还在这个差别 上没有明确的观点。例如三维和二维,有的人说我现在就可以通过二维图纸生成三维模型,而且是包含设计信息的模型,这个就是BIM了,我承认从结果来看,这样做是满足了BIM的信息模型的要求,但是我觉得在观念上是不对的,例如在编程界的面向对象的发展一样,使用C语言也可以实现面向对象的,为什么后来还要出现C++,object-c呢,而且C++在很多语言设计上还没有c合理,我觉得C++最大的作用就是改变了开发人员的思维,把以前面向过程的思维转到了面向对象的思维,这才是推动软件发展的直接动力,映射到工程界也是这样,只有我们的工程设计人员真正的从三维的角度去考虑设计问题才是真正的走向正向设计的道路。


timg.jpg


timg2.jpg


111.jpg



        说过了观念问题,再从软件的角度说说正向设计。在以前的路桥行业软件,大家都是直接按照图纸的要求来设计软件的,也就是俗称的套图版,这样的方法可以帮助设计人员快速的完成出图工作,这个可以可以理解为工程界的面向过程,这样的设计软件只解决了工程设计中的一个出图过程的问题,后来大家又在这个基础上通过图纸生成来三维模型,用于后续的施工模拟,方案展示和运维等。这样设计软件的思维就把BIM割裂成了一个个过程,设计人员在不同的过程中完成自己的工作,这样的方式就无法满足BIM设计中的协同设计了,所以大家开始以三维模型为中心来研发软件了,无论是设计,施工还是运营大家都是从三维模型出发,然后在完成自己的工作流。以道路设计软件为例,现在设计人员首先要做的是建立一个符合真是三维世界的道路信息模型,在创建好模型之后,后续的工作流都是围绕着三维模型开展。比如说出图,我们可以通过三维模型来切出二维平面图,然后标注信息。在比如施工模拟,根据施工的需求对模型进行分割,然后按照施工顺序模拟施工。

        最后说一下设计软件的正向设计开发。在目前市面上大部分的三维设计软件在三维建模上都有了各自较成熟的套路,毕竟三维模型是与真实的模型是一致的,这个目标很明确,但在出图上这些三维软件和二维时代的工具还相差甚远,首先是出图的标准不统一,其次采用的技术的限制。因为在三维时代,图纸都是切出来的,但是对于一个三维几何体来说,切出来的对象的标注是一个难点,例如一个椎体不同的角度切得到的平面图形是不一样的。还有一个难点就是切图是否需要动态的。这里强调的是动态,因为在三维软件里大家习惯了模型实时的动态联动,所以对图纸也要求能动态的联动,这个对于编程上就带来的困难,因为现在的模型越来越大,为了达到动态的效果程序上一般采用的是增量式的并行的方式来处理,所以在代码的设计上会需要多线程缓存池等多种技术手段,我认为在建模上采用这些方式能够帮助设计人员实施的观察到设计结果的变化,但在出图上我觉得有些浪费算力,首先我承认这种事实的方式是先进,但对于出图来说,在设计已经定型后这种需求并不是很明显,我觉得通过一个刷新机制就能够解决出图的更新,而且程序更稳定,尤其是在设计的后期,大家也不愿意看到出图时候导致程序崩溃而破坏了设计文件吧。


 

OpenRoadDesigner 标注界面的功能介绍:平面标注

tumubaiyang 回复了问题 • 2 人关注 • 1 个回复 • 962 次浏览 • 2018-01-19 17:24 • 来自相关话题

帮助文档总体介绍

ancemohab 回复了问题 • 3 人关注 • 2 个回复 • 519 次浏览 • 2018-01-11 08:38 • 来自相关话题

OpenRoads Designer CONNECT Edition : Civil Settings

回复

guanghui7 发起了问题 • 1 人关注 • 0 个回复 • 718 次浏览 • 2017-02-08 11:03 • 来自相关话题

OpenRoads Designer CONNECT Edition

回复

guanghui7 发起了问题 • 1 人关注 • 0 个回复 • 950 次浏览 • 2017-02-08 11:01 • 来自相关话题

OpenRoads Designer CONNECT Edition Help

回复

guanghui7 发起了问题 • 1 人关注 • 0 个回复 • 1126 次浏览 • 2017-02-08 10:59 • 来自相关话题

基于C#的Addin方式的MicroStation二次开发 中级教程[2] ---元素Element

tumubaiyang 回复了问题 • 4 人关注 • 1 个回复 • 1121 次浏览 • 2016-12-22 23:08 • 来自相关话题

基于C#的Addin方式的MicroStation二次开发 快速入门系列

tumubaiyang 回复了问题 • 2 人关注 • 1 个回复 • 1175 次浏览 • 2016-12-20 09:40 • 来自相关话题