📄 delete_hatch._ls
字号:
)
(setq sel_id
(ssget "x" '((0 . "INSERT") (2 . "ep_pos")))
)
(setq sel_idtext
(ssget "x" '((0 . "TEXT") (8 . "mxb") (7 . "lxy2")))
)
(if (or (and sel_es sel_espin) sel_pin sel_es)
(progn
(if sel_id
(command "erase" sel_id "")
)
(if sel_idtext
(command "erase" sel_idtext "")
)
(if (not (tblsearch "layer" "mxb"))
(command "_.layer" "_new" "mxb" "_color"
"1" "mxb" "_ltype" "continuous"
"mxb" "set" "mxb" ""
)
(command "_.layer" "thaw" "mxb" "on"
"mxb" "unlock" "mxb" "set"
"mxb" ""
)
)
(mxb_head)
(cso_tran)
(setq os_old (getvar "osmode"))
(setvar "osmode" 0)
(setq mxb_num 0)
(setq num_ini (- mxb_num 1))
(setq mxb_x1 (- mxb_x1 x1)
mxb_y1 (- mxb_y1 y1)
)
(if (and sel_es sel_espin)
(es_id)
)
;(setq num_ini mxb_num)
(if sel_ej
(ej_id sel_ej "EJPIN" "E")
)
;(setq num_ini mxb_num)
(if sel_pin
(ej_id sel_pin "PIN" "P")
)
(setvar "osmode" os_old)
)
;(ini_user) ;get ES_NUM PIN_NUM EPIN_NUM NUMBER
)
;es_sel
)
(DEFUN ES_ID (/)
(setq es_data_tb nil)
(setq es_dia_tb nil)
(setq es_data_tb nil)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ES start
(setq n 0)
(setq es_total_tb
nil
es_size_tb nil
)
(repeat (sslength sel_es)
(setq es_data (entget (ssname sel_es n)))
(setq es_dia (cdr (assoc '41 es_data))
es_cenpt (cdr (assoc '10 es_data))
)
;(print es_cenpt)
;(print "YYY\n")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ESPIN start
(setq espin_num 0)
(repeat (sslength sel_espin)
(setq espin_data (entget (ssname sel_espin espin_num)))
(setq espin_num (+ 1 espin_num))
(setq espin_cenpt (cdr (assoc '10 espin_data)))
;(print espin_cenpt)
;(print "\n")
(if (and
(= (car es_cenpt) (car espin_cenpt))
(= (cadr es_cenpt) (cadr espin_cenpt))
)
(progn
(setq espin_dia (cdr (assoc '41 espin_data)))
(setq es_size_tb_temp (list es_dia espin_dia))
(if (not (member es_size_tb_temp es_size_tb))
(progn
(setq es_size_tb (cons es_size_tb_temp es_size_tb))
)
)
(setq es_total_tb
(cons
(cons es_size_tb_temp espin_cenpt)
es_total_tb
)
)
)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ESPIN END
(setq n (+ 1 n))
)
;;;;;;;;;;;;:::::::::::::::::es_size_tb es_total_tb:::::::::::::::::::::::::::::::::::::;ES end check ok
;;;;;;;;;;;;;;;;;;;;;;;;;sort es_size_tb;;;;;;;;;;;;;;start
(setq es_size_tb_ nil)
(setq od_temp_tb nil)
(foreach es_size_tb_temp es_size_tb
(setq od_dia_temp (car es_size_tb_temp))
(if (not (member od_dia_temp od_temp_tb))
(progn
(setq od_temp_tb (cons od_dia_temp od_temp_tb))
(setq es_size_tb_s nil)
(foreach es_size_tb_temp__ es_size_tb
;(print es_size_tb_temp__)
(if (= od_dia_temp (car es_size_tb_temp__))
(setq es_size_tb_s
(cons es_size_tb_temp__
es_size_tb_s
)
)
)
)
(if es_size_tb_
(progn
(setq es_size_tb_
(append es_size_tb_s
es_size_tb_
)
)
;(print es_size_tb_)
)
(progn
;(print "es_null")
(setq es_size_tb_ es_size_tb_s)
;(print es_size_tb_)
)
) ;
)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;sort es_size_tb;;;;;;;;;;;;;;END check ok
(setq n 0)
;(setq mxb_num 0)
(setq es_tb_ nil
es_size_pos_tb
nil
)
(foreach es_size_tb_temp es_size_tb_
;(alert "xxx")
(setq OD_value (car es_size_tb_temp))
(setq ID_value (cadr es_size_tb_temp))
(setq es_pos_tb nil)
(setq es_pos_ nil)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;each size add ID ADD START
(foreach es_data_temp es_total_tb ;ok
(if (and
(= od_value (car (car es_data_temp)))
(= id_value (cadr (car es_data_temp)))
)
(progn
;(print dia_value)
;(print es_size_tb_temp)
;(alert "sfdf")
(setq es_x (- (car (cdr es_data_temp)) x1))
(setq es_y (- (cadr (cdr es_data_temp)) y1))
(setq cenpt (list
es_x
es_y
)
)
(if (not (tblsearch "style" "lxy2"))
(command "-style" "lxy2" "txt" "" 0.6 "" "" "" "")
(setvar "textstyle" "lxy2")
)
(setq
textpt (polar cenpt
(* (/ pi 4) 1)
(+ (/ OD_VALUE 2) 2.5)
)
)
(setq
textpt_ (polar textpt
(* (/ pi 2) -1)
2.5
)
)
(setq num_id (strcat "#"
(strcat "S"
(itoa (- mxb_num num_ini))
)
)
)
(command "text"
"j"
"TL"
textpt
2.5
0
(strcat "S"(itoa (+ 1 n)))
)
(command "text"
"j"
"TL"
textpt_
2.5
0
num_id
)
(setq es_pos_ (cons cenpt es_pos_))
(setq mxb_num (+ 1 mxb_num))
(setq mxb_y1 (+ mxb_y1 (* 1 8)))
(command
"insert"
"ep_pos.dwg"
(list mxb_x1 mxb_y1)
""
""
""
(strcat "S" (itoa (+ 1 n)))
num_id
(rtos es_x 2 3)
(strcat (rtos od_value 2 3) "/" (rtos id_value 2 3))
(rtos es_y 2 3)
)
)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;each size id add END
(setq es_pos_tb (list od_value es_pos_))
;(print es_pos_tb)
;(print "\n")
(setq es_size_pos_tb
(cons
es_pos_tb
es_size_pos_tb
)
)
(setq n (+ 1 n))
)
)
;;;;;;;;;;;;;;;;;;;;;;defun ej_id;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;start
(defun ej_id (obj _type _type_id /)
(setq num_ini (- mxb_num 1))
(setq sel_ej obj)
(setq ej_data_tb nil)
(setq ej_dia_tb nil)
(setq ej_data_tb nil)
(setq n 0)
(repeat (sslength sel_ej)
(setq ej_data (entget (ssname sel_ej n)))
(setq ej_dia (cdr (assoc '41 ej_data))
ej_cenpt (cdr (assoc '10 ej_data))
)
(if (not (member ej_dia ej_dia_tb))
(setq ej_dia_tb (cons ej_dia ej_dia_tb))
)
(setq ej_data_tb (cons (cons ej_dia ej_cenpt) ej_data_tb))
(setq n (+ 1 n))
)
(setq ej_dia_tb_ nil)
(setq num_ 0)
(foreach dia ej_dia_tb
(setq n 0)
(foreach dia_value ej_dia_tb
(if (> dia dia_value)
(setq n (+ 1 n))
)
)
(setq ej_dia_tb_
(cons
(list n dia)
ej_dia_tb_
)
)
(setq num_ (+ 1 num_))
)
;;;;;;;;;;;;;REDEFINE SORT
(setq n 0)
;(setq mxb_num 0)
(setq ej_tb_ nil
ej_size_pos_tb
nil
)
(repeat num_
(setq dia_value (car (cdr (assoc n ej_dia_tb_)))) ;ok
(setq ej_pos_tb nil)
(setq ej_pos_ nil)
(foreach ej_data_temp ej_data_tb ;ok
(if (= dia_value (car ej_data_temp))
(progn
;(print dia_value)
;(print (car (nth n1 ej_tb)))
;(print "sfdf")
(setq ej_x (- (car (cdr ej_data_temp)) x1))
(setq ej_y (- (cadr (cdr ej_data_temp)) y1))
(setq cenpt (list
ej_x
ej_y
)
)
(if (not (tblsearch "style" "lxy2"))
(command "-style" "lxy2" "txt" "" 0.6 "" "" "" "")
(setvar "textstyle" "lxy2")
)
(setq
textpt (polar cenpt
(* (/ pi 4) 1)
(+ (/ dia_value 2) 2.5)
)
)
(setq
textpt_ (polar textpt
(* (/ pi 2) -1)
2.5
)
)
(setq num_id (strcat "#"
(strcat _type_id
(itoa (- mxb_num num_ini))
)
)
)
(command "text"
"j"
"TL"
textpt
2.5
0
(strcat _type_id
(strcat (itoa (+ 1 n))
)
)
)
(command "text"
"j"
"TL"
textpt_
2.5
0
num_id
)
(setq ej_pos_ (cons cenpt ej_pos_))
(setq mxb_num (+ 1 mxb_num))
(setq mxb_y1 (+ mxb_y1 (* 1 8)))
(command "insert"
"ep_pos.dwg"
(list mxb_x1 mxb_y1)
""
""
""
(strcat _type_id (itoa (+ 1 n)))
num_id
(rtos ej_x 2 3)
(rtos dia_value 2 3)
(rtos ej_y 2 3)
)
)
)
)
(setq ej_pos_tb (list dia_value ej_pos_))
;(print ej_pos_tb)
;(print "\n")
(setq ej_size_pos_tb
(cons
ej_pos_tb
ej_size_pos_tb
)
)
(setq n (+ 1 n))
) ;ej_sel
)
(defun find_add (/)
(setq obj_sel (ssget))
(if obj_sel
(progn
(change obj_sel "ej_old" "" "")
(find_ej)
(find_es_pin)
)
)
)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -