点击查看详细介绍

UG二次开发SNAP方式进行曲线绘制实例(绘制五角星)实例代码演示

nxopen 12年前 5133 10

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


SNAP开发进行曲线绘制实例(绘制五角星)实例源码

首先新建一个"SNAP Application"项目,配置好目标CPU,引用连接,及输出DLL的文件名

打开项目中的"MyProgram.VB"输入代码

MyProgram.VB的全部代码如下:

'-----------------------------------------------------------

Imports Snap, Snap.Create

Public Class MyProgram

Public Shared Sub Main()

' 实战练习(绘制五角星)

Dim myStarNum As Integer = 5 '定义多角星角数

Dim myRadius As Double = 50 '定义星顶点所在圆外圆半径

Dim myRadiusMin As Double = Math.SinD(90 / myStarNum) * myRadius / Math.CosD(180 / myStarNum) '定义并计算内圆半径

Dim myHeight As Double = 30 '定义凸起高度

Dim myAngle As Double = 90 - Math.AtanD(myHeight / myRadius) '定义并计算拔模角度以保证顶部是一个点

Dim myPosition As Position(,) = New Position(myStarNum - 1, 1) {} '定义一个数组来存储角点位置

'------------------外部点赋值给数组--------------------------------

Dim i As Integer

For i = 0 To myStarNum - 1

'给外部角点位置赋值

myPosition(i, 0) = {Math.CosD(90 + 360 * i / myStarNum) * myRadius, _

Math.SinD(90 + 360 * i / myStarNum) * myRadius, 0}

'给内部角点位置赋值

myPosition(i, 1) = {Math.CosD(90 + 180 / myStarNum + 360 * i / myStarNum) * myRadiusMin, _

Math.SinD(90 + 180 / myStarNum + 360 * i / myStarNum) * myRadiusMin, 0}

Next

'---------------------绘制直线--------------------------------

Dim myCurves As NX.ICurve() = New NX.Curve(myStarNum * 2 - 1) {} '定义一个曲线组用来存放曲线以用来拉伸

Dim j As Integer = 0

For i = 0 To myStarNum - 1

Dim myLine0 As NX.Line = Line(myPosition(i, 0), myPosition(i, 1))

myCurves(j) = myLine0

j += 1

If i < myStarNum - 1 Then

Dim myLine1 As NX.Line = Line(myPosition(i, 1), myPosition(i + 1, 0))

myCurves(j) = myLine1

j += 1

Else

Dim myLine2 As NX.Line = Line(myPosition(i, 1), myPosition(0, 0))

myCurves(j) = myLine2

j += 1

End If

Next


'---------------------拉伸曲线组生成实体--------------------------------

●●●请先 登陆注册 后查看●●●

End Sub

End Class

'------------------------------------------------------------------------------------------------

生成DLL文件,在UG中使用CTRL+U 打开编译生成的dll文件,结果显示如下图


0

最新回复 (10)
  • 425131361 12年前
    1

    这个需要sanp的许可证吧!?

  • 879092358 12年前
    2

    这个需要sanp的许可证吧!?

  • waqa1314 VIP会员 12年前
    3

    我看看看很好

  • wsfccdh 12年前
    4

    这个需要sanp的许可证吧

  • caip 11年前
    5

    好东西,正找这个呢

  • a7834180 11年前
    6

    楼主无私,赞!!!!

  • a7834180 11年前
    7


    我成功了!。。。

    正在学习当中,SNAP感觉上会比GRIP稍微简单点。。。支持更新

    该帖子被a7834180在2015-5-14 0:06:24编辑过

  • a7834180 11年前
    8

    正在学习当中,SNAP感觉上会比GRIP稍微简单点。。。支持更新

  • xiaozhao 9年前
    9

    可惜就6节课,没更新咯

  • becu0851 8年前
    10

    不錯喲,學習、學習了

请登录后发表新帖