; 用户可自行修改面板数据，文件在AUTOLOAD文件夹下【用户材料索引文件[MINI_CLSY].lsp】
; 文字用逗号分隔

(if (> (atof (getvar "ACADVER")) 17.1)  ;代码在AutoCAD2008以下版本不加载，AutoCAD2008以下版本不支持多重索引
    (progn

        (defun c:MINI_CLSY (  / txt )
         (mai_last_com "MINI_CLSY")
         (setq txt
          (mai_get_text_panel
            (list
               "用户可自行修改面板数据，文件在AUTOLOAD文件夹下【用户材料索引文件[MINI_CLSY].lsp】" ;对话框标题
              (list "石材"
                    "ST,01,爵士白"
                    "ST,02,西班牙米黄"
                    "ST,03,黑金砂"
                    "ST,04,深啡网"
                    "ST,05,米黄洞石"
                    "ST,06,地中海灰"
                    "ST,07,意大利木纹石"
              )
              (list "木材"
                    "WD,01,赤杨木"
                    "WD,02,枫木"
                    "WD,03,核桃木"
                    "WD,04,酸枝木"
                    "WD,05,胡桃木"
                    "WD,06,白橡木"
                    "WD,07,莎比利"
              )
              (list "瓷砖"
                    "TL,01,抛光砖,800x800"
                    "TL,02,抛釉砖,800x800"
                    "TL,03,墙面砖,400x800"
                    "TL,04,仿古砖,600x600"
                    "TL,05,防滑砖,300x300"
                    "TL,06,通体砖"
                    "TL,07,木纹砖,150x600"
                    "TL,08,柔面砖"
              )
              (list "涂料"
                    "PT,01,白色乳胶漆"
                    "PT,02,灰色乳胶漆"
                    "PT,03,浅米色乳胶漆"
                    "PT,04,浅咖色乳胶漆"
                    "PT,05,深灰色喷漆"
                    "PT,06,防潮浅米色乳胶漆"
                    "PT,07,防水白色乳胶漆"
                    "PT,08,肌理漆"
                    "PT,09,米色肌理乳胶漆"
              )
            )
           )
          )
          (or mai_clsy_ang (setq mai_clsy_ang mai_mleader_line_angle)) ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
          (if txt
              (setq mai_clsy_ang
                    (cadr
                      (mai_user_mleader
                            (list (car mai_zxindex_layer) (cadr mai_zxindex_layer))            ; 多重索引层名和层颜色组成的表
                            (car mai_mleader_clsy_block)                        ; 箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
                            0                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框
                            (list (cadr mai_mleader_clsy_block) 1)         ; 前一个参数为 0 时，此参数为索引块名字和块比例表，1 2时为文字形名字和字高度，用户也可用自己的块
                                                               ;  "MN-INDEX-CLBH06"索引块中间线不出头 "MN-INDEX-CLBH03"索引块中间线出头，带英文索引
                            txt                                ; 文字或块属性，逗号分隔，本命令由上面面板获得
                            nil                                ; 两点表或索引实体名，空为输入
                            mai_clsy_ang                       ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
                      )
                    )
              )
          )
        )

  )
)

;| 以下代码全部注释，不加载
(defun c:demo1 ( ) ; 用户可以自定义命令样板，直接生成罗马洞石索引，适合有心用户DIY
    (mai_user_mleader
        (list (car mai_zxindex_layer) (cadr mai_zxindex_layer))          ; 层名和层颜色组成的表
        "MN-ARROW2"                        ; 箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
        0                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框
        (list "MN-INDEX-CLBH02" 1)         ; 前一个参数为 0 时，此参数为索引块名字和块比例表，1 2时为文字形名字和字高度，用户也可用自己的块
        "ST,01,罗马洞石"                   ; "文字或块属性，逗号分隔" 或 (list 词库路径 词库类型 词库文件名 当前文字，逗号分隔)
        nil                                ; 两点表或索引实体名，空为输入
        nil                                ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
    )
)

(defun c:demo2 ( ) ;用户可以自定义命令样板，直接生成木纹石索引，适合有心用户DIY
    (mai_user_mleader
        (list (car mai_zxindex_layer) (cadr mai_zxindex_layer))        ; 层名和层颜色组成的表
        "MN-ARROW2"                        ; 箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
        0                                  ; 0 为块，1为文字在线上，2为文字在线外
        (list "MN-INDEX-CLBH03" 1)         ; 前一个参数为 0 时，此参数为索引块名字和块比例表，1 2时为文字形名字和字高度，用户也可用自己的块
        "ST,02,木纹石,Stone"               ; "文字或块属性，逗号分隔" 或 (list 词库路径 词库类型 词库文件名 当前文字，逗号分隔)
        nil                                ; 两点表或索引实体名，空为输入
        -45                                ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
    )
)


(defun c:demo3 ()  ;用户可以从词库选择文字生成索引样板，适合有心用户DIY
  (or you_save_options   ;设置你的缺省词库，名子不能冲突，可以更长一些
      (setq you_save_options (list
                                 (list (strcat mai_mini_path "text_lib\\装饰材料引线\\")
                                       "*.TXT"
                                       "家具代号.txt"
                                       "SF--,单人沙发,SOFA"
                                 )
                                 -45
                             )
      )
  )
  (setq you_save_options
       (mai_user_mleader
            (list (car mai_zxindex_layer) (cadr mai_zxindex_layer))            ; 层名和层颜色组成的表
            "MN-ARROW1"                        ; 箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
            0                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框
            (list "MN-INDEX-CLBH01" 1)         ; 前一个参数为 0 时，此参数为索引块名字和块比例表，1 2时为文字形名字和字高度，用户也可用自己的块
            (car you_save_options)             ; "文字或块属性，逗号分隔" 或 (list 词库路径 词库类型 词库文件名 当前文字，逗号分隔)
            nil                                ; 两点表或索引实体名，空为输入
            (cadr you_save_options)            ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
       )
  )
)

; 注释结束
;|;

