Jump to content

Recommended Posts

Posted

Does anyone have a lisp routine to globally convert entities from index colour to rgb(true colour)? I found a routine that does it the opposite way around.

Posted

Welcome to the forum :)

 

What do you mean by the rgb colour ? Does it mean ByLayer ?

Posted

Thanks for the Welcome Tharwat:)

 

I have solid hatch entities in a drawing that I want to be True Colour rather then Index Colour. When in the Select Colour Dialoge box its the middle tab.

Posted

Lee Mac

 

I only spotted your reply as I subbmitted a reply to Tharwat. That is exactly what I'm looking for, thanks very much:)

Posted (edited)

Try this:

;; All to RGB  -  Lee Mac  -  www.lee-mac.com
;; Converts the ACI colours of all entities to the RGB TrueColor equivalent

(defun c:AlltoRGB ( / accm c e i s )
   (if
       (and
           (setq s (ssget "_:L"))
           (setq accm
               (vla-getinterfaceobject (vlax-get-acad-object)
                   (strcat "AutoCAD.AcCmColor." (substr (getvar 'ACADVER) 1 2))
               )
           )
       )
       (progn
           (repeat (setq i (sslength s))
               (setq e (entget (ssname s (setq i (1- i)))))
               (if (setq c (cdr (assoc 62 e)))
                   (progn
                       (vla-put-colorindex accm c)
                       (entmod
                           (append e
                               (list
                                   (cons 420
                                       (LM:RGB->True
                                           (vla-get-red   accm)
                                           (vla-get-green accm)
                                           (vla-get-blue  accm)
                                       )
                                   )
                               )
                           )
                       )
                   )
               )
           )
           (vlax-release-object accm)
       )
   )
   (princ)
)

;; RGB -> True - Lee Mac 2011
;; Args: r,g,b - Red,Green,Blue values

(defun LM:RGB->True ( r g b )
   (+
       (lsh (fix r) 16)
       (lsh (fix g)  8)
       (fix b)
   )
)

(vl-load-com) (princ)

It will change the colour of selected entities from the ACI colour to the RGB True Colour equivalent.

 

Note that it will change only those entities whose colour is not set to ByLayer (though these may be included if necessary by changing the respective layer colours).

 

More Colour Conversion functions.

Edited by Lee Mac
  • Like 1
Posted
Lee Mac

 

I only spotted your reply as I subbmitted a reply to Tharwat. That is exactly what I'm looking for, thanks very much:)

 

I modified it slightly and re-posted, please use the updated version above ^^

 

Thanks - glad it works for you.

Posted

Thanks guys you've saved me alot of time. I'm a first time user of this site and I have to say I'm very impressed with the quick responses:)

Happy New Year

Posted
Thanks guys you've saved me alot of time. I'm a first time user of this site and I have to say I'm very impressed with the quick responses:)

Happy New Year

 

You're very welcome djguinan, hope to see you back soon :)

  • 6 years later...
Posted
Try this:

 

[color=GREEN];; All to RGB - Lee Mac - www.lee-mac.com[/color]

etc.

 

I found something strange while using this, I tested it in a color wheel dwg with index color swatches 40 through 49; colors 40(255,191,0) & 41(255,223,127) were correct; the other 8 were wrong; 42 became (204,153,0), should be (165,124,0); 43 became (204,178,102), should be (165,145,82); etc. Another interesting thing, the chart of colors on this site is different than both the results of your .lsp and what my tests on Autocad 2018 are: http://sub-atomic.com/~moses/acadcolors.html . Could it be that Autodesk did not space their color index evenly so a somewhat simple algorithm does not return values that line up with their index? BTW, it's a great macro!

Thanks,

R.L. Hamm

Posted

@rhgrafix:

I am afraid you are using information that is obsolete. You can verify the RGB values of ACI colors by means of a screenshot.

  • 2 years later...
  • 2 months later...
Posted
On 1/6/2012 at 5:45 PM, Lee Mac said:

Try this: […]

It will change the colour of selected entities from the ACI colour to the RGB True Colour equivalent.

 

Note that it will change only those entities whose colour is not set to ByLayer (though these may be included if necessary by changing the respective layer colours).

 

More Colour Conversion functions.

Hi Lee Mac,

Thank you for your code.

I try it in acad 2021 but I get the error:

Quote

Command: APPLOAD
allToRBG.lsp successfully loaded.
Command: ; error: malformed list on input

when loading then

Quote

Command: ALLTORGB
Select objects: Specify opposite corner: 268 found
Select objects:
; error: no function definition: LM:RGB->TRUE

when running.

Can you please help?

Thank you

Posted
7 hours ago, harinezumi said:

Hi Lee Mac,

Thank you for your code.

I try it in acad 2021 but I get the error:

when loading then

when running.

Can you please help?

Thank you

 

An update to the forum software some time ago had removed "8 )" from the LM:RGB->True function - I've now updated my earlier post to correct the code.

  • 2 years later...
Posted
On 4/5/2021 at 6:13 PM, harinezumi said:

Hi Lee Mac,

Thank you for your code. I need Lisp for chenge layer color to RGB. Some layers already have RGB Color and all objekts by layer. Can you please help?

 

Posted

Yes. I tried to understand this without success.

1.Where "defan c:"?

2.This will change the color of the layer or object?

Posted
On 2/11/2024 at 10:36 AM, Slava said:

Yes. I tried to understand this without success.

1.Where "defan c:"?

2.This will change the color of the layer or object?

 

These are functions which may be called from other programs - they are not commands which can be executed at the command line.

  • 3 weeks later...
Posted

I used this lisp to convert the color of the object to true color. Now I'm looking for a way to change the color of all layers from RGB to TrueColor. I consulted Lee-Mac's website but I still don't know how to use it. Please help.

image.thumb.png.52b605edce20d3f8fd8ca078472271a0.png

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...