PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[二次开发源码] NX二次开发源码分享:显示面的法相方向

[复制链接]

2019-2-8 13:26:19 2458 1

admin 发表于 2019-2-8 12:58:52 |阅读模式

admin 楼主

2019-2-8 12:58:52

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
1 S5 k" T7 v, R

( X# Y7 O/ B) R, `& p" F经常能用的到,通过选择面,显示临时法线方向和点!0 H$ B; n# G4 ~7 {' x' \1 p* H

- D. |9 K$ B; o: N
* m3 Q6 F. x$ T[mw_shl_code=cpp,true]  static bool DisplayNormal(Face theFace)
4 k$ n& V* d; }/ K2 N+ W    {8 Y  {5 u: e. }1 Y' z4 L+ M
        double[] param = new double[2];
$ K7 b0 T6 N" h3 Y: }/ U5 H/ }2 i/ Y        double[] p1 = new double[3];& A5 |2 q- D) n1 T1 ^4 e1 V
        double[] u1 = new double[3];- W9 e* p2 ^% d9 t- i/ a. }
        double[] v1 = new double[3];0 e& j( z' t) _' K& o( Q
        double[] u2 = new double[3];
* O+ ~( {( W* X+ i% z: d        double[] v2 = new double[3];1 s. B9 p- |5 R# C4 Z2 k
        double[] unit_norm = new double[3];6 [: S/ {0 D2 q! h
        double[] radii = new double[2];
# l& a0 F1 l: q* }& w& L' Q        double[] uv_min_max = new double[4];
2 w2 r. J( S2 z" N% D, q" M& t6 A6 O. V0 ~, f5 N7 L
        theUFSession.Modl.AskFaceUvMinmax(theFace.Tag, uv_min_max);
' h4 Y  D$ g1 |        param[0] = (uv_min_max[0]+uv_min_max[1]) / 2; 6 `* G" E7 M9 D: G5 l
        param[1] = (uv_min_max[2]+uv_min_max[3]) / 2; " V1 n6 A- P& L& n8 n
        theUFSession.Modl.AskFaceProps(theFace.Tag, param, p1, u1, v1, u2, v2, unit_norm, radii);$ Z; v. `- j; S6 J% N+ L

% y# `! I1 \$ Y8 O        DisplayTemporaryPoint(p1);
& R& j1 {. u  C; N) S. C) @        DisplayConehead(p1, unit_norm);: R) s- w% k/ b$ u
2 A. D0 D# b# S* H! T0 P
        return true;
0 F; Z1 X- `' L- v8 {    }" {* O. D$ s! R
    ; c/ |5 }; M% ?
    static void DisplayTemporaryPoint(Double[] loc)* l! g3 u% S* D; L
    {' e, p) E' K1 W
        UFObj.DispProps color = new UFObj.DispProps();
- P0 p: ?4 o5 E2 x5 e) S4 T        color.color = 6;4 `2 m+ I: a  ~5 f* U4 d" Y; u$ ^
        theUFSession.Disp.DisplayTemporaryPoint(Tag.Null, UFDisp.ViewType.UseWorkView,
- F& Y7 ?$ \( Z+ u. [+ }. y            loc, ref color, UFDisp.PolyMarker.FilledCircle);
& a" x  j) Y( ]+ E    }
  P: `/ d( y4 t6 n) d: m, O! e$ Q) h/ m+ t
    static void DisplayConehead(Double[] loc, Double[] dir)
* l: F/ u. c$ V0 |5 ~    {7 D* L9 T% Q0 z4 B* Q! o9 z& ^
        theUFSession.Disp.Conehead(UFConstants.UF_DISP_WORK_VIEW_ONLY, loc, dir, 0);
6 ~6 |- h4 Z2 d+ u6 I/ Y; P. G! ]    }! b- c; {5 F( A# d$ K' ~: D
[/mw_shl_code]
; [# U# p& ]8 y' @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2019-2-8 13:26:19

admin 沙发

2019-2-8 13:26:19

如果使用ufun的函数基本如下:
$ B$ b0 Z) i  E5 D! t//获取面的uv极值
2 {. X/ z3 M* \6 Yint UF_MODL_ask_face_uv_minmax
( f+ n; G2 v2 v9 H4 e(
; R) e7 u) J& ~" J1 r( |/ [5 t6 X; Z6 @
tag_t face_tag, 9 o% O1 h3 o3 ^9 t. q
double uv_min_max [ 4 ]
8 E' {. o8 {' t5 Q) Z1 a8 W* f% g* Y$ }
)' I( x, r$ c( _
* w! ?2 V. i* Y" G
//获取位置点信息--double param [ 2 ] 的输入就是上一步的输出
, |5 m; Z* [5 L* X+ b
8 J  D4 S  M- L, k2 u/ o5 K* Oint UF_MODL_ask_face_props. `& A; V" s4 e7 A/ z# m

) u: f9 ?) `; V8 c(8 T: ?2 D: H% w! w
tag_t face_id,
) K2 m: P3 L* G4 `, rdouble param [ 2 ] , 9 `( _2 C+ T3 f4 l, l2 T% r/ g: d
double point [ 3 ] ,
2 c7 t) w, n8 r8 N% Edouble u1 [ 3 ] , 9 D; d- T2 b8 _8 G  H# o( P* ]& Z
double v1 [ 3 ] , ! u! I0 Q2 p6 _- @2 ~& U  {0 k$ W0 M
double u2 [ 3 ] ,
9 Z) _6 p& h9 H' @- Idouble v2 [ 3 ] ,
' w# w2 r* u5 e2 v+ z( p3 Jdouble unit_norm [ 3 ] , ) x$ `5 ~7 W- q. H2 E, F# \
double radii [ 2 ]
1 J6 ~% T7 m& k0 H) |7 ?9 Q
( W- i6 Y. ~8 y+ k)7 g! N$ ^6 c$ [/ z9 V

9 P7 `0 l0 Y# a, O2 B6 t- P8 K//将点输入到显示临时的函数中
( g+ ~( b& y. ?3 W$ q8 Q6 f+ O" Z# a4 U$ t
int UF_DISP_display_temporary_point9 G# o. A" ~8 m) X& N" N1 Q
# B/ n$ \) k$ ?/ N) {3 x
(/ X: {! A6 I6 L4 c8 U9 C* o2 J
tag_t view_tag,
" ^) n( Z# l9 ?& W6 c" t. V) XUF_DISP_view_type_t which_views, ; a7 }7 N+ j- p7 x  q
double markerpos [ 3 ] ,
6 p+ D6 \6 `) |- q% R+ vUF_OBJ_disp_props_t * color,
, W3 J) E9 Y" P8 X$ g+ KUF_DISP_poly_marker_t marker_type . h; U" P; n  i

- P: m9 w+ m* w' r1 L9 ^! Z) W)
. _5 ^/ k; Q* v  f+ E, l3 c8 J
$ @2 l( ]* B# \" V. r1 `5 E9 }8 A//显示
0 @7 Q8 m% J! j0 a7 Q9 ~; y6 s4 ^- U8 M
void UF_DISP_conehead
2 Z+ R+ A1 N8 p$ e. [2 Q, A(% l8 d+ C# a/ y: z  u; ?1 \6 c
- p2 H& Z* l0 t, P
int display_flag, ) L2 w  {  o0 A
double coord [ 3 ] ,
; Q( T( Q% |$ K; t" Ldouble vector [ 3 ] ,
4 i5 Y" V: S2 H8 v7 wint anchor_flag
; U9 R+ p7 K# ~8 @" S( a7 N2 B$ D* M3 f6 n, K1 `9 c
)
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了