HOW TO SET DRAWING
LINE COLORS AS MODEL APPEARANCE?
I wasn’t sure if
to post this at all because it didn’t seem to provide any good and positive
solution. If at all I would have post it under “food for thought" or under
“let’s see if we can find a better solution”. By “we” I mean one of you showing me
how to properly do it.
But just the other
day this showed up as a question on the forum and seeing that none came with a
better-closer solution I decided to share it as a full blog. It doesn’t mean
that you cannot correct me, in fact I am hoping one of you will do.
After posting my
answer the guys on the forum went quiet
so I take it that either my info was more than they expected (yeah right!) or I
am so far out that they are embarrassed to tell me. I think it’s the later,
I’ve been there more than dozen times.
Following text is an expanded adaptation of
the answer provided there.
I've been playing
with this on my last project. Because it was a large assembly and the pipes in
the drawing ended up looking like steaming spaghetti I decided to show each run
with a different colour matching the appearance set in the model.
I did a brief scan
on the net to see what others have done and I got excited, almost making me
think it was done before. So it was, just not the way I needed because the
solutions were getting the colour of the part and I needed the colour of the
run that is an assembly and the solutions are processing the curves ONE AT A
TIME which it’s like watching a painting being done in real time…… a really
large one…..with a small brush.
There are not many
options here but if it’s a small assembly or just a part that you need
processing then presto get the VB or iLogic codes bellow and get them running.
Just like my
solution these need a manual update. Now, imagine that I had to add and remove
views, sheets, sections, change appearances, change design views, etc. How many
paintings can you watch being done in a day? That’s why I have a camera, a fast point and shoot type as well!
First solution:
Brian Ekins has aVB code but it's processing all lines (curves) one at time and that takes
forever. It creates layers with each colour but unfortunately the layers are
called as the RBG code of the colour (very hard to identify and edit)
In my case these
didn't work because I had a large assembly. This is just one sheet out of six
and quite a simple one.
You can change
your selection to part filter select your component (or select it in the
browser) and then right click properties to change it's colour (override).
This is a partial
solution because it's hard to select parts and manually update them all the
time (as the assembly changes). But it’s a fast one, almost instant and it
changes all line type (hidden, visible, tangent, etc.)
Because I only had
visible and tangent lines (small to an ignore number) I decided to setup layers
to which I would assign my runs.
So I end up creating
copies of Visible layer calling them Run1, Run2, etc. and changed the colour of
each one as per the assembly (manual unfortunately).Then right click on a part
(or assembly in my case) in the browser, choose "select as edges" and
then in the Annotate tab, Format, Layer, choose the layer you previously
created.
Hey that’s pretty
cool! Or not, because you need to do it for each sheet. You can expand the
views in the browser and select a model (my run) in all the views before using
select as edges but still to many manual operations. At least once done you
can just change the colour of the layer and all sheets update.
Side Note:
Haven't tested but
this seems to affect performance and increase the drawing file size. My drawing
now has around 50 MB.
So now what?
Will try and put a nice ilogic
together to process your browser selection to change its colour from the model on
all sheets as per the appearance of your selected object.
This should not process the drawing
curve-by-curve. We only have one life. It needs to get the collection of curves
and change properties (override) all at the same time. Somehow that’s what
using the properties on a model or using the select as edges does. Surely it
can be done with iLogic or VB.
Great stuff! When can we have
the code?
As soon as I have it, but the
way things are going with work overload and no extra time … I might never get to do it.
Later,
ADS.