青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 2200|回复: 2

[原创] C/C++做UG二次开发零基础入门到有基础深入 - 有问必答

[复制链接]
发表于 2016-3-2 13:01 | 显示全部楼层 |阅读模式
本帖最后由 1821117007 于 2016-3-2 13:03 编辑 $ F7 [/ r: _# v: s) V" R1 ?& m+ z
* P+ _" d' B+ H. U9 ?4 r) q
C/C++做ug二次开发零基础入门到有基础深入
/ G, Z( j" h! e% Q- U0 \
2 Y& j* \# Y) y. v0 K2016年4月1号前,报名 C/C++ 学费2000元哦 报名人数不限。1 P- N4 H. h6 }9 N1 ?7 I1 |0 J  n- d! v

$ }- g9 ?( s( h1 |* ^5 X凡是有一定基础的都可以事先联系我。. x8 N4 L: v7 w0 y
; t  D# h. R% p1 P, e3 T
有GRIP基础者 ,最低是1700元。看情况而定" D9 m8 }* m8 @) I+ X  C) [
  @8 B, _0 g0 W* H, Q# B, a; E
有C/C++基础者 ,最低是1200元。看情况而定' S- c4 e/ V$ m) ^* R7 r0 s" Z
( I/ W& ]0 R, a* A4 ~
本人教学优势:提供在线回答,学会为止。版本通用。
3 m6 i" v; x6 m% H. P" v
* A" S" Z. f; o0 N) K6 G- w" l, {( M教程大概是 2016年3月15号 开始发放。
0 H$ m! n1 T% v# q# V
/ k: U# E. `" N+ E
. v5 c; ?7 l& x0 R8 i+ u' [8 Y
 楼主| 发表于 2016-3-2 13:03 | 显示全部楼层
教程清单目录:
( i4 y% j9 s  ?1 b
* I0 y5 E' n# ~) l* p9 Z ———————————————————— C/C++做UG二次开发 零基础入门 ————————————————————8 i, f" C3 y$ x* E  I; C& u# T

7 k; ]& I- s/ e- SUG外挂目录结构说明6 F* Q) k6 M  V9 Z$ X' A$ f9 ]
6 \  G1 q5 ~2 u0 p: p5 p/ h9 o
简单宏录制& |/ Y; M0 q2 F; X7 @9 w

8 _. K0 o. t: a, u+ q图标制作3 i9 ?  h% u+ w0 _' K% R

4 q/ D& i) I4 u7 N4 g$ W3 @8 n8 g工具条制作2 A# U; n! I3 a" N2 J/ x2 g

4 L! T% O! w0 q3 |菜单制作) I! }% P% R2 i9 i% G: f0 t' p

9 D& c2 F' O, P# d7 J; w4 N8 X: }0 L把外挂加载到UG
% ]. F3 r8 @4 x+ H' f" F% s* M# J: d- @
同时安装NX10/NX8/NX6/NX4, H# [* M+ z! s. {9 j

/ `7 a% z. f6 }3 A; P& L安装vs20101 b/ b( G3 `4 F$ H) H
- ?' Y8 B" C' c) U+ `
VS2010 与 NX4 - NX8  的环境配置& T7 F# q) Y: }3 c9 T( c3 f
5 `4 l" \! y+ s" H
VS2010 与 NX9 - NX10 的环境配置3 J  b  k* [5 T
( e0 J+ x1 P5 A* P% U
第一个UFUN程序,弹出你好UFUN, J4 ]* F6 M- H6 K. {

6 a3 y' q! L$ O0 E- J9 c* L8 ]: A入口函数说明、声明和定义变量。运算符号、基本书写格式概述。, a  \8 D) B  [( e7 }

$ n5 `. d5 u9 v( I( e' z编译成新的DLL文件时,UG无须关闭重启动
. e  z4 B- k2 U; g! ?
/ e" E, ~8 R' j6 {/ c, bchar字符串操作
' ?; Z6 n8 G7 f' N+ X( B' p9 T: n  v. f; u/ w7 ?: V) Y& D
数学函数的使用
9 t6 \" ?5 o8 }" u5 d' D+ C  T8 }9 Z! R7 L* N: W* z
char字符串与数值的转换% P  r. B. H* l

5 ^  u" x  {( ?7 Y  b信息窗口的使用% h+ `) i) U" D2 L) }
; V9 k, v7 s- W: B; ^- H
循环语句. [' Y4 U# q/ R# y: C

2 b# D4 l3 o& u, P% Q$ V; S条件语句
1 f6 M5 p; B. n7 D' o
* ~1 ^$ r' |- u6 A( v# e3 L嵌套. L( `/ P$ S1 z; c4 }2 g* o
2 r# n2 W! P* z/ U: l' G) g  h
结构体
) z, O# V* S' V0 c1 J* b& H
$ R7 g" M8 o' R一维数组和二维数组、动态变量和静态变量
! G$ r. `4 J$ J6 {) I, |5 Z( B) `' ?+ X3 ?
随机数发生器 0 I+ C' o! t3 Q) R

& I) m% W; C+ S创建实体:点、直线、圆弧
+ t' ]5 f" W* o7 C( S) s6 q6 @8 s
获得当前显示部件+ d, i$ i0 B0 Y6 @$ i# s

7 C+ Y' L+ V9 L- J- h0 N创建实体:长方体、圆柱、球
2 u0 q3 i- T: u* X" g
. s1 W& R- ~1 Z0 `0 n; z  H头文件说明、学会自己看英文帮助。8 ]7 @/ r. w+ ?1 o3 E% C7 I

! n1 r$ q2 M5 u, ?. Y布尔运算,相加、相减、合并& N$ j. L, T7 K$ x- v  r3 Z
' m$ o/ U+ {8 \6 K3 L
点构造器对话框
) B. Q; m' Q5 w* d, u8 k
8 c0 U# s# Y+ N- E& U: z# U按钮对话框+ c& ?& m2 b+ J* y+ y, f

! x  R" a2 n+ W+ b, i6 o参数输入对话框
0 s9 U- F7 t/ u/ s) C9 u
, f1 @) s! G* z  k& p" s& Y3 [混合对话框
! N( S$ H! M; a5 m( y: j1 C) V& n1 t! i
单选对话框
1 W: c- G: p) R* ?
0 d1 W6 W9 r* B多选对话框
' U) V5 ~% A. S5 E) D" Q
: y. u- l8 N% P- y对象标识链表7 O& F7 C9 X' y& ?

1 m, [) U& Y) J; o获得对象类型
  S' p7 m. G6 L! b- U1 A/ ^1 u' j7 }0 h8 V$ [5 y& b  i
选择对话框对象类型的过滤0 o- Q  e- q" Z6 k

; F" S$ _7 X' E提取线
9 P8 ?5 i5 q& Y6 B1 z* k2 l. q+ L: J% ?7 l: U. B" x
提取面0 L; v; Q6 U3 Y+ W$ u; e

2 D4 x6 d. P& q5 W2 k, A曲线分割曲面& e, J5 t! N9 ]. L/ S$ _: y! ^2 \

6 O* n9 T* V) O4 J3 M; [1 D合并面
% ?/ E2 a0 y* e4 n0 f0 E7 ?4 c6 @3 j, O& q7 R& }/ C! Y% k
偏置面0 o) @8 M7 P! t- p5 I9 o3 Y

* \$ _" x, X+ ^$ T& e+ _替换面4 }" A2 H  _" N; r5 H  T! ?( y- t% u- {

; [1 @8 j8 l; s/ Q( b9 a扩大面
" T' D* k2 c3 h' D0 a2 N2 Y% N# e+ _( O' s; b5 Q
倒角
% e+ F( m( }, q* I9 |8 F+ j
# q" y+ u5 J; S; j0 e" s7 j& J创建简单孔特征
1 _9 O( g2 G8 M, N  ]: p" q; @
拉伸
/ B6 ?% N7 D1 Z9 C" R0 ~3 Q% k; P- J
* Y$ E+ }" i5 |7 n: S2 |创建、基准轴、基准面、平面! q% ?' p, s- F, e; o4 k
4 I, ^3 z0 Q  Y, R
分割体
4 [4 c; x7 p$ Q, M( _
( q- q& E6 i6 z  K; A1 |5 k透明, V( O* W) C2 s; y4 ^

3 @; K; b8 I; K颜色、线型
4 R1 j( |% p) m1 K% U
& ~  W- E. W" Z5 J/ p! Z% R+ p对象名称操作
3 |) w5 M; F1 I$ D' `8 ~. y
- d8 ~" @5 W" [$ d6 n* v7 _, |属性操作
% j2 L! s0 O# H- L' ?3 g- ], O; ?8 L( g, H  q
图层操作$ l8 m$ K& Y; I1 B3 K
4 o3 c8 l$ K3 \" l0 x( Q$ E: _
隐藏、显示对象& ]8 j; p) X6 U
; k1 S! y# V0 ]0 I- L
对象的删除
! P, |  A9 l$ M1 s: S7 E& y. i- S4 P9 R3 v# W2 |, g* Q
去除参数
2 r: x* w9 q  N8 i6 L3 |* c( ~
% A- d" D6 S$ [3 \& }4 F* f* U更新模型
+ N; |1 S8 b; ~# p5 {6 c: g) O
; y! W+ |' V6 `. r表达式操作' h& W- S1 p8 |, E
! \2 v3 ?" {3 A) H5 O. @
坐标操作5 L: ~/ T1 N3 f/ _% [  z  Y  r. v3 A) _$ @
4 t/ r# h& C$ Y. h' o
矩阵向量
2 T1 A5 A. v+ v+ e- @2 a5 T% n& d# `; ]+ f/ p
变化的实现:移动、旋转、镜像、缩放( u9 q4 \( I" d+ F

! O# C4 F$ |  E. r0 u) _点坐标转换
: t& Q8 k; r2 M/ z6 `, Y+ P% j8 T$ T' }, l
获得2个对象相对最小距离
" e0 y( u3 d; ]3 e" f- H
$ i: [9 [% Q0 }$ q列子:最小包容合
' I1 j3 k; E" k, y0 \9 y1 J: `: }7 A
遍历特征, S- R, B0 k2 Z+ Q

/ p) a& R0 ~7 ~2 f6 P" P" a( G/ c遍历实体2 ~: e& c: _. l( S$ n
1 h' b) n1 g1 e  U$ x
列子:下一个含有对象的层作为工作层
/ M- c6 l3 p3 {% N5 f+ v& @
0 t* v, J8 H% g遍历一个实体的 面和边
9 v( P9 r1 G+ X0 m4 `. Y; P9 H% [
9 K8 f' _) b7 A' p  B7 O遍历一个面 的 边
9 b: y0 u6 U/ S9 u! L, V/ f8 ?. J
选择一个面或一条边缘获取实体
- T6 \+ q5 O0 O/ T* n* ?6 s" C: l% j) G
列子:高亮函数的使用,启动外挂判断对象是否被选择
- L: ?) ?% e" U! T, l. `
) Q, b* `8 v$ a# o+ b( l2 M获得对象信息:点、直线、圆弧 ' T* G# w' W+ v# J6 K1 K5 E7 X4 ~& a
+ Z  A. P  I  Q3 ?8 q# a7 \# D+ g
获得对象信息:长方体、圆柱、球5 E* N9 l. l0 Y8 p, W4 G, _& K) _

: g8 J( T" j1 M, w6 b获得对象信息:面类型、面半径,类型轴中心极点坐标
6 w- K4 k1 z7 v8 g1 m9 }7 J* c5 K) `* Z
获得对象信息:面的法向4 P; c/ G' a  {

4 [1 i/ K8 f% Z获得面u,v参数空间(u,v最小,最大值)2 P8 v) P, ~, ~8 Q) [
' a; h' x  o* h& Z& }; I
获得面上的点
+ v- Q# b- m9 ^
  x* T6 p1 s: [- O6 Z获得面上的UV线$ ~: v2 `  H7 t8 Q( u& |
- {3 C8 L5 s6 z0 J: R9 i$ X
获得相邻面
, Q3 `/ w8 ]# D
# Z; u$ z3 p; u获得面积
* D6 ^" ~7 J- e+ ]: O, U, Z+ a3 v) \& W- s3 w$ W4 ]. r
判断2个面是否相切面
/ j8 F. u5 L5 i  ~/ j( r" q# i8 l
. [! u4 A% j  r! z& O! U打开网页
  {" N" j% R& Q, k$ q( ~9 L# m3 `1 E( t4 F) X& U: x
判断文件是否存在! A8 X2 p9 v  n  c1 l* J+ C

5 _8 G( b4 ^8 e; ?6 k0 n读写文件操作
* @; Y( ?! r/ z+ P* l9 |3 ~  @- |
部件操作 -----下面开始就概述一下实际视频更多内容
. Y/ T/ x+ V. X+ t% ]& U' h7 a- R3 }1 f( a3 m5 e! H+ |
导入导出部件
' F0 ?- m: e5 |
, C9 h$ P' U- B0 F* A2 t: |视图布局
2 v" R& a7 f+ k8 Q
. V/ n* B: j8 r1 K+ a* S1 l装配部件操作
% i- m: h6 D/ e
  O6 d$ j6 H, W3 `; @! F6 V6 y+ Y调用子程序
+ t  C% K& S" n" A& @2 u
- c+ B7 @' S2 c$ {1 W! |* _调用UG宏 和 执行.utd文件
3 ]) r+ C  {0 n# s- z
' X9 I( {% a9 J" k0 f: h& XGRIP入门+ c* \  a) w& n8 x

; o  m' c% `) i7 Q2 t6 TGRIP调用UFUN
7 O+ k/ A4 \8 K% G% i2 u( ~* A
& o% ^  H) j, {4 T2 G, k. T4 vUFUN调用GRIP
* ^7 B3 O8 {+ j
$ m6 Q4 _1 N+ F. d+ V2 l4 C制作一个NX4-NX10 32和64位通用的外挂! O0 T# l8 S- a& m
! a  X" r1 E/ t) o6 r# B
----------
: K, i# {. z1 m. TUI界面设计2 w7 F2 _& i* Z. o. h' R! H  a
  n3 t& A9 }+ [: Z8 a! l" M" N. q6 S
第一个UI程序
7 o. W" m; b7 J  c# {% s( f2 }6 x! l
! P, C* p  v2 M' A7 rUI界面使用 - 各种控件的应用
3 O6 A' W- N/ y. Y6 Y% V1 D- ]) |- f  T9 G: T
标准件列子
" I0 T( Y* \, F5 E; N+ q' L( _. L' \% m% B, n5 G: e" j5 N4 e/ D" M
带选择功能的ui 界面
3 S! r0 q" S( X) w4 C
) D$ r0 D- H. ?4 r; \$ JBOM列子5 w' d5 |6 h) D0 P& G4 t( a
! l% B7 o' G+ k/ ~* R
...其它列子
1 `/ t! c5 T+ v+ H8 X----------4 F) m8 c1 h5 p+ s: j' |; n
图纸 的 创建、修改、查看, w+ C; h* M( Y9 }

' a4 H/ s/ k- b; E  k布局 的 创建、修改、查看
( V$ }/ N5 y1 O. E1 @7 [4 o2 a9 O- k: b8 q3 D' I
在图纸中增加视图
, b% U2 l+ V4 W# ]; N' Q4 q8 {1 M+ M( ]. g3 G, l: ]% H
投影视图. P; C4 C1 M  [1 b

, y1 O# w4 Q! {& N2 y更新视图7 N( ]/ ^+ C" e5 Z* A9 {
! U2 B* Z+ z6 ^! X" K: \& |7 a/ o
视图设置 - 隐藏线、可见线、等等 (查看、修改)& K* u. @$ q9 A9 k. L8 n. f

% ^: t& p! y2 w' {$ n6 L视图比例 的 查看、修改
$ ]# }- u4 C7 o' _# l, b' _
7 |# m/ x. w% S: H9 ~5 k视图边界设置(查看、修改)
/ k2 Z+ ]( H6 V$ l) @( ~4 n4 s$ m; Y* z6 p4 j( T
移动复制视图
& a1 R( ^* I1 a
9 }: y  S9 b  @! {' P" S6 H, \导入图框
. ]( G# j/ {. G" }9 y
. v  c2 ~- b7 C1 H文字操作
7 q2 P0 q( P. s. g& @- [
! e6 H4 Y8 \+ G9 {3 @& Q; |) w5 T9 ^  a制图列子:三视图7 L1 v- Q" f* v4 k  o; Y" j+ w
5 G. e7 S: h& G: o$ B" q2 d
制图列子:电火花图
* F2 l  o6 h7 S/ a$ R( ^/ \! {3 B' H+ q, i6 W
导出2d转换dxf+ v0 c+ r- A. L8 \  ~  x
* W  x, U4 `  J6 I" u. j+ K
———————————————————— C/C++做UG二次开发 有基础深入 ————————————————————. U. E% ^+ U0 E% D6 z, K# S" u
* f) F5 [# f; _# {
外挂加密 - 加密狗的使用3 ]5 k% ~# N& m" q9 M
: u+ V- H2 g# m% V8 D
退格操作 - 安UG后退,还原到未启动外挂状态0 P4 O/ Y0 |0 J4 `
. B, k) ]1 c# S; |# S$ P
动态操作 - 比如动态螺丝6 ~! b6 y5 Y' n! O' {+ ?* A

/ h0 ~8 J* f: \1 V获得图纸上视图里的对象/ r% z4 e! _+ ~$ p, U
) ?+ l5 y/ U- s% ~# u+ Z4 n6 ?
只选择图纸上视图里的对象
3 {5 x, X) H7 ?/ r  T2 {% U3 }# n6 T9 C; ^" q. d+ Q$ [
修改图纸上视图里的对象, h7 e* q2 f8 V* X* }3 U7 i0 e

; {# z' T( p) B8 k5 a尺寸操作
# R' k3 i& u: t# S+ c5 I; P9 f" q2 Z0 h8 W. {
坐标标注
% ~2 k: D6 N6 q2 h) y+ O# c$ G( _9 v
* n+ F+ G6 F, j+ E外部模式
# ~2 O+ N3 Y" R& G' Z% F& b
. Y; u( I$ j! @5 w$ f& V& v启动UG时启动DLL$ ^/ j6 f7 t$ K* K3 e

. h" \# r! Z( g导入导出部件图片& G1 U+ t# ]5 K

1 h+ e9 P; i# o3 w( r获得缩略图
/ ]7 |3 m* ^. t/ s) r9 @( S
  \) j) j! x0 S4 K& k8 z删除曲面通孔(区域提取). S% _- ~9 \" ]& j
- j2 P8 @0 r4 `5 ~
区域提取(种子面和边界面的使用)
) J& Y6 |( C) N3 m; S7 ]$ u2 F
  J+ D' I1 X/ d. }C/C++做UG二次开发使用MFC界面
. d7 B7 W% u" Y6 l
, M9 |/ u- R: v, ^4 J: \) U第一个MFC程序列子
# a8 q' G! S# P1 G& a% F3 X: P3 z) @" E/ P: K- P4 g
MFC 头文件说明$ _: n* p$ d, [

" R! @# z3 q3 b- x% p$ o, c% R( LMFC 使用公共变量
' S* t( ^7 t4 a, \) S/ s: M- z" X
7 g2 V; Y* G# i9 D8 @MFC 使用公共函数
: ^" A( K. i! y9 f8 t9 V" j
* b, l6 F$ W+ ?: }8 @0 vMFC 控件介绍
! J: d/ I" c; [# G2 t1 J; F6 g/ c) H8 w; W% V. @0 U
MFC 启动前操作
, {# l" |2 h+ n: F% z# }& A4 x
' P3 \6 l+ h: K0 x; J1 ^8 m# q0 DMFC 窗口标题! X: U  K8 W9 c+ V8 F
( E& _& m  L  J2 C6 s
MFC 关闭后操作
/ y& b8 f2 j' q0 `* B) S0 F, v2 ^/ a# p  L9 f) \. B
CString 字符串操作
- ^; h$ e9 H1 ]9 A" }1 |4 q% Z; |/ k4 D  N8 w. t
CString、char 、string 互相转换.* k; r6 G& Q( |- I" Z$ [: O

; V  w( i1 f( BMFC编辑框Edit Control2 P& t/ S+ h! `# `4 x
5 a) c2 v# R4 T# B2 [6 I  |
MFC控件、按钮Button、Radio Button和Check Box: B  A* z5 M. r' ?, f$ z/ B( s- g

" @8 W* s* Y" r9 C' D5 A: W( r, L/ sMFC控件、勾选Check Box' Z- H0 W  k# B0 T  v- N: S

. q: F' @* P- [8 d3 M' a, ~) [  GMFC控件、枚举框Combo Box组合框. h, ?7 W7 _/ s7 V; K
9 [! q/ b; B  `3 ]' |0 y
MFC控件、组Group Box1 F/ T  h4 Z/ T, Z6 |

* u. O5 s" V8 L% IMFC控件、切换Radio Button
, W2 O2 m' q7 D& L! C
1 X) e' ]! T. W, K% Q: `MFC控件、静态文本Static Texr
" I5 b# |) q; `+ j
& P0 q; f$ B6 H+ L* kMFC控件、图片Picture Control
+ Z) f. G3 c7 Z& Y/ X
0 c  q$ g! w9 T7 d' cMFC控件、List Control 列表视图控件(BOM用)
( W. N. r5 W& a3 o  C) X! k: J' Z. m) [: Y) Z* b( B
控件焦点3 j/ Q; {5 f: Z
9 J' }! C" Y  q3 u! k! f$ j
关于MessageBox0 ]# w  I$ @/ _$ g

: L) I+ ~) R* U: w/ e——————
: a! ~# _9 P. x2 |5 A# u! z* x
4 n3 x# l; V) x7 S0 Q% U有关NXOPEN 的使用
! ]* v2 m: x8 ]! B, e  c9 O9 m
; o( m2 U0 B! A& v4 |$ x# r$ FNXOPEN基本是录制后在修改,有C/C++基础,哪怕只出个两三课自己 多做列 就会基本应用了。+ t% y' O' p. q
% I2 t1 A( H  W0 v  C$ u. `9 b
以下略写 实际内容更多
2 f7 Z  i. l0 }( B/ h" K# |
5 ]$ {% N. n$ I+ mja录制+ Q9 f0 r  o! N! X

3 I- y% I3 i6 ^* m使用NXOPEN 创建 点、线、体..等等  a" R5 n+ d5 I+ V, u

. Q+ F. i5 X7 W% K使用NXOPEN 遍历对象..等等
4 X0 C( z' j* I
) C  G; ]2 y/ S% ^  ANXOPEN函数都是录制的,然后在修改。
; I2 R& ^! ~8 F& [( j! I0 Z) x/ j& g: o# T
比较没有技术难度,有个大问题我在次说明8 {* M, z- I+ c. B. `. L; n
2 _( R, i$ t/ e1 S5 j
NXOPEN比如NX9开发的功能可能只能NX9版本能用,版本一旦更你就要做好重新制作外挂的准备。
7 ~3 F" p# v' N: G/ A& `- w1 B: R! m& N, ?( T; C* f1 K- G1 f
NXOPEN版本要求很高,对于喜欢使用UFUN的我来说很是欣慰,(如果版本要求不高NXOPEN真的会普及)
% B' V3 i3 {+ a; Y/ d+ l6 G6 @6 C  C7 Z& N% M3 K
Block UI 设计 (Block UI 用的函数库是 NXOPEN). o5 l8 H, H- T2 q2 p

$ r6 ?0 K% v0 t5 x. e第一个 Block UI 程序
6 t" G6 D# h) J5 [4 P+ y0 C$ Q* W8 [9 u
Block UI 简单控件的使用方法' H5 n- G, U& p6 m* i9 C
: C) S. c3 H8 D' K3 F
Block UI 动态控件的使用方法
* u8 T/ F7 s: a% J( k- v9 _& O; k- m8 c& E1 G2 z$ |
(Block UI界面的唯一好处是大大的降低了动态操作的难度)(就是对版本要求太高)5 q0 c1 G2 r3 f

& s# b( Q/ `9 U& d6 m# T5 }" b2 ^综合应用+ X# i# g" _  B( d8 J7 G
7 t" @, h- ]& ]4 W, g
交作业- k, M$ Z0 U$ `2 `+ c) v0 Q

1 T% m4 Q. U4 S1 n7 T8 l——————————————————————————0 k6 Z1 G; R7 m6 O% E
回复 支持 反对

使用道具 举报

发表于 2016-4-22 12:25 | 显示全部楼层
能不能教我呢
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-5-12 13:17 , Processed in 0.133362 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表