microstation二次开发之倒圆角

智能实体倒圆角程序实现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

运行效果2

11.png

你可能感兴趣的:(microstation二次开发之倒圆角)