明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 14994|回复: 101

[源码] 统计线长之前,须先乱弹琴

    [复制链接]
发表于 2013-8-26 11:53:03 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2013-8-27 10:13 编辑

http://bbs.mjtd.com/thread-107329-1-1.html
1 “统计线长”的改良版
2 问:这是“统计线长”工具吗?是的,同时是一把小钢琴
3 创意来自:不死猫nonsmall的咔嚓声
4 提示:开音响哟

1 加载后输入命令:Lens
2 击0 1 2 3 4 5 6 7,乱弹琴(本人不懂音乐,弹不出<命令交响曲>,请谅解)
3 击"确定"后,开始工作
  1. (defun C:Lens (/ COLOR EN FIL LAYLIS LEN LINETYPE NAME OSM1 RA0 RA1 RA2 RA3 RA4 RA5 RA6 RA7 RETURN# SS0 wmp)
  2.   ;;0 错误处理
  3.   (defun *error* (S)
  4.     (vl-bt)
  5.     ;;结束编组;(if (= 8 (logand (getvar "undoctl") 8)) (command "_.undo" "_e"))
  6.     (endundo)
  7.     ;;结束命令
  8.     (while (not (equal (getvar "cmdnames") "")) (command nil))
  9.     (if        osm1 (setvar "osmode" osm1))
  10.     (if wmp (vlax-release-object wmp))
  11.     (princ "\n 出错啦!")
  12.   )
  13.   ;;1.1 获取颜色  
  14.   (defun getcolor (/ COLOR EN ENTLIST LAYER)
  15.     (while (not en) (setq en (car (entsel "\n 拾取颜色"))))
  16.     (setq entlist (entget en))
  17.     (if        (setq color (cdr (assoc 62 entlist)))
  18.       nil
  19.       (progn
  20.         (setq layer (cdr (assoc 8 entlist)))
  21.         (setq color (cdr (assoc 62 (tblsearch "layer" layer))))
  22.       )
  23.     )
  24.     (list en color)
  25.   )
  26.   ;;1.2 指定颜色的随层随块层名
  27.   (defun ColorLayers (color / D LAYER LAYLIS)
  28.     (while (setq d (tblnext "LAYER" (null d)))
  29.       (setq layer (cdr (assoc 2 d)))
  30.       (if (equal (cdr (assoc 62 d)) color)
  31.         (setq layLis (if layLis
  32.                        (strcat layLis "," layer)
  33.                        layer
  34.                      )
  35.         )
  36.       )
  37.     )
  38.     LAYLIS
  39.   )
  40.   ;;2 取得层名
  41.   (defun getLayer ()
  42.     (list (assoc 8 (entget (car (entsel "\n 拾取层名")))))
  43.   )
  44.   ;;3.1 获取线型
  45.   ;;EN LINETYPE
  46.   (defun getLineType (/ ENTLIST LAYER)
  47.     (while (not en) (setq en (car (entsel "\n 拾取线型"))))
  48.     (setq entlist (entget en))
  49.     (if        (setq LineType (cdr (assoc 6 entlist)))
  50.       nil
  51.       (progn
  52.         (setq layer (cdr (assoc 8 entlist)))
  53.         (setq LineType (cdr (assoc 6 (tblsearch "layer" layer))))
  54.       )
  55.     )
  56.   )
  57.   ;;3.2 指定线型的随层随块层名
  58.   ;; LAYLIS
  59.   (defun TypeLayers (LineType / D LAYER)
  60.     (while (setq d (tblnext "LAYER" (null d)))
  61.       (setq layer (cdr (assoc 2 d)))
  62.       (if (equal (cdr (assoc 6 d)) LineType)
  63.         (setq layLis (if layLis
  64.                        (strcat layLis "," layer)
  65.                        layer
  66.                      )
  67.         )
  68.       )
  69.     )
  70.   )
  71.   ;;4 一统+ strcat
  72.   ;;在处理输入时,可能有些用处 自贡黄明儒 2013年8月20日
  73.   ;;(++ '("a" 5));"a5"
  74.   (defun ++ (lis / SYMBOL X)
  75.     (if        (vl-every 'numberp lis)
  76.       (apply '+ lis)
  77.       (apply 'strcat (mapcar 'vl-princ-to-string lis))
  78.     )
  79.   )
  80.   ;;5.1 圆整线宽
  81.   (defun Iwidth        (len0)
  82.     (cond ((< len0 5) (setq len 5))
  83.           ((< len0 9) (setq len 9))
  84.           ((< len0 13) (setq len 13))
  85.           ((< len0 15) (setq len 15))
  86.           ((< len0 18) (setq len 18))
  87.           ((< len0 20) (setq len 20))
  88.           ((< len0 25) (setq len 25))
  89.           ((< len0 30) (setq len 30))
  90.           ((< len0 35) (setq len 35))
  91.           ((< len0 40) (setq len 40))
  92.           ((< len0 50) (setq len 50))
  93.           ((< len0 53) (setq len 53))
  94.           ((< len0 60) (setq len 60))
  95.           ((< len0 70) (setq len 70))
  96.           ((< len0 80) (setq len 80))
  97.           ((< len0 90) (setq len 90))
  98.           ((< len0 100) (setq len 100))
  99.           ((< len0 106) (setq len 106))
  100.           ((< len0 120) (setq len 120))
  101.           ((< len0 140) (setq len 140))
  102.           ((< len0 158) (setq len 158))
  103.           ((< len0 200) (setq len 200))
  104.           (t (setq len 211))
  105.     )
  106.   )
  107.   ;;5.2 预设线宽
  108.   ;; len
  109.   (defun PreWidth (en / ENTLIST LEN1 OBJ)
  110.     ;;(setq en (car (entsel)))
  111.     (setq entlist (entget en))
  112.     (setq len (vlax-curve-getDistAtParam en (vlax-curve-getEndParam en)))
  113.     (setq len (/ len 20))
  114.     (Iwidth len)                                  ;圆整后len
  115.     (setq obj (vlax-ename->vla-object en))
  116.     (vla-put-Lineweight obj len)
  117.     (princ (++ (list "\n 当前线宽是 " len)))
  118.     (initget (++ (list 2 4)))                          ;没必要也用一下
  119.     (if        (setq len1 (getreal (++ (list "\n 输入线宽<" len ">"))))
  120.       (progn (Iwidth len1)
  121.              (vla-put-Lineweight obj len)
  122.       )
  123.     )
  124.     (princ (++ (list "\n 当前线宽圆整后是 " len)))
  125.   )
  126.   ;;5.3 处理选择集内对象
  127.   (defun HHproSS (ss len / EN N)
  128.     (repeat (setq n (sslength ss))
  129.       (setq en (ssname ss (setq n (1- n))))
  130.       (setq en (vlax-ename->vla-object en))
  131.       (vlax-put en 'lineweight len)
  132.     )
  133.   )
  134.   ;;6.1 对话框
  135.   (defun MyPlanDCL (/ DCLID FN FNAME LIN return#)
  136.     (setq fname (vl-filename-mktemp nil nil ".dcl"))
  137.     (setq fn (open fname "w"))
  138.     (write-line "MyPlanDialog : dialog{" fn)
  139.     (write-line "label=\"自贡运机集团黄明儒 命令:Lens\";" fn)
  140.     (write-line " :row{" fn)
  141.     (write-line "  :column{" fn)
  142.     (write-line "  :boxed_radio_column{label=\"选择\";" fn)
  143.     (write-line "   initial_focus=\"ra1\";" fn)
  144.     (write-line
  145.       "   :radio_button{label=\"按图层(&0)\";key=\"ra0\";mnemonic=\"0\";}"
  146.       fn
  147.     )
  148.     (write-line
  149.       "   :radio_button{label=\"按颜色(&1)\";key=\"ra1\";mnemonic=\"1\";value=\"1\";}"
  150.       fn
  151.     )
  152.     (write-line
  153.       "   :radio_button{label=\"按线型(&2)\";key=\"ra2\";mnemonic=\"2\";}      "
  154.       fn
  155.     )
  156.     (write-line "   }" fn)
  157.     (write-line "   :boxed_radio_column{label=\"范围\";" fn)
  158.     (write-line "   initial_focus=\"ra3\";" fn)
  159.     (write-line
  160.       "   :radio_button{label=\"手选(&3)\";key=\"ra3\";mnemonic=\"3\";value=\"1\";}"
  161.       fn
  162.     )
  163.     (write-line
  164.       "   :radio_button{label=\"全选(&4)\";key=\"ra4\";mnemonic=\"4\";}       "
  165.       fn
  166.     )
  167.     (write-line "   }" fn)
  168.     (write-line "   }//column" fn)
  169.     (write-line "  :column{" fn)
  170.     (write-line "  :boxed_radio_column{label=\"功能\";" fn)
  171.     (write-line "   initial_focus=\"ra5\";" fn)
  172.     (write-line
  173.       "   :radio_button{label=\"统计线长(&5)\";key=\"ra5\";mnemonic=\"5\";value=\"1\";}"
  174.       fn
  175.     )
  176.     (write-line
  177.       "   :radio_button{label=\"线宽显示(&6)\";key=\"ra6\";mnemonic=\"6\";}"
  178.       fn
  179.     )
  180.     (write-line
  181.       "   :radio_button{label=\"保存文件(&7)\";key=\"ra7\";mnemonic=\"7\";}      "
  182.       fn
  183.     )
  184.     (write-line "   }" fn)
  185.     (write-line "   :boxed_column{label=\"操作\";" fn)
  186.     (write-line
  187.       "    : button {label = \"取消(&E)\";key = \"but_Cancel\";is_cancel=true;}"
  188.       fn
  189.     )
  190.     (write-line
  191.       "    : button {label = \"确定(&O)\";key = \"but_OK\";is_default=true;}"
  192.       fn
  193.     )
  194.     (write-line "    } " fn)
  195.     (write-line "  }//column" fn)
  196.     (write-line " }" fn)
  197.     (write-line "}" fn)
  198.     (close fn)
  199.     (setq fn (open fname "r"))
  200.     (setq dclid (load_dialog fname))
  201.     (while
  202.       (or (eq (substr (setq lin        (vl-string-right-trim
  203.                                   "\" fn)"
  204.                                   (vl-string-left-trim "(write-line \"" (read-line fn))
  205.                                 )
  206.                       )
  207.                       1
  208.                       2
  209.               )
  210.               "//"
  211.           )
  212.           (eq (substr lin 1 (vl-string-search " " lin)) "")
  213.           (not (eq (substr lin (+ (vl-string-search " " lin) 1) 9)
  214.                    " : dialog"
  215.                )
  216.           )
  217.       )
  218.     )
  219.     (new_dialog (substr lin 1 (vl-string-search " " lin)) dclid)
  220.     (MyPlanSet)   
  221.     (if wmp (actionDo wmp))
  222.     (action_tile "but_OK" "(MyPlanGet)(done_dialog 1)")
  223.     (action_tile "but_Cancel" "(kacha wmp)")
  224.     (setq return# (start_dialog))
  225.     (unload_dialog dclid)
  226.     (close fn)
  227.     (vl-file-delete fname)
  228.     return#
  229.   )
  230.   ;;6.2 对话框上用户选择
  231.   (defun MyPlanGet (/ ARA0 ARA1 ARA2 ENVLENS)
  232.     (setq ra0 (get_tile "ra0"))
  233.     (setq ra1 (get_tile "ra1"))
  234.     (setq ra2 (get_tile "ra2"))
  235.     (setq ra3 (get_tile "ra3"))
  236.     (setq ra4 (get_tile "ra4"))
  237.     (setq ra5 (get_tile "ra5"))
  238.     (setq ra6 (get_tile "ra6"))
  239.     (setq ra7 (get_tile "ra7"))
  240.     (cond ((= ra0 "1") (setq Ara0 2))
  241.           ((= ra1 "1") (setq Ara0 4))
  242.           ((= ra2 "1") (setq Ara0 8))
  243.     )
  244.     (cond ((= ra3 "1") (setq Ara1 16))
  245.           ((= ra4 "1") (setq Ara1 32))
  246.     )
  247.     (cond ((= ra5 "1") (setq Ara2 64))
  248.           ((= ra6 "1") (setq Ara2 128))
  249.           ((= ra7 "1") (setq Ara2 256))
  250.     )
  251.     (setq envLens (++ (list Ara0 Ara1 Ara2)))
  252.     (setenv "HuangMR\\Lens" (vl-princ-to-string envLens))
  253.   )
  254.   ;;6.3设置对话框
  255.   (defun MyPlanSet (/ ENVLENS)
  256.    (setq envLens (read (getenv "HuangMR\\Lens")))
  257.    (cond ((= 2 (boole 1 envLens 2)) (set_tile "ra0" "1"))
  258.          ((= 4 (logand envLens 4)) (set_tile "ra1" "1"))
  259.          ((= 8 (logand envLens 8)) (set_tile "ra2" "1"))
  260.    )
  261.    (cond ((= 16 (logand envLens 16)) (set_tile "ra3" "1"))
  262.          ((= 32 (logand envLens 32)) (set_tile "ra4" "1"))
  263.    )
  264.    (cond ((= 64 (logand envLens 64)) (set_tile "ra5" "1"))
  265.          ((= 128 (logand envLens 128)) (set_tile "ra6" "1"))
  266.          ((= 256 (logand envLens 256)) (set_tile "ra7" "1"))
  267.    )
  268.   )
  269.   ;;6.4 切换
  270.   (defun actionDo (wmp / A N)
  271.     (repeat (setq n 8)
  272.       (action_tile (++ (list "ra" (setq n (1- n)))) "(kacha wmp)")
  273.     )
  274.   )
  275.   ;;6.5 发声
  276.   (defun kacha (wmp / voice)
  277.     (setq voice (nth (ZL-RAND) (list "notify" "chimes" "chord" "ding")))
  278.     (setq voice (strcat "C:\\WINDOWS\\Media\\" voice ".wav"))
  279.     (Vlax-Put-Property wmp 'URL voice)
  280.   )
  281.   ;;6.6 随机数0-3
  282.   (defun ZL-RAND ()
  283.     (fix (* 4 (/ (rem (getvar "CPUTICKS") 1984) 1983)))
  284.   )
  285.   ;;7 线长统计
  286.   (defun HH:lens (ss / LENS SSV n)
  287.     (command "_.Select" ss "")
  288.     (setq ssv (vla-get-activeselectionset
  289.                 (vla-get-activedocument (vlax-get-acad-object))
  290.               )
  291.     )
  292.     (setq n 0)
  293.     (setq lens 0)
  294.     (vlax-for x        ssv
  295.       (setq
  296.         lens (++
  297.                (list lens
  298.                      (vlax-curve-getdistatparam x (vlax-curve-getendparam x))
  299.                )
  300.              )
  301.       )
  302.       (setq n (1+ n))
  303.     )
  304.     (if        ssv
  305.       (vlax-release-object ssv)
  306.     )
  307.     (princ (++ (list "\n 线数量(" n ") 总长为: " lens)))
  308.     (princ)
  309.   )
  310.   ;;8.1
  311.   ;;137.2 [功能] 图中最后图元Find True last entity
  312.   (Defun MJ:LASTENT (/ E0 EN)
  313.     (Setq E0 (EntLast))
  314.     (While (Setq EN (EntNext E0)) (Setq E0 EN))
  315.     E0
  316.   )
  317.   ;;8.2
  318.   ;;125.2 [功能] 获取在图元 en 之后产生的图元的选择集
  319.   (defun MJ:ss-entnext (en / ss)
  320.     (if        en
  321.       (progn
  322.         (setq ss (ssadd))
  323.         (while (setq en (entnext en))
  324.           (if (not (member (cdr (assoc 0 (entget en)))
  325.                            '("ATTRIB"
  326.                              "VERTEX"
  327.                              "SEQEND"
  328.                             )
  329.                    )
  330.               )
  331.             (ssadd en ss)
  332.           )
  333.         )
  334.         (if (zerop (sslength ss))
  335.           (setq ss nil)
  336.         )
  337.         ss
  338.       )
  339.       (ssget "_x")
  340.     )
  341.   )
  342.   ;;8.3 另存
  343.   (defun HH:save (ss name / DNAME LASTENT NEWDNAME SS0)
  344.     (setq lastent (MJ:LASTENT))
  345.     (command "_.copy" ss "" "0,0" "@")
  346.     (setq ss0 (MJ:ss-entnext lastent))
  347.     (setq DName (getvar "dwgname"))
  348.     (setq NewDName (++ (list (vl-filename-base DName) "-" name)))
  349.     ;;保证文件名不重复
  350.     (while (findfile (++ (list NewDName ".dwg")))
  351.       (setq NewDName (++ (list NewDName "-" name)))
  352.     )
  353.     (command "_.WBLOCK" NewDName "" "0,0" ss0 "")
  354.     (princ (++ (list "\n 已经保存,文件名为:" NewDName)))
  355.   )
  356.   ;;9.1 编组开始;(command "_.undo" "be")
  357.   (defun startundo (*DOC*)
  358.     (vla-startundomark *DOC*)
  359.   )
  360.   ;;9.2 编组结束(command "_.undo" "e")
  361.   (defun endundo (*DOC*)
  362.     (while (= 8 (logand 8 (getvar 'undoctl)))
  363.       (vla-endundomark *DOC*)
  364.     )
  365.   )
  366.   ;;10 执行操作
  367.   (defun MyPlanDo ()
  368.     (cond ((= ra7 "1")                                  ;局部保存
  369.            (cond ((= ra0 "1")                          ;//按图层
  370.                   (setq fil (getLayer))
  371.                  )
  372.                  ((= ra1 "1")                          ;//按颜色
  373.                   (setq color (getcolor))
  374.                   (setq en (car color))
  375.                   (setq color (cadr color))
  376.                   (setq layLis (ColorLayers color)) ;获得层
  377.                   (setq        fil (list '(-4 . "<OR")
  378.                                   (cons 62 color)
  379.                                   '(-4 . "<AND")
  380.                                   (cons 8 layLis)
  381.                                   '(-4 . "<OR")
  382.                                   (cons 62 0)
  383.                                   (cons 62 256)
  384.                                   '(-4 . "OR>")
  385.                                   '(-4 . "AND>")
  386.                                   '(-4 . "OR>")
  387.                             )
  388.                   )
  389.                  )
  390.                  ((= ra2 "1")                          ;//按线型
  391.                   (getLineType)
  392.                   (TypeLayers LineType)
  393.                   (setq        fil (list '(-4 . "<OR")
  394.                                   (cons 6 LineType)
  395.                                   '(-4 . "<AND")
  396.                                   (cons 8 layLis)
  397.                                   '(-4 . "<OR")
  398.                                   (cons 6 "ByLayer")
  399.                                   (cons 6 "ByBlock")
  400.                                   '(-4 . "OR>")
  401.                                   '(-4 . "AND>")
  402.                                   '(-4 . "OR>")
  403.                             )
  404.                   )
  405.                  )
  406.            )
  407.           )
  408.           (T                                          ;显示or统计线长
  409.            (cond ((= ra0 "1")
  410.                   (setq fil (cons (cons 0 "ARC,*LINE,CIRCLE,ELLIPSE") (getLayer)))
  411.                  )
  412.                  ((= ra1 "1")
  413.                   (setq color (getcolor))
  414.                   (setq en (car color))
  415.                   (setq color (cadr color))
  416.                   (setq layLis (ColorLayers color)) ;获得层
  417.                   (setq        fil (list '(-4 . "<AND")
  418.                                   (cons 0 "ARC,*LINE,CIRCLE,ELLIPSE")
  419.                                   '(-4 . "<OR")
  420.                                   (cons 62 color)
  421.                                   '(-4 . "<AND")
  422.                                   (cons 8 layLis)
  423.                                   '(-4 . "<OR")
  424.                                   (cons 62 0)
  425.                                   (cons 62 256)
  426.                                   '(-4 . "OR>")
  427.                                   '(-4 . "AND>")
  428.                                   '(-4 . "OR>")
  429.                                   '(-4 . "AND>")
  430.                             )
  431.                   )
  432.                  )
  433.                  ((= ra2 "1")
  434.                   (getLineType)
  435.                   (TypeLayers LineType)
  436.                   (setq        fil (list '(-4 . "<AND")
  437.                                   (cons 0 "ARC,*LINE,CIRCLE,ELLIPSE")
  438.                                   '(-4 . "<OR")
  439.                                   (cons 6 LineType)
  440.                                   '(-4 . "<AND")
  441.                                   (cons 8 layLis)
  442.                                   '(-4 . "<OR")
  443.                                   (cons 6 "ByLayer")
  444.                                   (cons 6 "ByBlock")
  445.                                   '(-4 . "OR>")
  446.                                   '(-4 . "AND>")
  447.                                   '(-4 . "OR>")
  448.                                   '(-4 . "AND>")
  449.                             )
  450.                   )
  451.                  )
  452.            )
  453.           )
  454.     )
  455.     ;;(setvar "nomutt" 1)
  456.     (cond ((= ra6 "1")                                  ;线宽显示
  457.            (setvar "lwdisplay" 1)
  458.            (PreWidth en)
  459.           )
  460.     )

  461.     (cond ((= ra3 "1") (setq ss0 (ssget fil)))          ;手选
  462.           ((= ra4 "1") (setq ss0 (ssget "X" fil))) ;全选
  463.     )
  464.     ;;(setvar "nomutt" 0)
  465.     (if        ss0
  466.       (cond ((= ra5 "1") (HH:lens ss0))                  ;统计线长
  467.             ((= ra6 "1") (HHproSS ss0 len))          ;线宽显示
  468.             ((= ra7 "1")
  469.              (cond ((= ra0 "1") (setq name (cdr (car fil))))
  470.                    ((= ra1 "1") (setq name color))
  471.                    ((= ra2 "1") (setq name LineType))
  472.              )
  473.              (HH:save ss0 name)
  474.             )                                          ;保存文件
  475.       )
  476.       (gc)
  477.     )
  478.   )
  479.   ;;11 本程序主程序

(if (null (getenv "HuangMR\\Lens"))
    (setenv "HuangMR\\Lens" "52")
  );初赋值
  (vl-load-com)
  ;; *DOC*常用,故设置成全局,带*时VL编辑器会排在前面,易于去除
  (if *DOC*
    nil
    (setq *DOC* (vla-get-activedocument (vlax-get-acad-object)))
  )
  (Setq wmp (vlax-Create-Object "WMPlayer.OCX"))
  
  (setq osm1 (getvar "osmode"))
  (setvar "osmode" 0)
  (startundo *DOC*)                                  ;可能对wblock无效
  (setq RETURN# (MyPlanDCL))                          ;执行对话框,取得用户选择  
  (if (= RETURN# 1)
    (MyPlanDo)
    (gc)
  )
  (endundo *DOC*)
  (setvar "osmode" osm1)
  
  (if wmp (vlax-release-object wmp))
  ;;(if ss0 (command "_.Select" ss0 "")) (princ)
  ;;(if ss0    (ayEntSSHighLight ss0) )
)

;;下一步打算,加入中英文朗诵http://bbs.mjtd.com/forum.php?mod=viewthread&tid=58760&extra=page%3D2%26filter%3Dtypeid%26typeid%3D108%26typeid%3D108

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
dz-2011 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-8-11 12:59:41 | 显示全部楼层
学习黄总代码来了。。。
发表于 2022-8-19 16:22:41 | 显示全部楼层
还得弹琴真是……
发表于 2013-8-26 12:29:41 | 显示全部楼层
呵呵,没音乐细胞可以乱弹琴不

点评

没音乐细胞必定是乱弹琴!同我一样了  发表于 2013-8-26 12:39
发表于 2013-8-26 12:40:46 | 显示全部楼层
谢谢谢谢谢谢谢谢谢谢谢谢
发表于 2013-8-26 13:07:27 | 显示全部楼层
咔嚓声    什麼東西咔嚓了...
发表于 2013-8-26 15:44:12 | 显示全部楼层
竟然要乱弹琴,呵呵
发表于 2013-8-26 15:59:26 | 显示全部楼层
就是弹琴呗
发表于 2013-8-26 16:55:19 | 显示全部楼层
不错不错,看看学习
发表于 2013-8-26 17:31:42 | 显示全部楼层
弹一回琴~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
发表于 2013-8-26 17:32:08 | 显示全部楼层
支持想看看
发表于 2013-8-26 18:37:39 | 显示全部楼层
弹弹更健康!听听更有益!

点评

最成功的是我用了logand,表示我是理解了这个函数的  发表于 2013-8-27 10:08
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 09:54 , Processed in 0.198333 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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