|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# x' X. }% Z! w# T) q; T, t
+ B8 C- @$ E. ZNX二次开发源码分享: 使用NXOpen获取对象最小距离
' z6 R) e2 F. C9 U, i `% p4 i0 |8 R2 f% N
0 }# L; m- ~4 ^' L+ d9 v9 d. q[mw_shl_code=csharp,true]' Z: t& h1 y; E. j8 V7 m
Dim theSession As Session = Session.GetSession()
$ M5 \7 d) Z3 Z* J) ~- m Dim workPart As Part = theSession.Parts.Work
3 v/ z$ }8 o: O5 T3 Z/ u8 A4 k; N& {4 V
Dim object1 As DisplayableObject = SelectAnObject("First Object")
7 M% T5 c3 H/ K8 Q4 e# ^$ E* }0 f Dim object2 As DisplayableObject = SelectAnObject("Second Object")" }, s" L Y& ~; b8 R- s! V
p8 g' |' t3 r2 B' z ' either obtain Unit as desired or use default (null) unit
& e; R/ s% x5 @$ b Dim unitMM As Unit = CType(workPart.UniTCollection.FindObject("MilliMeter"), Unit)
% o2 F) C5 [# Z1 K7 J5 { Dim nullUnit As Unit = Nothing8 R) I0 b) F/ s; Y6 h
Dim measureDistance1 As MeasureDistance
( c9 v3 e- f' b+ G, U4 |- |$ T3 M& F3 O: o: \
measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, _
8 J% r" G% |) E& e' A* s4 I" u MeasureManager.MeasureType.Minimum, object1, object2)
0 G4 F7 s \- d5 d, S) A3 k) j/ `, e5 v$ |5 s$ t7 Y
Dim theLW As ListingWindow = theSession.ListingWindow
3 U- u/ M5 e, x, v theLW.Open()
1 ~5 T& J5 s9 n' v! V. H& J theLW.WriteLine("Minimum distance = " & measureDistance1.Value.ToString("F6"))
# T' O% h* x! |" h7 q" K( d3 h' S% q5 ]
' optionally, create Distance Measurement feature (needs solid_modeling), ]3 f9 c% L7 O3 G! l# k
' Dim measure1 As NXOpen.Measure = measureDistance1.CreateFeature()
2 o' r2 g) z0 p# f+ `( N measureDistance1.Dispose()[/mw_shl_code]* F2 m- D* M' {+ M# d8 M
|
|