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

📄 delete_hatch.lsp

📁 plc设计编程软件
💻 LSP
📖 第 1 页 / 共 2 页
字号:
	)
      (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
		       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 /)
  (if mxb_num
  (setq num_ini (- mxb_num 1))
    (progn
      (setq mxb_num 0)
   (setq num_ini 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 (strcase _type_id T)
				       (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
		   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))
  (setq n 0)
  (setq ej_sel (ssadd))
  (setq es_sel (ssadd))
  (repeat (sslength obj_sel)
    (setq obj (entget (ssname obj_sel n)))
    (if	(= "CIRCLE" (cdr (assoc '0 obj)))
      (setq ej_sel (ssadd (ssname obj_sel n) ej_sel))
      (progn
	(if (= "ARC" (cdr (assoc '0 obj)))
	  (setq es_sel (ssadd (ssname obj_sel n) es_sel))
	)
      )
    )
    (setq n (+ 1 n))
  )


  (if (> (sslength EJ_sel) 0)
    (progn
      (if
	(not (tblsearch "layer" "ej_old"))
	 (command "_.layer"   "_new"	  "ej_old"    "_color"
		  "4"	      "ej_old"	  "_ltype"    "continuous"
		  "mxb"	      ""
		 )
	 ;(command "_.layer" "thaw" "ej_old" "on" "mxb" "unlock"	"mxb" "")
      )
      (change_prop ej_sel "ej_old" "" "")
      (find_ej ej_sel)
    )
  )

  (if (> (sslength es_sel) 0)
    (progn
      (if
	(not (tblsearch "layer" "ej_old"))
	 (command "_.layer"   "_new"	  "ej_old"    "_color"
		  "4"	      "ej_old"	  "_ltype"    "continuous"
		  "mxb"	      ""
		 )
	 ;(command "_.layer" "thaw" "ej_old" "on" "mxb" "unlock"	"mxb" "")
      )
      (change_prop es_sel "ej_old" "" "")
      (find_es_pin)
    )
  )
)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -