乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: Zorg

[编程交流] 匹配文本-文本开关

[复制链接]

13

主题

90

帖子

78

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 14:59:10 | 显示全部楼层
哇,太好了!他们两个,今天下午都要尝试一下,不过李的似乎最靠谱:眨眼:
 
再次感谢各位
 
Z
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:02:24 | 显示全部楼层
 
干杯,伙计
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 15:06:47 | 显示全部楼层
哎哟,你把我割得很深,史瑞克
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:09:49 | 显示全部楼层
 
你的也不错Alan
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:12:07 | 显示全部楼层
Zorg,试试这个
 
  1. [i][color=#990099];; Switch/Match Text Values  by Lee McDonnell[/color][/i]
  2. [i][color=#990099];; 09.06.2009[/color][/i]
  3. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:tv [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ent1 ent2 Str ss[b][color=RED])[/color][/b]
  4. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  5. [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b]
  6.    [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b]
  7.      [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ent1 [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]nentsel[/color][/b] [b][color=#ff00ff]"\nSelect Source Text: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  8.           [b][color=RED]([/color][/b][b][color=BLUE]member[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entget[/color][/b] ent1[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  9.                   [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#ff00ff]"MTEXT"[/color][/b][b][color=#ff00ff]"TEXT"[/color][/b][b][color=#ff00ff]"ATTRIB"[/color][/b][b][color=#ff00ff]"MLEADER"[/color][/b][b][color=#ff00ff]"ATTDEF"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  10.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\nMissed, Try Again. "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  11. [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b]
  12.    [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  13.      [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]initget[/color][/b] [b][color=#ff00ff]"Match"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  14.      [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ent2 [b][color=RED]([/color][/b][b][color=BLUE]entsel[/color][/b] [b][color=#ff00ff]"\nSelect Text to Swap or <Match> : "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  15.      [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-consp[/color][/b] ent2[b][color=RED])[/color][/b]
  16.                  [b][color=RED]([/color][/b][b][color=BLUE]member[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entget[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ent2[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  17.                          [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#ff00ff]"MTEXT"[/color][/b][b][color=#ff00ff]"TEXT"[/color][/b][b][color=#ff00ff]"ATTRIB"[/color][/b][b][color=#ff00ff]"MLEADER"[/color][/b][b][color=#ff00ff]"ATTDEF"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  18.             [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ent2 [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ent2[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b]
  19.            [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] ent2[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=DARKRED]'[/color][/b]STR [b][color=RED]([/color][/b][b][color=BLUE]type[/color][/b] ent2[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  20.             [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ss [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"*TEXT,ATTRIB,MLEADER,ATTDEF"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=BLUE]nil[/color][/b] [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  21.            [b][color=RED]([/color][/b][b][color=BLUE]T[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\nMissed, Try Again..."[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  22. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Str [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TextString[/color][/b]
  23.              [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] ent1[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]  
  24. [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b]ss
  25.         [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
  26.           [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b]
  27.             [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b]x[b][color=RED])[/color][/b]
  28.               [b][color=RED]([/color][/b][b][color=BLUE]vla-put-TextString[/color][/b] x Str[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  29.           [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b]
  30.                   [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]listp[/color][/b]
  31.                     [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] ss[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  32.        [b][color=RED]([/color][/b]ent2
  33.         [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Objlst [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] ent1 ent2[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  34.         [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
  35.           [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b]
  36.             [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b]Obj1 Str[b][color=RED])[/color][/b]
  37.               [b][color=RED]([/color][/b][b][color=BLUE]vla-put-TextString[/color][/b] Obj1 Str[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] ObjLst
  38.           [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-get-TextString[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]reverse[/color][/b] ObjLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  39. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 15:15:02 | 显示全部楼层
哈哈,谢谢。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 15:19:49 | 显示全部楼层
 
您应该用vl consp替换cond中的listp检查。如果变量为零,listp将返回T。现在,如果你错过了一个目标对象,它就会出错。当然,如果你错过了一个选择,这仍然会切换ssget&matching。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:22:32 | 显示全部楼层
非常感谢Alan提供的提示,我不知道listp在提供nil参数时返回了T。
 
我会改变的
 
编辑:以上代码已更新~再次感谢Alan查看
回复

使用道具 举报

13

主题

90

帖子

78

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 15:25:29 | 显示全部楼层
在你们俩之间,我想你们可以自己动手
 
再次感谢各位
 
Z
回复

使用道具 举报

11

主题

117

帖子

133

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 15:29:48 | 显示全部楼层
佐尔格,
对这两个伟大的家伙没有冒犯之意,但来自asmi的这一个甚至更好。它也可以从动态块属性交叉匹配到常规文本。我不能从中获得任何荣誉,因为它是由ASMI创建的。
 
  1. ;; ============================================================    ;;
  2. ;;                                                              ;;
  3. ;;  TTC.LSP - The program copies the text from: DText, MText,     ;;
  4. ;;            Tables, Dimensions, Attributes, Attributes,    ;;
  5. ;;            Attributes Definitions, DText, MText and inner    ;;
  6. ;;          block's DText and MText to: DText, MText, Tables,    ;;
  7. ;;          Attribures and Attributes Definitions. There are    ;;
  8. ;;           Multiple and Pair-wise modes.             ;;
  9. ;;                                                              ;;
  10. ;; ============================================================    ;;
  11. ;;                                                                ;;
  12. ;;  Command(s) to call: TTC                                       ;;
  13. ;;                                                              ;;
  14. ;; ============================================================    ;;
  15. ;;                                                                 ;;
  16. ;;  THIS PROGRAM AND PARTS OF IT MAY REPRODUCED BY ANY METHOD    ;;
  17. ;;  ON ANY MEDIUM FOR ANY REASON. YOU CAN USE OR MODIFY THIS    ;;
  18. ;;  PROGRAM OR PARTS OF IT ABSOLUTELY FREE.                     ;;
  19. ;;                                                              ;;
  20. ;;  THIS PROGRAM PROVIDES THIS PROGRAM 'AS IS' WITH ALL FAULTS    ;;
  21. ;;  AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF        ;;
  22. ;;  MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.            ;;
  23. ;;                                                                ;;
  24. ;; ============================================================    ;;
  25. ;;                                                              ;;
  26. ;;  V1.3, 29 November, 2005, Riga, Latvia                         ;;
  27. ;;  © Aleksandr Smirnov (ASMI)                              ;;
  28. ;;  For AutoCAD 2000 - 2008 (isn't tested in a next versions)    ;;
  29. ;;                                                              ;;
  30. ;;                             http://www.asmitools.com       ;;
  31. ;;                                                              ;;
  32. ;; ============================================================ ;;
  33. (defun c:ttc (/ actDoc vlaObj sObj sText curObj oldForm
  34.                oType oldMode conFlag errFlag *error*)
  35. (vl-load-com)
  36.      (setq actDoc(vla-get-ActiveDocument
  37.        (vlax-get-acad-object)))
  38.          (vla-StartUndoMark actDoc)
  39. (defun TTC_Paste(pasteStr / nslLst vlaObj hitPt
  40.                   hitRes Row Column)
  41.    (setq errFlag nil)
  42.    (if
  43.     (setq nslLst(nentsel "\nPaste text >"))
  44.       (progn
  45.        (cond
  46.          ((and
  47.             (= 4(length nslLst))
  48.             (= "DIMENSION"(cdr(assoc 0(entget(car(last nslLst))))))
  49.            ); end and
  50.             (setq vlaObj(vlax-ename->vla-object
  51.                (cdr(assoc -1(entget(car(last nslLst)))))))
  52.           (if
  53.             (vl-catch-all-error-p
  54.               (vl-catch-all-apply
  55.                 'vla-put-TextOverride(list vlaObj pasteStr)))
  56.                   (progn
  57.                     (princ "\n<!> Can't paste. Object may be on locked layer <!> ")
  58.                     (setq errFlag T)
  59.                    ); end progn
  60.             ); end if
  61.           ); end condition #1
  62.          ((and
  63.             (= 4(length nslLst))
  64.             (= "ACAD_TABLE"(cdr(assoc 0(entget(car(last nslLst))))))
  65.            ); end and
  66.            (setq vlaObj
  67.              (vlax-ename->vla-object
  68.                 (cdr(assoc -1(entget(car(last nslLst))))))
  69.                  hitPt(vlax-3D-Point(trans(cadr nslLst)1 0))
  70.                  hitRes(vla-HitTest vlaObj hitPt
  71.                        (vlax-3D-Point '(0.0 0.0 1.0)) 'Row 'Column)
  72.            ); end setq
  73.            (if(= :vlax-true hitRes)
  74.             (progn
  75.               (if(vl-catch-all-error-p
  76.                    (vl-catch-all-apply
  77.                      'vla-SetText(list vlaObj Row Column pasteStr)))
  78.             (progn
  79.               (princ "\n<!> Can't paste. Object may be on locked layer <!> ")
  80.               (setq errFlag T)
  81.               ); end progn
  82.              ); end if
  83.             ); end progn
  84.            ); end if
  85.           ); end condition # 2
  86.          ((and
  87.              (= 4(length nslLst))
  88.              (= "INSERT"(cdr(assoc 0(entget(car(last nslLst))))))
  89.           ); end and
  90.            (princ "\n<!> Can't paste to block's DText or MText <!> ")
  91.            (setq errFlag T)
  92.            ); end condition #3
  93.         ((and
  94.            (= 2(length nslLst))
  95.            (member(cdr(assoc 0(entget(car nslLst))))
  96.             '("TEXT" "MTEXT" "ATTRIB" "ATTDEF"))
  97.           ); end and
  98.         (setq vlaObj(vlax-ename->vla-object(car nslLst)))
  99.        (if(vl-catch-all-error-p
  100.             (vl-catch-all-apply
  101.               'vla-put-TextString(list vlaObj pasteStr)))
  102.             (progn
  103.               (princ "\n<!> Error. Can't pase text <!> ")
  104.               (setq errFlag T)
  105.             ); end progn
  106.            ); end if
  107.          ); end condition #4
  108.        (T
  109.          (princ "\n<!> Can't paste. Invalid object <!> ")
  110.          (setq errFlag T)
  111.         ); end condition #5
  112.        ); end cond
  113.              T
  114.       ); end progn
  115.             nil
  116.            ); end if
  117.     ); end of TTC_Paste
  118.    (defun TTC_MText_Clear(Mtext / Text Str)
  119.      (setq Text "")
  120.      (while(/= Mtext "")
  121.        (cond
  122.          ((wcmatch(strcase
  123.           (setq Str
  124.            (substr Mtext 1 2)))"\\[\\{}`~]")
  125.            (setq Mtext(substr Mtext 3)
  126.               Text(strcat Text Str)
  127.               ); end setq
  128.           ); end condition #1
  129.         ((wcmatch(substr Mtext 1 1) "[{}]")
  130.          (setq Mtext
  131.          (substr Mtext 2))
  132.          ); end condition #2
  133.         ((and
  134.          (wcmatch
  135.           (strcase
  136.             (substr Mtext 1 2)) "\\P")
  137.               (/=(substr Mtext 3 1) " ")
  138.           ); end and
  139.         (setq Mtext (substr Mtext 3)
  140.               Text (strcat Text " ")
  141.               ); end setq
  142.           ); end condition #3
  143.        ((wcmatch
  144.           (strcase
  145.             (substr Mtext 1 2)) "\\[LOP]")
  146.             (setq Mtext(substr Mtext 3))
  147.           ); end condition #4
  148.        ((wcmatch
  149.           (strcase
  150.             (substr Mtext 1 2)) "\\[ACFHQTW]")
  151.           (setq Mtext
  152.            (substr Mtext
  153.             (+ 2(vl-string-search ";" Mtext))))
  154.           ); end condition #5
  155.        ((wcmatch
  156.           (strcase (substr Mtext 1 2)) "\\S")
  157.             (setq Str(substr Mtext 3 (- (vl-string-search ";" Mtext) 2))
  158.                   Text(strcat Text (vl-string-translate "#^\" " " Str))
  159.                   Mtext(substr Mtext (+ 4 (strlen Str)))
  160.              ); end setq
  161.            (print Str)
  162.          ); end condition #6
  163.         (T(setq Text(strcat Text(substr Mtext 1 1))
  164.                 Mtext (substr Mtext 2)
  165.                 ); end setq
  166.         ); end condition #7
  167.       ); end cond
  168.     ); end while
  169.   Text
  170. ); end of TTC_MText_Clear
  171. (defun TTC_Copy (/ sObj sText tType actDoc)
  172.   (if
  173.    (and
  174.     (setq sObj(car(nentsel "\nCopy text... ")))
  175.     (member(setq tType(cdr(assoc 0(entget sObj))))
  176.      '("TEXT" "MTEXT" "ATTRIB" "ATTDEF"))
  177.     ); end and
  178.    (progn
  179.      (setq actDoc(vla-get-ActiveDocument
  180.        (vlax-get-Acad-object))
  181.            sText(vla-get-TextString
  182.       (vlax-ename->vla-object sObj))
  183.      ); end setq
  184.      (if(= tType "MTEXT")
  185.         (setq sText(TTC_MText_Clear sText))
  186.        ); end if
  187.      ); end progn
  188.     ); end if
  189.    sText
  190.    ); end of TTC_Copy
  191. (defun CCT_Str_Echo(paseStr / comStr)
  192.    (if(< 20(strlen paseStr))
  193.      (setq comStr
  194.       (strcat
  195.         (substr paseStr 1 17)"..."))
  196.      (setq comStr paseStr)
  197.      ); end if
  198.     (princ(strcat "\nText = "" comStr """))
  199.    (princ)
  200.    ); end of CCT_Str_Echo
  201.    (defun *error*(msg)
  202.    (vla-EndUndoMark
  203.      (vla-get-ActiveDocument
  204.        (vlax-get-acad-object)))
  205.     (princ "\nQuit TTC")
  206.    (princ)
  207.    ); end of *error*
  208.    (if(not ttc:Mode)(setq ttc:Mode "Multiple"))
  209.     (initget "Multiple Pair-wise")
  210.     (setq oldMode ttc:Mode
  211.           ttc:Mode(getkword
  212.                     (strcat "\nSpecify mode [Multiple/Pair-wise] <"ttc:Mode">: "))
  213.           conFlag T
  214.           paseStr ""
  215.          ); end setq
  216.    (if(null ttc:Mode)(setq ttc:Mode oldMode))
  217.    (if(= ttc:Mode "Multiple")
  218.      (progn
  219.        (if(and(setq paseStr(TTC_Copy))conFlag)
  220.         (progn
  221.          (CCT_Str_Echo paseStr)
  222.         (while(setq conFlag(TTC_Paste paseStr))T
  223.            ); end while
  224.        ); end progn
  225.      ); end if
  226.    ); end progn
  227.      (progn
  228.        (while(and conFlag paseStr)
  229.           (setq paseStr(TTC_Copy))
  230.            (if(and paseStr conFlag)
  231.              (progn
  232.               (CCT_Str_Echo paseStr)
  233.                (setq errFlag T)
  234.                  (while errFlag
  235.                    (setq conFlag(TTC_Paste paseStr))
  236.                );end while
  237.              ); end progn
  238.            ); end if
  239.          ); end while
  240.        ); end progn
  241.      ); end if
  242.   (vla-EndUndoMark actDoc)
  243.   (princ "\nQuit TTC")
  244. (princ)
  245. ); end c:ttc
  246. (princ "\n*** Type TTC to run text to text copy tool *** ")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 00:18 , Processed in 0.993481 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表