Create Curb: 3D Parallel Offsets ("Copy Parallel")

http://communities.bentley.com/products/microstation/f/19565/p/62588/153995.aspx is a post that describes what I want to do. I surveyed the back of curb and the flange line of the curb. I want to copy parallel (offset) these lines, which are curved, so copying them won't do, at a specific distance and change in elevation.

Copy parallel doesn't work - it changes elevations somewhat arbitrarily. I tried it to get the horizontal change, then moved the new elements up/down snapping to lines to get the vertical change, but when I check randomly along the linestring the difference in elevation differed depending on where I checked it. Unacceptable.

In the above thread someone said "We use InRoads to accomplish that task. It makes it very easy." I have Inroads. I cannot find the command. Can someone point me to it? Or suggest a method to get a true copy parallel of a curved linestring in 3D? 

  • in InRoads you can use Surface>Design Surface>Generate Longitudinal Feature

    The Main tab controls the surface for the new feature, (or Generate Graphics Only) if you don't want to modify a surface, and the Feature Name, the Interval sets how far between points along the feature, plus other settings.

    in the Controls tab you can set Horizontal and Vertical Methods (independently)

    Hope this is what you need.

    Brent

  • Hi there. I0m replying you here ase the original topyc is archived.

    I'm in the same situation and this offset tool is killing me.

    I did not like the offset tool behavior of keeping all the original vertex as when they're very close, when offseting they creatte a lasso like effect that its quite messy. But this is going to be handy for the solution I'll propose.

    This solution is applicable is you've lets say 5 big linestrings as for more it might be a bit too much of work.


    PROPOSED SOLUTION
    do the offset.
    select your original linestring and with the XYZ tool export the XYZ data of each vertex to a txt file.
    select your offseted line and export XYZ to txt
    In excel import the data and swap the z column of the offseted dataset with the original one, now you've the data ok.
    Export to TXT and import back in microstation with the XYZ tool.
    Rebuild the line from points. Is there a tool for this in plain MS? may be not.
    You could mesh with "mesh from points" and delete the faces on one side the point row.
    Then "extract boundary" using the mesh utilities.
    And there you've the line.

    Yeah, a bit cumbersone but for a looong line it might be worth rather than correcting the height by segments.
    /////

    Unfortunatelly my knowedge of VBA and MS object library is very poor. But I could build this tool in C# in few minutes its very simple.

    Load into an array the original z values of each vertex.
    Override the z values of the offset line form with the values of the array.

    As the vertex number is the same, the index of the array should match and all should work. Its a 10 min script.

    I've the ms book with me, lets see if I can get something to work.

    ////

    Another issue with the offset tool is that sometimes the xy values are messed too. If you need a high quality offset consider offseting in 2D and restoring the Z for the 2D offseted lines.
  • Hi.


    I was struggling with the same issue so I made an script and fixed with the aid of this community. Get the latest code on the latest code post on this thread.

    http://communities.bentley.com/products/programming/microstation_programming/f/53220/p/113120/345898#345898

    It will override the Z values of the second line with the values of the first line. Its support line, linstring shape and complex shape.


    Apply this script to a form with two buttons, and apply first sub to first button and second sub to seccond button.

    Enjoy Z fixing! :)

  • I would recommend using Surface>Design Surface>Generate Longitudinal Feature tool.

    I do must of my site grading and detailed dtm creation with this tool.  One of the best tools in InRoads.

    Be sure to set the Interval and Stroke Tolerance value.  If you are want to thin vertices select Thin Tolerance box.

    The Tolerance number is usually low like 1 or 0.5. I always select "Generate Graphics Only"

    You will see under the control tab that you have many options for grading. 

     

    Also, another option for creating 3d offsets is using a template to create the offset lines.  The tool is "Surface>Design Surface>Apply Template"

    The trick is to make the origin a null point and use a component for the other points.  This way the original control line is not recreated by the template. 

    This tool is great because you run end conditions at the same time.