Visual LISP, AutoLISP and General Customization
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Using $ and * special characters in a Custom Command
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
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 2010
Solved! Go to Solution.
Re: Using $ and * special characters in a Custom Command
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
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
Re: Using $ and * special characters in a Custom Command
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
^C^C-LAYER;C;252;(strcat (CHR 36) "-*");;
Cheers,
Henrique
Re: Using $ and * special characters in a Custom Command
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
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 2010
Re: Using $ and * special characters in a Custom Command
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
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

