SketchUp插件开发详解

您所在的位置:网站首页 su怎么画弧面 SketchUp插件开发详解

SketchUp插件开发详解

2022-05-30 02:15| 来源: 网络整理| 查看: 265

圆弧是一种特殊的曲线,如果我们已经知道要创建的圆弧的每个点的位置,同样可以使用上一篇中的创建曲线的方法进行创建。但是在这一节我们要介绍的是SketchUp中提供的创建圆弧的方法和所创建的圆弧对象。

创建圆弧

因为圆弧是规则的形状曲线,所以需要更多的控制参数,所以创建圆弧的API要相对复杂:

add_arc(center, xaxis, normal, radius, start_angle, end_angle) 或 add_arc(center, xaxis, normal, radius, start_angle, end_angle, num_segments)

两组不同参数的差别只是后面多了一个段数参数,因为SketchUp中是用边线段集合来表示曲线的,可以在生成圆弧的时候指定段数,段数越多,表示出的曲线越精细,显示效果也就越好。如果不指定段数的话,生成的圆弧的段数是根据圆弧的角度来定的,具体段数的计算是:

度数小于等于30度时,段数为2。度数大于30度时,段数为:(度数/15)向上取整。

并且每段边线所占的角度是均匀的。

创建圆弧的其余参数如下:

center:圆弧的圆心。xaxis:圆弧的坐标系的X轴,也就是从圆弧的圆心指向一个基准方向的向量。normal:圆弧的法向,表示的是圆弧是以这个向量为基准按右手定则旋转的。radius:圆弧的半径。start_angle:圆弧起始位置相对X轴的角度,也就是按右手定则从xaxis旋转的角度。end_angle:圆弧终止位置相对X轴的角度。

例如:

entities = Sketchup.active_model.entities center = Geom::Point3d.new(0, 0, 0) xaxis = Geom::Vector3d.new(1, 0, 0) normal = Geom::Vector3d.new(0, 0, 1) entities.add_arc(center, xaxis, normal, 10, 0, 60.degrees)

可以得到弧线

返回值和创建曲线是一样的:

[#, #, #, #]

不同的是,通过edge.curve方法我们获取到的是一个ArcCurve对象,通过这个圆弧对象除可以获取到曲线的各种参数外,还可以获取到圆弧的圆心、半径等圆弧自身特有的参数。

创建圆

圆其实就是起始角度和终止角度之间的差刚好是360度的圆弧,所以完全可以通过创建圆弧的API来创建圆,但为了方便,SketchUp还提供了一个专门创建圆的方法:

add_circle(center, normal, radius, numsegs = 24)

参数比创建圆弧更简单,返回值和创建的曲线对象和创建圆弧的API没有任何区别。例如:

center = Geom::Point3d.new(0, 0, 0) normal = Geom::Vector3d.new(0, 0, 1) entities.add_circle(center, normal, 10)

可以得到一个圆:

同等的使用创建圆弧的API的方法是:

center = Geom::Point3d.new(0, 0, 0) xaxis = Geom::Vector3d.new(1, 0, 0) normal = Geom::Vector3d.new(0, 0, 1) entities.add_arc(center, xaxis, normal, 10, 0, 360.degrees)

欢迎关注“小众程序员”微信公众号交流讨论。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3