Jump to content

Search wildcard text and convert to component (block: HDV1_CONVERT) >> AUTOCAD ELECTRICAL


Recommended Posts

Posted

hello everyone,

I'd like to share an idea based on the Leemac script (Escape Wildcards).

is working fine, but I would like help for code optimization.

 

1: Searches the text according to the wildcard setting
2: selects all texts found

3: If the wildcard is found, it creates the layer and changes the blocks to its layers.
4: Sets the color of the layer
5: converts to block (HDV1_CONVERT)

 


As you can see in the attachment, when I run the script for the first time, the alert appears.

Is there any way to accept the alert automatically?

 

Regards

 

 

::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

;;Autocad Electrical String Match and convert
;;search wildcard text and convert to component (block: HDV1_CONVERT)
;;http://www.lee-mac.com/escapewildcards.html Reference

(defun c:CALL_TAG1 ();; START

(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "TAG_1\r")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "CALL_TAG2\r")
)
(defun c:CALL_TAG2 ()
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "TAG_2\r")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "CALL_TAG3\r")
)
(defun c:CALL_TAG3 ()
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "TAG_3\r")
;;(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "CALL_TAG4\r")
;;...
)


(defun c:TAG_1 (/ ss)

;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;; Set of variables
(setq 1_sequence "@@###`.@@@`.###A")
(setq 1_layer "TAG1_LAYER_A")
(setq 1_color "0,255,0")
(setq 2_sequence "@@###`.@@@`.###B")
(setq 2_layer "TAG2_LAYER_B")
(setq 2_color "0,0,255")
(setq 3_sequence "@@###`.@@@`.###C")
(setq 3_layer "TAG3_LAYER_C")
(setq 3_color "0,255,255")
;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

(if (setq ss (car (cdr (ssgetfirst))))
(command "._zoom" "1" ss "")
(progn
(C:SEARCH_BY_WILDCARD1)
(C:SendToNewLayer1)
(princ)
);; progn
);; if
)
;####################################################################################
;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$CALL_SCRIPT_JANSSEN_TAG_002
(defun c:TAG_2 (/ ss)
(if (setq ss (car (cdr (ssgetfirst))))
(command "._zoom" "1" ss "")
(progn
(C:SEARCH_BY_WILDCARD2)
(C:SendToNewLayer2)
(princ)
);; progn
);; if
)
;####################################################################################
;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$CALL_SCRIPT_JANSSEN_TAG_003
(defun c:TAG_3 (/ ss)
(if (setq ss (car (cdr (ssgetfirst))))
(command "._zoom" "1" ss "")
(progn
(C:SEARCH_BY_WILDCARD3)
(C:SendToNewLayer3)
(princ)
);; progn
);; if
)

;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;;http://www.lee-mac.com/escapewildcards.html Reference

(vl-load-com);;CARREGAR OUTRO LISP
;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
(defun c:SEARCH_BY_WILDCARD1 ( / str )
(if (/= "" (setq str 1_sequence))
(sssetfirst nil
(ssget "_X"
(list
'(0 . "TEXT")
(cons 1 (LM:escapewildcards str))
)
)
)
)
(princ)
)
;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;; Escapes wildcard special characters in a supplied string
(defun LM:escapewildcards ( str )
(if (wcmatch str str) ;
(if (wcmatch str str) ;
(strcat "`" (substr str 1 1) (LM:escapewildcards (substr str 2)))
(strcat     (substr str 1 1) (LM:escapewildcards (substr str 2)))
)
str
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SELECIONAR E JOGAR PARA A SUA CAMADA;;;;;;;;;;;;;;;;;
; Changes selected objects to Layer ;NovaCamada criar uma camada nova e jogar os Selecionar pra dentro
(defun c:SendToNewLayer1 ()
(if (setq ss (car (cdr (ssgetfirst))))
(tolayer1
(ssget "_P") ;;selection exclude lock layer
1_layer
)
(progn
(princ)
);; progn
);; if
)
(defun tolayer1 ( ss lay / i e )
;;; ss - pickset
;;; lay -layer name
(repeat (setq i (sslength ss))
(entmod
(subst
(cons 8 lay)
(assoc 8 (entget (setq e (ssname ss (setq i (1- i))))))
(entget e)
)
)
)
(command "-LAYER" "_N" 1_layer"")
(command "-LAYER" "color" "Truecolor" 1_color 1_layer"")
(command "-LAYER" "set" 1_layer"")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "SEARCH_BY_WILDCARD1\r")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "AETAGSCH _P\r\r\r_qsave\r")
)
;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;;http://www.lee-mac.com/escapewildcards.html Reference
(defun c:SEARCH_BY_WILDCARD2 ( / str )
(if (/= "" (setq str 2_sequence))
(sssetfirst nil
(ssget "_X"
(list
'(0 . "TEXT")
(cons 1 (LM:escapewildcards str))
)
)
)
)
(princ)
)
;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;; Escapes wildcard special characters in a supplied string
(defun LM:escapewildcards ( str )
(if (wcmatch str str) ;
(if (wcmatch str str) ;
(strcat "`" (substr str 1 1) (LM:escapewildcards (substr str 2)))
(strcat     (substr str 1 1) (LM:escapewildcards (substr str 2)))
)
str
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SELECIONAR E JOGAR PARA A SUA CAMADA;;;;;;;;;;;;;;;;;
; Changes selected objects to Layer ;NovaCamada criar uma camada nova e jogar os Selecionar pra dentro
(defun c:SendToNewLayer2 ()
(if (setq ss (car (cdr (ssgetfirst))))
(tolayer2
(ssget "_P") ;;selection exclude lock layer
2_layer
)
(progn
(princ)
);; progn
);; if
)
(defun tolayer2 ( ss lay / i e )
;;; ss - pickset
;;; lay -layer name
(repeat (setq i (sslength ss))
(entmod
(subst
(cons 8 lay)
(assoc 8 (entget (setq e (ssname ss (setq i (1- i))))))
(entget e)
)
)
)
(command "-LAYER" "_N" 2_layer"")
(command "-LAYER" "color" "Truecolor" 2_color 2_layer"")
(command "-LAYER" "set" 2_layer"")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "SEARCH_BY_WILDCARD2\r")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "AETAGSCH _P\r\r\r_qsave\r")
)
;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;;http://www.lee-mac.com/escapewildcards.html Reference
(defun c:SEARCH_BY_WILDCARD3 ( / str )
(if (/= "" (setq str 3_sequence))
(sssetfirst nil
(ssget "_X"
(list
'(0 . "TEXT")
(cons 1 (LM:escapewildcards str))
)
)
)
)
(princ)
)
;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;; Escapes wildcard special characters in a supplied string
(defun LM:escapewildcards ( str )
(if (wcmatch str str) ;
(if (wcmatch str str) ;
(strcat "`" (substr str 1 1) (LM:escapewildcards (substr str 2)))
(strcat     (substr str 1 1) (LM:escapewildcards (substr str 2)))
)
str
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SELECIONAR E JOGAR PARA A SUA CAMADA;;;;;;;;;;;;;;;;;
; Changes selected objects to Layer ;NovaCamada criar uma camada nova e jogar os Selecionar pra dentro
(defun c:SendToNewLayer3 ()
(if (setq ss (car (cdr (ssgetfirst))))
(tolayer3
(ssget "_P") ;;selection exclude lock layer
3_layer
)
(progn
(princ)
);; progn
);; if
)
(defun tolayer3 ( ss lay / i e )
;;; ss - pickset
;;; lay -layer name
(repeat (setq i (sslength ss))
(entmod
(subst
(cons 8 lay)
(assoc 8 (entget (setq e (ssname ss (setq i (1- i))))))
(entget e)
)
)
)
(command "-LAYER" "_N" 3_layer"")
(command "-LAYER" "color" "Truecolor" 3_color 3_layer"")
(command "-LAYER" "set" 3_layer"")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "SEARCH_BY_WILDCARD3\r")
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) "AETAGSCH _P\r\r\r_qsave\r")
)

;;;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 

 

_3_Screen.JPG

_2_Screen.JPG

_1_Screen.JPG

SEARCH_AND_CONVERT.zip

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...