|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, g: K' G% N" Y: C% W
0 i7 V% t6 k) t7 YNX二次开发源码分享: 使用NXOpen获取对象最小距离9 t0 s8 E/ _* j! ?& E0 {, I4 k9 A1 c
6 x# {# M+ H: @
0 I% M/ |: y+ P/ o) r% r8 N0 ]
[mw_shl_code=csharp,true]
+ \! R) z% C( F+ ~# {# A4 ^ Dim theSession As Session = Session.GetSession()
. I& z. ^4 C+ l( u: p Dim workPart As Part = theSession.Parts.Work
0 M6 \6 \. r0 h: y1 b, R9 k! D+ R% f" N6 ^8 L: ?
Dim object1 As DisplayableObject = SelectAnObject("First Object"): }& q% H+ A4 S+ ]% x& h
Dim object2 As DisplayableObject = SelectAnObject("Second Object")
& y, `0 P" g5 C( |+ }3 b( p1 y
: C4 i8 a |, T$ h( K, c ' either obtain Unit as desired or use default (null) unit) \% L/ `3 Z( b" w' ~7 g6 C
Dim unitMM As Unit = CType(workPart.UniTCollection.FindObject("MilliMeter"), Unit)# g4 n A# M' v3 s
Dim nullUnit As Unit = Nothing( `0 R: U9 ^2 e& Q( u- U8 E
Dim measureDistance1 As MeasureDistance
, d( g& u! @, f9 |: `/ i9 O
8 X6 r$ |7 N& i6 w measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, _, }( S5 E; q1 {8 U1 [
MeasureManager.MeasureType.Minimum, object1, object2)& x8 V, N; N5 q$ h/ t
3 ~8 s7 ^& {. |, e" g7 J$ s0 P& N Dim theLW As ListingWindow = theSession.ListingWindow
# p! A6 [ n0 u5 G: m8 G theLW.Open()% v. F. g4 n1 ^& C3 D. D
theLW.WriteLine("Minimum distance = " & measureDistance1.Value.ToString("F6"))& S( [/ ?& _. J7 c
0 T9 }" O3 z- e9 k* ~. g! C( H
' optionally, create Distance Measurement feature (needs solid_modeling)9 a( e4 V: @( W# X) y
' Dim measure1 As NXOpen.Measure = measureDistance1.CreateFeature()9 D# Y8 [6 \3 {" y, {( e
measureDistance1.Dispose()[/mw_shl_code]/ Z+ e2 O9 `$ G, ]
|
|