Jump to content

Generating polyline contours at specific height?


lisagravy

Recommended Posts

Is it possible to generate a set height contour for a proposed model? 

 

For example, I have built a proposed site model. I don't know the footprint of the lake on the on my model in plan, but I do I know the water level on site is 29.150.

 

So, if I could generate a poly line at this height around the model, i.e. a contour line, I would be able to see the footprint of what will essentially be the lake and calculate area / volume etc? 

 

 

Link to comment
1 hour ago, lisag said:

Is it possible to generate a set height contour for a proposed model? 

 

For example, I have built a proposed site model. I don't know the footprint of the lake on the on my model in plan, but I do I know the water level on site is 29.150.

 

So, if I could generate a poly line at this height around the model, i.e. a contour line, I would be able to see the footprint of what will essentially be the lake and calculate area / volume etc? 

 

 

A very good question! Too lazy & tired to test and no useful data set to use, but have you tried site components such as Pad, at least for illustrative`purposes? Water volume would be quite interesting in ecological landscape design, but of course one would need lake bottom data. 

 

Edited by Urbanist
Link to comment

Something to try in a duplicate file:

Generate a rectangle over lake area, convert to 3d poly, add fill or texture, adjust z to 29.15. Now 3d views show the lake surface. Select DTM & 3d poly, Subtract Surface. This clips the 3d poly to shoreline. Should be planar solid sub. Copy this object to clipboard. Ungroup the solid subtraction & delete the rectangle leaving only the DTM. Paste in Place the new shoreline object. Convert to 3d poly - should be planar. Verify z value and placement. If all good, paste in place to orig file.

 

 

-B

Edited by Benson Shaw
  • Like 1
Link to comment
  • 3 weeks later...

Autocad and it's dwg based competitors have a command called "elevation" that allows you to set a height. Anything drawn in top/plan view will be at that elevation, which is useful for e.g. drawing a contour line.

 

It might be nice if VW would have a similar option to set an elevation for top/plan at which all planar objects (e.g. a contour line) will be drawn. That could avoid repeatedly adjusting z-height or other workarounds.

This elevation should be relative to the layer's z-height, or optionally independent of that or take the layer's own z-height into account and adjust the z-height after confirmation if you want that.

  • Like 1
Link to comment

I'm not quite sure if it is easier to issue a command before drawing the contour line than to move one after drawing it. In general, the object-verb syntax makes more sense than verb-object, used by AutoCAD and some other old fashioned programs. Command line is an awful way to do anything. 

 

My first encounter with "CAD" was the huge flatbed plotter bought to theDept of Arch of my Alma Mater ca 1980. It was used by means of punch cards, 80 char command lines. If something was not satisfactory, the offending card was replaced with a corrected version. It took me years to accept the possible usefulness of CAD, occasionally I still wonder.  

Link to comment

For one-off objects the VW approach works better. But if you have to draw multiple objects at the same elevation then either you need to select multiple objects and then change the Z-value and hope you don't forget one, or create a temporary class for those objects and then select by class and then change the Z-value. In such a situation it would be easier to have an option to set a Z-value at which the objects should be drawn. But that is something that would work for me, for others it may be different.

Link to comment

I don't need to select multiple objects or remember anything when I move 3D polys to the desired z-level. 

 

It is unfortunate that the VectorDepot market place has been closed: there was a quite useful Contour tool there, addressing a number of pertinent issues. No sales, no service. 

Link to comment
  • 1 month later...
On 23/09/2017 at 4:43 PM, Benson Shaw said:

Something to try in a duplicate file:

Generate a rectangle over lake area, convert to 3d poly, add fill or texture, adjust z to 29.15. Now 3d views show the lake surface. Select DTM & 3d poly, Subtract Surface. This clips the 3d poly to shoreline. Should be planar solid sub. Copy this object to clipboard. Ungroup the solid subtraction & delete the rectangle leaving only the DTM. Paste in Place the new shoreline object. Convert to 3d poly - should be planar. Verify z value and placement. If all good, paste in place to orig file.

 

 

-B

 

This looks good, and I can see the lake outline in 3d views perfectly. But subtract solid won't work for a site model, it gives an error message saying the selection is locked or illegal in 3d solids, or not on the active layer? Any other tools I could use to get the poly? 

Link to comment

@lisag

 

I just made a simpler sequence in a test in v2018.  Should work same in earlier versions.

 

Probably best to do this in a separate file or layer - Paste in Place the site model.

Paste in Place the result(s) back into the project file

 

•Make an extruded shape (polyline) big enough to include the area of the water.

•Subtract solids to create the volume shape of the water.

•Apply the Extract tool in Surface Mode to create a separate object of the water surface.

 

Extrusion has to be within the site model extents.That may mean adjusting the Site Model minimum elevation or extrude bot z (and extrude height). Top of extrude has to be at the desired water level, bottom of extrude has to be at or above bottom of site model. Plan projection of extrude has to be within extents of the site model. (all obvious, but I had to say).

 

I wondered if site modifiers might prevent the Solid Subtraction.  But my test with pad and grade limit works.  Not sure why your Solid Subtraction is not working. Site model has to be in one of the Mesh modes.

 

-B

 

 

LakeSurface.png

Edited by Benson Shaw
Link to comment

Another comment.  The water object solid subtraction (middle image in post above) retains/contains the entire site model (existing, proposed, modifiers, everything) plus the extrude.  It might be a good idea to convert this Solid Subtraction, or a duplicate of it, into a Generic Solid and then paste the Generic Solid into the project file.

 

 A couple reasons:

1. If the water object (a solid subtraction object) is ungrouped, either purposefully or inadvertently, a copy of the site model will be superimposed on the original site model.  This could cause future work on the project site model to be applied to the copy, or other confusions.

2. The Solid Subtraction adds more mb to the file than the Generic Solid version.  From the example above, a new file containing only 1 Solid Sub is 3 times more mb than a new file containing only 1 Generic Solid.

 

Workflow comments:

•The lake Generic Solid object can be included in the project file, eg on its own layer and class to control visibility, texture, etc.

•This layer & class can be included or excluded from VPs and Saved Views, etc.

•Display the volume of the water object via Model>Volumetric Properties, or through worksheets.

•A planar object representing the water surface of the lake can be extracted from the Generic Solid, and can be stowed on its own layer and class.

•Many options for metrics for volume and water surface area for various lower water levels using the Generic Solid (or copies of it):

•••••Split with the Split tool (2d tool set)

•••••Section Outlines created via Create Contour tool (3d tool set)

•••••••••••••Many in one go with user specified increment.

•••••••••••••Creates a group of planar NURBS Curves. Preserves the source object.

•••••••••••••NURBS Curves can be converted to NURBS surfaces to derive Area at each level.

•••••Section Outlines created via Intersect Solids with a cutting plane - one at a time.

•••••Partial volumes created via the Subtract Solids with a cutting object - one at a time

•••••Work with the Clip Cube (View Menu)

•••••or ?????

 

-B

 

 

CreateContours.png

Edited by Benson Shaw
better image
Link to comment
  • 3 weeks later...

I'm still getting this error :(

 

5a3cd95fbb5c6_ScreenShot2017-12-22at10_06_36.thumb.png.3ebe7c92aae332a472c1403ab5680cfe.png

 

My site model has no modifiers, is in mesh mode and was generated from contours. My water line I have tried as an extrude, converted to generic solid, and converted to mesh - all the same result. No idea why it isn't working as this looks to be a good solution!

 

I'm in VW2014, maybe this is the issue? I don't see why it should be though, the tools are available and should function the same.

Edited by lisag
Link to comment

I think this should work in v2014.  The Subtract Solid should be about same as newer versions.

 

For safety, copy/paste in place the site model and the extrude in to a new blank file.

Start by using the Site Model and an Extrude rather than generic solid conversions to either object.

 

One thing to investigate in the site model:

Is the lake deeper than the bottom z of the Site Model?  If it is, select the site model>OIP>Site Model Settings>Min Elevation - Adjust this value so that the lake bottom is included. The site model hull extends to this value.

 

Some things to investigate with Subtract Solids (SS)

1.  The SS command sometimes refuses coincident surfaces, such as bottom of extrude at same z as bottom of site model.  Try moving the extrude up (and reduce extrude value by same amount) so bottom plane of extrude is completely enclosed inside the site model.

 

2.  Selection of objects before invoking the SS command - Don't use Select All or Marquee select.  Just select with click & shift click so that the site model and the extrude are the only things selected. OIP should indicate 2 objects selected.

 

3. Goal is for the site model to "carve" away from the extrude. The SS dialog box has arrows at top to change which object is highlighted in red outline.  The highlighted object will be carved (subtracted from). Click the arrows as needed until the extrude is highlighted. If you click the forward arrow and no change, then click the backward arrow. The outside arrows are "all the way" front or back.  The inner ones are one step a a time if you have multiple objects selected.  See attached image of the Subtract Solid dialog.

 

 

If not proprietary I can give it a try. Post a file here with only the site model and the extrude. Or if that's too big, post a Dropbox link or other transfer method. Or Private Message me with the link.

 

OK, good luck!

 

-B

 

SubSolid.png

Link to comment
  • 4 weeks later...
On 15/10/2017 at 5:03 AM, Art V said:

Autocad and it's dwg based competitors have a command called "elevation" that allows you to set a height. Anything drawn in top/plan view will be at that elevation, which is useful for e.g. drawing a contour line.

 

It might be nice if VW would have a similar option to set an elevation for top/plan at which all planar objects (e.g. a contour line) will be drawn. That could avoid repeatedly adjusting z-height or other workarounds.

This elevation should be relative to the layer's z-height, or optionally independent of that or take the layer's own z-height into account and adjust the z-height after confirmation if you want that.

 

Briefly reading through this thread - For elevation, if it doesn't drastically affect your workflow, maybe you could try putting them on different drawing layers? It is possible to set each layer to their own elevation in the pop up dialog box.

 

Gabriel

Link to comment
17 hours ago, Gabriel Chan said:

 

Briefly reading through this thread - For elevation, if it doesn't drastically affect your workflow, maybe you could try putting them on different drawing layers? It is possible to set each layer to their own elevation in the pop up dialog box.

 

Gabriel

The "problem" with this solution is that within the layer the contour would still be at a level of zero, so when copying/moving it to another layer it will end up at zero as well so in the end you will have to copy one layer, and then add the offset in the pasted layer to get all contours at correct elevations. I do create classes for each contour level, or classes for ranges of contours or contour intervals but having layers for each contour level would be a bit unwieldy at the moment, at least until we get hierarchical layers as well in VW.

A workaround could be to do as you described, then export the layers to DWG as VW now automatically adds the layer height to the exported objects in DWG exports (since VW2017, finally as this saves a lot of work when exporting 3D models) and then import the dwg file back into VW.

Link to comment

Not quite understanding the layer height work flow.

 

1. Every "special" elevation - eg any water level height under consideration would need a new layer with corresponding layer height (Most likely)?

1.a. Does a corresponding contour assign to this layer?

 

2. Or every contour would need to be assigned to a unique layer with height? Lots of layers? (Least Likely)

 2a.  All potential contour heights are available for assigning planar objects to contour specific heights?

 

Not sure what the vwx to dwg export looks like with these special or extra layers, if that's important.  Does the VWX export to dwg make a condition equivalent to the ACAD "command called elevation" and create recognizable equivalent status for review in ACad?  Not saying this is a bad idea, just wondering about the implications and workflow.

 

-B

Link to comment
14 hours ago, Benson Shaw said:

Not sure what the vwx to dwg export looks like with these special or extra layers, if that's important.  Does the VWX export to dwg make a condition equivalent to the ACAD "command called elevation" and create recognizable equivalent status for review in ACad?  Not saying this is a bad idea, just wondering about the implications and workflow.

Not sure you you were asking, Gabriel or me, but I can at least answer the quoted question.

In the past exporting layers with elevation to DWG required exporting each layer separately or to reconstruct the VW drawing by copying the items to a single layer and then adjust the Z-position of the copied objects to match the real world elevation. This because the the objects in the layer are relative to the layer height where the layer height is a zero level relative to the objects in that layer so exporting all layers with elevations into one dwg file would result in all objects being at z=0 or their height being relative to z=0 for all layers.

Since VW2017 a dwg export of a VW file that has layers with elevations, VW adds the cumulative layer heights to match the real world Z-position in VW, this simplifies exporting to DWG a lot!!!!
In the DWG file the objects would then have an elevation in the meaning of Z-value.

 

Elevation in the DWG however is similar to a layer elevation in VW, except that it applies to all DWG layers (i.e. VW classes), so it is a bit comparable to having show/snap/modify as layer setting and then move across layer, but they are in the same 3D space in DWG whereas in VW you could "pretend" each layer has its own 3D space compared to DWG.

I hope this isn't making things more confusing. :)

Link to comment

I'm not sure if the suggestion for layer elevation helps in contour mapping - was just offering a suggestion. 

 

What I do use them for however is when I need to draft out towers with lighting fixtures (I'm from the spotlight / previz community) where the fixtures share several XY positions but have different Z values as they stack one on top another. 

 

As we do quite a bit of data assignment on these fixtures - i.e. Channel / unit number / Addressing and so on, I have found that being able to isolate every tier of lights while working in the Top/Plan view helps with my work flow.  At the same time it organizes my fixtures in the correct 3D space. 

 

Just my two cents worth. 

 

Gabriel

Link to comment
12 hours ago, Art V said:

I hope this isn't making things more confusing. :)

@Art V- not at all more confusing. I have limited experience import and export dwg, but zero experience using ACad. You seem experienced or even expert at several design softwares.  Your commentaries are always very educational and helpful. 

 

57 minutes ago, Gabriel Chan said:

 

What I do use them for however is when I need to draft out towers with lighting fixtures (I'm from the spotlight / previz community) where the fixtures share several XY positions but have different Z values as they stack one on top another. 

@Gabriel Chan- thanks for info re lighting tower. Looks like typical vwx choices to sort or isolate fixtures and other objects via saved view or other view settings. Could be a single ground plane layer hosting all fixtures tiered at different z relative to ground and classed by tier. Or could be a layer for each tier. Maybe also choices for symbol containing all fixtures at each tier? or other ways? Not sure how any of these translate to dwg if that’s important.

 

I think for a level water surface in a site model a 3d poly in proper z is easiest and easiest to adjust, although your idea for layer z could also work. If volume or shape of water is needed the extrude solid subtraction works best for me.

 

-B

Edited by Benson Shaw
So little time
Link to comment
  • 4 years later...

@Anders Blomberg Sorry to report that I see same error.  Seems the earlier posts with Solid Subtraction were in a vwx version which supported the boolean operations. Or some magical moment.

 

I think there is some way to do this.  I'm not having success with creating a mesh of the DTM surface and applying that as a sectioning surface.  Still some things to try. More later.

 

-B

  • Like 1
Link to comment

OK, DTM as subtracting/sectioning object is possible.  I just tried it on a very simple DTM - small footprint, few and simple source objects.  Subtracting portions of an extrude to fit a hole in the DTM was no problem.

 

There must be some vertex or face limit for such operations.  Or some other size related problem that causes a calculation mass which vwx cannot resolve.  Might be possible to cut the DTM and/or the lake into segments, make several subtractions, might need to convert to Generic Solids, place the bits together and Add Solids. - royal pain! I will continue tests.  Gotta be a way!

 

-B

  • Like 1
Link to comment

@E|FA  No clue on the adding extruded polys.  Might be same issue.

@Anders Blomberg et al -  I made it work for the DTM, in a couple ways.  Both involve making a simplified, smaller DTM from the original to reduce vertex load.  Use the smaller DTM to create the Solid Subtraction. Convert to Generic Solid advised.  Place the new Water object onto the orig DTM.

 

1st way:

  • Create a rectangular array (eg 20x20) of 3d loci over the area containing the water. Ungroup if needed.
  • Send to Surface. Send result to a blank Design Layer
  • Create a new DTM using the 3d loci as source objects.
  • Top Plan, draw rectangle or other poly surrounding the water, but inside the DTM.
  • Extrude. Set bottom z inside the DTM.  Adjust top z to water surface elevation.
  • Subtract Solids. If OK, probably best to convert to Generic Solid
  • If no go, try again with fewer 3d loci.

 

2nd way:

  • Increase the DTM contour index, eg to .5m or .25m, or even .125
  • Edit Proposed Contours (or Existing)
  • Select the contours from bottom of valley to next above the water surface. Copy.
  • Paste in Place on same layer, but leave selected. They are 2d polys.
  • Convert to 3d polys. Ungroup. Send to Surface. Send to a blank layer.
  • I added a 3d poly along mid channel. Elevation .125m below bottom contour. Optional.
  • I also added a rectangle surrounding the whole area, convert to 3d poly. Elevation slightly above top contour.
  • Create DTM from these.
  • Draw rectangle around the water area.
  • Extrude. Set bottom z inside the DTM and top elevation at desired waterline.
  • Solid Subtract.  It works if not too many contours. If needed, delete every other one via Edit Source Data and try again.

-B 

 

image.thumb.png.7febfe022576502cbb7dea726ff1fbf2.png

Edited by Benson Shaw
tweek and speek
  • Like 2
Link to comment
  • 3 weeks later...

@lisagravy @Anders Blomberg @E|FA , et al

Oh!  Just tried again with v2023.  Success! mostly.

Did not try this with earlier versions, but might work there, too.

Also now using Apple M1 Max, so not clear if equipment makes the difference.

 

Full area DTM with extrude failed.

But crop the DTM close to the extrude provides enough geometry reduction to allow the Solid Subtraction to proceed.

The Solid Subtraction operation lasted about 10 seconds

 

When placed on the DTM, the water volume did not display because a bit below the surface of the DTM.  Probably because the DTM surface gets priority? Or this example is very shallow?  Didn't produce any "z fight" in my test.  I moved the water up a bit to reveal it.

 

 

-B

 

image.thumb.png.5dd3e1e2a34864718b83ec19987a4699.png

Edited by Benson Shaw
round two in the z fight?
  • Like 1
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...