Create 3 color "gradient" triangles?

JamesMaeding
Advisor

Create 3 color "gradient" triangles?

JamesMaeding
Advisor
Advisor

I am displaying TIN surfaces in 2d, and want to color them using an RGB color at each triangle vertex.

I have done this in the past with a sub-d mesh, but the colors on such a mesh only show when in conceptual or realistic mode. Same for 3d faces. In wireframe mode, only the edges show.

I was thinking of trying hatches with a gradient, but that only does 2 colors and typically I have 3 different colors I must blend, even though they may be shades of some basic color like red.

I'm lookin fur ideas 🙂

I recall some one talking about "drawables" when I was asking about this before. I never explored that.

Is there any entity other than a hatch that would show "solid" in wireframe, and allow coloring like I say?

Note that Civil3d does not do blended colors with surfaces. Its coloring is one color per triangle, and I bet under the hood they use hatches. That is called "color banding" and is not great for visualizing things that gradually change.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Reply
1,342 Views
8 Replies
Replies (8)

Civil3DReminders_com
Mentor
Mentor

Why not do the method that gives you the correct results and then make an image from it and then attach the image to the drawing? 

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni

JamesMaeding
Advisor
Advisor

Hey there! I keep thinking you could do a funny Youtube series called "Civil3DReminders, by Jack Handy" like the old SNL ones. You could show images of AU in its glory days, with Lynn Allen on stage in her valley girl 80's outfit for that contest. I'm sure we could dig up interesting past Civil3d related material.

Anyway, yes, not a bad idea at all on the image, except I thought about it before and did not totally like it.

The thing is I want really crisp edges, at the edges, and an image is pixels of course.

I actually have used that method on several exhibits, even with civil3d as its coloring update can freeze a computer.

You get it colored once, plot to pdf and extract the image. That is how I color many infraworks surfaces in fact.

So that approach is on the radar, and may look real good real soon, but is plan B for a while 🙂


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

0 Likes

Civil3DReminders_com
Mentor
Mentor

Why would you extract the image from a PDF? You'd be limited by AutoCAD's dpi issue, which I would agree wouldn't give awesome results.

 

I'd create the image directly and split up the images into tiles. That way AutoCAD could only worry about drawing the image tiles in the view instead of the entire surface. I've seen good performance using this approach for Google Map Images. Each map tile is 640x640 and zoomed into the best zoom level. Panning around appeared to work great in my limited testing. Better than the Map 3D experience of waiting for the detailed images to load. You could make the images as crisp as you wanted. The only downside would be if you need to have Image Frames on (many horizontal and vertical lines). 

 

https://www.codeguru.com/columns/dotnet/creating-images-from-scratch-in-c.html

 

I am thinking of creating a podcast of reading help files. The only two rules will be that I have to report any issues I found and be as grumpy and pessimistic as possible.

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes

JamesMaeding
Advisor
Advisor

You are right, plot to image can do better, the pdf thing is just what came to mind.

I did not know about the tile optimization in acad. I could write something to do the split.

I'll have to add that to my list for large aerials and maybe this too.

I actually could generate the image straight in code too.

Plotting that might be a bit nasty, but I could make different res levels.

BTW, I use IMagemagick ole object for image manipulation. Likely other libraries too but its free and pretty powerful.

Lots of examples out there but its a dos like util, all command line scripting.

 

I actually have used help a lot these days. Its about 50/50 for me. The simple stuff like system vars goes well. The rest is not so great.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

0 Likes

JamesMaeding
Advisor
Advisor

@Civil3DReminders_com 

welp, I'm using images until I find a better way. Nice thing is I can edit them a bit in GIMP if they are washed out due to acad's shading. I have to go in there anyway to set white areas transparent and save as png.

I wonder how many people do not realize you can have transparent areas of a color image if you save as png.

see ya,


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

0 Likes

JamesMaeding
Advisor
Advisor

@Civil3DReminders_com 

I finally did the surface to image tool, check this out:

https://forums.autodesk.com/t5/autocad-forum/autocad-shifts-image-up-by-1-2-pixel/m-p/9715657/highli... 

To do that, I am sampling at 1 ft intervals which is a lot of points.

I had originally planned to sample at about 0.25 intervals, and that was 25 million points.

It took several minutes to sample until I switched to parallel foreach in .net. Then I got to watch my 16 cores scream into action, takes 25 seconds or so now. Then I realized 1 ft interval is generally good enough so speed is really fast now.

I don't need to tile the image, its just one image. The tool makes the image, world file, and attaches it for you.

Its a png with transparent outside so you can have an ortho photo under and get exhibits like:

2.jpg

The colors are so much better than my old 3d mesh coloring and plotting.

Love it when a plan comes together!

BTW, this topo is from drone flights we do regularly. I don't use Civil3D for any of the workflow, and its pure joy.

C3D only does banding type coloring, just one advantage of baking your own tools.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Civil3DReminders_com
Mentor
Mentor

Nice work. I was wondering how you did multithreading and then I saw that you aren't using Civil 3D to do it. Often I think not using Civil 3D is the answer. 

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes

JamesMaeding
Advisor
Advisor

@Civil3DReminders_com 

Yep. My tools do work on civil3d objects if in Civil3d data mode.

External data is soooo much better than in drawings though.

I export the c3d tris to my surface format, which uses a K-D Tree for fast "get elevation at point" triangle location.

Its like old LDT where I can be in any drawing, add the external data folder to my "data paths list" and get full access to all the alignments and surfaces in that folder.

My teams would be lost without that ability. The whole data shortcut thing does not work when you need to often reorganize data.

I will say though, the Civil3d surfaces engine is faster than mine for triangulation, and is very very robust. They just share the data poorly.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

0 Likes

Type a product name