Jump to content

Entering colors


Recommended Posts

Is their any way to enter colors for layers, objects... anything, by using numbers? I'm refering to the numbers which print out on the Vectorworks color palette. The flyout dialiog box can be difficult to use and get the exact color desired (for those of use over forty...the eyes are as sharp as you young whipper-snappers). It would seem to me this should be included the object information. If this is not possible it should be added to the wish list.

Link to comment

I agree with Jim. Color numbers are crude, and would clash with the otherwise refined VectorWorks interface. Like adding a hand starting crank to a Lexus. Even if you're accustomed to driving a Model T, a crank is still not a good thing to put on a Lexus. Better to relax and get used to the electric starter.

However, as far as the size and legibility of the color chart, for both young and old eyes: It does seem odd that although a huge color chart pops up from the Attributes palette, the one that pops up in the Classes and Layers setup dialog boxes is microscopic, less than one third of the area of the other. Wouldn't it be better to have a medium-size color chart and use the same one in all cases?

Link to comment

Picking colors by number should be an option, as it does not limit the ability/desire to pick from a color pallette or wheel, and would improve an office's ability to develop guide sheets/standards.

Limit the color by number selection to 256 colors, corresponding to the color palette, but allow thousands or millions of colors to be selected from the color wheel.

Link to comment

If this option were added, where would it be found on the screen? As an optional pull-down menu command, or cluttering up the Attributes palette? Regardless of how it's implemented, the AutoCad hold-outs will start complaining that they can't see what color 173 looks like, and they'll want to see the numbers on the color chart, under each color, hopelessly cluttering that up.

It's not true that a color-by-number option won't affect the graphically oriented interface. In fact, everything that's added has some impact, and so there should be restraint, adding only features that really enhance the software, not features that throw it back to the DOS era.

And what will offices do with color numbers in these "guide sheets/standards" anyway? Start assigning plotter pen widths to each color? If you want to force other people into your mold, can't you just give them a template file with your 125 different class colors already assigned?

Link to comment

Hey, hey, lets not get nasty here. Bruce is exactly correct. Introducing a color number input option would make it much easier to assemble standard color pallettes. In my case I am not interested in assigning "pen widths". I'm using this for 2d renderings of site plans. The line work is always black and at the desired line width. What I'm trying to do is replicate what I used to do with markers. That is, have a reference binder with sample color schemes for site plans, ie what color are the footprints, lots,grass, open space, water etc. We work on a wide range of projects and usually have VERY little time to prepare a rendering for a public meeting. With a color guide we can quickly and easily pick an appropriate color scheme for that project type.

As far as what this should look like: I think a simple space at the bottom of the color pallette to punch in the number would be fine. Another possibility would be to use the Windows "smart tags" - the little explanatory notes that appear when you hold the cursor over something. I'm not sure if Mac's have any equivalent. Seeing a sample of the selected color is not all that helpful. I choose colors based off of a slightly modified Vectorworks color pallette printed out at 30 x 42 hanging over my desk (white space has been added between the blocks of color). You cannot pick a color based on the way it appears on a monitor. For one thing those colors are backlit by a light source. Most of us do not present drawings that way. Furthermore,

as stated earlier, the color blocks on the screen are far too small.

The purpose of improving Vectorworks is not just to produce software that looks "sleek" or "neat". The point is to make the program useful, practical and easy to use. Yes it should be un-cluttered. But if software looks clean and simple but is cumbersome to use...it's useless.

Link to comment

I believe it would be easy to write a vectorscript to select or assign a particular color. This could go on a custom named palette such as 'my colors'. The name of the each script could be whatever you wanted such as 'really red' or 'grassy green'. (If you want you could assign numbers to the color commands but.......) They could be assigned a keyboard shortcut for each color and therefor chosen by clicking the palette or using the keyboard shortcut. Doesn't his answer the whole thing? I even think this script is already written.

Henry

Link to comment

John,

I apologize for the sarcastic tone of my previous posting. The mention of office guide sheets and standards brought up unpleasant memories, and I was probably reacting more to Bruce's accusation at that same time but in another thread that I'm trying to force everyone back to MiniCad version 4 and Intel 286 processors. I can see that you're making a sincere and thoughtful effort to adapt to VectorWorks methods and to address problems you have. I should have asked Bruce what particular problems have come up in developing guide sheets and standards, rather than assuming that he was making a contrived argument. These forums are much more productive if we discuss the issues in specific detail.

Since you've provided that detail, I now understand where the shoe pinches. I, too, do a lot of color renderings, and I know how poorly HP printers and plotters match screen colors, each model distorting them in its own way (at least in Windows; I don't remember having this problem when working on Macs with Epson printers, but it may exist there also.)

Like you, I keep printed color charts on my desk, correlate them with colors on the displayed palette, and use different color charts for different project types and clients, importing the appropriate chart into each file.

And you're right: that problem of printers not matching screen colors hamstrings the system of visual selection of colors.

I've had to learn which of the shades of grey prints out properly for each purpose, and to pick them on that basis rather than on the basis of what looks good on screen. When picking them, I think of them as grey1, grey2, grey3, etc. Similarly, I can't just pick custom colors that look right on screen, but instead must pick them by position on the chart, correlating them with my printed charts. I use the 5th row of each of my custom color charts for custom colors associated with that project type, and I think of them as custom1 through custom16. That can be arduous when I have a lot of custom colors to choose from or if two or more are very similar, and especially when using the tiny color charts in Layers and Classes.

I don't think of this as a major problem, and I still hope that the solution will be a larger chart in Layers and Classes, and possibly some black lines or wider grey spaces to break up the long rows and columns of 16 into smaller groups to make visual selection and correlation easier, and I hope above all that it will not be a change to a system that requires the use of numbers; but I would have responded very differently if I had known the details of your problem.

-----------------------------------------------------------------------------

Henry,

I like your idea. I can't speak for the others, of course, but I think that custom color scripts would help the problems I've had as discussed above. Can you provide more information? I've never worked with VectorScript, but have a lot of other programming experience.

[ 02-22-2003, 04:58 PM: Message edited by: jan15 ]

Link to comment

To all interested,

Here is a (simple? - it started out as simple) script that will assign colors by palette position to selected objects.

To use the program, select the object(s) to modify. Launch the script. Enter a number for the palette position (0-255) and optionally enter the 2 character Palette Code. Since there are 4 color palettes, you have the option of specifying which palette to use - Pen Foreground (PF), Pen Background (PB), Fill Foreground (FF), & Fill Background (FB).

I have arbitrarily chosen the Pen Foreground (PF) palette to be the default. Users may change the constant 'DefaultCPalette' to any other palette value (1-4) to suit their interests.

When entering data, type the palette position number, in the range of 0-255, followed by the optional characters 'PF', 'PB', 'FF', or 'FB' for the four palettes respectively. Mis-typing a palette code will not cause an error, but will assign your color from the Default Palette. Use Undo to correct.

Example : '5 FF'

Sets the Fill Foreground color to YELLOW. Spaces are optional, and '5ff' will also work as entry is case insensitive. 'FF5' will also yield the same result.

Unless the default constant is changed, 'PF' does not need to be typed for setting the Pen Foreground color as it is the default palette. So, '251pf' is the same as '251' and will set the Pen Foreground color to DARK BLUE.

Note : Colors may (most likely will) vary if the Color Palettes are modified, or swapped out. Drawings converted from older versions (MC7 and earlier) will have the older palettes if they weren't updated, and the colors will be very different from the default palettes used in versions 8, 9 & 10.

Any feedback on the use of this program is welcome.

code:

Procedure SetColorByNum;

{ Set the color of the selected objects by Color Palette position number. }

{ Copyright ?2003 - Raymond Mullin }

{ The dialog box is set up to take a string containing a number and optionally a Palette Code. }

{ The number is the color palette position in the range of 0-255. }

{ The Palette Code uses the following: }

{ PF = 1 = Pen Foreground Color Palette - This is default palette. }

{ PB = 2 = Pen Background Color Palette }

{ FF = 3 = Fill Foreground Color Palette }

{ FB = 4 = Fill Background Color Palette }

{ eg. 231ff - sets the Fill Foreground Color to palette postion 231 }

CONST

DefaultCPalette = 1;

VAR

H :Handle;

DataGood :Boolean;

I, Index, CPalette :Integer;

R, G, B :Longint;

S :String;

Function FSObj :Handle;

VAR

LocHnd, H :Handle;

Begin

Locus(0, 0);

LocHnd := LNewObj;

H := GetParent(LocHnd);

DelObject(LocHnd);

case GetType(H) of

31: H := FSActLayer; { Layer }

11,16,24,34,38,71,83,84,95: begin

H := FIn3D(H);

if not Selected(H) then H := NextSObj(H);

end;

Otherwise H := nil;

end; { case }

FSObj := H;

End; { FSObj }

function Ch(S :String; I :Integer):Char;

{ Return a character from string S in position I. }

Begin

Ch := copy(S, I, 1);

End; { Ch }

BEGIN

DataGood := False;

repeat

S := StrDialog('Palette Index (0-255)

(PF-PenFore, PB-PenBack,

FF-FillFore, FB-FillBack) = Optional', '0');

ClrMessage;

UprString(S);

CPalette := DefaultCPalette;

if (Pos('PF',S)>0) then CPalette := 1

else if (Pos('PB',S)>0) then CPalette := 2

else if (Pos('FF',S)>0) then CPalette := 3

else if (Pos('FB',S)>0) then CPalette := 4;

I := len(S); { strip end of string }

while ((I>0) & ((ord(Ch(S,I))<ord('0')) | (ord(Ch(S,I))>ord('9')))) do I := I - 1;

if (I<len(S)) then delete(S, I+1, len(S)-I);

I := 1; { strip front of string }

while ((I<len(S)) & ((ord(Ch(S,I))<ord('0')) | (ord(Ch(S,I))>ord('9')))) do I := I + 1;

if (I>1) then delete(S, 1, I-1);

Index := Str2Num(S); { Palette position }

DataGood := (Index>-1) & (Index<256);

if not (DataGood or DidCancel) then begin

Sysbeep;

if (not DataGood and not DidCancel) then

Message('Index = ', Index,'. Out of range (0-255)');

end;

until DataGood or DidCancel;

if DataGood and not DidCancel then begin

ColorIndexToRGB(Index, R, G, B);

H := FSObj;

while (H<>nil) do begin

case CPalette of

1: SetPenFore(H, R, G, B);

2: SetPenBack(H, R, G, B);

3: SetFillFore(H, R, G, B);

4: SetFillBack(H, R, G, B);

end; { case }

H := NextSObj(H);

end; { while }

end; { if }

END;

Run(SetColorByNum);
[/code]

[ 02-25-2003, 03:16 AM: Message edited by: MullinRJ ]

Link to comment

This all sounds very useful. I too would love to be able to select colours by number just to be able to do so quickly and accurately each time and to know that I have selected the same shade as last time.

The Vectorscript looks hopeful but as a complete novice to this aspect of Vectorworks can someone explain how I set it up/ install it?

Chris

Link to comment

Hi Chris,

First, Copy the script to a text file (cut & paste) and save it to your disk for safe keeping. With program still on you Clipboard, continue...

In VW,

Short version:

1) Open the Resources Window.

2) Click on the New... button. Choose VectorScript.

3) Name or choose your script palette. Name your script.

4) Paste your script in the window. Click OK.

5) Resize and position your new script palette.

6) Double click on the script name to use it.

Long version:

1) Open the Resources Window. If no buttons are showing to the right side of the Resources window, click the "Grow Window" button on the upper right of the Resources window title bar. Eight buttons should be visible.

2) Click on the New... button to create a new script. Choose VectorScript from the list of radio buttons and click OK.

3) If you have no Script Palettes created yet (I assume you don't), VW will ask you to assign a name to one BEFORE the new script is created and named. Then another dialog box will appear asking you to name your new script. Confusing at first, but it gets easier with time. The next time you create a script (in this file) VW will already have a script palette created (you can have more than one) and VW will ask if you want to assign the script to one of the existing palettes or create a new one. Now you name your script and continue.

4) Paste the contents of the program in the script window and click OK. Your new Script palette will be on screen with the new script in it.

5 ) Close the Resources window. Resize and position you new script palette.

6) Select objects in your drawing to be modified and double click the script you just created.

HTH,

Raymond

Link to comment

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