|
这个是看到有网上有人问到的一个问题。他原来的问题是,能不能一键把全约束的部件全改成绿色。" ~; C! s4 M3 g" l: k
我的回答如下:
- u1 w- Z6 u5 n" G =================
8 S3 c5 @: m" z' e# U0 [% j可以实现滴,这个问题,无论是对二次开发的新手还是老手都还是有一定难度的。. @6 @% U! c7 e1 r4 v$ s. p
要实现这个功能,首先要解决以下问题:9 h: d7 m* W! u1 u! H/ Y! s& u
1、要学会如何遍历得到当前显示部件中所有的装配(含多层级装配),这个要用递归的方式来解决;8 M7 B. p# H* {4 w
2、要学会,如何去查看一个装配部件的自由度,在NX默认有这个功能,会弹出让你选一下,这是查看单个的;而二次开发的时候,是用代码来完成,UFUN里面有可能是没有对应的函数来查看一个装配部件自由度的(我是说可能,具体有没有,没有一个个去找过),并且如果用NXOpen方式来做,不支持录制显示自由度的功能。所以就必须很了解NXOpen里面的各种类,才可能做出来;
. A0 Q2 h8 d$ N' Q2 \* u3、学会了第2步,就还要学会,怎么去设置一个部件更改颜色,最终完成工具。
8 |0 E% y; H; U5 b1 q==============! C& c& S7 B% `% u( ~2 I3 d
其它考虑问题:
, H* ~) n( \3 Y2 j( N) n" o3 C4 g1、代码要考虑Bug,如果当前部件不是一个装配,要考虑,出免出现未知错误;% I) v; b; R+ b, E3 y
2、改颜色问题,是临时更改,还是永久更改。按我的理解,如果都改成绿色,多难看,假设本来就全约束,而用一下这个工具,屏幕不就是一片绿了么?从人性化的角度来讲,这个在个人眼里,不是很好,我觉得,往往一个装配,全约束的是占多数,非全约整的是少数,所以,直接把全约束的部件,隐藏,显示在屏幕上的,就是没有全约束的,这时用户自己再在屏幕上约束一下,可能更好吧?+ j1 f1 o4 z( f! ~8 V( a( _/ Z2 O
=================1 y! J/ U1 z9 K# ~3 d, h
我简单的测试了一下,选择一个装配,就读取它的自由度:
@1 u# ~8 M' ]; m! ]! B有几个平移自由,几个旋转自由度。& @2 } s$ H- L n @% }4 R
=======================9 ?" e% D' [2 o2 O
9 k( @5 x+ j% c) E5 J/ e, Z- }9 B, m! D3 @
& D- L: W: A8 A: G* B
|
|