SketchUp插件开发详解 |
您所在的位置:网站首页 › su怎么画弧面 › SketchUp插件开发详解 |
圆弧是一种特殊的曲线,如果我们已经知道要创建的圆弧的每个点的位置,同样可以使用上一篇中的创建曲线的方法进行创建。但是在这一节我们要介绍的是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 |