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!
Solved! Go to Solution.
Solved by hmsilva. Go to Solution.
Solved by Moshe-A. Go to Solution.
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
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!
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