microstation二次开发之倒圆角
2019-07-13 本文已影响0人
清风明月永相随
智能实体倒圆角程序实现Demo1
倒圆角接口
BlendEdges (solid, closestPoints, radius, smoothEdges)
solid SmartSolidElement类型,边需要倒圆角所在的SmartSolidElement对象.
closestPoints Point3d数组 点要位于倒圆角的边上
radius double类型 倒圆角半径
smoothEdges bool值 是否平滑
本例程序代码基于原点在中心的长度为100的立方体,对立方体竖向四条边进行倒圆角操作,首先利用CreateSlab函数创建立方体,然后实例化竖向四条边上的中点,作为closestPoints参数,倒圆角半径设置为5,利用BlendEdges函数对边进行倒圆角操作。
程序代码
Sub main()
Dim solid As SmartSolidElement
'创建长方体
Set solid = SmartSolid.CreateSlab(Nothing, 100, 100, 100)
'定义需要倒圆角的边上的点
Dim points(1 To 4) As Point3d
points(1) = Point3dFromXYZ(50, 50, 0)
points(2) = Point3dFromXYZ(50, -50, 0)
points(3) = Point3dFromXYZ(-50, 50, 0)
points(4) = Point3dFromXYZ(-50, -50, 0)
Set solid = SmartSolid.BlendEdges(solid, points, 5, True)
'添加至模型空间
ActiveModelReference.AddElement solid
End Sub
运行效果
1.png智能实体倒圆角程序实现Demo2
根据面对面上的边进行倒圆角
接口说明
BlendAllEdgesOfFace (solid, closestPoint, radius [, StraightEdgesOnly])
solid SmartSolidElement类型,边需要倒圆角所在的SmartSolidElement对象.
closestPoints Point3d类型 点要位于面上
radius double类型 倒圆角半径
StraightEdgesOnly bool值 可选参数,是否只对直边倒圆角
本例程序代码同样对基于原点在中心的长度为100的立方体,对立方体顶面四条边进行倒圆角操作。
程序代码
Sub main()
Dim solid As SmartSolidElement
'创建长方体
Set solid = SmartSolid.CreateSlab(Nothing, 100, 100, 100)
'定义需要倒圆角的边上的点
Dim point As Point3d
point = Point3dFromXYZ(0, 0, 50)
Set solid = SmartSolid.BlendAllEdgesOfFace(solid, point, 5, True)
'添加至模型空间
ActiveModelReference.AddElement solid
End Sub