TheSwamp

CAD Forums => Vertically Challenged => Land Lubber / Geographically Positioned => Topic started by: Willie on September 30, 2009, 09:40:06 PM

Title: Offset Existing Surface Profile
Post by: Willie on September 30, 2009, 09:40:06 PM
Is it possible to offset an existing surface profile?  I think my method is not the correct way of doing it.
This is what I am doing now.

1.  Explode profile view with the existing surface profile in it.
2.  Copy the explode profile view with the existing profile that I would like to offset.
3.  Undo to get the profile view back.
4.  Paste the copied profile view and explode the blocks.
5.  Create a polyline from exploded profile.
6.  Superimpose the polyline profile unto the profile view and move it to the required height.

My question:
Is there not a better way to offset existing surface profiles is Civil 3D?
Title: Re: Offset Existing Surface Profile
Post by: jugglerbri on September 30, 2009, 11:50:00 PM
Yup, change the profiles update status to static and move it.  Check out the video.

http://screencast.com/t/SaZ8Kffq

Title: Re: Offset Existing Surface Profile
Post by: Willie on October 01, 2009, 12:20:07 AM
Cool!!!

Thanks for that!!!
Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on October 01, 2009, 08:54:45 AM
Willie,

it think you would be happier with the 'easy way' to offset a(n) existing ground profile
Export the alignment and Profile using XML
Edit the XML file, change the alignment and profile name, and the profile type (LAYOUT)
then reimport and raise or lower at will...

or you can strip out ONLY the profile information from that Exported XML file (save it as TXT), and then use the Create Profile From File option, and then raise or lower the resultant

I do this as I would rather NOT sample my exisitng ground twice, and I do not want one of those resultant profiles to be Static for any purpose.  It would be too easy to forget the need to update the static ones; and then folks would think something was wrong with the data.
Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on October 01, 2009, 09:22:24 AM
also Willie, may I ask why you are doing this?

because there is probably another way
Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on October 01, 2009, 09:51:56 AM
Yup, change the profiles update status to static and move it.  Check out the video.



What I find interesting is that you accept the DEFECT in the application that will NOT allow the user to define the profile as STATIC at the time it is sampled (created). 
Title: Re: Offset Existing Surface Profile
Post by: Willie on October 02, 2009, 01:51:16 AM
also Willie, may I ask why you are doing this?

because there is probably another way

I am dong a widening on a road and the widening is to go between 1.5% and 4.5% below the profile on the edge of the bitumen. The road is in a residential area.

This is what I do.
1.  Create a alignment and profile on the saw joint where the bitumen is going the be cut and the widening is going to start.
2.  Then I create two profiles below the saw joint profile.  One profile is 1.5% lower than the saw joint profile and the other is 4.5% lower.
3.  Then I create a new design profile between the 1.5% and 4.5% profiles.  The idea is to get a smooth kerb line, which is between the 1.5% and 4.5% grades.
4.  My assmebly then targets the new designed profile.
Title: Re: Offset Existing Surface Profile
Post by: Willie on October 02, 2009, 01:52:37 AM
Willie,

it think you would be happier with the 'easy way' to offset a(n) existing ground profile
Export the alignment and Profile using XML
Edit the XML file, change the alignment and profile name, and the profile type (LAYOUT)
then reimport and raise or lower at will...

or you can strip out ONLY the profile information from that Exported XML file (save it as TXT), and then use the Create Profile From File option, and then raise or lower the resultant

I do this as I would rather NOT sample my exisitng ground twice, and I do not want one of those resultant profiles to be Static for any purpose.  It would be too easy to forget the need to update the static ones; and then folks would think something was wrong with the data.

Thanks Micheal.  I give it a shot.
Title: Re: Offset Existing Surface Profile
Post by: ChristopherF on October 02, 2009, 02:01:47 AM
What I find interesting is that you accept the DEFECT in the application that will NOT allow the user to define the profile as STATIC at the time it is sampled (created). 

I find it interesting that people accept training from people who do NOT know all the capabilities of the program.  :-)
Check out the video: http://screencast.com/t/ncSskblnb0LU
Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on October 02, 2009, 09:51:59 AM
What I find interesting is that you accept the DEFECT in the application that will NOT allow the user to define the profile as STATIC at the time it is sampled (created).  

I find it interesting that people accept training from people who do NOT know all the capabilities of the program.  :-)

Me too.....


I do know it's annoying that you can't Name the surface that is being sampled until after....perhaps that is what I was really hating on...
Title: Re: Offset Existing Surface Profile
Post by: butzers09silverado on November 15, 2012, 01:52:48 PM
i've attached an xml file, but i can't figure out what part i need, can somebody clip it out this first time so i can figure it out myself next time.  I want to make a profile from a file, i.e. text.  thanks
Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on November 15, 2012, 11:09:09 PM
way down near the bottom of the XML file you will find the profile data.
take that and place it in space delimited file...
Title: Re: Offset Existing Surface Profile
Post by: enderprime on November 22, 2012, 10:39:23 AM
i've attached an xml file, but i can't figure out what part i need, can somebody clip it out this first time so i can figure it out myself next time.  I want to make a profile from a file, i.e. text.  thanks

Trying to write a custom command to solve this exact problem is how I stumbled into theswamp.. Without writing code though, the only real option we have is to <create profile from file..> since we can't create one from a polyline (thanks Autodesk). After some trial and error I figured out that the file needs to be *.txt with only 2 columns, station and elevation, separated by a space.

The easiest way to get this data is to run a <sta-elev> or <vPI> report on the profile you want to copy/offset (depending on your C3D version) and then dump it into a text file. Just keep in mind the station-elevation text file used to make the new profile should only include numeric values with no special formatting, so do a <find..replace> on the data you get from the report and remove any [ + ] or [ ' ] characters if needed.

The new profile will be static, and not dynamic, and this is because the new profile is not tied to any surface or other data source. But this is still a decent method because that station-elevation text file can be kicked to another user so he can do the same thing even though he may not have any of the same alignment or surface data in his drawings.

If you want to tackle this problem with code instead and streamline things a bit let me know, I couldn't rest until I solved it with LISP  :kewl:
Title: Re: Offset Existing Surface Profile
Post by: Scott on November 22, 2012, 11:51:35 AM
Mybe this will work.

http://apps.exchange.autodesk.com/CIV3D/Detail/Index?id=appstore.exchange.autodesk.com%3acopyraiselowerprofile%3aen

http://www.youtube.com/watch?v=eicQQACoB0M

Title: Re: Offset Existing Surface Profile
Post by: mjfarrell on November 22, 2012, 01:15:29 PM
If you want to tackle this problem with code instead and streamline things a bit let me know, I couldn't rest until I solved it with LISP  :kewl:
If you 'solved' this with LISP, why do you not simply post the code for others to use right here?

Although there is a way to use a polyline, if I think about it one would need to draw that profile in a side view,
then use a MAP query to extract the coordinates of the vertices. (this is untested at this time)
Title: Re: Offset Existing Surface Profile
Post by: enderprime on November 22, 2012, 04:16:33 PM
Unfortunately I wrote it at work so I can't post the code directly I can only point in the right direction.. which is a real shame it's one of the cooler things I've done with CAD.
The basic process for creating a polyline out of a dynamic profile:


If we just want an offset polyline then we're done at this point. But my boss also wanted an option to create a new profile instead, so then:

The hard part is getting to the profile sub-entities, since there is really no documentation on using LISP to interact with civil 3D objects. The Autodesk forums won't even acknowledge your intent unless you are using .net now.. However, you can use (vlax-dump-object) to get all the properties and methods you can access for any object type. From there it's a little bit of blind coding.
Title: Re: Offset Existing Surface Profile
Post by: enderprime on August 14, 2013, 02:06:21 PM
Code now available: http://www.theswamp.org/index.php?topic=45124.0 (http://www.theswamp.org/index.php?topic=45124.0)