⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delete_hatch._ls

📁 plc设计编程软件
💻 _LS
📖 第 1 页 / 共 2 页
字号:
  )
  (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 + -