|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! v6 [3 ?5 \. c
5 _5 V, p }; S% _NX二次开发源码分享: 使用NXOpen获取对象最小距离
7 F7 M; Y1 q5 W6 i& b0 D
8 ]: U. W8 C' {
1 I! N' u' E! p[mw_shl_code=csharp,true]
1 D5 L3 `6 K' g* Z. H Dim theSession As Session = Session.GetSession()
. C. ?2 Y8 I% y$ C" F Dim workPart As Part = theSession.Parts.Work
3 E2 f: U" j) I* }% l4 x/ p/ G
# x- L C5 O2 _6 d* Q Dim object1 As DisplayableObject = SelectAnObject("First Object")
( N' F. }+ D# ~5 n Dim object2 As DisplayableObject = SelectAnObject("Second Object")$ P! |& G, P& M' \
" m- B" R* S: X- L/ O% j ' either obtain Unit as desired or use default (null) unit
8 v0 P1 j( ~2 r. ^4 o9 p9 v# | Dim unitMM As Unit = CType(workPart.UniTCollection.FindObject("MilliMeter"), Unit)- l8 v; j* N* ]' L1 Y" j
Dim nullUnit As Unit = Nothing0 G; Y, j" r5 o8 @% i* A q
Dim measureDistance1 As MeasureDistance1 i- U% V' c/ f4 u3 Y4 G6 A
- z; d/ q1 W# V# P# Y5 U
measureDistance1 = workPart.MeasureManager.NewDistance(nullUnit, _ S3 y! K' ?7 S7 u8 \+ r# ]
MeasureManager.MeasureType.Minimum, object1, object2)8 p- o% Q9 t+ ]3 i4 U) t
) C' i( P! | d ^' Y: q9 r! E" J Dim theLW As ListingWindow = theSession.ListingWindow
4 A2 f4 M) b: h; o4 N: X theLW.Open()2 ~: ]% _: G' ?4 x2 n7 n& A
theLW.WriteLine("Minimum distance = " & measureDistance1.Value.ToString("F6"))7 k2 E- j1 d! R% p
9 m* ]# ^" U( x8 Z4 k+ D
' optionally, create Distance Measurement feature (needs solid_modeling)2 p, Y$ E( s3 q# {" B% L
' Dim measure1 As NXOpen.Measure = measureDistance1.CreateFeature()" E/ F1 l9 ^9 h. `4 m2 K c
measureDistance1.Dispose()[/mw_shl_code]9 e, w& M. |- u% U+ h9 U. ~) G
|
|