; 用户可自行修改，文件在AUTOLOAD文件夹下【迷你大部分多重索引文件，用户可自行修改.lsp】
(if (> (atof (getvar "ACADVER")) 17.1)  ;代码在AutoCAD2008以下版本不加载，AutoCAD2008以下版本不支持多重索引
	(progn


            ; mai_zxindex_layer (list "装饰索引线" "2" "装饰索引文字" "3" "MN-INDEX" 3) ;装饰索引线层名,层颜色、装饰索引文字层名,层颜色、装饰索引文字字形,字高

            ; mai_mleader_arrow_block "MN-DOT" ; 文字多重索引及一般箭头块名

            ; mai_mleader_clsy_block (list "MN-ARROW2" "MN-INDEX-CLBH03") ;通用材料多重索引命令箭头块名，索引块名

            ; mai_mleader_jjsy_block (list "MN-ARROW2" "MN-INDEX-CLBH01") ; 家具多重索引命令命令箭头块名，索引块名

            ; mai_mleader_thsy_block (list "MN-ARROW2" "MN-INDEX-CLBH04")  ; 带天花标高多重索引命令命令箭头块名，索引块名

            ; mai_mleader_line_angle -45  ; 缺省多重引线倾斜角度（0-90），负数为智能角度
        ; 以上是迷你缺省设置




; 标注块或填充的名字
(defun c:mini_bzmc ( / old_cmd p1 p2 txt ent sty )
	(mai_start nil)
	(or mai_bzmc_angle
		(setq mai_bzmc_angle mai_mleader_line_angle) ;缺省引线角度为智能45度角
	)
	(setq ent (mai_Entsel nil  "选择要标注名字的块或填充:<退出>" "没有选择到块或填充:" '((0 . "insert,hatch")) nil))
	(or ent (exit))
	(setq
		p1 (cadr ent)
		ent (car ent)
		txt (strcase (mai_dxf 2 ent))
		txt (if (= "" txt) (mai_block_name ent) txt)
		p2 (getpoint p1 "\n输入文字说在点：<退出>")
	)
	(or p2 (exit))
	(setq sty (nth 4 mai_zxindex_layer))  ; mai_zxindex_layer = (list RC-TEXT "50" RC-TEXT "50" "ST" 3.5)
	(or (tblsearch "style" sty) (mai_set_style sty T))
	(setq mai_bzmc_angle
			(cadr
				(mai_create_mleader
					(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))      ; 多重索引层名和层颜色组成的表
					mai_mleader_arrow_block                                           ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
					2                                                             ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
					(list (nth 4 mai_zxindex_layer) (nth 5 mai_zxindex_layer) (nth 3 mai_zxindex_layer))    ; 前一个参数为 1或2 时，此参数为文字形名字和字高度 , 文字颜色
					txt                                                ; "文字或块属性，逗号分隔"
					(list p1 p2)                                       ; 两点表或索引实体名，空为输入
					mai_bzmc_angle                                     ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
			)
	)
	(mai_end)
)


;家具索引命令
(defun c:mini_indexer2 ()
	(mai_last_com "mini_indexer2")
	(princ "\n家具索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer2_op
		(setq mai_indexer2_op
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\") ; 缺省词库文件路径
						"*.TXT"                                          ; 缺省词库文件文件格式
						"家具代号.txt"                                   ; 缺省词库文件
						"SF,--,单人沙发"                             ; 缺省文字
					)
					mai_mleader_line_angle        ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq mai_indexer2_op
			(mai_user_mleader
				(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))      ; 多重索引层名和层颜色组成的表
				(car mai_mleader_jjsy_block)                        ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				0                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list (cadr mai_mleader_jjsy_block) 1 (nth 3 mai_zxindex_layer))             ; 前一个参数为 0 时，此参数为索引块名字和块比例表，1 2时为文字形名字和字高度，用户也可用自己的块，增加图块颜色
				(car mai_indexer2_op)               ; 词库路径，类型，文件名，缺省文字
				nil                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer2_op)             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
)



;文字在线外索引命令
(defun c:mini_indexer6 ( / old_cmd sty )
	(mai_start nil)
	(mai_last_com "mini_indexer6")
	(princ "\n文字在线外索引，用户可自行修改，源码在用户文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer6_op
		(setq mai_indexer6_op
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\") ; 缺省词库文件路径
						"*.TXT"                             ; 缺省词库文件文件格式
						"一般文字索引.txt"                    ; 缺省词库文件
						"床头柜内藏小夜灯,H:350mm"             ; 缺省文字
					)
					mai_mleader_line_angle     ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq sty (nth 4 mai_zxindex_layer))  ; mai_zxindex_layer = (list RC-TEXT "50" RC-TEXT "50" "ST" 3.5)
	(or (tblsearch "style" sty) (mai_set_style sty T))
	(setq mai_indexer6_op
			(mai_create_mleader
				(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))      ; 多重索引层名和层颜色组成的表
				mai_mleader_arrow_block                                 ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				2                                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list (nth 4 mai_zxindex_layer) (nth 5 mai_zxindex_layer) (nth 3 mai_zxindex_layer))  ; 前一个参数为 1或2 时，此参数为文字形名字和字高度，增加图块颜色
				(car mai_indexer6_op)                              ; 词库路径，类型，文件名，缺省文字
				nil                                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer6_op)                             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
	(mai_txt_save_history (cadddr (car mai_indexer6_op)) (strcat mai_mini_path "text_lib\\装饰材料引线\\_+++文字索引历史记录+++.txt") 200)
	(mai_end)
)

;文字在线外加框索引命令
(defun c:mini_indexer3 ( / old_cmd sty )
	(mai_start nil)
	(mai_last_com "mini_indexer3")
	(princ "\n文字在线外加框索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer3_op
		(setq mai_indexer3_op
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\") ; 缺省词库文件路径
						"*.TXT"                             ; 缺省词库文件文件格式
						"一般文字索引.txt"                    ; 缺省词库文件
						"床头柜内藏小夜灯,H:350mm"                               ; 缺省文字
					)
					mai_mleader_line_angle     ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq sty (nth 4 mai_zxindex_layer))  ; mai_zxindex_layer = (list RC-TEXT "50" RC-TEXT "50" "ST" 3.5)
	(or (tblsearch "style" sty) (mai_set_style sty T))
	(setq mai_indexer3_op
			(mai_create_mleader
				(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))      ; 多重索引层名和层颜色组成的表
				mai_mleader_arrow_block                                        ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				3                                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list (nth 4 mai_zxindex_layer) (nth 5 mai_zxindex_layer) (nth 3 mai_zxindex_layer))  ; 前一个参数为 1或2 时，此参数为文字形名字和字高度
				(car mai_indexer3_op)                              ; 词库路径，类型，文件名，缺省文字
				nil                                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer3_op)                             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
	(mai_txt_save_history (cadddr (car mai_indexer3_op)) (strcat mai_mini_path "text_lib\\装饰材料引线\\_+++文字索引历史记录+++.txt") 200)
	(mai_end)
)

;文字在线上索引命令
(defun c:mini_indexer5 ( / old_cmd sty )
	(mai_start nil)
	(mai_last_com "mini_indexer5")
	(princ "\n文字在线上索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer5_op
		(setq mai_indexer5_op 
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\") ; 缺省词库文件路径
						"*.TXT"                             ; 缺省词库文件文件格式
						"一般文字索引.txt"                    ; 缺省词库文件
						"床头柜内藏小夜灯,H:350mm"                               ; 缺省文字
					)
					mai_mleader_line_angle     ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq sty (nth 4 mai_zxindex_layer))  ; mai_zxindex_layer = (list RC-TEXT "50" RC-TEXT "50" "ST" 3.5)
	(or (tblsearch "style" sty) (mai_set_style sty T))
	(setq mai_indexer5_op
			(mai_create_mleader
				(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))   ; 多重索引层名和层颜色组成的表
				mai_mleader_arrow_block                                           ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				1                                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list (nth 4 mai_zxindex_layer) (nth 5 mai_zxindex_layer) (nth 3 mai_zxindex_layer))  ; 前一个参数为 1或2 时，此参数为文字形名字和字高度
				(car mai_indexer5_op)                              ; 词库路径，类型，文件名，缺省文字
				nil                                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer5_op)                             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
	(mai_txt_save_history (cadddr (car mai_indexer5_op)) (strcat mai_mini_path "text_lib\\装饰材料引线\\_+++文字索引历史记录+++.txt") 200)
	(mai_end)
)


;通用材料索引索引命令
(defun c:mini_indexer7 ()
	(mai_last_com "mini_indexer7")
	(princ "\n通用材料索引索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer7_op
		(setq mai_indexer7_op
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\专用主材物料代号\\")  ; 缺省词库文件路径
						"*.TXT"                                       ; 缺省词库文件文件格式
						"石材.txt"                                    ; 缺省词库文件
						"ST,01,爵士白"                       		 ; 缺省文字
					)
					mai_mleader_line_angle          ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq mai_indexer7_op
			(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为文字在线外加框，4为多行文字
				(list (cadr mai_mleader_clsy_block) 1 (nth 3 mai_zxindex_layer))                  ; 前一个参数为 0 时，此参数为索引块名字和块比例表，用户也可用自己的块
				(car mai_indexer7_op)                                   ; 词库路径，类型，文件名，缺省文字
				nil                                                     ; 两点表或索引实体名，空为输入
				(cadr mai_indexer7_op)                                  ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
)

;多层构造说明索引命令
(defun c:mini_indexer8 ( / sty )
	(mai_last_com "mini_indexer8")
	(princ "\n多层构造说明索引命令，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer8_op
	(setq mai_indexer8_op
			(list
				(list
					(strcat mai_mini_path "text_lib\\节点多行做法索引\\室外地面铺装\\")  ; 缺省词库文件路径
					"*.TXT"                                                         ; 缺省词库文件文件格式
					"室外硬质铺装地面-01.txt"                                          ; 缺省词库文件
					""                                                              ; 缺省文字
				)
				mai_mleader_line_angle     ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
		)
	)
	(setq sty (caddr maiindexname))   ;这个样式用系统字体很难看
	(or (tblsearch "style" sty) (mai_set_style sty nil))
	(setq mai_indexer8_op
			(mai_user_mleader
				(list (car maiindexname) (cadr maiindexname))      ; 多重索引层名和层颜色组成的表
				mai_mleader_arrow_block                                           ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				4                                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list sty (cadddr maiindexname) (cadr maiindexname))  ; 前一个参数为 1或2 时，此参数为文字形名字和字高度
				(car mai_indexer8_op)                              ; 词库路径，类型，文件名，缺省文字
				nil                                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer8_op)                             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
)

;带天花标高索引索引命令
(defun c:mini_indexer9 ()
	(mai_last_com "mini_indexer9")
	(princ "\n带天花标高索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer9_op
		(setq mai_indexer9_op
				(list
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\专用主材-带天花标高\\") ; 缺省词库文件路径
						"*.TXT"                                           ; 缺省词库文件文件格式
						"石材.txt"                         ; 缺省词库文件
						"CH,--,ST,01,爵士白"                      ; 缺省文字
					)
					mai_mleader_line_angle         ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq mai_indexer9_op
			(mai_user_mleader
				(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))  ; 多重索引层名和层颜色组成的表
				(car mai_mleader_thsy_block)                        ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
				0                                  ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
				(list (cadr mai_mleader_thsy_block) 1 (nth 3 mai_zxindex_layer))         ; 前一个参数为 0 时，此参数为索引块名字和块比例表，用户也可用自己的块
				(car mai_indexer9_op)              ; 词库路径，类型，文件名，缺省文字
				nil                                ; 两点表或索引实体名，空为输入
				(cadr mai_indexer9_op)             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
			)
	)
)


;文字在线上、线外线外带框三合一索引命令；BricsCAD无文字在线上功能
(defun c:mini_indexer_text ( / old_cmd sty txt_po ang angt p1 p2 p3 pts blk )
	(mai_start nil)
	(mai_last_com "mini_indexer_text")
	(princ "\n文字多重索引，用户可自行修改，源码在AUTOLOAD文件夹下文件【迷你大部分多重索引文件，用户可自行修改.lsp】")
	(or mai_indexer_text
		(setq mai_indexer_text
				(list
					2  ;缺省文字位置 1=上 2=外 3=外带框
					mai_mleader_arrow_block    ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
					(list
						(strcat mai_mini_path "text_lib\\装饰材料引线\\") ; 缺省词库文件路径
						"*.TXT"                             ; 缺省词库文件文件格式
						"一般文字索引.txt"                    ; 缺省词库文件
						"床头柜内藏小夜灯,H:350mm"                               ; 缺省文字
					)
					mai_mleader_line_angle     ; 缺省引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
		)
	)
	(setq
		sty (nth 4 mai_zxindex_layer)
		txt_po (car mai_indexer_text)
		blk (cadr mai_indexer_text)
		ang (cadddr mai_indexer_text)
	)
	(or (tblsearch "style" sty) (mai_set_style sty T))

	(while
		(and
			(progn
				(setq angt (if ang (rtos ang 2 2) "由两索引点确定"))
				(princ "\n当前 文字在线")
				(if (< mai_os_ver 2)
					(princ (cond ((= txt_po 1) "上,") ((= txt_po 2) "外,") ((= txt_po 3) "外带框,")))
					(princ (cond (((= txt_po 3) "外带框,")) ("外,")))
				)
				(princ
					(cond
						((= blk "MN-DOT") "圆点块.")
						((= blk "MN-ARROW1") "小箭头块.")
						((= blk "MN-ARROW2") "大箭头块")
					)
				)
				(if (< mai_os_ver 2)
					(initget "A Z X C Q W E")
					(initget "A X C Q W E")
				)
				(if (< mai_os_ver 2)
					(setq p1 (getpoint (strcat "\n[引线角度【" angt "】,负数为智能角度、水平或垂直(A)/文字在线上(Z)/线外(X)/线外带框(C)/圆点块(Q)/小箭头块(W)/大箭头块(E)]输入多重索引第一点:<回车选择索引更新>")))
					(setq p1 (getpoint (strcat "\n[引线角度【" angt "】,负数为智能角度、水平或垂直(A)/文字在线外(X)/线外带框(C)/圆点块(Q)/小箭头块(W)/大箭头块(E)]输入多重索引第一点:<回车选择索引更新>")))
				)
			)
			(member p1 (list "A" "Z" "X" "C" "Q" "W" "E"))
		)
		(cond
			((= p1 "A")
				(initget "A")
				(setq p3 (getangle (strcat "\n[由两索引点确定(A)]输入引线角度,负数为智能角度、水平或垂直:<" angt ">")))
				(cond
					((= p3 "A") (setq ang nil))
					(p3
						(setq
							p1 '(0 0 0)
							ang (/ (* (if (>= 1 (/ p3 pi) 0) 1 -1) (angle p1 (mapcar 'abs (polar p1 p3 10.))) 180) pi)
						)
					)
				)
			)
			((= p1 "Z") (setq txt_po 1))
			((= p1 "X") (setq txt_po 2))
			((= p1 "C") (setq txt_po 3))
			((= p1 "Q") (setq blk "MN-DOT"))
			((= p1 "E") (setq blk "MN-ARROW2"))
			((= p1 "W") (setq blk "MN-ARROW1"))
		 )
	)
	(if p1
		(progn
			(while
				(and
					(progn
						(setq angt (if ang (rtos ang 2 2) "由两索引点确定"))
						(princ "\n当前 文字在线")
						(if (< mai_os_ver 2)
							(princ (cond ((= txt_po 1) "上,") ((= txt_po 2) "外,") ((= txt_po 3) "外带框,")))
							(princ (cond (((= txt_po 3) "外带框,")) ("外,")))
						)
						(princ (cond ((= blk "MN-DOT") "圆点块.") ((= blk "MN-ARROW1") "小箭头块.") ((= blk "MN-ARROW2") "大箭头块")))
						(if (< mai_os_ver 2)
							(initget "A Z X C Q W E")
							(initget "A X C Q W E")
						)
						(if (< mai_os_ver 2)
							(setq p2 (getpoint p1 (strcat "\n[引线角度【" angt "】,负数为智能角度、水平或垂直(A)/文字在线上(Z)/线外(X)/线外带框(C)/圆点块(Q)/小箭头块(W)/大箭头块(E)]输入多重索引第二点:<回车退出>")))
							(setq p2 (getpoint p1 (strcat "\n[引线角度【" angt "】,负数为智能角度、水平或垂直(A)/文字在线外(X)/线外带框(C)/圆点块(Q)/小箭头块(W)/大箭头块(E)]输入多重索引第二点:<回车退出>")))
						)
					)
					(member p2 (list "A" "Z" "X" "C" "Q" "W" "E"))
				)
				(cond
					((= p2 "A")
						(initget "A")
						(setq p3 (getangle (strcat "\n[由两索引点确定(A)]输入引线角度,负数为智能角度、水平或垂直:<" angt ">")))
						(cond
							((= p3 "A") (setq ang nil))
							(p3
								(setq
									p2 '(0 0 0)
									ang (/ (* (if (>= 1 (/ p3 pi) 0) 1 -1) (angle p2 (mapcar 'abs (polar p2 p3 10.))) 180) pi)
								)
							)
						)
					)
					((= p2 "Z") (setq txt_po 1))
					((= p2 "X") (setq txt_po 2))
					((= p2 "C") (setq txt_po 3))
					((= p2 "Q") (setq blk "MN-DOT"))
					((= p2 "W") (setq blk "MN-ARROW1"))
					((= p2 "E") (setq blk "MN-ARROW2"))
				)
			)
			(and p1 p2 (setq pts (list (list p1 p2))))
		)
	)
	(or pts
		(setq
			pts (mai_select_first '((0 . "MULTILEADER")) "选择要更新的多重索引:<回车退出>" "选择的不是多重索引.")
			pts (mapcar
					'(lambda(x / xx y n ps)
						(setq
							n (entget x)
							xx (vlax-ename->vla-object x)
							y (vl-catch-all-apply 'vla-GetLeaderLineVertices (list xx 0))
						)
						(if (not (vl-catch-all-error-p y))
							(progn
								(while (setq n (member (cons 304 "LEADER_LINE{") n))
									(setq
										n (cdr n)
										ps (cons (trans (mai_dxf 10 n) 0 1) ps)
									)
								)
								(setq
									y (mai_list_divide (vlax-safearray->list (vlax-variant-value y)) 3)
									y (mai_cons_last
											(if (= insblk 4) 0 (max 5 (vlax-get xx 'DoglegLength)))
											(cons (reverse ps) (cdr (mai_m_trans y 0 1)))
										)
								)
								(entdel x)
								y
							)
						)
					)
					(mai_ssget_2_list pts)
				)
			pts (vl-remove 'nil pts)
		)
	)
	(setq mai_indexer_text
			(vl-list*
				txt_po
				blk
				(mai_create_mleader
					(list (car mai_zxindex_layer) (cadr mai_zxindex_layer))         ; 多重索引层名和层颜色组成的表
					blk                                                             ; "箭头块名，必须有，迷你提供三个块，"MN-DOT"、"MN-ARROW1"、"MN-ARROW2"，用户也可用自己的块
					txt_po                                                          ; 0 为块，1为文字在线上，2为文字在线外，3为文字在线外加框，4为多行文字
					(list sty (nth 5 mai_zxindex_layer) (nth 3 mai_zxindex_layer))  ; 前一个参数为 1或2 时，此参数为文字形名字和字高度
					(cadr mai_indexer_text)                                         ; 词库路径，类型，文件名，缺省文字
					pts                                                             ; 两点表或索引实体名，空为输入
					ang                                                             ; 引线倾斜角度（0-90），nil 为由标注点确定角度，负数为智能角度
				)
			)
	)
	(mai_txt_save_history (cadddr (caddr mai_indexer_text)) (strcat mai_mini_path "text_lib\\装饰材料引线\\_+++文字索引历史记录+++.txt") 200)
	(mai_end)
)


(defun c:mini_mleader_mirror ( / old_cmd ent ss pt old_scale)
	(mai_start nil)
	(mai_last_com "mini_mleade_mirror")
	(setq
		ss (mai_select_first
				'((0 . "MULTILEADER"))
				"选择要左右镜像的多重索引:<退出>"
				"没有找到多重索引."
			)
		old_scale mai_scale
	)
	(foreach ent (mai_ssget_2_list ss)
		(setq
			; pt (last (cdr (last (mai_mleader_data (car(entsel))))))
			pt (mai_mleader_data ent)
			elst (entget ent)
			mai_scale (cadar pt)
		)
		(mai_get_scale)
		(setvar "clayer" (mai_dxf 8 elst))
		(mai_create_mleader nil (cadr pt) (caddr pt) (cadddr pt) (nth 4 pt) (nth 5 pt) nil)
		(entdel ent)
		(setq ent (entlast))
		(entmod (mai_mleader_DoglegLength (entget ent) (caddr pt) (* mai_scale (caddar pt))))
		(if (member (caddr pt) (list 1 4))
			(progn
				(setq ent (vlax-ename->vla-object ent))
				(vlax-put ent 'textstring (vlax-get ent 'textstring))
			)
		)
	)
	(setq mai_scale old_scale)
	(mai_get_scale)
	(mai_end)
)


	)
)

