Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using $ and * special characters in a Custom Command

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
Steeve_Vajk
604 Views, 4 Replies

Using $ and * special characters in a Custom Command

I'm trying to write a simple Custom Command that sets any layer that matches "$-*" to a specific color. But as soon as AutoCAD sees the $, it thinks I'm trying to do a DIESEL expression. Supposedly, the quote marks specify that the enclosed characters should be treated as plain text, but that doesn't happen.

 

Here's what I've got:

^C^C-LAYER;C;252;"$-*";;

 

And this is what I get:

Command: -LAYER

Current layer:  "$-HATCH-00-002-PW-BOAT"
Enter an option 
[?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck
/Unlock/stAte/Description/rEconcile]: C

New color [Truecolor/COlorbook] : 252

Enter name list of layer(s) for color 252 <$-HATCH-00-002-PW-BOAT>: "

No matching layer names found.
Enter an option 
[?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck
/Unlock/stAte/Description/rEconcile]:

It stops, hanging at the incompleted -LAYER command prompt. 

 

Can anyone tell me what I'm missing?? Thanks!

================================
Vanilla AutoCAD 2012/14/15/16
4 REPLIES 4
Message 2 of 5
Moshe-A
in reply to: Steeve_Vajk

Hi,

 

you are right it seems that is' s not possible with menu macro but with AutoLISP it is

replace your macro with this:

 

^C^C(if (null c:setGrayColor) (load "setGrayColor")) setGrayColor

 

create a lisp file and name it setGrayColor.lsp and put it on one of your support file search path

copy and paste this:

 

(defun c:setGrayColor ()
 (command "-layer" "c" 252 "$-*" "")
)

 

close and save the file

 

Cheers,

Moshe

 

Message 3 of 5
hmsilva
in reply to: Steeve_Vajk

Try

 

^C^C-LAYER;C;252;(strcat (CHR 36) "-*");;

 

Cheers,

Henrique

EESignature

Message 4 of 5
Steeve_Vajk
in reply to: hmsilva

Thanks guys!!

Both solutions work, though I'm going to use Henrique's, as it will be easier to deploy to other users here.

(Sorry Moshe, your solution is good too!)

 

Henrique, I'm assuming the "CHR" allows you to specify any ASCII character? (36=$)

 

Cheers!

================================
Vanilla AutoCAD 2012/14/15/16
Message 5 of 5
hmsilva
in reply to: Steeve_Vajk

Yes, you are assuming correctly, "chr" allows you to specify any ASCII character,
and if you do not know the specific ASCII character, just type

(ASCII "$")

and returns
36

Glad to help you.

 

Henrique

EESignature

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost