|
楼主 |
发表于 2016-3-2 13:03
|
显示全部楼层
教程清单目录:
( S( f( J! L9 t0 H/ n) Q x( h; `* @" R) Y$ C) F6 D1 w
———————————————————— C/C++做UG二次开发 零基础入门 ————————————————————9 m* P) @; w0 I7 d
% I# n- S3 X$ g
UG外挂目录结构说明
7 p' h; k% O6 K6 a0 h- ^! E+ F- @" K6 N
简单宏录制. ~+ S$ J+ B: O, Q
# K8 ? Z9 p8 ~' ^- ^/ r图标制作/ z, s) O7 i6 R+ A0 t X& Y& X
" L5 N2 l$ n! m( y t; T- y
工具条制作1 ^- J. |: x2 [, q1 V; J8 r
+ R7 N* G. @, \2 L5 u; E
菜单制作
$ t7 [" V0 }0 ~* Z3 L; y9 c( y" I! U& M9 m! W) G
把外挂加载到UG' ?7 g8 C: p( F) P
' L. V+ z5 K. v
同时安装NX10/NX8/NX6/NX4
0 z6 ?+ d1 e. x+ R+ z/ X; l/ _
( K+ Y" |! e) L0 t) v6 [安装vs20109 x3 J2 H" P) ?( | \1 p3 Z
( u# J' Q# H! q+ s( _VS2010 与 NX4 - NX8 的环境配置
" |0 U3 @ [- t+ y- z
. O2 A0 j0 f" r5 R& g9 o4 SVS2010 与 NX9 - NX10 的环境配置
5 S ~# `& f- @$ T6 g0 _* E: M% J* e9 r' b; ?
第一个UFUN程序,弹出你好UFUN
& V" ~3 p# l0 X1 X) T8 j# \
: ?% f" b3 S; n1 M9 S入口函数说明、声明和定义变量。运算符号、基本书写格式概述。& I& `8 p0 B# k) U
8 V3 b! G' S3 [; G3 U3 q# M: X
编译成新的DLL文件时,UG无须关闭重启动
* |" L, r; v, G8 F
4 s) x4 r6 F: K( X& O1 B+ pchar字符串操作$ r' l* ?" ~1 p0 @
& l; h$ v: ~! x& |数学函数的使用
8 f/ C5 y: |0 x6 C h" d5 B' Z" T1 Z" K) ^0 D; ?: P3 P3 v; u
char字符串与数值的转换
* t/ L- Y1 P O' d1 }" e) A/ K0 J% ?# F
信息窗口的使用
3 S1 x" l, H' ?) r' y3 C# w- s! S
, m9 y( R2 B) D循环语句
3 S! q$ x) q: ~4 I# w
' j( i* N& L: ~条件语句
5 p! ~7 Z6 h* Q: c8 O, S
$ o+ W( U5 ^( U, a嵌套7 y* R! g2 ^' t" Z) L) ^ P3 m3 y
2 l, M' L0 T4 X9 e
结构体4 \6 T6 E E1 N
5 g2 _" v0 G4 Y4 N一维数组和二维数组、动态变量和静态变量 b( q, ]7 x- |$ h, e9 j
+ R# D. j9 V# `' H9 f. d随机数发生器
% q* b. B* R/ _9 S/ m+ Z* D1 W. [& H( G
创建实体:点、直线、圆弧+ k0 d% m7 u! d& n/ E1 \1 B
1 ]$ {9 @8 u0 ?: L) {获得当前显示部件* k+ W: g$ w8 `! p7 V
" C; ^* C: Q3 \( ^4 x创建实体:长方体、圆柱、球
6 N' @5 I% X" c' h: U7 i
4 x& n+ }; l# W3 o5 T' M. ?头文件说明、学会自己看英文帮助。
4 C( O, s" v, O3 s. B6 b2 L( U8 w
布尔运算,相加、相减、合并7 r1 N6 j# H6 g! c( t+ q2 `7 X- X
) c! {: y- [- E$ b& c点构造器对话框/ g% }! X# [1 B! \5 `
: R4 Q/ L7 {: x& U% F- }; w4 c/ `按钮对话框
" S# m) P4 C2 G* B, p! o+ {; J( O$ P( z/ b4 r/ w7 @
参数输入对话框% z) l3 t( a2 Y; [* r/ M4 T ~: B' ~
8 I9 e6 B) [7 b8 ~ ~, c混合对话框. v* P4 R6 A/ g2 V9 A* O: W
t1 Z6 [% ^8 P a单选对话框& y# k: d8 M/ P0 V7 l3 C) g
! P% L. N ~* Z# u) t6 z |多选对话框! _3 s5 Z& q( G8 B! A3 w
% n- B* X7 c/ O% f9 ^
对象标识链表
; R; z! t' `9 e0 Y0 N3 a! D+ @$ \* f
获得对象类型+ U5 _( I$ [7 I4 X) e
2 D3 F9 C& F2 y2 A% f选择对话框对象类型的过滤
0 X, F' O9 M( r' ]& X7 _1 n9 k8 J' ?) z( K1 v- F! i( W! ^$ j1 j
提取线6 G8 l1 W5 _+ Z1 i0 Z/ i8 B
+ L" k" f8 t& K, w( k2 `+ E* K4 X3 V
提取面& \, v9 q5 g# K& o/ h
+ K7 Y+ u1 X! |
曲线分割曲面
$ e% S! [8 ~% B; w
; \1 x/ {. U5 S合并面; ~/ x+ W: h) K
6 x3 N, D0 }0 m1 M! E4 W偏置面
! y. \: j+ U. h2 r% Y" ]+ P$ v) x9 t! s6 e# x8 ^/ w; ?- j
替换面
8 f1 z w9 a$ `2 R
/ a$ Z2 J6 G5 A% p; ?% a. u* ^扩大面
7 w8 C5 z# {- c
3 L E5 ~; \/ j. |! p* c4 {' \倒角
$ a; {& W( H% ~ M: Q' Q
' I/ F& }( V1 v/ ?5 ~( G- q# D创建简单孔特征! x- o2 V; C9 D% I/ u- \
0 O# _) Y1 ]% f4 M; C" P
拉伸' T4 i3 u" H$ E; j* K
. x, `8 F$ E: }1 ~0 L3 f
创建、基准轴、基准面、平面7 i ` [ e, y5 W/ q& a/ F0 V
; G7 Y' O* ~3 n: D/ \9 p" z: `
分割体2 p' f& u `( y& e5 ~
3 T- p1 Q2 n( D% v& T
透明
+ t9 \/ v+ l g' {6 X
# c+ F I6 ]+ j( \3 i5 R颜色、线型
/ p* h0 P5 a: y* Y E, `% q- U7 C+ z8 h
对象名称操作
6 z9 R* ^' S6 S, M
" a2 L7 N- N) x4 }- ]+ G( B- u: |属性操作
1 i2 N2 u, Y2 E1 D( L! `
3 {9 H) I1 z, V9 N图层操作+ p* f. Z+ U' ]- q5 t6 v
( c; G( e* |; @; j0 X隐藏、显示对象! x. `- s( z" o7 T' v+ j
/ {9 i8 [% m Z8 h# m, \: ^
对象的删除
8 R" T) y# o+ J0 W, x: W' t
m' _/ g5 ^ ?) @8 H3 _' v去除参数0 w/ Q1 ^; W8 D# L6 w5 d! w
3 m _9 u2 o1 I; @0 z0 D
更新模型
! G5 e8 U& a/ j; `. I3 o9 C) M0 X, u5 f% Q
表达式操作
, L7 y6 `: Q: y& ~. `( A: K$ `# K. D+ V
坐标操作3 l+ I* c' _. q$ W
1 s8 |- Q% P3 N
矩阵向量
& {6 K4 s' y6 s+ Y
! @; O# K, k9 P) ?( W变化的实现:移动、旋转、镜像、缩放
7 P4 b, c; C! F- T( W7 a# Z& |! f; S$ D. Y+ o0 _
点坐标转换: r2 I2 B5 K5 ^5 }5 D
4 H0 \1 k% u: y& t# ]
获得2个对象相对最小距离( e: P1 F6 A0 t _; e2 O% c
4 C5 q5 ?% ^! M$ n% k; P列子:最小包容合
! j0 Q, `2 L/ j' k, U
k7 c; e8 R5 H* C' C+ U遍历特征- |9 p" L) N0 H7 c8 \
* r. E# e( D2 N/ H: O6 j& O7 X遍历实体2 `# \3 P4 V7 x/ \
x- Z3 Y5 ^7 Z
列子:下一个含有对象的层作为工作层
' o) X9 h' N6 M9 T/ F. M/ K7 T* j, F7 I' _
遍历一个实体的 面和边
- e5 L3 N% z- I- j" m
7 }! m* e* e% G遍历一个面 的 边
1 a6 ^- Y$ a, i6 |- U1 d/ X" F8 F3 y& ^- u+ ^
选择一个面或一条边缘获取实体( G& I: {/ n/ X! r7 e1 W) Y: L$ x
- w- z- \6 w2 h% v: a( ^6 L0 G列子:高亮函数的使用,启动外挂判断对象是否被选择- V, e% B' ?) c& A
* b1 j( I% F( M$ q! t2 [获得对象信息:点、直线、圆弧
* @* J' M+ y; Q+ m6 Y- D" b* j% d: q2 q3 w: H
获得对象信息:长方体、圆柱、球# t" n. _, A9 {. F8 P% P) ~2 v5 i
* t: l: c D3 X; {8 K获得对象信息:面类型、面半径,类型轴中心极点坐标
3 m6 t6 N" s# K, g/ k/ C) L4 b" [3 `4 C. ]
获得对象信息:面的法向
7 O$ q3 r! s" h. R) ~7 I
% m+ K7 Y( E; [6 ?; ]6 x获得面u,v参数空间(u,v最小,最大值)* c( e# G l. o6 D! x
. P. L6 ~8 g$ q# y ^获得面上的点6 p) \5 `9 |- _* c
3 s# d' \' _6 w+ ?* j
获得面上的UV线
f! M0 P( U& a+ M* y0 o
" z" l( {0 Y$ C0 c9 |6 k& O$ _获得相邻面/ @/ D' Z2 @$ p3 X
7 {7 k# e; u9 g/ {获得面积
i9 l3 P! B: F: U; ~0 P0 a* B& I) u1 O
判断2个面是否相切面
. V+ N2 s4 N" B! Q' I$ j: | n2 F* |5 ^# I. @7 m
打开网页% {0 p: x: Q2 `8 w
( ~9 y/ t: H& U, h
判断文件是否存在3 y) N, E2 h8 h
; p3 U0 K' s) M0 f读写文件操作
0 K5 _: Z- n% H* q
4 N$ M/ S1 N2 _( K& E9 s; C0 E部件操作 -----下面开始就概述一下实际视频更多内容
. h+ a7 j! D: v$ B3 C( l- z. s
5 z9 _7 J" a; V3 n$ h$ |; y1 w导入导出部件7 t8 Z0 w& J0 O9 K6 S
7 v' M; L5 c Z ?7 a4 s
视图布局6 c3 T; E/ ?- l3 z# R5 U
0 A% [- E/ S- H0 j! ~装配部件操作
, X0 n& E% O# U3 z+ O9 x; ?+ t
" L' r# _9 l% W P! a7 v! h& a调用子程序
2 b! k4 m. C% q( Y
/ Y7 x, s% V. I+ r. V调用UG宏 和 执行.utd文件
" K6 o. s5 f/ I1 i& G# ], e( K( z; t1 w0 L% l
GRIP入门: G& }) F3 o* Q
9 g8 Y6 z6 A. t# J
GRIP调用UFUN
( S3 h8 M; F' f ^" [/ L
% U6 V5 r9 P6 @: T, k1 FUFUN调用GRIP0 `2 D/ z' n: H# V3 B# K- c* t7 M
" `1 X' i: |1 n( ^" x制作一个NX4-NX10 32和64位通用的外挂
- v4 v( R/ ?% O8 X. q$ R: R0 Z
- }( |$ E- l% K4 c& r7 v8 }----------6 b. ?0 E! e; J$ N
UI界面设计 M9 R. V5 L$ \9 b# D1 `1 o
2 v2 `# q0 J7 o/ Q2 J# x2 U
第一个UI程序0 ^. _4 b) h/ T* ?9 E& e
) f3 _2 l) S; Z& O: r, hUI界面使用 - 各种控件的应用3 W+ |- v8 h, q* z+ o
- V4 `) C6 B/ R8 T
标准件列子5 K$ p1 n$ o4 }8 n) {
4 r, I6 A% A* I9 T
带选择功能的ui 界面
+ ^% }3 Y& Q/ D' E6 z% z
7 E1 d' R7 j! Y4 i+ I2 OBOM列子; l L9 G0 _* R, d
5 B- h" k$ ` }' A u: u
...其它列子: g# M4 Q7 X8 B
---------- U3 B7 d, k# K# A9 ?6 D
图纸 的 创建、修改、查看
/ G) j3 Y3 s3 ]: {+ n8 D" {. ^
% b' K+ `1 O% |/ A布局 的 创建、修改、查看
& X5 w% E0 @' `) |% P5 l5 Y- q; ~, c
在图纸中增加视图. W4 P1 U. i( Y2 V
. b" O- f' E5 @) W+ k投影视图+ B' a# f+ _! v: e- ]# k$ Y4 Q
$ k; P2 ~5 e% i( U
更新视图
1 j7 _/ N1 U* Z0 _% {
! F* \8 B) B& |3 F9 L% n6 w3 M! p视图设置 - 隐藏线、可见线、等等 (查看、修改)
8 W' n) a+ ~+ @7 D( o+ e' \& e/ w7 Z# p
视图比例 的 查看、修改
: f5 u4 R! D3 Q7 l+ g% P) f
+ Z* w- C0 J$ e, |, \: W; u视图边界设置(查看、修改)6 h# ~+ Z+ X9 E' R
$ K' M# N1 g0 x5 X移动复制视图
- ?; g1 `/ _9 h; [7 H2 L8 F8 l" y
( K4 @9 g/ r7 g1 o5 g' r: y3 e导入图框 4 q7 i, I" }$ B* E4 q8 U# R" w
# E S7 L; N) }% C/ c文字操作' R ?7 `3 f w$ U; ~$ a
" S! i- y) e9 X- H
制图列子:三视图
& J6 ]$ d$ _$ G `+ T; j4 c6 @' h5 J0 _( l2 d. D- B5 j
制图列子:电火花图( ?8 ?0 ?- S+ D; m$ e
$ d" N. y; l& _5 R/ d
导出2d转换dxf
. I4 n/ B ?0 R" p' W+ c* v% a
, _* e: a: T$ c% f ———————————————————— C/C++做UG二次开发 有基础深入 ————————————————————
8 [, S2 p7 s1 q: D
) [/ Y, L; A+ ]7 W4 V. R外挂加密 - 加密狗的使用: Y- S/ ]9 C# ^$ j/ x) S
' p- J# ?6 g* O4 z% {0 {. F* H退格操作 - 安UG后退,还原到未启动外挂状态& Y7 F* t2 g% z! P9 h
, a3 }- k4 B- p1 o
动态操作 - 比如动态螺丝+ Y. e" p. j8 m& i( X9 L9 Z
, a; a" r0 L+ [2 C获得图纸上视图里的对象6 L; r& h/ ^ D; J
+ H4 T2 b! R1 H& c: V% S
只选择图纸上视图里的对象
/ m* `4 @, v1 @/ Q7 h! Z: ]: q) D& w0 ]8 j- k: b
修改图纸上视图里的对象
9 |2 a* A8 }. c7 O2 ~8 E8 x; R2 _0 a# _ ?8 j
尺寸操作5 Q. ?: G5 y! T" R; Y1 x8 `
- q" e# [8 l- m3 ?
坐标标注" W& f* h. K! t/ d L5 b0 q( W
3 P& t: v9 N1 T# U$ A; Q G外部模式
- z5 a7 u/ g+ f7 o$ B+ ~( ]! \* O! V8 ?
9 q) f4 T3 U# L# j启动UG时启动DLL
2 y. d/ [; s- W+ f( O
) j6 S, y, | I# V% P( \7 g- t导入导出部件图片1 K0 r9 S. w" G& g1 d1 m
% n+ I' G& {0 e) q8 z
获得缩略图
% d) j- K, L# ]0 R' ~; c: ] k; [% b8 L. n5 _
删除曲面通孔(区域提取)
' p) X5 R; |' C" y8 ~7 L3 \( W6 O5 |! ?
区域提取(种子面和边界面的使用)
4 r7 e: |# T& @
3 K# D7 L6 y* ^7 G/ h/ CC/C++做UG二次开发使用MFC界面
1 k( l5 }) j7 [& s$ x7 {: l/ c* G2 t$ H) O
第一个MFC程序列子2 b$ ?% b4 y7 p
& h( ^3 t" i- k1 Q+ x5 B5 D6 ^' BMFC 头文件说明) H& Y& T! K) Z1 O: v* B, h
! c4 U* o, o9 _6 k
MFC 使用公共变量
4 L' e7 A! k) m0 R; V% ?: s% ]2 P* n# X* `
MFC 使用公共函数5 {5 H& u0 C5 F" g' ?
* n- O: v7 R' q5 o V7 ~8 `8 q
MFC 控件介绍& S7 I z4 Z* ?( {% W- a
! t1 J9 G2 ?! Y1 W1 c* C. k$ `0 ?% |
MFC 启动前操作, Q- J' s- o( I9 }( S; y
. x2 j% S/ [" i- P# M) Q4 G
MFC 窗口标题& \, g8 q j# T$ l, w. o
2 X9 m$ V: a6 UMFC 关闭后操作
; @6 [! n- }( p; Y2 |% o) W- e% m+ h# @. k3 j# X
CString 字符串操作
% G' u1 M0 q: w/ A6 O3 E/ b9 x
# s6 i! h. I G# d9 `6 ^CString、char 、string 互相转换.
6 n: M7 S7 t0 i4 F# d8 B; ~ n( p" M$ C
MFC编辑框Edit Control
" S# h+ @; B$ S) ~
! b) ?1 l* _+ Z" cMFC控件、按钮Button、Radio Button和Check Box5 _6 e6 l# c3 |, |0 Y
7 t8 d8 |6 Y+ W4 e/ j% n0 m) OMFC控件、勾选Check Box
3 i& a$ H, v5 l) k+ x B5 D& P4 |5 K6 x, L v
MFC控件、枚举框Combo Box组合框9 z7 X$ a% k1 g8 m
+ G3 k7 U$ t' f7 h, }MFC控件、组Group Box
& f) q/ I9 x' O2 P! X1 R: f; U- T" H& Z" R
MFC控件、切换Radio Button
6 o; n" j0 |) w; g2 X, q& ^; C1 V2 B! i& T6 q; J! F9 C$ ^
MFC控件、静态文本Static Texr
: q) r! \! M/ ?& W$ a3 ]# \( p. A m+ a$ G# R# Z$ ?
MFC控件、图片Picture Control; ?8 }* F2 _4 L% t) v" k
: z! J* q: Z- K" C( V
MFC控件、List Control 列表视图控件(BOM用)
" ^- h$ C$ K& n, H) A# d; i; L0 m5 ]" ?
控件焦点! \. q% |+ q1 D
% ^" b! S8 I; S% D关于MessageBox
- ]! J1 l. F2 t) i E
% |; a' D; B0 Q+ s& G! L——————
7 x( D, C+ k8 k m! `1 V3 `' t% h4 i: i7 K9 c3 }
有关NXOPEN 的使用 8 h/ D4 H# t+ V! ^5 n \ B
$ f+ U$ d9 E& z7 HNXOPEN基本是录制后在修改,有C/C++基础,哪怕只出个两三课自己 多做列 就会基本应用了。. d. A& V) Y% O4 x/ m0 U! J
$ c4 Z/ n$ p7 o# ?7 \以下略写 实际内容更多
# S) i) p6 x. F+ u
1 n; o, C6 X' n9 j9 T6 y0 n; nja录制
: r5 i5 J! v* W* h, v- y& Z% q* x. W. T/ R
使用NXOPEN 创建 点、线、体..等等* H# Z+ E7 ^$ ^' i/ G
! k/ P* \ Q# o# {使用NXOPEN 遍历对象..等等
& M4 v6 {; \; u. j) K1 t4 v
. K7 j* }( e' L P! { H2 j I8 xNXOPEN函数都是录制的,然后在修改。
5 A. c+ ?. |# S, t2 s; v
: R4 b$ R. r2 t比较没有技术难度,有个大问题我在次说明' X5 g) M5 T. a1 l: n
9 `3 U# q! g+ h' L9 I3 Y& h4 J
NXOPEN比如NX9开发的功能可能只能NX9版本能用,版本一旦更你就要做好重新制作外挂的准备。
" ]6 s6 M" @" s5 ]3 T x& m v) j8 D! T) G
NXOPEN版本要求很高,对于喜欢使用UFUN的我来说很是欣慰,(如果版本要求不高NXOPEN真的会普及)5 W8 i4 u& u& B7 N \' L& ~
M" u8 ], j& h) e4 g/ t0 }* b( Q
Block UI 设计 (Block UI 用的函数库是 NXOPEN)
& P2 A( I2 G( M: y7 `' F y" T7 R6 q" E1 p
第一个 Block UI 程序$ O3 ~9 }. T4 Q& K, Y3 B
- O P# X, e) n J2 ?
Block UI 简单控件的使用方法8 S6 i) H! n6 }, D/ n+ j
3 @* p8 D' p* J; hBlock UI 动态控件的使用方法' Z. s* u g4 q' ?0 o
% z+ `1 E( t% {% h(Block UI界面的唯一好处是大大的降低了动态操作的难度)(就是对版本要求太高)* \+ n( q0 s$ m, J
g' S; N# b" I综合应用 z4 ^$ y w# R& d% W2 c. p: i0 T) I
8 c v& {$ O+ |: l7 [" q
交作业
+ O, G8 R8 {: Z; O$ K* H0 q' _( \/ r( Z* D2 `3 Q
——————————————————————————
: i( U' a7 ]! E8 `/ K( P& W* d |
|