找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3098|回复: 9

[发布] u系列函数

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2013-6-16 21:45:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. ;;;http://www.paracadd.com/lisp/uutils.lsp
  2. ;These functions are freeware courtesy of the author's of "Inside AutoLisp"
  3. ;for rel. 10 published by New Riders Publications.  This credit must
  4. ;accompany all copies of this function.

  5. ;* UANGLE User interface angle function
  6. ;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  7. ;* for INITGET. MSG is the prompt string, to which a default real in rads is
  8. ;* added as <DEF> (nil for none), and a : is added. BPT is base point (nil
  9. ;* for none).
  10. ;*
  11. (defun uangle (bit kwd msg def bpt / inp)
  12.   (if def
  13.     (setq msg (strcat "\n" msg " <" (if(eq(type def)'STR)def(angtos def)) ">: ")
  14.           bit (* 2 (fix (/ bit 2)))
  15.     )
  16.     (setq msg (strcat "\n" msg ": "))
  17.   )
  18.   (initget bit kwd)
  19.   (setq inp
  20.     (if bpt
  21.        (getangle msg bpt)
  22.        (getangle msg)
  23.   ) )
  24.   (if inp inp def)
  25. );defun
  26. ;*
  27. (princ)
  28. ;*
  29. ;* UDIST User interface function
  30. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  31. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  32. ;* for none), and a : is added. BPT is base point (nil for none).
  33. ;*
  34. (defun udist (bit kwd msg def bpt / inp)
  35.   (if def
  36.     (setq msg (strcat "\n" msg " <" (rtos def) ">: ")
  37.           bit (* 2 (fix (/ bit 2)))
  38.     );setq
  39.     (setq msg (strcat "\n" msg ": "))
  40.   );if
  41.   (initget bit kwd)
  42.   (setq inp
  43.     (if bpt
  44.        (getdist msg bpt)
  45.        (getdist msg)
  46.   ) );setq&if
  47.   (if inp inp def)
  48. );defun
  49. ;*
  50. (princ)
  51. ;*
  52. ;* UINT User interface function
  53. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  54. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  55. ;* for none), and a : is added.
  56. ;*
  57. (defun uint (bit kwd msg def / inp)
  58.   (if def
  59.     (setq msg (strcat "\n" msg " <" (rtos def 2 0) ">: ")
  60.           bit (* 2 (fix (/ bit 2)))
  61.     )
  62.     (setq msg (strcat "\n" msg ": "))
  63.   );if
  64.   (initget bit kwd)
  65.   (setq inp (getint msg))
  66.   (if inp inp def)
  67. );defun
  68. ;*
  69. (princ)
  70. ;*
  71. ;* UKWORD User key word. DEF, if any, must match one of the KWD strings
  72. ;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  73. ;* for INITGET. MSG is the prompt string, to which a default string is added
  74. ;* as <DEF> (nil or "" for none), and a : is added.
  75. ;*
  76. (defun ukword (bit kwd msg def / inp)
  77.   (if (and def (/= def ""))
  78.     (setq msg (strcat "\n" msg " <" def ">: ")
  79.           bit (* 2 (fix (/ bit 2)))
  80.     );setq
  81.   );if
  82.   (initget bit kwd)
  83.   (setq inp (getkword msg))
  84.   (if inp inp def)
  85. );defun
  86. ;*
  87. ;* UPOINT User interface point function
  88. ;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  89. ;* for INITGET. MSG is the prompt string, to which a default point variable
  90. ;* is added as <DEF> (nil for none), and a : is added. BPT is base point
  91. ;* (nil for none).
  92. ;*
  93. (defun upoint (bit kwd msg def bpt / inp)
  94.   (if def
  95.     (setq pts (strcat
  96.                 (rtos (car def)) "," (rtos (cadr def))
  97.                 (if
  98.                   (and (caddr def) (= 0 (getvar "FLATLAND")))
  99.                   (strcat "," (rtos (caddr def)))
  100.                   ""
  101.               ) );if&strcat
  102.           msg (strcat "\n" msg " <" pts ">: ")
  103.           bit (* 2 (fix (/ bit 2)))
  104.     )
  105.     (setq msg (strcat "\n" msg ": "))
  106.   );if a default was supplied
  107.   (initget bit kwd)
  108.   (setq inp
  109.     (if bpt
  110.        (getpoint msg bpt)
  111.        (getpoint msg)
  112.   ) );setq&if
  113.   (if inp inp def)
  114. );defun
  115. ;*
  116. (princ)
  117. ;*
  118. ;* UREAL User interface real function
  119. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  120. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  121. ;* for none), and a : is added.
  122. ;*
  123. (defun ureal (bit kwd msg def / inp)
  124.   (if def
  125.     (setq msg (strcat "\n" msg " <" (rtos def 2) ">: ")
  126.           bit (* 2 (fix (/ bit 2)))
  127.     )
  128.     (setq msg (strcat "\n" msg ": "))
  129.   );if
  130.   (initget bit kwd)
  131.   (setq inp (getreal msg))
  132.   (if inp inp def)
  133. );defun
  134. ;*
  135. (princ)
  136. ;*
  137. ;* USTR User interface string
  138. ;* If BIT=1 no null "" input allowed, 0 for none, BIT ignored if DEF present.
  139. ;* MSG is the prompt string, to which a default string is added as <DEF> (nil
  140. ;* or "" for none), and a : is added. If SPFLAG T, spaces are allowed in
  141. ;* string.
  142. ;*
  143. (defun ustr (bit msg def spflag / inp nval)
  144.   (if (and def (/= def ""))
  145.     (setq msg (strcat "\n" msg " <" def ">: ")
  146.           inp (getstring msg spflag)
  147.           inp (if (= inp "") def inp)
  148.     );setq
  149.     (progn
  150.       (setq msg (strcat "\n" msg ": "))
  151.       (if (= bit 1)
  152.           (while (= "" (setq inp (getstring msg spflag))))
  153.           (setq inp (getstring msg spflag))
  154.       ) );progn&if
  155.     );if
  156.     inp
  157. );defun
  158. ;*
  159. (princ)
  160. ;*

评分

参与人数 3D豆 +20 收起 理由
xshrimp + 5 很给力!经验;技术要点;资料分享奖!
XDSoft + 10 很给力!经验;技术要点;资料分享奖!
wowan1314 + 5 好主题奖!

查看全部评分

本帖被以下淘专辑推荐:

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2226个

财富等级: 金玉满堂

发表于 2013-6-16 22:34:55 | 显示全部楼层
不错的源码!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-16 22:35:32 | 显示全部楼层
院长的库里是不是也用了这些函数?!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2013-6-16 22:45:39 | 显示全部楼层
当年院长这几个函数,密码输对了,有个指令可以输出源码。我猜密码是XDCAD,还真让我猜中了,所以我很早就有了这几个函数的源码,后来找到了这几个函数的老巢。

点评

XDRX_API FOR 2014 , 密码给你发消息了,查看下。  详情 回复 发表于 2013-6-16 23:12
天才,你。成译码专家了,希望提供更多更好的函数来。  详情 回复 发表于 2013-6-16 23:06
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-6-16 23:06:58 | 显示全部楼层
taner 发表于 2013-6-16 22:45
当年院长这几个函数,密码输对了,有个指令可以输出源码。我猜密码是XDCAD,还真让我猜中了,所以我很早就 ...

天才,你。成译码专家了,希望提供更多更好的函数来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-6-16 23:12:45 | 显示全部楼层
taner 发表于 2013-6-16 22:45
当年院长这几个函数,密码输对了,有个指令可以输出源码。我猜密码是XDCAD,还真让我猜中了,所以我很早就 ...

XDRX_API FOR 2014 , 密码给你发消息了,查看下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-17 06:40:56 | 显示全部楼层
是挺不错的源码,呵呵,就是不知道做什么用的{:soso_e100:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 208个

财富等级: 日进斗金

发表于 2013-6-17 08:17:25 | 显示全部楼层
本帖最后由 xshrimp 于 2013-6-17 08:20 编辑

不过这个好像不是最新版的.最新的作者加了.
October 19, 2004 added function chkkwds (see description at end of file)

  1. ;*
  2. ;;;This function alerts the user when keywords containing invalid characters are used and it will
  3. ;;;identify and disable the offending keywords leaving the remaining keywords enabled.
  4. (DEFUN chkkwds (kwd /)
  5.   (SETQ invalidcharlst (LIST "_" "!" "@" "$" "%" "^" "&" "`" "(" ")" "*" "+" "=" "<" ">"))
  6.   (IF (OR (WCMATCH kwd "*_*")         
  7.           (WCMATCH kwd "*`!*")
  8.           (WCMATCH kwd "*`@*")
  9.           (WCMATCH kwd "*`$*")
  10.           (WCMATCH kwd "*`%*")
  11.           (WCMATCH kwd "*`^*")
  12.           (WCMATCH kwd "*`&*")
  13.           (WCMATCH kwd "*`**")
  14.           (WCMATCH kwd "*(*")
  15.           (WCMATCH kwd "*)*")
  16.           (WCMATCH kwd "*+*")
  17.           (WCMATCH kwd "*=*")
  18.           (WCMATCH kwd "*<*")
  19.           (WCMATCH kwd "*>*")
  20.       ) ;_ end of OR
  21.     (PROGN (PRINC "\nInvalid characters in keyword specification!")
  22.            (PRINC "\nAttempting to disable invalid keywords.")
  23.            (PRINC)
  24.            (SETQ stripkwd kwd
  25.                  kwdcnt 1
  26.                  charposlst NIL
  27.            ) ;_ end of setq
  28.            (WHILE (AND stripkwd (<= kwdcnt (STRLEN kwd)))
  29.              (IF (MEMBER (SUBSTR stripkwd kwdcnt 1) invalidcharlst)
  30.                (IF charposlst
  31.                  (SETQ charposlst (APPEND charposlst (LIST kwdcnt)))
  32.                  (SETQ charposlst (LIST kwdcnt))
  33.                ) ;_ end of if
  34.              ) ;_ end of if
  35.              (SETQ kwdcnt (1+ kwdcnt))
  36.            ) ;_ end of while
  37.            (FOREACH n charposlst
  38.              (COND ((OR (WCMATCH (SUBSTR kwd 1 n) "* *") (WCMATCH (SUBSTR kwd n) "* *"))
  39.                     (SETQ inicnt n)
  40.                     (WHILE (/= (SUBSTR kwd (1- inicnt) 1) " ") (SETQ inicnt (1- inicnt)))
  41.                     (SETQ endcnt inicnt)
  42.                     (WHILE (AND (/= endcnt (1- (STRLEN kwd))) (/= (SUBSTR kwd (1+ endcnt) 1) " "))
  43.                       (SETQ endcnt (1+ endcnt))
  44.                     ) ;_ end of WHILE
  45.                     (SETQ remcnt inicnt
  46.                           remend endcnt
  47.                     ) ;_ end of SETQ
  48.                     (WHILE (<= inicnt endcnt)
  49.                       (SETQ kwd (STRCAT (SUBSTR kwd 1 (1- inicnt)) " " (SUBSTR kwd (1+ inicnt))))
  50.                       (SETQ inicnt (1+ inicnt))
  51.                     ) ;_ end of WHILE
  52.                     (PRINC (STRCAT "\nKeyword " (SUBSTR stripkwd remcnt (- endcnt remcnt -1)) " is disabled! "))
  53.                     (PRINC)
  54.                    )
  55.              ) ;_ end of COND
  56.            ) ;_ end of FOREACH
  57.            (PRINC "\nOmit invalid keyword characters at source to enable these keywords. ")
  58.            (PRINC)
  59.     ) ;_ end of PROGN
  60.   ) ;_ end of IF
  61. )


  62. ;;;---------------------------------------------------------
  63. ;;;U系列函数.格式化输入.
  64. ;;;October 19, 2004 added function chkkwds (see description at end of file)

  65. ;* UANGLE User interface angle function
  66. ;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  67. ;* for INITGET. MSG is the prompt string, to which a default real in rads is
  68. ;* added as <DEF> (nil for none), and a : is added. BPT is base point (nil
  69. ;* for none).
  70. ;*
  71. ;(defun ui-get-input (str default)       ;;/*{{{*/
  72. ;    (cond
  73. ;      ((getint (strcat str "<" (itoa default) "> " )))
  74. ;      (default)
  75. ;    )
  76. ;)
  77. (defun uangle (bit kwd msg def bpt / inp)
  78.   (chkkwds kwd)
  79.   (if def
  80.     (setq msg (strcat "\n" msg " <" (if(eq(type def)'STR) def (angtos def)) ">: ")
  81.           bit (* 2 (fix (/ bit 2)))
  82.     )
  83.     (setq msg (strcat "\n" msg ": "))
  84.   )
  85.   (initget bit kwd)
  86.   (setq inp
  87.     (if bpt
  88.        (getangle msg bpt)
  89.        (getangle msg)
  90.   ) )
  91.   (if inp inp def)
  92. )

  93. ;*
  94. ;* UDIST User interface function
  95. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  96. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  97. ;* for none), and a : is added. BPT is base point (nil for none).
  98. ;*
  99. (defun udist (bit kwd msg def bpt / inp)
  100.   (chkkwds kwd)
  101.   (if def
  102.     (setq msg (strcat "\n" msg " <" (rtos def) ">: ")
  103.           bit (* 2 (fix (/ bit 2)))
  104.     );setq
  105.     (setq msg (strcat "\n" msg ": "))
  106.   );if
  107.   (initget bit kwd)
  108.   (setq inp
  109.     (if bpt
  110.        (getdist msg bpt)
  111.        (getdist msg)
  112.   ) );setq&if
  113.   (if inp inp def)
  114. )

  115. ;*
  116. ;* UINT User interface function
  117. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  118. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  119. ;* for none), and a : is added.
  120. ;*
  121. (defun uint (bit kwd msg def / inp)
  122.   (if def
  123.     (setq msg (strcat "\n" msg " <" (if (eq (type def) 'REAL) (rtos def 2 0)(if (eq (type def) 'INT) (itoa def) def)) ">: ")
  124.           bit (* 2 (fix (/ bit 2)))
  125.     )
  126.     (setq msg (strcat "\n" msg ": "))
  127.   );if
  128.   (initget bit kwd)
  129.   (setq inp (getint msg))
  130.   (if inp inp def)
  131. )

  132. ;*
  133. ;;;* UKWORD User key word. DEF, if any, must match one of the KWD strings
  134. ;;;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  135. ;;;* for INITGET. MSG is the prompt string, to which a default string is added
  136. ;;;* as <DEF> (nil or "" for none), and a : is added.
  137. ;;;*
  138. (DEFUN ukword (bit kwd msg def / inp)
  139.   (chkkwds kwd)
  140.   (IF (AND def (/= def ""))
  141.     (SETQ msg (STRCAT "\n" msg " <" def ">: ")
  142.           bit (* 2 (FIX (/ bit 2)))
  143.     );setq
  144.   );if
  145.   (INITGET bit kwd)
  146.   (SETQ inp (GETKWORD msg))
  147.   (IF inp
  148.     inp
  149.     def
  150.   ) ;_ end of if
  151. )

  152. ;*
  153. ;* UPOINT User interface point function
  154. ;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
  155. ;* for INITGET. MSG is the prompt string, to which a default point variable
  156. ;* is added as <DEF> (nil for none), and a : is added. BPT is base point
  157. ;* (nil for none).
  158. ;*
  159. (defun upoint (bit kwd msg def bpt / inp)
  160.   (if def
  161.     (if (eq (type def) 'STR)
  162.       (setq msg (strcat "\n" msg " <" def ">:")
  163.             bit (* 2 (fix (/ bit 2)))
  164.       )
  165.       (progn
  166.         (setq pts (strcat
  167.                     (rtos (car def)) "," (rtos (cadr def))
  168.                     (if
  169.                       (and (caddr def) (= 0 (getvar "FLATLAND")))
  170.                       (strcat "," (rtos (caddr def)))
  171.                       ""
  172.                   ) );if&strcat
  173.               msg (strcat "\n" msg " <" pts ">: ")
  174.               bit (* 2 (fix (/ bit 2)))
  175.         )
  176.       )
  177.     )
  178.     (setq msg (strcat "\n" msg ": "))
  179.   );if a default was supplied
  180.   (initget bit kwd)
  181.   (setq inp
  182.     (if bpt
  183.        (getpoint msg bpt)
  184.        (getpoint msg)
  185.   ) );setq&if
  186.   (if inp inp def)
  187. )

  188. ;* UREAL User interface real function
  189. ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.
  190. ;* MSG is the prompt string, to which a default real is added as <DEF> (nil
  191. ;* for none), and a : is added.
  192. ;*
  193. (defun ureal (bit kwd msg def / inp)
  194.   (if def
  195.     (setq msg (strcat "\n" msg " <" (if (eq (type def) 'REAL)(rtos def 2)(if (eq (type def) 'INT)(itoa def)def)) ">: ")
  196.           bit (* 2 (fix (/ bit 2)))
  197.     )
  198.     (setq msg (strcat "\n" msg ": "))
  199.   );if
  200.   (initget bit kwd)
  201.   (setq inp (getreal msg))
  202.   (if inp inp def)
  203. )
  204. ;;; USTR User interface string If BIT=1 no null "" input allowed, 0 for none, BIT
  205. ;;; ignored if DEF present. MSG is the prompt string, to which a default string
  206. ;;; is added as <DEF> (nil or "" for none), and a : is added. If SPFLAG T, spaces
  207. ;;; are allowed in
  208. ;;; string.
  209. ;;;
  210. ;;;>    Author: Henry C. Francis
  211. ;;;>            425 N. Ashe St.
  212. ;;;>            Southern Pines, NC 28387
  213. ;;;>            [url]http://paracadd.com[/url]
  214. ;;;>            All rights reserved.
  215. ;;;
  216. ;;;>            COPYRIGHT: 1-14-98
  217. ;;;>               EDITED: 03-02-2001
  218. ;;;
  219. (DEFUN ustr (bit msg def spflag / inp nval)
  220.   (IF (AND def (/= def ""))
  221.     (SETQ msg (STRCAT "\n" msg " <" def ">: ")
  222.           inp (GETSTRING msg spflag)
  223.           inp (IF (= inp "")
  224.                 def
  225.                 inp
  226.               ) ;_ end of if
  227.     ) ;_ end of setq
  228.     (PROGN
  229.       (SETQ msg (STRCAT "\n" msg ": "))
  230.       (IF (= bit 1)
  231.         (WHILE (= "" (SETQ inp (GETSTRING msg spflag))))
  232.         (SETQ inp (GETSTRING msg spflag))
  233.       ) ;_ end of if
  234.     ) ;_ end of progn
  235.   ) ;_ end of if
  236.   inp
  237. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2015-2-15 09:51:05 | 显示全部楼层
是挺不错的源码;P
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

发表于 2021-4-1 17:25:26 | 显示全部楼层
不错的源码!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 00:02 , Processed in 0.248577 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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