|
楼主 |
发表于 2016-3-2 13:03
|
显示全部楼层
教程清单目录:
6 j* D; K! c4 S3 v1 K3 U% t I' Q! D" g# G4 o/ ~9 v
———————————————————— C/C++做UG二次开发 零基础入门 ————————————————————6 y `8 y0 x0 O9 Y7 @# S. i& I
4 R' u# |/ V0 r' j; O7 r8 }
UG外挂目录结构说明
6 }$ N8 M7 x3 |* r
2 e6 T& `8 d# b! \简单宏录制; v4 W [9 ^6 c$ |5 e+ p9 o+ W0 Z
+ \* h& m0 u' R' H7 G8 _7 E* T7 Z) o图标制作' [- l# v0 w& g8 J& S
: D7 E4 O/ s, A; F( [: {工具条制作1 G7 ~$ n" W% K$ l
9 J/ W1 Q% O8 r) w菜单制作
2 e% n. F S. \7 T$ l* |5 ?/ y2 q9 ?3 ?' y
把外挂加载到UG
2 s% S. K6 @9 `9 i7 ~- W5 x2 x5 U+ i( H5 z: y, L3 r7 T6 R) |3 h1 D
同时安装NX10/NX8/NX6/NX4# g% r% h9 y. q& i. T
. n% o3 s: i G$ s
安装vs2010
5 u l) V. a2 D" f) b" j" z( a: U6 w3 P) J4 W
VS2010 与 NX4 - NX8 的环境配置! J7 G7 t. E+ Q
) D$ p2 [1 O; Q Q QVS2010 与 NX9 - NX10 的环境配置
, Y5 q u( u& q) u0 ?- n0 B/ [- o1 \% Z
第一个UFUN程序,弹出你好UFUN
0 X0 w9 i+ M8 T S! [ t: C2 m
( [! g; Q- l, P5 Q8 V入口函数说明、声明和定义变量。运算符号、基本书写格式概述。 R8 r. w' D- A5 d
& }$ o( W/ ~$ s5 K7 p& T0 C* `4 @
编译成新的DLL文件时,UG无须关闭重启动
0 u t7 v6 {3 \5 _: _- r- M) y: {9 n6 Y0 ]) Q7 c: k- L
char字符串操作, J* S; N) ^/ }; U1 l/ Y! w
% v) t$ E$ r: D* k( [! t
数学函数的使用
0 m% i: e5 ]( y7 u" R3 b. j+ l6 h$ {/ |' V/ @: E6 |6 l
char字符串与数值的转换3 Q5 K; W0 ?) {& U& M: i% \' p
f# `# f `% i: p. a0 i
信息窗口的使用8 W* x+ |+ Q2 F" K
3 x$ x' C! W& D6 c9 f) ~' k循环语句
& s0 A z5 M& V7 V5 g7 @, y# }( `; g, v$ g6 ~; D
条件语句
5 Y M; c. u. [9 G4 x! U0 B; h9 Z% ]
嵌套
9 Q5 `2 P+ u5 X; `9 c- v1 [# a! R2 ]7 U! H
结构体
@" \+ V! d* x4 I8 p
( O N1 N5 t) `+ s一维数组和二维数组、动态变量和静态变量6 N2 `- b* g* |
$ c- c T$ d( O( Z
随机数发生器 % `3 n1 ~4 Z Z; C" L
+ l( A3 g4 D* Y) L( }创建实体:点、直线、圆弧
- [$ m+ I6 B2 x
# v( a2 D( T* q1 E2 d ~. K: L- b$ S获得当前显示部件0 }0 Y* u) i+ N& A
8 h- R+ t4 ^8 Y; T5 j' W7 b, n创建实体:长方体、圆柱、球
" [0 n, R* @) K; J: a
3 X0 K" u7 W( G2 l头文件说明、学会自己看英文帮助。9 q; o0 U* a5 q3 O9 c
! V) k! z/ ~3 N
布尔运算,相加、相减、合并. E# y) J' ?9 L- `4 g! Z) [
6 a/ g- A4 k( r1 }
点构造器对话框
/ i) t5 M- f4 y, y @$ p6 `& [1 a% f% Y5 R1 Q& W
按钮对话框
- k- K- L/ ^' d" a3 }3 {; n# B2 {+ G# z+ |! m
参数输入对话框
2 N }7 T: G8 R: _. E% `+ J: \) n1 F1 v, C4 \- ~% ]1 L2 D& N3 M" e
混合对话框
1 }" o1 T( o3 g' z* u+ K$ ?. y( W/ @: {+ _' u, `
单选对话框 A% b# b3 c2 ^, A* d5 `- o$ q
) q$ [6 Z/ K# B Q, H多选对话框
* K& R) h" X0 G3 u5 F8 \" Z0 c# n% ~ i. k9 g# L5 r
对象标识链表% h; `7 u. k8 r" l- E
) o: [6 d6 r. u c
获得对象类型
- h# N1 Q2 S$ u+ {5 I, l
\5 j; _# l N3 t7 @$ S( }, B选择对话框对象类型的过滤 Q( a. J, ]$ W( I, n( J2 Y
: i, v; ?: k+ g& N% s0 V1 m
提取线
* y! i" \- }3 a1 D2 k
! F3 ^! O8 M4 C+ b提取面2 b2 ], s+ f$ C/ v& ?6 o& B6 i
9 D4 ^" t" L( }
曲线分割曲面# c1 ]+ f' n# y, ^8 F1 I& C
: c* ^+ T' X' s/ y( P) G* @, v
合并面
0 r9 r7 `5 ^4 s9 B& Z$ q" D) h! t/ {7 } i
偏置面$ l8 a8 W) ^! }# q
3 B# {# T9 N0 C2 K( X5 e# q1 G2 Z替换面
" @& |; k# y$ N! t; Y- Z
! B; _: J' h% o* ~( [扩大面5 P: l6 L6 _( P# z8 E* F m
8 w( i" P5 ^( M
倒角
* Z9 [+ Y F8 U0 Z3 A* [& {% T7 d
$ d: F; H$ {$ M/ u3 }- l! V9 W( X0 C创建简单孔特征4 i) [7 A6 V5 Z8 t- ~
9 K: [1 `5 o. t* H- F拉伸
. w [6 _# y' z3 ?- A$ F7 O- U8 H/ z3 r7 h
创建、基准轴、基准面、平面/ }6 X+ j9 c6 @
1 u w: M3 A( b9 G
分割体* L9 T1 n9 z, W
7 E0 s1 [$ B9 X. C# w透明
8 {' f) g9 l) m' t+ W4 k4 m. @0 y) j8 E* t, n1 r0 C
颜色、线型
. I! f2 e9 ?2 e" _7 U: s2 [
& m2 Y4 K) |2 h( y对象名称操作
. y h- @3 J: v7 R9 v5 C- P2 }6 F
6 r; d5 S" H0 |8 }7 b$ d+ a属性操作8 S+ d$ i4 Q- }8 ?( I% R5 O6 m/ k
6 i7 U% a5 S; T1 d5 M( y图层操作
3 D. s- } Q7 A/ g- Q$ q- X9 s+ f
5 v5 h |; k: t5 o隐藏、显示对象
/ f7 t1 V" ]* b' i- O
' m% l& _6 E4 X: ?对象的删除
( G' c/ h1 d- `" ^7 m! \/ B) A, c, Z$ u% C* `; K8 Y) ^
去除参数
2 B7 ^) t" X3 k5 R) \- q7 L9 r t0 v8 y
更新模型7 e! m }+ g6 f, m
$ }5 X4 O- Z, t+ N; J6 U
表达式操作
3 }: a3 u8 x' |: T
2 I* q6 \4 q4 b T( J2 `坐标操作
0 ~2 l' o& K) |; ^- ? a! S& Y4 V' U& ~2 |4 u7 m( E5 H
矩阵向量: O; l7 R% _/ c& i& o* B. [& i. u
1 q8 [: y" P% \- p变化的实现:移动、旋转、镜像、缩放
) p6 p2 E$ E. r- H
1 y* l, u' R* v" Q2 J点坐标转换8 @( K4 Q2 c' B( U
' `/ R3 U! A. O1 R; r" e+ V获得2个对象相对最小距离8 F' b) b5 s0 J5 I" B5 e( Y
1 F, q( F h$ e3 F
列子:最小包容合
. q* h; P, X1 q" I9 H, `
& Z% V M, Z9 d% W! g遍历特征
& R" O% _$ k5 [6 x3 c9 d
1 Y* E) [3 b' e z" L y遍历实体' m7 o8 H- g5 ?. l6 E- P$ d
1 G4 _8 i- l _' E* F6 ^6 n& s0 b
列子:下一个含有对象的层作为工作层
" i! p; s. [" R# b3 b7 d1 T+ R% |- _5 ^7 b- U8 V( ?* _
遍历一个实体的 面和边& y/ o! ]( o/ k% C4 [" c( O
) A4 z" v3 c# y' ?4 c+ u; C遍历一个面 的 边
" c* v: a, x. J3 W1 A5 v
8 a, Q, b1 C1 p g选择一个面或一条边缘获取实体1 Z9 C3 v6 x& e' W
* j3 ]" _. E9 q% D
列子:高亮函数的使用,启动外挂判断对象是否被选择/ o& w6 F) ^8 s5 z- k; ^
" \, v* J& a$ X2 a4 a$ i1 e4 d! s
获得对象信息:点、直线、圆弧 e+ o/ S: k4 K) w
) @% g5 K' N8 X- F
获得对象信息:长方体、圆柱、球3 R# Z7 X! g% i0 P! e: h* W) D! u
" z% w6 ^2 Q, Z: d获得对象信息:面类型、面半径,类型轴中心极点坐标2 \8 r# d! _5 D6 t
2 z* F8 Z; G! D# r4 S获得对象信息:面的法向1 u7 O' ^; W' [7 `1 J+ |5 A: A) Q+ e0 D
- x2 _7 I# c6 `6 [. U
获得面u,v参数空间(u,v最小,最大值)8 |0 J; ?' P# S' G0 m9 C
1 H5 n1 U+ Q, x: C
获得面上的点6 H% a% T. x0 v7 q/ h) J
1 N8 ?5 b3 B# B; e) O获得面上的UV线
6 y% X! T( F- g, {" j0 h8 x7 Q2 U: e0 Q) Q- f" C5 v
获得相邻面( \/ r9 |6 K) s2 P: t4 q
- u, V) c6 S4 q$ _- A
获得面积
/ I% h, H: G4 U6 d+ _7 X2 K
4 I9 _: u1 m# v( n4 x1 p- I判断2个面是否相切面
6 J1 z+ ]% Z: f& m9 l+ x# w7 {$ L( a- F
打开网页) u& R3 M. |' ]6 S# X# v
$ T: c- v. }, l! J1 z% O" O% B判断文件是否存在
0 y6 O k+ Q6 E2 y9 [: _& y4 z* p Z1 c! ]
读写文件操作
! P2 B& u' q$ L6 q; E) @
& i1 t1 r# I) @8 }, I" d+ i部件操作 -----下面开始就概述一下实际视频更多内容
( ]% f, H& W4 j! D' B
% t7 P1 i u1 U导入导出部件
& l7 O- w0 Z' A0 _$ N$ [
( m$ \9 @& g6 v( a视图布局5 q( K# a4 J0 E8 j' w# v
+ J) T8 g8 v: |- E3 ~9 F1 l装配部件操作
6 v% q9 \7 @! s5 z) j9 U |( V6 r5 u3 z
调用子程序: p( b$ ?4 V7 R( U8 n- s4 J
5 l7 \1 Q; @. I8 v0 ^% A1 R
调用UG宏 和 执行.utd文件
: q% B/ z% P% H4 T2 F- ^7 b
& Y$ i# z- ^. W8 }: U: ^8 \GRIP入门9 G8 Z! r1 D7 T1 j) S+ D( M
0 Z0 [ f5 J: U9 V! t4 X) }' u
GRIP调用UFUN. }& N( T; g# N/ C
: W& ?/ n' J5 f- ~UFUN调用GRIP8 i3 W' p+ W" t/ O
8 i- V/ z3 S3 l1 l( [9 k3 C3 ?制作一个NX4-NX10 32和64位通用的外挂) S. P' v' n5 e! a
; X- E$ K/ B. c( H9 C9 a----------( @4 L, A9 O ^: G" e9 f
UI界面设计- ^+ R: c/ J( T+ m! m
0 A$ I1 Y- R( _& `1 c, k$ }# c6 q. T
第一个UI程序$ r+ Y; s2 D$ Y% u3 [3 g
6 H+ L# E: D1 p- N
UI界面使用 - 各种控件的应用+ c7 x5 |% j) n2 Y9 ^: r( L- H
3 P. C: |# U# X& X5 K
标准件列子
2 G0 t W! u7 E$ L' a8 a) L u z, Y
带选择功能的ui 界面+ _2 K; m* s% S/ W2 _7 O+ V
& P4 V; Y/ E- H. ^BOM列子
4 P# K4 I4 n* }( \% |7 f7 ~1 W+ g9 Y) U; B& I
...其它列子' Q. G M& e( }6 i: N* \: B
----------9 l0 Y( o8 h2 o+ j0 }5 g
图纸 的 创建、修改、查看
T v, a4 {: J; y1 ]- ^& _, T0 s0 N4 C1 V
布局 的 创建、修改、查看
3 o3 z) R+ H' H+ P! |/ `; {) l9 J0 b9 @
在图纸中增加视图
, n" f& K D t4 J7 \2 U3 o! ]
h5 t, x$ j3 X1 O投影视图
$ `7 c4 K: N) n" W
2 Q1 x$ j7 f; u) _更新视图& {9 }2 n( w3 c7 @/ s
^$ {0 N' j7 o( c# {视图设置 - 隐藏线、可见线、等等 (查看、修改)) L0 u5 j6 n Y6 T
8 F* e0 z% z% i9 O视图比例 的 查看、修改/ V& s; J7 R# C5 }" q6 @7 B1 i
% r4 g5 J5 N4 n% K8 l视图边界设置(查看、修改)% Y- e# ~' [- Z4 d I
/ v* s3 ^- g- E4 z. W# q移动复制视图
! Q7 K# H5 }! r9 u: ?
$ Q- z9 D# y8 V9 o6 O导入图框
4 \( }, U' f e B9 p& B4 N
7 a9 r' ^: ^5 R3 L8 J1 U+ \- d文字操作
8 Y! t# q, n* }+ I" {' P! B( R, r1 U1 Z3 t! w
制图列子:三视图
3 x6 U. T+ ~. h7 N3 t, U* e% \* Z* S: o+ U8 r
制图列子:电火花图
1 ]6 P" q F2 L; k/ e( W& W# x) |
导出2d转换dxf
) f% c. {" ?3 v* y) U3 W5 D0 {1 u X: S
———————————————————— C/C++做UG二次开发 有基础深入 ————————————————————" | ^( I6 O8 }- I# l
0 I9 W1 Z5 B4 M' U( V% P& i$ o6 t外挂加密 - 加密狗的使用( x" Q. _$ T/ q- c0 N% R0 ^
. Y8 O7 E9 e: {+ j
退格操作 - 安UG后退,还原到未启动外挂状态
0 C! R8 P5 j% e P& f
. V5 H4 @# Q3 b5 W; f' o动态操作 - 比如动态螺丝4 q" h3 c/ D8 ]) ^7 v9 i3 ~9 Y
3 u, s# M0 F) I
获得图纸上视图里的对象! R# Y; k/ S6 i' [, @
3 P1 t, R% P: z& J4 m只选择图纸上视图里的对象6 ~. f* g0 n" E9 R! V3 h9 H6 J
+ E, w$ R2 [7 f3 s
修改图纸上视图里的对象/ B z8 V H O* V; u7 ]/ I3 w, C
2 u. |4 t9 Y [5 G* E, p& ]7 k0 C
尺寸操作+ h0 Y, H) @1 c' L+ f; O
+ i. w; z7 F1 A- E6 g3 s/ l坐标标注: o, x, x+ t/ j1 J+ O
. }: E+ c& E' Z6 z/ w+ ?外部模式3 |% ]+ Y) l7 B& w& \
- Y6 i0 @) {! [' n
启动UG时启动DLL
+ y d" c" B; N! S2 c+ J3 P9 A9 K
导入导出部件图片
+ x1 `6 }" T+ x. h2 j6 K& r
! B0 q8 o, P$ i4 F U: f9 r% m获得缩略图
6 Q. ]% ^0 S# o% \- ^3 q1 ]7 G6 R. o( I' p2 [& \! U. H" Y
删除曲面通孔(区域提取)
+ p7 [; v: |, g+ s6 M: j7 B
/ D+ G6 L5 a' L" C8 Y* l. x; V区域提取(种子面和边界面的使用)# O' `4 c, A" F6 q3 s# v4 X
& n* i- x6 w/ m1 S1 ?6 p. N% GC/C++做UG二次开发使用MFC界面9 k U" g; H' Y; [
+ j/ ~) n6 q0 _2 k2 m; f
第一个MFC程序列子5 a% ~' [: U% K* I% E
( a' H, h& N7 `+ cMFC 头文件说明
/ ?/ j# _$ |% q5 N, j* O
+ X9 b- r! r) |0 A9 z: J) k7 i1 uMFC 使用公共变量9 @7 |! f0 n, s
3 C; y+ P& D9 z- b
MFC 使用公共函数' f4 v# h! P; P
. d$ v5 {6 r1 }/ ?: r1 h& I
MFC 控件介绍
" V& N; ~8 j! ?; K9 K2 m4 K3 a" a# r, h) ?4 X3 ~) W
MFC 启动前操作
8 O5 e0 u8 n5 U- t& f" L1 p& A* M
3 B+ A9 @3 t I2 {2 LMFC 窗口标题. M( H0 @9 ~% K- Q0 I4 l
' o' g) q9 m9 w$ h: ?
MFC 关闭后操作
+ S/ @' o5 @# d; h: n9 F3 k
. `3 M9 @+ g/ |3 Y6 T! qCString 字符串操作1 a* }7 R$ E2 J9 |# a+ d
N( N, p! [% x3 s) c
CString、char 、string 互相转换.; z& s4 I ?& s0 o. W0 \* U) r
% o1 N' v, B' T& I$ v
MFC编辑框Edit Control2 H+ K6 R: A* z! l$ m# u! L
4 B) X0 Z+ O; v0 K+ i5 |MFC控件、按钮Button、Radio Button和Check Box0 o( s) {* c* @/ Q) ?1 y
$ \0 v/ U' f+ _7 _) f" x
MFC控件、勾选Check Box
3 A/ C; R3 d- F# J. E( u+ V* _
! Z1 {$ P) E1 Y5 H; b* H# Z; vMFC控件、枚举框Combo Box组合框
% x! p1 m' i4 O' I3 X$ w4 {! L% O8 h, m" @
MFC控件、组Group Box s% T( `( o% F2 [5 R9 q) p* X
/ t" \2 M. V2 J& v- |
MFC控件、切换Radio Button% c1 C$ z! x9 c6 f& u
, a2 b) M. q$ G. r: ]3 _MFC控件、静态文本Static Texr
; { S D; k$ z; ^3 g# U' g2 r' u+ R" _5 U- h. W. Z% _$ s) y
MFC控件、图片Picture Control
2 E- K) [$ v5 p! v- c! b5 O' A( R( E8 n
MFC控件、List Control 列表视图控件(BOM用)
n; k g$ k9 _9 @- A: ]! \9 H1 m
\ X4 r" Z% Z( s) ]4 _1 p2 }控件焦点
0 D2 O+ X/ S, j+ M0 w) [ ?9 v
: f+ x; I9 ~/ D9 N$ E关于MessageBox9 k7 d7 q0 B6 x7 C' t1 s" A- g; N' @) e
@2 _3 b# a' }; h——————
7 L3 E, P7 ]( ~* H5 K, B4 k9 ?6 N) h& y% Q7 ~. D+ B
有关NXOPEN 的使用
/ ]( S; K& c$ p7 t( s; Y' a0 E( w+ v) i Q# V" d* X0 o* n* r
NXOPEN基本是录制后在修改,有C/C++基础,哪怕只出个两三课自己 多做列 就会基本应用了。& e ^' r* b6 D* n6 m
& a( @* k0 l+ k6 y) R
以下略写 实际内容更多 ; {& g2 L$ r4 b& X" u3 F" ?+ C
1 x8 W( _ A9 T0 n; O0 X1 oja录制
' J3 S$ | M- J3 c4 @+ e# |; p4 l
/ C4 Z ?& O; S5 Y) R* w使用NXOPEN 创建 点、线、体..等等
7 @9 f( U; C5 k# d, J
5 G3 z. U( A7 A( }0 Y3 n使用NXOPEN 遍历对象..等等
7 e* {& F& l p% g( [+ L. ]2 a' l8 t* r, m8 I; A
NXOPEN函数都是录制的,然后在修改。
; P0 e7 a+ t- V! d8 [: J. A
$ U/ h0 W1 J$ l, {% ^' H比较没有技术难度,有个大问题我在次说明: q3 u) |6 F# E) J! T7 y1 K8 `
# S, b: I9 ?. M# ~1 M/ A
NXOPEN比如NX9开发的功能可能只能NX9版本能用,版本一旦更你就要做好重新制作外挂的准备。9 I$ N9 e, j. G* ?6 Q( Q
- O0 _" k! ~& T0 t, c8 E9 u% BNXOPEN版本要求很高,对于喜欢使用UFUN的我来说很是欣慰,(如果版本要求不高NXOPEN真的会普及)# R1 Q7 Z, T* V. c
+ @$ m8 `- F6 i6 {$ IBlock UI 设计 (Block UI 用的函数库是 NXOPEN)
( Y8 ]4 `" k4 C) K9 U
9 [$ ^( n, k2 S% m第一个 Block UI 程序
- b) U* `' i; \7 f
% P" n8 W1 q- V: V& v+ {& oBlock UI 简单控件的使用方法
4 G# @: O& J, C& ]& R- z) j% ^3 p: ?5 k6 o/ ?5 _% x/ w
Block UI 动态控件的使用方法# j) q3 g8 g& p w
. R1 W! H) P5 [# E
(Block UI界面的唯一好处是大大的降低了动态操作的难度)(就是对版本要求太高)9 d: e. t- h3 ~0 G9 q* \( ?
+ h b% I, i v' t- V; Z' a0 P综合应用
$ S/ N" G$ O `" C! s% ?- S
( k, q4 @0 l- s- D交作业
. N; j% a2 ?6 e; n/ j4 ?8 Q
8 I" F& @1 k# Y, @8 b' ?8 F——————————————————————————) k3 G$ E) u2 r( K. S5 _0 d
|
|