CN112132927B - 在网页界面上生成二维及三维模型的绘图系统及方法 - Google Patents
在网页界面上生成二维及三维模型的绘图系统及方法 Download PDFInfo
- Publication number
- CN112132927B CN112132927B CN202010969969.5A CN202010969969A CN112132927B CN 112132927 B CN112132927 B CN 112132927B CN 202010969969 A CN202010969969 A CN 202010969969A CN 112132927 B CN112132927 B CN 112132927B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- module
- line
- calculating
- section 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种在网页界面上生成二维及三维模型的绘图系统及方法,该系统是基于底层的C#技术实现的,能够执行二维工程图的自动尺寸标注、自动形位公差标注、自动表面粗糙度标注和自动绘制剖面线等功能,能够在网页上展示DXF二维工程图和STEP产品三维图,不必进入到商业化软件环境就能生成复杂的三维模型,具有极高的适用性。
Description
技术领域
本发明涉及绘图软件技术领域,具体涉及一种基于C#技术的在网页界面上生成二维及三维模型的绘图系统及方法。
背景技术
现有技术中,二维设计软件AutoCAD及三维设计软件SolidWorks、UniGraphicsNX、ProE等绘图软件,都需进入其特定的软件环境才能正常使用,不适合在网络环境进行操作,速度慢且需人工干预的地方太多,对于硬件系统的要求较高,而且软件安装繁琐,耗时较长,临时使用不便,另外,由于各个软件间格式的彼此兼容性较差,互相交互转换的难度较大。
由于上述原因,本发明人对现有的绘图软件做了深入研究,以期待设计出一种能够解决上述问题的在网页界面上生成二维及三维模型的绘图系统及方法。
发明内容
为了克服上述问题,本发明人进行了锐意研究,设计出一种在网页界面上生成二维及三维模型的绘图系统及方法,该系统是基于底层的C#技术实现的,能够执行二维工程图的自动尺寸标注、自动形位公差标注、自动表面粗糙度标注和自动绘制剖面线等功能,能够在网页上展示DXF二维工程图和STEP产品三维图,不必进入到商业化软件环境就能生成复杂的三维模型,具有极高的适用性,从而完成本发明。
具体来说,本发明的目的在于提供一种在网页界面上生成二维及三维模型的绘图系统,该系统包括:
二维工程图绘制模块、尺寸标注模块、形位公差标注模块、表面粗糙度标注模块、DXF文件网页展示模块、三维图绘制模块和STEP文件网页展示模块。
其中,所述二维工程图绘制模块用于在二维工程图纸上绘制二维工程图;
其中,所述二维工程图绘制模块的具体工作过程为:
根据接收到的尺寸参数信息计算二维工程图中结构线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线。
其中,所述二维工程图绘制模块包括剖面线绘制子模块,
所述剖面线绘制子模块用于绘制剖面线;
所述剖面线绘制子模块包括如下亚子模块:
边界划定亚子模块,其用于确定绘制剖面线的边界;
剖面线条数计算亚子模块,其用于计算剖面线条数;
交点计算亚子模块,其用于计算每条剖面线与周围边界线的交点;
绘制亚子模块,在解算出全部的有效交点后,对有效交点按照其X坐标值的大小排序,通过所述排序能够找出正确位置的有效剖面线,将排好序的奇数位置的有效交点与其相邻的下一个偶数位置的有效交点相连即可得到正确的剖面线。
其中,所述尺寸标注模块用于在二维工程图中生成尺寸线,从而标注尺寸;
优选地,所述尺寸标注模块1包括自动标准尺寸函数子模块和尺寸及公差字符位置选择子模块。
其中,所述形位公差标注模块用于在二维工程图中生成形位公差标注;
优选地,所述形位公差标注模块生成形位公差标注时包括如下步骤:
计算形位公差符号上各点坐标,并直接连线绘制;
计算形位公差各符号的长度;
计算形位公差框的各角点坐标;
绘出形位公差框;
绘出各形位公差符号及填写各形位公差字符;
计算形位公差箭头三角形各点坐标,并用Solid命令绘制箭头。
其中,所述表面粗糙度标注模块用于在二维工程图中自动生成表面粗糙度标注;
优选地,所述表面粗糙度标注模块标注表面粗糙度时包括如下步骤:
选择粗糙度标注符号形式,
计算表面粗糙度符号各点坐标及字符位置坐标;
绘制表面粗糙度符号;
填写表面粗糙度数值。
其中,所述DXF文件网页展示模块用于在网页展示软件HBuilder中对DXF文件进行展示;
优选地,所述DXF文件网页展示模块的工作过程为:
调取HBuilder软件,点击sample.html并“运行”---〉“浏览器运行”---〉Chrome;
选择DXF文件,即可得到程序自动弹出的DXF文件的图形界面。
其中,所述三维图绘制模块用于在三维产品图纸上绘制三维产品图;
优选地,通过三维图绘制模块建立三维模型的过程包括如下步骤:
定义建立三维模型需要的变量,并用人机对话的方式进行赋值;
计算三维实体轮廓点的坐标;
将实体轮廓合成“组TopoShapeGroup”;
做截面(section);
做三维实体构造操作,包括放样、旋转;
做布尔运算操作;
将三维实体保存为STP文件,即GlobalInstance.BrepTools.SaveFile(cut2,newPath("d:\\dp.stp"))。
其中,所述STEP文件网页展示模块用于在网页展示软件HBuilder中对STEP文件进行展示。
优选地,通过STEP文件网页展示模块展示三维模型的过程包括如下步骤:
下载three.js文件;
解压得到three.js-master文件,在build目录找到three.js;
再通过调取谷歌浏览器来展示STEP格式三维模型。
本发明还提供一种在网页界面上绘制二维及三维模型的绘图方法,该方法包括如下步骤:
通过人机交互界面输入尺寸参数,
根据尺寸参数计算二维工程图中结构线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线;
标注尺寸;
标注形位公差、基准及表面粗糙度;
填写技术条件等字符;
插入其它需要的字符;
插入边框及标题栏;
填写标题栏数据。
本发明所具有的有益效果包括:
(1)根据本发明提供的在网页界面上生成二维及三维模型的绘图系统能够在网页上显示并绘制二维及三维图形,特别适合于临时快速打开电子图纸,无需专用绘图软件;
(2)根据本发明提供的在网页界面上生成二维及三维模型的绘图系统能够自动地在图纸上标注尺寸参数,还能够根据输入信息快速生成形位公差和表面粗糙度,使用方便,工作效率高。
附图说明
图1示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统整体结构逻辑图;
图2示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统能够得到的三维实体示例;
图3示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统三维实体展示网页示例;
图4示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统实施例中待绘制的刀片图;
图5示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统实施例中输入尺寸参的人机对话窗口示意图;
图6示出根据本发明一种优选实施方式的在网页界面上生成二维及三维模型的绘图系统实施例中得到的图形界面;
图7、图8和图9都是图6所示的图形界面的放大图。
附图标号说明:
1-二维工程图绘制模块
11-剖面线绘制子模块
2-尺寸标注模块
21-自动标准尺寸函数子模块
22-尺寸及公差字符位置选择子模块
3-形位公差标注模块
4-表面粗糙度标注模块
5-DXF文件网页展示模块
6-三维图绘制模块
7-STEP文件网页展示模块
具体实施方式
下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
根据本发明提供的在网页界面上生成二维及三维模型的绘图系统,如图1中所示,该系统包括二维工程图绘制模块1、尺寸标注模块2、形位公差标注模块3、表面粗糙度标注模块4、DXF文件网页展示模块5、三维图绘制模块6和STEP文件网页展示模块7。
在一个优选的实施方式中,所述二维工程图绘制模块1用于在二维工程图纸上绘制二维工程图。二维工程图绘制模块1的具体工作过程:
根据接收到的尺寸参数信息计算二维工程图中结构线条相关点坐标;即各线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线。
在二维工程图绘制完成后,即绘制完成结构线条和剖面线以后再执行下述操作:
标注尺寸;
标注形位公差、基准及表面粗糙度;
填写技术条件等字符;
插入其它需要的字符;
插入边框及标题栏;
填写标题栏数据。
本申请中通过设置该二维工程图绘制模块1,使得所述绘图系统与现有CAD等绘图软件相比自动化程度更高,绘图速度更快。
优选地,在通过二维工程图绘制模块1绘制二维工程图的过程中,在绘制封闭复合线时,用LwPolyline定义复合线,增加复合线各顶点坐标;用复合线的Bulge定义圆弧,用复合线的IsClosed来判断封闭与否,如为true则封闭,如false则不封闭。
在绘制边缘圆角时,先绘制复合线,再用PolyFill(dxf,poly,0.25)命令绘制圆角。
在绘制椭圆时,用Ellipse(Vector3.Zero,16,10)定义椭圆Vector3.Zero为中心坐标,16为长径,10为短径,用Rotation定义旋转角,用StartAngle定义椭圆起始角,用EndAngle定义椭圆终止角。
在绘制剖面线时:定义剖面线边界,包括复合线,直线,圆,椭圆等线条中的一种或多种;设置剖面线角度;设置剖面线间距;定义基本图线数组;获取复合线中线条总数;循环获取剖面线周边图线类型;将复合线爆炸,形成多段直线;对直线、园弧或椭圆等剖面线周边曲线分别处理;最后调取绘剖面线子程序hatchsub(dxf,type,numst,hatch.Pattern.Angle,hatch.Pattern.Scale,line,arc,circle,ellipse,ellipse1.Rotation,tys,tyt)进行剖面线绘制。
其中:dxf1为与剖面线有关的图形交换文件名;type为剖面线周边图线类型数组成;numst为剖面线周边图线总数;pmxangle为剖面线角度;pmxdist为剖面线距离;line为剖面线周边直线数组;arc为剖面线周边圆弧数组circle为剖面线周边圆数组;ellipse为剖面线周边椭圆数组;tyrotangle为椭圆旋转角度;tys为椭圆在X轴上平移量;tyt为椭圆在Y轴上平移量。
所述二维工程图绘制模块1中包含剖面线绘制子模块11,所述剖面线绘制子模块包括如下亚子模块:
间距计算亚子模块,其用于根据剖面线间pmxdist和剖面线夹角pmxangle计算在Y轴上的剖面线间距,其计算过程为Math.Abs(pmxdist/Math.Cos(pmxangle*Math.PI/180))。
边界划定亚子模块,其用于确定绘制剖面线的边界,对于其中的直线边界,计算出该直线的起点、终点、斜率、最大截距和最小截距;对于其中的圆弧边界,计算出该圆弧边界的圆弧中心、圆弧起始角、圆弧终止角、圆弧半径、圆弧起点、圆弧终点、切点、最大截距和最小截距;对于其中的圆边界,计算出该圆边界的圆中心、圆半径、切点、最大截距和最小截距;对于其中的椭圆边界,计算出该椭圆边界的椭圆中心、椭圆起始角、椭圆终止角、椭圆长轴半径、椭圆短轴半径、椭圆切点、最大截距和最小截距。
剖面线条数计算亚子模块,其用于计算剖面线条数,其计算过程为:nl=(int)((bm-bl)/h)其中nl为剖面线条数,bm为所有剖面线边界在Y轴上沿剖面线角度方向的最大截距,bl为所有剖面线边界在Y轴上沿剖面线角度方向的最小截距,h为在Y轴上的剖面线间距。
交点计算亚子模块,其用于计算每条剖面线与周围边界线的交点;其计算过程为:
进行剖面线条数j个循环,
计算第j条剖面线在Y轴上截距bpmx[j]=bl+h*j,
进行轮廓段数i个循环,
如是直线段,计算交点X坐标和交点Y坐标,
如交点在某段直线轮廓上,则为有效交点,
对于圆弧、圆、椭圆,计算交点位置角,如在某段的起始角与终止角之间,则为有效交点,
对有效交点重新排序,如某条剖面线与轮廓线有偶数个有效交点,则绘出该剖面线,如不为偶数,则放弃。
所述直线轮廓是直剖面线周围的周围边界中直线的那部分,也就是直线边界,当交点为剖面线与圆弧边界相交得到的交点时、或者当交点为剖面线与圆边界相交得到的交点时、或者当交点为剖面线与椭圆边界相交得到的交点时,计算该交点的位置角,若该位置角的值处于某段的起始角与终止角之间,则该交点为有效交点。位置角是指交点与坐标原点连线与X轴正向的夹角(0到360度),某段是剖面线周围轮廓之中的一个,起始角是轮廓起始点与坐标原点连线与X轴正向的夹角,终止角是轮廓终止点与坐标原点连线与X轴正向的夹角;
绘制亚子模块,在解算出全部的有效交点后,对有效交点按照其X坐标值的大小排序,通过所述排序能够找出正确位置的有效剖面线,将排好序的奇数位置的有效交点与其相邻的下一个偶数位置的有效交点相连即可得到正确的剖面线;统计有效交点的数量,当有效交点数量为偶数时,绘制剖面线;当有效交点数量为奇数时,则不做操作。
在一个优选的实施方式中,所述尺寸标注模块2用于在二维工程图中生成尺寸线,从而标注尺寸。所述尺寸标注模块1包括自动标准尺寸函数子模块21,在所述自动标准尺寸函数子模块21中的自动标注尺寸函数的定义为:
private static void dimrot(DxfDocument dxf1,Vector2 fp1,Vector2 fp2,double ang,double offset,String text,String toh,String tol)
其中:
dxf1为与此尺寸标注相关的图形交换文件名;
fp1为第一尺寸线起点;
fp2为第二尺寸线起点;
ang为尺寸线位置角度(-180度---+180度);
offset为尺寸线相对尺寸线起点的偏置距离;
text为标注的尺寸文本(含公差代号如H7);
toh为上偏差(若无,则为空字符串);
tol为下偏差(若无,则为空字符串)。
优选地,所述尺寸标注模块2还包括尺寸及公差字符位置选择子模块22,所述尺寸及公差字符位置选择子模块22用于选择寻找尺寸及公差字符的设置位置,其中,需要判断尺寸线中间能否放得下尺寸及公差字符,若能放得下尺寸及公差字符,则将尺寸及公差字符放置在尺寸线上,即将尺寸标注在两尺寸线中间,如放不下,则将尺寸及公差字符放置在第一尺寸线起点fp1一侧,并画出相应的尺寸延伸线。
优选地,所述尺寸及公差字符位置选择子模块22在选择尺寸及公差字符位置时包括的具体步骤如下:
计算尺寸线及尺寸两端引出线角度;
计算尺寸线与两端尺寸引出线交点坐标;
计算两端尺寸引出线外侧端点坐标;
根据尺寸线角度及尺寸线与两端尺寸引出线交点坐标的X,Y位置关系计算左右侧交点坐标;
计算尺寸字符摆放位置的左下角及右上角位置坐标;
计算尺寸字符、公差配合代号字符及公差数值字符的总长度尺寸lentexttol,尺寸界限之间距离lp3p4;
如lentexttol大于lp3p4,则尺寸及公差应标注在两侧尺寸线外侧第一尺寸线起点fp1一侧,否则应标注在两侧尺寸线中间;
计算尺寸箭头位置三角形角点坐标并Solid命令画出实心箭头;
画全尺寸线及尺寸界线。
本申请中通过设置上述尺寸标注模块2能够实现高度自动化地尺寸标注,而且与现有商业CAD软件相比,该尺寸标注模块1能够实现的在保证尺寸标注准确性的前提下实现标注的自动化。现有商业CAD软件如AutoCAD标注尺寸本身是手动操作,如要自动化操作,则需要用AutoCAD的二次开发功能如AutoLISP语言进行二次开发才能实现,而且是解释型执行代码,速度慢且需进入特定的商业化软件环境。而所述尺寸标注模块1仅仅通过编译了的EXE执行文件即可进行操作,速度快、效率高。
在一个优选的实施方式中,所述形位公差标注模块3用于在二维工程图中生成形位公差标注。所述形位公差标注模块3生成形位公差标注时包括的具体步骤如下:
计算形位公差符号上各点坐标,并直接连线绘制;
计算形位公差各符号的长度;
计算形位公差框的各角点坐标;
绘出形位公差框;
绘出各形位公差符号及填写各形位公差字符;
计算形位公差箭头三角形各点坐标,并用Solid命令绘制箭头。
其中,在所述形位公差标注模块3中预存有形位公差函数,所述形位公差函数如下,private static void gb118207(DxfDocument dxf1,Vector2 hp1,Vector2 hp2,Vector2 hp3,Vector2 hp5,String qz,String zh,String xwgczh1,String xwgczh2,String xwgczh3,String c1)
其中:dxf1为与此尺寸标注相关的图形交换文件名,hp1为箭头线起点出,hp2为箭头线终点,hp3为连接箭头线与形位公差框的连接线起点,hp5为连接箭头线与形位公差框的连接线终点,qz为形位公差前缀(如%%C表示直径符号),zh为形位公差字符串,xwgczh1为形位公差的名称,xwgczh2为形位公差的值字符串联,xwgczh3为基准字母后的形位公差字符,c1为基准字符串。
所述形位公差字符用字符串表示如下:
"zxd"---直线度;"pmd"---平面度;"yd"---圆度;"yzd"---圆柱度;"xlkd"---线轮廓度;"mlkd"---面轮廓度;"pxd"---平面度;"czd"---垂直度;"qxd"---倾斜度;"tzd"---同轴度;"dcd"---对称度;"wzd"---位置度;"ytd"---圆跳动;"qtd"---全跳动;"zdstzt"---最大实体状态;"ysgcd"---延伸公差带;"bryz"---包容原则;"yx"---允许;"yxzt"---允许中凸;"yxjx"---允许渐小;"jzmbwd"---基准目标为点;"jt"---箭头;"jzx"---基准线;"bcfwwzfx"---被测范围为正方形;
本申请中通过设置上述形位公差标注模块3能够实现自动化形位公差标注,现有商业CAD软件如AutoCAD本身无标注形位公差模块,如要自动化操作,则需要用AutoCAD的二次开发功能如AutoLISP语言进行二次开发才能实现,而且是解释型执行代码,速度慢且需进入特定的商业化软件环境,而本申请上述形位公差标注模块3通过编译了的EXE执行文件进行操作,能够提高执行及标注速度。
在一个优选的实施方式中,所述表面粗糙度标注模块4用于在二维工程图中自动生成表面粗糙度标注。在该表面粗糙度标注模块4中存储有4种粗糙度标注符号形式,分别表示不同工况下的粗糙度要求,具体来说,其一为用去除材料的方法获得的表面,限定最大允许值;其二为用任意方法获得的表面,限定最大允许值;其三为用不去除材料的方法获得的表面,限定最大允许值;其四为用去除材料的方法获得的表面,限定最大允许值和最小允许值。并分别设置对应的面粗糙度函数;
其中,第一种表面粗糙度函数为:
private static void czd(DxfDocument dxf1,Vector2 hp1,double ang,String zh)
其中:
dxf1为与此粗糙度标注相关的图形交换文件名;
hp1为标注粗糙度符号基准点位置;
ang为标注粗糙度的角度(-180度至180度);
zh为表面粗糙度的数值字符。
第二种表面粗糙度函数为:
private static void czd1(DxfDocument dxf1,Vector2hp1,double ang,String zh)
其中:
dxf1为与此粗糙度标注相关的图形交换文件名;
hp1为标注粗糙度符号基准点位置;
ang为标注粗糙度的角度(-180度至180度);
zh为表面粗糙度的数值字符。
第三种表面粗糙度函数为:
private static void czd2(DxfDocument dxf1,Vector2hp1,double ang,String zh)
其中:
dxf1为与此粗糙度标注相关的图形交换文件名;
hp1为标注粗糙度符号基准点位置;
ang为标注粗糙度的角度(-180度至180度);
zh为表面粗糙度的数值字符。
第四种表面粗糙度函数为:
private static void czd3(DxfDocument dxf1,Vector2hp1,double ang,String zh1,String zh2)
其中:
dxf1为与此粗糙度标注相关的图形交换文件名;
hp1为标注粗糙度符号基准点位置;
ang为标注粗糙度的角度(-180度至180度);
zh1为表面粗糙度的数值字符低值;
Zh2为表面粗糙度的数值字符高值。
优选地,所述表面粗糙度标注模块4标注表面粗糙度时包括的具体步骤如下:
选择粗糙度标注符号形式,
计算表面粗糙度符号各点坐标及字符位置坐标;
绘制表面粗糙度符号;
填写表面粗糙度数值。
本申请中通过设置上述表面粗糙度标注模块4能够实现自动化表面粗糙度标注,现有商业CAD软件如AutoCAD本身无标注表面粗糙度模块,如要自动化操作,则需要用AutoCAD的二次开发功能如AutoLISP语言进行二次开发才能实现,而且是解释型执行代码,速度慢且需进入特定的商业化软件环境,而本申请上述表面粗糙度标注模块4通过编译了的EXE执行文件进行操作,能够提高执行及标注速度。
在一个优选的实施方式中,所述DXF文件网页展示模块5用于在网页展示软件HBuilder中对DXF文件进行展示。其工作过程为:
调取HBuilder软件,点击sample.html,然后点击“运行”---〉“浏览器运行”---〉Chrome;
选择DXF文件,即可得到程序自动弹出的DXF文件的图形界面。
其中所述后台调取的操作过程是通过HBuilder软件的内部功能实现的,在调取DXF文件后,根据不同的图素(直线、圆弧、样条曲线等)进行判断后列出其位置坐标并显示。
在一个优选的实施方式中,所述三维图绘制模块6用于在三维产品图纸上绘制三维产品图。所述三维图绘制模块6的工作过程为:
利用开源软件AnyCAD.Platform提供的基本三维操作的特征函数进行三维模型的建立。
所述三维模型包括三维基本体,如点、线、多折线、Spline曲线、圆、椭圆、圆弧、球、长方体(立方体)、圆柱、圆锥等;
所述三维模型还包括复合体和复合线(wire)等复合图样;
所述三维操作包括,拉伸、扫掠、回转、放样、蒙面等,还包括布尔操作,即交叉并操作。
通过三维图绘制模块6建立三维模型的过程包括如下步骤:
定义建立三维模型需要的变量,并用人机对话的方式进行赋值;
计算三维实体轮廓点的坐标;
将实体轮廓合成“组TopoShapeGroup”;
做截面(section);
做三维实体构造操作,包括蒙皮体(放样)、旋转等;
做布尔运算操作;
将三维实体保存为STP文件,即GlobalInstance.BrepTools.SaveFile(cut2,newPath("d:\\dp.stp"));
得到的三维实体如图2所示。
在一个优选的实施方式中,所述STEP文件网页展示模块7用于在网页展示软件HBuilder中对STEP文件进行展示。其工作过程为:
下载three.js文件;
解压得到three.js-master文件,在build目录找到three.js。在example/js/loaders目录存储有各种模型格式加载的js文件;
再通过调取谷歌浏览器来展示STEP格式三维模型,如图3中所示。
本发明还提供一种在网页界面上绘制二维及三维模型的绘图方法,该方法通过上文所述的在网页界面上生成二维及三维模型的绘图系统实现的,该方法包括如下步骤:
步骤1,通过人机交互界面输入尺寸参数,
步骤2,通过二维工程图绘制模块1绘制二维工程图,
步骤3,通过尺寸标注模块2在二维工程图中生成尺寸线,
步骤4,通过形位公差标注模块3在二维工程图中生成形位公差标注,
步骤5,通过表面粗糙度标注模块4在二维工程图中自动生成表面粗糙度标注,
步骤6,填写技术条件等字符,插入其它需要的字符,插入边框及标题栏,填写标题栏数据;
步骤7,通过DXF文件网页展示模块5在网页展示软件HBuilder中对DXF文件进行展示。
优选地,其中,所述步骤2包括如下子步骤:
子步骤1,根据尺寸参数计算二维工程图中结构线条的起点和终点坐标;
子步骤2,绘制二维工程图中的结构线条;
子步骤3,如有剖面线,则绘制剖面线;
优选地,在在绘制封闭复合线时,用LwPolyline定义复合线,增加复合线各顶点坐标;用复合线的Bulge定义圆弧,用复合线的IsClosed来判断封闭与否,如为true则封闭,如false则不封闭。
在绘制边缘圆角时,先绘制复合线,再用PolyFill(dxf,poly,0.25)命令绘制圆角。
在绘制椭圆时,用Ellipse(Vector3.Zero,16,10)定义椭圆Vector3.Zero为中心坐标,16为长径,10为短径,用Rotation定义旋转角,用StartAngle定义椭圆起始角,用EndAngle定义椭圆终止角。
在绘制剖面线时:定义剖面线边界,包括复合线,直线,圆,椭圆等线条中的一种或多种;设置剖面线角度;设置剖面线间距;定义基本图线数组;获取复合线中线条总数;循环获取剖面线周边图线类型;将复合线爆炸,形成多段直线;对直线、圆弧或椭圆等剖面线周边曲线分别处理;最后调取绘剖面线子程序进行剖面线绘制。
优选地,其中,所述步骤3包括如下子步骤:
子步骤1,计算尺寸线及尺寸两端引出线角度;
子步骤2,计算尺寸线与两端尺寸引出线交点坐标;
子步骤3,计算两端尺寸引出线外侧端点坐标;
子步骤4,根据尺寸线角度及尺寸线与两端尺寸引出线交点坐标的X,Y位置关系计算左右侧交点坐标;
子步骤5,计算尺寸字符摆放位置的左下角及右上角位置坐标;
子步骤6,计算尺寸字符、公差配合代号字符及公差数值字符的总长度尺寸lentexttol,尺寸界限之间距离lp3p4;
如lentexttol大于lp3p4,则尺寸及公差应标注在两侧尺寸线外侧第一尺寸线起点fp1一侧,否则应标注在两侧尺寸线中间;
子步骤7,计算尺寸箭头位置三角形角点坐标并Solid命令画出实心箭头;
子步骤8,画全尺寸线及尺寸界线。
优选地,其中,所述步骤4包括如下子步骤:
子步骤1,计算形位公差符号上各点坐标,并直接连线绘制;
子步骤2,计算形位公差各符号的长度;
子步骤3,计算形位公差框的各角点坐标;
子步骤4,绘出形位公差框;
子步骤5,绘出各形位公差符号及填写各形位公差字符;
子步骤6,计算形位公差箭头三角形各点坐标,并用Solid命令绘制箭头。
优选地,其中,所述步骤5包括如下子步骤:
子步骤1,选择粗糙度标注符号形式,
子步骤2,计算表面粗糙度符号各点坐标及字符位置坐标;
子步骤3,绘制表面粗糙度符号;
子步骤4,填写表面粗糙度数值。
优选地,其中,所述步骤7包括如下步骤:
调取HBuilder软件,点击sample.html,然后点击“运行”---〉“浏览器运行”---〉Chrome;
选择DXF文件,即可得到程序自动弹出的DXF文件的图形界面。
实施例
采用本发明提供的在网页界面上生成二维及三维模型的绘图系统在Chrome网页上绘制刀片图,该刀片图的尺寸参数如图4中所示:
刀尖圆弧半径R0.8;
内接圆直径9.525;
孔口直径6;
通孔直径4.4;
刀片厚度3.97;
刀尖角74度;
其具体绘图过程为:
定义需要将待绘制的图保存的图形交换文件名,定义绘图的线条的层、颜色、线型;
通过如图5中所示的C#人机对话窗口输入尺寸参数。
根据输入的尺寸参数计算二维工程图中结构线条相关点坐标;
绘制二维工程图中的结构线条;
采用阵列、拷贝、镜向命令绘制关联图形;
绘制剖面线周围轮廓线;
绘制剖面线;
绘制其它轮廓线;
依次标注尺寸、角度、基准、形位公差和表面粗糙度;
填写技术条件信息。
待图形绘制完成后保存为DXF文件,
调取HBuilder软件,点击sample.html,然后点击“运行”---〉“浏览器运行”---〉Chrome;选择DXF文件,即可得到如图6所示的图形界面;通过滚动鼠标放大视图得到图7、图8和图9所示的图形界面。
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
Claims (8)
1.一种在网页界面上生成二维及三维模型的绘图系统,其特征在于,该系统包括:
二维工程图绘制模块(1)、尺寸标注模块(2)、形位公差标注模块(3)、表面粗糙度标注模块(4)、DXF文件网页展示模块(5)、三维图绘制模块(6)和STEP文件网页展示模块(7);
所述二维工程图绘制模块(1)用于在二维工程图纸上绘制二维工程图;
其中,所述二维工程图绘制模块(1)的具体工作过程为:
根据接收到的尺寸参数信息计算二维工程图中结构线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线;
所述二维工程图绘制模块(1)包括剖面线绘制子模块(11),
所述剖面线绘制子模块用于绘制剖面线;
所述剖面线绘制子模块包括如下亚子模块:
边界划定亚子模块,其用于确定绘制剖面线的边界;
剖面线条数计算亚子模块,其用于计算剖面线条数;
交点计算亚子模块,其用于计算每条剖面线与周围边界线的交点;
绘制亚子模块,在解算出全部的有效交点后,对有效交点按照其X坐标值的大小排序,通过所述排序能够找出正确位置的有效剖面线,将排好序的奇数位置的有效交点与其相邻的下一个偶数位置的有效交点相连即可得到正确的剖面线。
2.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述尺寸标注模块(2)用于在二维工程图中生成尺寸线,从而标注尺寸;
所述尺寸标注模块1包括自动标准尺寸函数子模块(21)和尺寸及公差字符位置选择子模块(22)。
3.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述形位公差标注模块(3)用于在二维工程图中生成形位公差标注;
所述形位公差标注模块(3)生成形位公差标注时包括如下步骤:
计算形位公差符号上各点坐标,并直接连线绘制;
计算形位公差各符号的长度;
计算形位公差框的各角点坐标;
绘出形位公差框;
绘出各形位公差符号及填写各形位公差字符;
计算形位公差箭头三角形各点坐标,并用Solid命令绘制箭头。
4.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述表面粗糙度标注模块(4)用于在二维工程图中自动生成表面粗糙度标注;
所述表面粗糙度标注模块(4)标注表面粗糙度时包括如下步骤:
选择粗糙度标注符号形式,
计算表面粗糙度符号各点坐标及字符位置坐标;
绘制表面粗糙度符号;
填写表面粗糙度数值。
5.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述DXF文件网页展示模块(5)用于在网页展示软件HBuilder中对DXF文件进行展示;
所述DXF文件网页展示模块(5)的工作过程为:
调取HBuilder软件,点击sample.html并“运行”---〉“浏览器运行”---〉Chrome;
选择DXF文件,即可得到程序自动弹出的DXF文件的图形界面。
6.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述三维图绘制模块(6)用于在三维产品图纸上绘制三维产品图;
通过三维图绘制模块(6)建立三维模型的过程包括如下步骤:
定义建立三维模型需要的变量,并用人机对话的方式进行赋值;
计算三维实体轮廓点的坐标;
将实体轮廓合成“组TopoShapeGroup”;
做截面(section);
做三维实体构造操作,包括放样、旋转;
做布尔运算操作;
将三维实体保存为STP文件,即GlobalInstance.BrepTools.SaveFile(cut2, newPath("d:\dp.stp"))。
7.根据权利要求1所述的在网页界面上生成二维及三维模型的绘图系统,其特征在于,
所述STEP文件网页展示模块(7)用于在网页展示软件HBuilder中对STEP文件进行展示;
通过STEP文件网页展示模块(7)展示三维模型的过程包括如下步骤:
下载three.js文件;
解压得到three.js-master文件,在build目录找到three.js;
再通过调取谷歌浏览器来展示STEP格式三维模型。
8.一种在网页界面上绘制二维及三维模型的绘图方法,其特征在于,
该方法包括如下步骤:
通过人机交互界面输入尺寸参数,
根据尺寸参数计算二维工程图中结构线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线;
标注尺寸;
标注形位公差、基准及表面粗糙度;
填写技术条件字符;
插入边框及标题栏;
填写标题栏数据;
所述二维工程图绘制模块(1)用于在二维工程图纸上绘制二维工程图;
其中,所述二维工程图绘制模块(1)的具体工作过程为:
根据接收到的尺寸参数信息计算二维工程图中结构线条的起点和终点坐标;
绘制二维工程图中的结构线条;
如有剖面线,则绘制剖面线;
所述二维工程图绘制模块(1)包括剖面线绘制子模块(11),
所述剖面线绘制子模块用于绘制剖面线;
所述剖面线绘制子模块包括如下亚子模块:
边界划定亚子模块,其用于确定绘制剖面线的边界;
剖面线条数计算亚子模块,其用于计算剖面线条数;
交点计算亚子模块,其用于计算每条剖面线与周围边界线的交点;
绘制亚子模块,在解算出全部的有效交点后,对有效交点按照其X坐标值的大小排序,通过所述排序能够找出正确位置的有效剖面线,将排好序的奇数位置的有效交点与其相邻的下一个偶数位置的有效交点相连即可得到正确的剖面线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010969969.5A CN112132927B (zh) | 2020-09-15 | 2020-09-15 | 在网页界面上生成二维及三维模型的绘图系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010969969.5A CN112132927B (zh) | 2020-09-15 | 2020-09-15 | 在网页界面上生成二维及三维模型的绘图系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132927A CN112132927A (zh) | 2020-12-25 |
CN112132927B true CN112132927B (zh) | 2023-10-20 |
Family
ID=73846796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010969969.5A Active CN112132927B (zh) | 2020-09-15 | 2020-09-15 | 在网页界面上生成二维及三维模型的绘图系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132927B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723874A (zh) * | 2021-08-17 | 2022-07-08 | 成都工具研究所有限公司 | 在网络平台进行刀片断屑槽三维参数化设计的系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567594A (zh) * | 2012-02-20 | 2012-07-11 | 上海海洋大学 | 一种近岸岛礁型人工鱼礁群流场仿真建模的方法 |
CN104881555A (zh) * | 2015-06-17 | 2015-09-02 | 沈阳飞机工业(集团)有限公司 | 参数化渐开线花键拉刀设计方法 |
CN104881534A (zh) * | 2015-05-22 | 2015-09-02 | 杭州群核信息技术有限公司 | 一种在线生成户型图的系统及方法 |
CN108519882A (zh) * | 2018-04-04 | 2018-09-11 | 中科微至智能制造科技江苏有限公司 | 一种Web端实时浏览CAD文件的方法及系统 |
CN109035364A (zh) * | 2018-07-23 | 2018-12-18 | 山东省地质矿产勘查开发局第五地质大队(山东省第五地质矿产勘查院) | 一种基于cad地形图快速绘制剖面图的方法 |
CN110288651A (zh) * | 2019-06-21 | 2019-09-27 | 湖南大学 | 大尺寸工件的公差视觉检测方法、装置和计算设备 |
CN110503726A (zh) * | 2019-07-22 | 2019-11-26 | 武汉理工大学 | 网页端三维模型标注信息显示浏览方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8629871B2 (en) * | 2007-12-06 | 2014-01-14 | Zynga Inc. | Systems and methods for rendering three-dimensional objects |
-
2020
- 2020-09-15 CN CN202010969969.5A patent/CN112132927B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567594A (zh) * | 2012-02-20 | 2012-07-11 | 上海海洋大学 | 一种近岸岛礁型人工鱼礁群流场仿真建模的方法 |
CN104881534A (zh) * | 2015-05-22 | 2015-09-02 | 杭州群核信息技术有限公司 | 一种在线生成户型图的系统及方法 |
CN104881555A (zh) * | 2015-06-17 | 2015-09-02 | 沈阳飞机工业(集团)有限公司 | 参数化渐开线花键拉刀设计方法 |
CN108519882A (zh) * | 2018-04-04 | 2018-09-11 | 中科微至智能制造科技江苏有限公司 | 一种Web端实时浏览CAD文件的方法及系统 |
CN109035364A (zh) * | 2018-07-23 | 2018-12-18 | 山东省地质矿产勘查开发局第五地质大队(山东省第五地质矿产勘查院) | 一种基于cad地形图快速绘制剖面图的方法 |
CN110288651A (zh) * | 2019-06-21 | 2019-09-27 | 湖南大学 | 大尺寸工件的公差视觉检测方法、装置和计算设备 |
CN110503726A (zh) * | 2019-07-22 | 2019-11-26 | 武汉理工大学 | 网页端三维模型标注信息显示浏览方法及系统 |
Non-Patent Citations (1)
Title |
---|
"基于Web的PDM系统及Web使能产品数据";王健 等;《小型微型计算机系统》;第21卷(第10期);1093-1095 * |
Also Published As
Publication number | Publication date |
---|---|
CN112132927A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beier et al. | Highlight-line algorithm for realtime surface-quality assessment | |
CA2370973C (en) | Computer method and apparatus for creating visible graphics by using a graph algebra | |
US6256595B1 (en) | Apparatus and method for manually selecting, displaying, and repositioning dimensions of a part model | |
US6373484B1 (en) | Method and system for presenting data structures graphically | |
Regnauld et al. | A synoptic view of generalisation operators | |
KR0125776B1 (ko) | 선요소 데이타의 3차원 변환 장치 및 방법 | |
EP0451875A2 (en) | Image displaying system | |
US6525745B1 (en) | Sheet metal geometric modeling system | |
CN112100795A (zh) | 一种计算机辅助设计图纸的对比方法及装置 | |
CN112132927B (zh) | 在网页界面上生成二维及三维模型的绘图系统及方法 | |
CN108182272B (zh) | 基于平均面积理念制作中国环境风险图的方法 | |
CN118051571A (zh) | 一种围墙类地理信息数据处理方法和装置 | |
CN114119708A (zh) | 生成树结构的方法、装置、计算设备及存储介质 | |
CN114048110A (zh) | 一种基于Antv的自定义可视化拓扑图的实现方法 | |
CN113641284A (zh) | 电子地图的区域标绘方法、装置、电子设备及存储介质 | |
CN114692240A (zh) | Cad图纸绘制方法、装置、存储介质及计算机设备 | |
CN106919742B (zh) | 一种自动标注断面位置的方法和装置 | |
Conversy et al. | Improving modularity of interactive software with the MDPC architecture | |
CN113778411B (zh) | 图形化编程方法及应用设备 | |
Averbukh et al. | Specialized scientific visualization systems for optimal control application | |
JPH01193973A (ja) | 3次元形状の干渉チェック方法 | |
McMillin | Solid Modeling Aerospace Research Tool (SMART) User's Guide, Version 2.0 | |
Kolcárek et al. | Haptic rendering using velocity driven level of detail | |
JPH0214370A (ja) | 情報処理装置 | |
JPH07104876B2 (ja) | 設計支援方法及び設計支援装置 |
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 |