CN117708962A - 一种基于Rhinoceros二三维一体化设计的方法及系统 - Google Patents
一种基于Rhinoceros二三维一体化设计的方法及系统 Download PDFInfo
- Publication number
- CN117708962A CN117708962A CN202410160551.8A CN202410160551A CN117708962A CN 117708962 A CN117708962 A CN 117708962A CN 202410160551 A CN202410160551 A CN 202410160551A CN 117708962 A CN117708962 A CN 117708962A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- layer
- dimensional model
- model object
- line
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 241000282806 Rhinoceros Species 0.000 title claims abstract description 43
- 238000013461 design Methods 0.000 title claims abstract description 41
- 238000010586 diagram Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明属于建筑模型展示技术领域,公开了一种基于Rhinoceros二三维一体化设计的方法及系统,方法包括:选择三维模型对象;生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图;创建连接体,所述连接体与三模模型对象绑定,并存储二维几何对象。本发明基于Rhinoceros软件,通过优化和创新其二维出图功能,提高软件的二维出图效率和准确性。同时所述连接体建立三维与二维之间的高效联动,实现二三维一体化设计,确保图模一致性。
Description
技术领域
本发明属于建筑模型展示技术领域,特别涉及一种基于Rhinoceros二三维一体化设计的方法及系统。
背景技术
Rhinoceros是一款基于Nurbs的三维建模软件,对造型复杂的曲面具有很高的建模效率,在园林景观设计领域应用广泛。但由于Rhinoceros生成二维图纸流程繁琐、功能简单,且当三维模型发生改变时无法自动更新与之关联的二维图纸,因此Rhinoceros主要用于前期方案模型设计,后期则通过CAD软件输出二维图纸,导致三维模型与二维图纸不关联,二三维分离设计的问题。
现有园林景观设计流程通常是在Rhinoceros中创建三维模型,待设计方案确定后,设计师在CAD软件中手动绘制二维图纸,并依据设计师的空间想象和设计经验完成对园林景观工程的关键剖面进行细部设计。
当前,园林景观设计内容愈发复杂,传统二三维分离设计的方式不仅操作繁琐、耗时长、工作量大,人力损耗高,一旦三维模型发生改变,设计师需手动对相关联的二维图纸进行修改,极易出错,难以做到图模一致,不满足高质量设计的要求,还包括具体问题如下:
(1)在Rhinoceros中,创建二维图纸功能单一、操作流程繁琐,尤其是剖面轮廓线的创建,Rhinoceros提供的裁剪平面工具一旦创建,软件视口中的所有三维模型都会被剖切,无法根据设计师需求选择一个或多个三维模型进行剖切,创建裁剪平面后还需在预览窗口中,挨个手动框选需要投影的剖面,再将剖面投影到XY平面上。二维图纸创建后,当模型发生改变时,已创建的二维图纸无法根据模型变更自动更新,需重复整个出图流程,极大的增加设计师的工作量。
(2)在园林景观设计中,对一个三维模型往往需要多次、多角度进行剖切,Rhinoceros提供的裁剪平面工具一次只能创建一个剖面,无法同时从不同位置、不同角度创建多个剖面,工具使用效率低下。
(3)Rhinoceros只能沿坐标轴平面创建裁剪平面,无法根据用户自定义方向创建裁剪平面,用户需通过手动旋转或输入角度的方式调整裁剪平面来控制剖切方向和剖视方向,这种方式不仅操作繁琐,且极易出现剖切不到位的情况。
(4)由于Rhinoceros创建二维图纸的功能单一、操作流程繁琐,因此现有园林景观设计流程通常是在Rhinoceros中创建三维模型,在CAD软件中绘制二维图纸。在不同的软件平台进行三维模型和二维图纸设计,造成三维模型和与之对应的二维图纸失去关联,一旦三维模型发生变化,设计师需手动调整甚至重新绘制二维图纸,造成重复性工作,且极易发生错误,难以做到图模一致。
同时,由于需要利用两种不同软件平台完成设计流程,因此三维模型创建和二维施工图绘制通常不是同一人,容易出现设计师对三维模型理解不到位,绘制的二维图纸不能完全还原三维模型,导致项目最终呈现效果与前期效果图不一致的情况发生。
(5)由于无法使用同一平台完成整个设计流程,导致用户需要采购不同的软件平台,提高了用户的软件采购成本。同时,一个设计师难以掌握2到3种软件,因此,一个项目的三维模型创建和二维图纸绘制通常需要多人完成,提高了用户的人力成本。
发明内容
本发明的目的在于克服Rhinoceros软件中创建二维图纸功能单一以及三维模型和二维图纸不关联的问题,提供一种基于Rhinoceros二三维一体化设计的方法及系统,采用图层存储和管理所有几何对象,实现二维图纸随三维模型的变更而自动更新,做到图模一致。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于Rhinoceros二三维一体化设计的方法,包括:
选择三维模型对象;
生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;
生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图;所述三视图包括主视图、俯视图和左视图;
创建连接体,存储基于所述三维模型对象生成的二维几何对象;所述连接体绑定所述三维模型对象;所述二维几何对象包括所述剖面线、所述剖面轮廓线、所述剖面图、所述视图投影曲线和所述三视图。
作为本发明的优选方案,所述三维模型对象为一个或多个几何实体,或整个场景的三维模型。
作为本发明的优选方案,所述连接体为Rhinoceros中的图层。
作为本发明的优选方案,所述图层的类型包括父图层和子图层,所述父图层绑定所述三维模型对象ID,所述子图层嵌套在所述父图层中。
作为本发明的优选方案,当所述父图层存储所述剖面线和所述剖面轮廓线时,所述子图层存储所述剖面图;当所述父图层存储视图投影曲线时,所述子图层存储所述三视图。
作为本发明的优选方案,图层存储的信息包括:所述二维几何对象、所述三维模型对象ID、图层ID、图层名称和图层类型,所述图层ID为所述图层的唯一标识符。
作为本发明的优选方案,还包括当生成剖面轮廓线位置的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的剖面轮廓线和与原父图层嵌套的子图层中的剖面图,基于原父图层中的剖面线对变更后的三维模型对象进行剖切,生成新的剖面轮廓线并存储于原父图层中,基于新的剖面轮廓线生成新的剖面图并存储于原子图层中。
作为本发明的优选方案,还包括当生成三视图的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的视图投影曲线和与原父图层嵌套的子图层中的三视图,生成变更后的三维模型对象的视图投影曲线并存储于原父图层,基于新的视图投影曲线生成新的三视图并存储于原子图层中。
作为本发明的优选方案,在所述剖面线位置处生成所述剖面轮廓线时,设置所述剖面线的间距和数量,进行单一或批量剖切,一次性生成单个或多个所述剖面轮廓线。
基于相同的构思,还提出一种基于Rhinoceros二三维一体化设计的系统,用于实现上述任意一项所述一种基于Rhinoceros二三维一体化设计的方法,包括:
三维模型对象选择模块,选择三维模型对象;
连接体模块,绑定所述三维模型对象,并存储基于所述三维模型对象生成的二维几何对象;
剖面图生成模块,生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;
三视图生成模块,生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图。
与现有技术相比,本发明的有益效果:
本发明对Rhinoceros软件进行二次开发,将几何对象存储在特定的连接体中,并进行管理、编辑和修改,建立三维模型与二维图纸间的高效联动,使二维图纸可以随三维模型的变更自动更新,提高二维出图效率和出图准确性,实现图模一致。
附图说明
图1为本发明的一种基于Rhinoceros二三维一体化设计的方法的流程示意图;
图2为实施例2的一种基于Rhinoceros二三维一体化设计的方法的剖面线生成示意图;
图3为实施例2的一种基于Rhinoceros二三维一体化设计的方法的批量剖面线生成示意图;
图4为实施例2的一种基于Rhinoceros二三维一体化设计的方法的剖面图生成示意图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例1
一种基于Rhinoceros二三维一体化设计的方法,包括:
选择三维模型对象;
生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取所述剖面图;
生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图;
创建连接体,存储基于所述三维模型对象生成的二维几何对象;所述连接体绑定所述三维模型对象;所述二维几何对象包括所述剖面线、所述剖面轮廓线、所述剖面图、所述视图投影曲线和所述三视图。
作为本发明的优选方案,所述三维模型对象为一个或多个几何实体,或整个场景的三维模型。
作为本发明的优选方案,所述连接体为Rhinoceros中的图层。
作为本发明的优选方案,所述图层的类型包括父图层和子图层,所述父图层绑定所述三维模型对象的三维模型对象ID,所述子图层与所述父图层为嵌套关系。
作为本发明的优选方案,当所述父图层存储所述剖面线和所述剖面轮廓线时,所述子图层存储所述剖面图;当所述父图层存储视图投影曲线时,所述子图层存储所述三视图。
作为本发明的优选方案,图层存储的信息包括:所述二维几何对象、图层ID、图层名称和图层类型,所述图层ID为所述图层的唯一标识符,在Rhinoceros中,每个图层都有一个唯一的标识符,称为图层ID(Layer ID)。这个ID是在图层创建时由Rhino自动生成的,并且是全局唯一的。图层ID的生成是自动处理的,用户无需手动指定或管理图层ID。图层ID对于在程序中进行准确的图层引用非常有用。通过使用图层ID,可以避免仅依赖于图层名称来引用图层。
作为本发明的优选方案,还包括当生成剖面轮廓线位置的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的剖面轮廓线和与原父图层嵌套的子图层中的剖面图,基于原父图层中的剖面线对变更后的三维模型对象进行剖切,生成新的剖面轮廓线并存储于原父图层中,基于新的剖面轮廓线生成新的剖面图并存储于原子图层中。
作为本发明的优选方案,还包括当生成三视图的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的视图投影曲线和与原父图层嵌套的子图层中的三视图,生成变更后的三维模型对象的视图投影曲线并存储于原父图层,基于新的视图投影曲线生成新的三视图并存储于原子图层中。
作为本发明的优选方案,在所述剖面线位置处生成所述剖面轮廓线时,设置所述剖面线的间距和数量,进行单一或批量剖切,一次性生成单个或多个剖面轮廓线。
基于相同的构思,还提出一种基于Rhinoceros二三维一体化设计的系统,用于实现上述任意一项所述一种基于Rhinoceros二三维一体化设计的方法,包括:
三维模型对象选择模块,选择三维模型对象;
连接体模块,绑定所述三维模型对象,并存储基于所述三维模型对象生成的二维几何对象;
剖面图生成模块,生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;
三视图生成模块,生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图。
实施例2
(1)自动绘制和更新剖面轮廓线
步骤一:选择剖切对象
用户选择需创建剖面轮廓线的三维模型,当不选择具体三维模型时,默认为选择整个场景的三维模型进行剖切,当选择具体三维模型时,对选择的三维模型进行剖切。
使用RhinoGet.GetMultipleObjects方法来获取用户选择的三维模型对象,对象可以为多重曲面、网格等几何实体,可同时选择多个对象,当用户未选择时,默认为选择整个场景的三维模型;使用RhinoObject.GetTightBoundingBox方法为选择的三维模型对象建立包含该对象,且平行于坐标轴的最小六面体包围盒(Axis-aligned bounding box),并将包围盒设置为剖切选项的包围盒,以便后续执行剖切操作。包围盒可以用来快速排除与剖切操作无关的区域,确定剖切操作的确切范围,从而减少需要进行详细计算的对象数量,显著提高操作的性能。
步骤二:绘制剖面线
用户通过两点绘制一条直线的方式绘制剖面线,如图2所示,用户确定剖切方向后,系统生成预览剖面线,此时通过改变剖面线箭头方向确定剖视方向。
当用户通过两点绘制剖面线时,首先创建一个Getpoint类,用于获取用户选择点的坐标结果;为了帮助用户在可视的环境中准确的通过两点绘制剖面线,创建DynamicDraw事件处理程序并附加到Getpoint对象上,DynamicDraw事件处理程序可以让用户动态绘制几何对象,如点、线等,但不会创建几何对象,因此这个程序主要目的是让用户可以实时预览自己绘制的几何对象。通过两点绘制一条直线的方式绘制剖面线,Getpoint可以获取用户选择两个点的坐标值,将DynamicDraw附加到Getpoint上后,在Rhinoceros的视口中可以实时预览用户选择点的位置,以及经过两点连成直线的长度、方向等。当程序被触发时,可以动态显示和记录用户绘制的剖面线长度、方向以及剖视箭头方向,并生成预览剖面线,以便用户在可视环境中,更加准确的对三维模型对象进行剖切操作。不论是Rhinoceros提供的截平面工具,或是Revit提供的剖面框工具,都无法让用户灵活的设置剖切方向和剖视方向。软件允许用户通过两点绘制一条直线的方式,根据需求自定义剖面线的剖切方向和剖视方向,相较于原有技术方案,提高了剖面线的绘制效率和准确率。
步骤三:确定剖切位置
用户通过移动预览剖面线到需要剖切的位置后,系统提示是否进行剖切。
当用户创建预览剖面线后,可以通过移动预览剖面线到需要剖切的位置,使用Rhino.Geometry中的Translate方法,这个方法允许用户指定一个矢量(Vector3d),以便将预览剖面线移动到新的位置;通过PointAtStart方法获取预览剖面线移动后的起始点坐标;再次创建一个Getpoint类,用于获取用户新选择点的坐标结果;使用SetCommandPrompt方法创建自定义的文本信息传递给命令行窗口,提示用户在将预览剖面线移动到需要剖切位置后是否进行剖切。
步骤四:选择单一或批量剖切
用户下达剖切指令后,系统会进一步提示用户选择单一剖切或批量剖切,当选择单一剖切时,系统会在剖面线位置处生成剖面轮廓线,当选择批量剖切时,用户可通过设置剖面线间距和数量,批量生成剖面轮廓线,如图3所示。
当选择批量剖切时,用户可通过设置,生成一定数量的等间距剖面线,方法是首先创建一个变量Vector3d sectionDirection,用于获取用户选择的剖切方向,方向为用户自定义方向;创建一个双精度浮点数变量double offset和整数变量int splitCount来获取用户输入的剖面线间距和数量;通过数学表达式Point3d.Origin + sectionDirection *offset创建与原剖切方向等间距的剖面线;调用RhinoCommon中的BrepPlan函数,这个函数可以生成一个与剖面线方向保持一致,且垂直于XY平面的无限大平面,无限大平面与三维模型相交后形成封闭曲线,这个封闭的曲线则为剖面线穿过三维模型形成的剖面轮廓线。批量生成多个剖面轮廓线,在现有技术方案的基础上,提高了出图效率。
步骤五:生成剖面图
当用户确定剖切位置、剖切数量后,用户可选择投影剖面,剖面轮廓线会被投影在XY平面,生成剖面图,并在图层面板中生成新的剖面图图层,用于存储剖面图。
为生成符合出图标准的剖面图,并方便后续对剖面图进一步编辑,需要首先将步骤四中得到的三维空间中的剖面轮廓线投影在XY平面上。实现方法是,通过PointAt 方法获取剖面线上,参数值为0、1和2的三点,根据三点创建一个平面,再通过Transform.PlaneToPlane方法将三点创建的平面转换为法线方向为Z轴的XY平面;通过Duplicate方法为剖面轮廓线创建几何副本,并通过geometry.Transform方法将几何副本变换到XY平面上,完成剖面轮廓线在XY平面上的投影,生成符合出图标准的剖面图。
为了方便用户后续对剖面图进行管理、编辑和修改,使用图层来存储剖面轮廓线的数据信息,图层(Layer)是一种组织和管理几何信息的结构,图层可以看作是几何对象的独立的可编辑区域。每个图层可以包含不同的几何对象等。通过在不同的图层上添加、编辑或删除内容,可以轻松地修改整个几何对象而不影响其他部分。
每个图层可以存储各种信息,其中包括:所述二维几何对象、所述三维模型对象ID、图层ID、图层名称和图层类型等,所述图层ID为所述图层的唯一标识符;每个三维模型都有属于自己的三维模型对象ID,将所述三模模型对象ID加入到图层中存储,实现图层与三维模型的绑定。
本实施例中,图层不仅作为组织和管理模型对象的容器,同时通过图层名称和图层ID作为图层的唯一标识性,来索引三维模型对象和二维图纸,实现三维模型改变,二维图纸联动改变的目的。
同时,为了更好的组织和维护图层结构,将通过指定父图层和子图层来确定图层之间的层次关系,一个父图层可以包含多个子图层,子图层与父图层为嵌套关系,子图层嵌套于父图层中。这里父图层用于存储用户绘制的剖面线以及在三维空间生成的剖面轮廓线;子图层用于保存剖面轮廓线在XY平面的投影,即剖面图。这样分层管理的好处在于当用户需要对剖面图做修改时,不会影响到原始数据。
步骤六:选择剖面填充图案
如图4所示,用户可根据三维模型表达的物理实体为剖面选择剖面填充图案,并根据需要修改填充图案的旋转角度和缩放比。
通过Hatch.Create方法为封闭曲线创建填充图案,并创建两个双精度浮点数变量double rotationAngle和double scale来获取用户输入的填充图案旋转角度和缩放比例。
步骤七:剖面图更新
当生成剖面轮廓线位置的三维模型发生变更时,选择用于生成剖面轮廓线的剖面线,根据选择的剖面线,按照如下步骤可自动更新剖面图,无需重复上述剖面图生成步骤。
剖面图自动更新需要两步,第一步是删除原子图层中的剖面图。实现方法是用户选择剖面线后,点击UI面板上的剖面图更新按钮,系统会通过GetObject方法获取剖面线,通过Attributes property方法找到剖面线所在的图层,即父图层,然后通过FindByFullPath方法找到存储剖面图的子图层,通过FindByLayer方法获取该图层上的剖面图并删除。
第二步是重新生成剖面图并存储在原子图层中。实现方法是通过步骤四中使用的BrepPlan函数,生成一个与剖面线方向保持一致,且垂直于XY平面的无限大平面,无限大平面与变更后的三维模型对象相交,形成封闭曲线,这个封闭的曲线则为更新后的剖面轮廓线;再次通过步骤五所述方法,将更新后的剖面轮廓线投影在XY平面,生成剖面图并存储在原子图层中。
(2)自动绘制和更新三视图
通过三视图和剖面图来表达三维模型的几何外观和内部结构,三视图和剖面图都是必不可少的,本实施例中自动绘制和更新三视图的具体步骤包括:
步骤一:选择绘制对象
用户选择需创建三视图的三维模型,当不选择具体三维模型时,默认为选择整个场景的三维模型,当选择具体三维模型时,对选择的三维模型绘制三视图。
使用RhinoGet.GetMultipleObjects方法来获取用户选择的三维模型对象,对象可以为多重曲面、网格等几何实体,可同时选择多个对象,当用户未选择时,默认为选择整个场景的三维模型。
步骤二:绘制三视图
当用户选择绘制三视图后,会生成三维模型对象分别在三维空间中的XY平面、XZ平面和YZ平面上的投影曲线,将这三个坐标平面上的投影曲线再次投影到XY平面即可得到主视图、俯视图和左视图,并在图层面板中生成对应的主视图图层、俯视图图层和左视图图层,用于存储三视图的数据信息。
具体实现方法为使用Rhinocommon中的ProjectToPlane方法用于将几何对象投影到目标平面,这个方法接受两个参数,分别是几何对象和投影目标平面;使用WorldXYPlane、WorldXZPlane、WorldYZPlane方法来获取全局坐标系下的XY平面、XZ平面和YZ平面,并将其设定为投影目标平面,通过XformPlanarProjection(target_plane)方法创建一个变换矩阵将几何对象投影到目标平面得到几何对象在三维空间中的视图投影曲线;通过Transform.PlanarProjection方法将三维空间中的视图投影曲线再次投影到XY平面上,得到主视图、俯视图和左视图。
为了方便用户后续对三视图进行管理、编辑和修改,使用图层来存储三视图的的数据信息,并将与三视图关联模型的Guid一同保存在图层中,方便更新三视图,为三视图建立图层的实现方法与剖面轮廓线生成流程中步骤五相同。
步骤三:更新三视图
当三维模型发生变更时,可自动更新三视图,无需重复上述三视图生成步骤。
三视图的自动更新需要两步,第一步是删除原图层中的三视图。实现方法是用户选择需更新的三视图,点击UI面板上的三视图一键更新按钮,程序会使用RhinoScript中的rs.LayerID函数,通过图层名称获取图层ID;通过图层ID获取图层中的所有对象,这里使用rs.ObjectsByLayer(layer_id)来实现这一操作;使用rs.IsCurve函数从图层中的所有对象中筛选出曲线对象;最后通过rs.DeleteObjects函数删除曲线对象。
第二步是重新生成三视图并存储在原图层中。使用currentLayer.UserDictionary方法,通过步骤二中所述Guid找到与三视图关联的三维模型,再次通过步骤二的绘制三视图方法,将更新后的三视图投影在XY平面,并存储在原图层中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Rhinoceros二三维一体化设计的方法,其特征在于,包括:
选择三维模型对象;
生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;
生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图;所述三视图包括主视图、俯视图和左视图;
创建连接体,存储基于所述三维模型对象生成的二维几何对象;所述连接体绑定所述三维模型对象;所述二维几何对象包括所述剖面线、所述剖面轮廓线、所述剖面图、所述视图投影曲线和所述三视图。
2.根据权利要求1所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,所述三维模型对象为一个或多个几何实体,或整个场景的三维模型。
3.根据权利要求1所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,所述连接体为Rhinoceros中的图层。
4.根据权利要求3所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,所述图层的类型包括父图层和子图层,所述父图层绑定所述三维模型对象的三维模型对象ID,所述子图层嵌套在所述父图层中。
5.根据权利要求4所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,当所述父图层存储所述剖面线和所述剖面轮廓线时,所述子图层存储所述剖面图;当所述父图层存储视图投影曲线时,所述子图层存储所述三视图。
6.根据权利要求5所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,图层存储的信息包括:所述二维几何对象、三维模型对象ID、图层ID、图层名称和图层类型,所述图层ID为所述图层的唯一标识符。
7.根据权利要求6所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,还包括当生成剖面轮廓线位置的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的剖面轮廓线和与原父图层嵌套的子图层中的剖面图,基于原父图层中的剖面线对变更后的三维模型对象进行剖切,生成新的剖面轮廓线并存储于原父图层中,基于新的剖面轮廓线生成新的剖面图并存储于原子图层中。
8.根据权利要求6所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,还包括当生成三视图的三维模型对象发生变更时,与该三维模型对象绑定的图层自动更新的方法:删除原父图层中的视图投影曲线和与原父图层嵌套的子图层中的三视图,生成变更后的三维模型对象的视图投影曲线并存储于原父图层,基于新的视图投影曲线生成新的三视图并存储于原子图层中。
9.根据权利要求1所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,在所述剖面线位置处生成所述剖面轮廓线时,设置所述剖面线的间距和数量,进行单一或批量剖切,一次性生成单个或多个所述剖面轮廓线。
10.一种基于Rhinoceros二三维一体化设计的系统,用于实现权利要求1-9任意一项所述的一种基于Rhinoceros二三维一体化设计的方法,其特征在于,包括:
三维模型对象选择模块,选择三维模型对象;
连接体模块,绑定所述三维模型对象,并存储基于所述三维模型对象生成的二维几何对象;
剖面图生成模块,生成剖面线,基于所述剖面线对所述三维模型对象进行剖切,在所述剖面线位置处生成三维空间的剖面轮廓线,将所述剖面轮廓线投影到目标平面,获取剖面图;
三视图生成模块,生成所述三维模型对象在三维空间中的视图投影曲线,将所述视图投影曲线投影到目标平面,得到所述三维模型对象的三视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160551.8A CN117708962B (zh) | 2024-02-05 | 2024-02-05 | 一种基于Rhinoceros二三维一体化设计的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160551.8A CN117708962B (zh) | 2024-02-05 | 2024-02-05 | 一种基于Rhinoceros二三维一体化设计的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117708962A true CN117708962A (zh) | 2024-03-15 |
CN117708962B CN117708962B (zh) | 2024-04-19 |
Family
ID=90157247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410160551.8A Active CN117708962B (zh) | 2024-02-05 | 2024-02-05 | 一种基于Rhinoceros二三维一体化设计的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708962B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367950B1 (en) * | 2014-06-26 | 2016-06-14 | IrisVR, Inc. | Providing virtual reality experiences based on three-dimensional designs produced using three-dimensional design software |
CN106504324A (zh) * | 2016-10-21 | 2017-03-15 | 华北水利水电大学 | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 |
CN107368621A (zh) * | 2017-06-06 | 2017-11-21 | 中国核电工程有限公司 | 将pdms中三维支架模型生成cad格式二维标准三视图的方法 |
CN108269292A (zh) * | 2016-12-30 | 2018-07-10 | 西门子保健有限责任公司 | 用于根据三维图像数据组产生二维投影图像的方法和设备 |
CN109685914A (zh) * | 2018-11-06 | 2019-04-26 | 南方电网调峰调频发电有限公司 | 基于三角网格模型的剖切轮廓自动补面算法 |
CN110728086A (zh) * | 2019-09-20 | 2020-01-24 | 中建一局集团建设发展有限公司 | 机电bim二三维一体化装配式自动万能族制作方法 |
CN110929310A (zh) * | 2019-11-25 | 2020-03-27 | 杭州群核信息技术有限公司 | 一种云端图纸智能生成及编辑方法 |
CN111221926A (zh) * | 2018-11-27 | 2020-06-02 | 星际空间(天津)科技发展有限公司 | 海量地质数据二三维一体化管理方法 |
CN111339691A (zh) * | 2020-04-27 | 2020-06-26 | 南京智慧岩土工程技术研究院有限公司 | 一种基于voxler软件的智慧岩土工程参数三维分析与评价系统及方法 |
CN111524220A (zh) * | 2020-03-18 | 2020-08-11 | 上海刻羽信息科技有限公司 | 三维模型剖切的方法、系统、电子设备和介质 |
CN111553964A (zh) * | 2020-04-29 | 2020-08-18 | 武汉凌云建筑装饰工程有限公司 | 一种基于bim技术的设计出图方法 |
CN112017270A (zh) * | 2020-08-28 | 2020-12-01 | 南昌市国土资源勘测规划院有限公司 | 实景三维可视化在线应用系统 |
CN113076597A (zh) * | 2021-04-13 | 2021-07-06 | 吉林大学 | 一种面向cfd仿真的重卡车身快速建模方法 |
CN113593030A (zh) * | 2021-08-13 | 2021-11-02 | 长春工程学院 | 基于三维模型的地质剖面图生成方法、系统、终端及介质 |
CN115563667A (zh) * | 2022-09-06 | 2023-01-03 | 湖北工业大学 | 一种基于Rhino及Grasshopper的景观地面节点参数化建模方法 |
CN116204962A (zh) * | 2023-03-08 | 2023-06-02 | 北京市建筑设计研究院有限公司 | 一种基于bim的结构设计方法 |
CN116305384A (zh) * | 2022-09-07 | 2023-06-23 | 安徽建工建筑工业有限公司 | 基于Revit与Dynamo的深化构件详图出图方法 |
CN116894915A (zh) * | 2023-06-16 | 2023-10-17 | 宁夏回族自治区核地质调查院(宁夏回族自治区放射性地质研究所) | 一种人工智能半自动三维地质建模数据处理方法 |
CN117271682A (zh) * | 2023-08-28 | 2023-12-22 | 浙江华东岩土勘察设计研究院有限公司 | 一种基于内外业数据协同、二三维分析协同的标准地层建立与更新方法及系统 |
CN117409157A (zh) * | 2023-10-16 | 2024-01-16 | 西安煤科透明地质科技有限公司 | 一种三维地质模型在线剖切成图方法 |
-
2024
- 2024-02-05 CN CN202410160551.8A patent/CN117708962B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367950B1 (en) * | 2014-06-26 | 2016-06-14 | IrisVR, Inc. | Providing virtual reality experiences based on three-dimensional designs produced using three-dimensional design software |
CN106504324A (zh) * | 2016-10-21 | 2017-03-15 | 华北水利水电大学 | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 |
CN108269292A (zh) * | 2016-12-30 | 2018-07-10 | 西门子保健有限责任公司 | 用于根据三维图像数据组产生二维投影图像的方法和设备 |
CN107368621A (zh) * | 2017-06-06 | 2017-11-21 | 中国核电工程有限公司 | 将pdms中三维支架模型生成cad格式二维标准三视图的方法 |
CN109685914A (zh) * | 2018-11-06 | 2019-04-26 | 南方电网调峰调频发电有限公司 | 基于三角网格模型的剖切轮廓自动补面算法 |
CN111221926A (zh) * | 2018-11-27 | 2020-06-02 | 星际空间(天津)科技发展有限公司 | 海量地质数据二三维一体化管理方法 |
CN110728086A (zh) * | 2019-09-20 | 2020-01-24 | 中建一局集团建设发展有限公司 | 机电bim二三维一体化装配式自动万能族制作方法 |
CN110929310A (zh) * | 2019-11-25 | 2020-03-27 | 杭州群核信息技术有限公司 | 一种云端图纸智能生成及编辑方法 |
CN111524220A (zh) * | 2020-03-18 | 2020-08-11 | 上海刻羽信息科技有限公司 | 三维模型剖切的方法、系统、电子设备和介质 |
CN111339691A (zh) * | 2020-04-27 | 2020-06-26 | 南京智慧岩土工程技术研究院有限公司 | 一种基于voxler软件的智慧岩土工程参数三维分析与评价系统及方法 |
CN111553964A (zh) * | 2020-04-29 | 2020-08-18 | 武汉凌云建筑装饰工程有限公司 | 一种基于bim技术的设计出图方法 |
CN112017270A (zh) * | 2020-08-28 | 2020-12-01 | 南昌市国土资源勘测规划院有限公司 | 实景三维可视化在线应用系统 |
CN113076597A (zh) * | 2021-04-13 | 2021-07-06 | 吉林大学 | 一种面向cfd仿真的重卡车身快速建模方法 |
CN113593030A (zh) * | 2021-08-13 | 2021-11-02 | 长春工程学院 | 基于三维模型的地质剖面图生成方法、系统、终端及介质 |
CN115563667A (zh) * | 2022-09-06 | 2023-01-03 | 湖北工业大学 | 一种基于Rhino及Grasshopper的景观地面节点参数化建模方法 |
CN116305384A (zh) * | 2022-09-07 | 2023-06-23 | 安徽建工建筑工业有限公司 | 基于Revit与Dynamo的深化构件详图出图方法 |
CN116204962A (zh) * | 2023-03-08 | 2023-06-02 | 北京市建筑设计研究院有限公司 | 一种基于bim的结构设计方法 |
CN116894915A (zh) * | 2023-06-16 | 2023-10-17 | 宁夏回族自治区核地质调查院(宁夏回族自治区放射性地质研究所) | 一种人工智能半自动三维地质建模数据处理方法 |
CN117271682A (zh) * | 2023-08-28 | 2023-12-22 | 浙江华东岩土勘察设计研究院有限公司 | 一种基于内外业数据协同、二三维分析协同的标准地层建立与更新方法及系统 |
CN117409157A (zh) * | 2023-10-16 | 2024-01-16 | 西安煤科透明地质科技有限公司 | 一种三维地质模型在线剖切成图方法 |
Non-Patent Citations (1)
Title |
---|
罗瑶等: "基于SuperMap 的二三维一体化城乡规划设计技术研究", 城市学刊, vol. 40, no. 3, 31 May 2019 (2019-05-31), pages 66 - 72 * |
Also Published As
Publication number | Publication date |
---|---|
CN117708962B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7492364B2 (en) | System and method for creating and updating a three-dimensional model and creating a related neutral file format | |
US6906712B2 (en) | Automated three-dimensional alternative position viewer | |
US6636211B2 (en) | CAD/CAM feature tree with manipulatable 3D miniatures | |
CN111324965A (zh) | 一种基于云的通用参数化模型解析方法及设计系统 | |
US7969435B1 (en) | Method for modifying any modeled surface as a lofted surface | |
US5561748A (en) | Method and apparatus for creating solid models from two-dimensional drawings on a graphics display | |
KR100503789B1 (ko) | 렌더링시스템, 렌더링방법 및 그 기록매체 | |
AU2010304681A1 (en) | Method and system enabling 3D printing of three-dimensional object models | |
JP3599386B2 (ja) | エッジの混合方法 | |
CN111612911A (zh) | 基于Dynamo的点云BIM自动化建模方法 | |
JP2962369B2 (ja) | グラフィクス・ディスプレイ・システムの操作方法及びデータ格納方法 | |
Stefani et al. | An image-based approach for the architectural modeling of past states | |
CN117708962B (zh) | 一种基于Rhinoceros二三维一体化设计的方法及系统 | |
CN116842121A (zh) | 一种多层级瓦片联合的大规模数字孪生场景构建方法 | |
JP2001034653A (ja) | カスタマイズした解析機能及びカスタマイズした図形機能を定義するためのフィーチャ型マクロ言語 | |
JP2005071095A (ja) | 3次元モデルデータベース装置 | |
CN115018981A (zh) | 一种建筑信息模型优化展示方法、装置和存储介质 | |
JP5948479B1 (ja) | 2次元または3次元の物体データを表示操作するシステム、方法及びコンピュータソフトウエアプログラム | |
CN113888701A (zh) | 将曲面3D模型转化为Obj格式的网格3D模型的方法及系统 | |
JPH06215105A (ja) | 3次元画像処理装置及びその方法 | |
Braid | Geometric modelling | |
JP6005317B1 (ja) | 2次元又は3次元の物体データを表示操作するシステムを用いた図面データ作成方法 | |
Ermolenko | Algorithm-aided Information Design: Hybrid Design approach on the edge of Associative Methodologies in AEC | |
Wang | Robust Geometry Kernel and UI for Handling Non-orientable 2-Mainfolds | |
Boeykens et al. | Representational limitations and improvements in building information modeling |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |