TheSwamp

CAD Forums => Vertically Challenged => Land Lubber / Geographically Positioned => Topic started by: StefanDidak on November 13, 2009, 08:58:10 AM

Title: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 13, 2009, 08:58:10 AM
Last night a colleague told me that it's not possible to rebuild all corridors (or only all the out of date corridors) in Civil 3D and that it's been a bit of an annoyance because each corridor has to be rebuilt one at a time. So I figured I'd spend 10 minutes to hack up a quick plugin for C3D (2010) that does exactly that. It's really almost too silly to mention but the core of doing that is really only a few lines of code. I'm by no means a user or expert with C3D but for what it's worth, anyone who has a use for two commands that will do as described above can get the plugin here: http://www.stefandidak.com/ramble/2009/11/12/rebuilding-all-or-all-out-of-date-corridors-in-autodesk-civil-3d-2010/ (http://www.stefandidak.com/ramble/2009/11/12/rebuilding-all-or-all-out-of-date-corridors-in-autodesk-civil-3d-2010/)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 13, 2009, 09:30:26 AM
Interesting Stefan.....although the method I try to impart to students, is such that they would rarely have more than one corridor in their files at any given time; irrespective of the size of job or complexity of the corridor.  How many corridors did they or do they normally have in their files?

Also curious does your command suppress the Warning dialog concerning loss of Intersection data during the Rebuild Process?
Title: Re: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 13, 2009, 09:54:05 AM
How many corridors did they or do they normally have in their files?
Also curious does your command suppress the Warning dialog concerning loss of Intersection data during the Rebuild Process?
Over the past few years I've seen a lot of files with varying numbers of corridors, anything from one to 10 or more. And last night I heard about a demo that's being prepared that uses something like 16 of them and that sometimes there appears to be a problem where a file with corridors that are not OOD will save fine but when reloaded again will have a number of them being OOD. And I regularly get some files for debugging purposes that have some interesting multi-corridor constructs to create roundabouts, etc.

I'm not suppressing any dialogs so if those pop up it's entirely as intended I guess. As I said, it's almost too silly that there's no direct "rebuild all" in C3D since it's just a one line call to corridor.Rebuild(). And two lines to rebuild only the OOD ones (before calling Rebuild() it checks the IsOutOfDate flag first).

Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 13, 2009, 10:04:22 AM
OK, so you will still be warned should one have tinkered with the Interestion (it is implied that your command is also updating Intersections as well).

Hmm, even for a Roundabout construct one would still rarely need more than a Helper Corridor, and then the real thing.
In my class we do a small project with about 6 roads, a drainage way, and adjacent lot grading all from the corridor model, and this is done as ONE contiguous corridor model.  It's easier than attempting to manage all them separately.
Title: Re: Rebuilding all corridors at once in C3D
Post by: sinc on November 13, 2009, 12:08:39 PM
Keep in mind that, to create a robust solution, it is not enough to simply rebuild all corridors.  The user could always create one corridor so that it targets surfaces, feature lines, or alignments created from another corridor, so a robust solution would need update them in the correct order.  Or, if you don't care about performance, you can update all Corridors, then check to see if any of them are still out of date, update the out-of-date Corridors, and repeat until no corridors are out-of-date.

I understand where Michael is coming from, though...  I'd be curious in seeing some of these designs, and why they use multiple Corridors.  So far, I've only ever used a maximum of two Corridors in a single drawing, myself.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 13, 2009, 03:28:01 PM
I have a drawing with a few separate corridors in it- i mostly build rivers anymore, though.

i have the main design corridor
and about 5 dummy corridors that have flat assemblies at certain points that I use to make profile lines that I can tack onto and target.

Since they brought in the shrinkwrap boundary tool and intersection objects, I find I am more likely to build small corridors for the intersections alone just because it is easier to blow them away if I have a big change.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 13, 2009, 04:06:37 PM
Scout, you might like to try another method for the 'Design to Surfaces' other than corridors.
You might find that feature lines are more nimble and as robust as doing it your way.
Further given my experiences with 'river and stream' design and redesign projects most often the profile information is coming to you from other than C3D, in which case I use the Create Profile from file function, and import the target profiles from the design software 'solution', and use those designed profiles as my corridor targets.

The only drawback to using feature lines is the C3D will NOT allow one to use them as Alignments and Profiles for your Assembly OFFSETS to follow. (A major weakness) Nor does C3D use your actual offset alignment stationing (a total defect) within the corridor model.

In short if you have more that two corridors going in the same file; you are working WAY too hard.
Title: Re: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 13, 2009, 04:19:16 PM
I understand where Michael is coming from, though...  I'd be curious in seeing some of these designs, and why they use multiple Corridors.  So far, I've only ever used a maximum of two Corridors in a single drawing, myself.
I'm not sure I could show any raw data since it's all customer data that I get to debug/develop against but I can tell you that the data comes from small independent firms to large government organizations. In most cases those are some really large data sets with designs that cover lots of different roads, ramps, etc. It might be that the data is not only specific to the design but rather also aimed at visualization but I've never really given it *any* thought whether there should be a limit to the number of corridors (other than file size and general performance degradation of C3D). I'm actually quite happy getting really complex designs with countless regions and asms/subasms because it is generally more helpful to me to ensure the data doesn't mess up my code and make it break down.  :-)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 13, 2009, 05:19:56 PM
Stephan, I'll send you a sample set somehow....

One of the cool parts of using a single corridor, is that to a large degree it is easier to manage.  The other thing is that as to performance the user has some controll over that.  In practice one begins the corridor, having created alignments, and or profiles as required (the helper corridor), the basic assembly set.  You assign the first baseline, and region, and then using the object viewer confirm that the model is following your instructions (named targets). Add the next region, and again verify as is to plan, as the third region is added in one can then turn off the first region, continuing in this fashion, and only having on required regions limited to the current design area of interest.  One can get a great deal of performance during this part of the operation.  Then only at the very end should one turn it all on, for sections, volumes, etc...

As to the customers data...if you didn't tell me I wouldn't know....and I'm sure it's identity is quite easily 'masked'.
Title: Re: Rebuilding all corridors at once in C3D
Post by: sinc on November 13, 2009, 08:13:29 PM
I've seen some designs that I thought might warrant multiple corridors.

I just had one that involved a divided highway, where the individual lanes drifted from adjacent to each other to having a very wide separation between lanes.  The existing highway was turning into one half of the final divided highway, and everything happened in multiple phases.  In many places, the design of one phase daylighted to the final surface created in the previous phase.  The plans were actually somewhat problematic - the Engineer did things that kind of made me (as the lowly surveyor) shake my head, but anyway...  Civil 3D proved flexible enough to handle the design.  But while working on it, I was thinking about how I might have gone about doing the engineering for this project in Civil 3D, I decided the easiest way would probably involve using one Corridor for each phase...

As it was, we were only doing the surveying, so I just built one Corridor with the final design, and we were able to use that for everything we needed.

And actually, now that I think about it, I've also used multiple Corridors when doing some "what if" sort of situations.  I've done things like have multiple Corridors, each set to different design parameters and on its own Object Layer, so designs can be individually hidden or VPFrozen.
Title: Re: Rebuilding all corridors at once in C3D
Post by: sinc on November 13, 2009, 08:19:33 PM
What would be the best way to handle something like a major highway interchange with like a dozen flyover ramps, like I've seen in a picture on one of Autodesk's promotional items?
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 13, 2009, 08:51:10 PM
those multiple flyovers would probably work best as disconnected corridors...
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 14, 2009, 09:05:22 AM
What would be the best way to handle something like a major highway interchange with like a dozen flyover ramps, like I've seen in a picture on one of Autodesk's promotional items?

I can pull down the file from our most recent marketing stuff and count the corridors for you. I don't have it handy, but attached is a shot of the Civil 3D model in Max design.

Knowing the kind of customer data that Stefan sees on a daily basis, I would say this is likely comparable.

Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 14, 2009, 09:09:14 AM
Scout, you might like to try another method for the 'Design to Surfaces' other than corridors.

I don't really use it for design to surface. I use it when I need like a bottom of bank profile to use as a baseline and I need it to be as long as some very curvy alignments up the bank.

I could use some advice on something though- I know you hate external links, but I wrote up the quandry here:

http://bimontherocks.typepad.com/my_weblog/2009/10/leveraging-a-temporary-corridor-for-stream-projects.html
Title: Re: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 14, 2009, 09:22:33 AM
Knowing the kind of customer data that Stefan sees on a daily basis, I would say this is likely comparable.
That is, indeed, a very good comparable example.  :-)
Title: Re: Rebuilding all corridors at once in C3D
Post by: jugglerbri on November 14, 2009, 10:14:41 AM
A long as he's not seeing this:
(http://imgs.xkcd.com/comics/highway_engineer_pranks.png)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 08:33:48 AM
I don't really use it for design to surface. I use it when I need like a bottom of bank profile to use as a baseline and I need it to be as long as some very curvy alignments up the bank.

I could use some advice on something though- I know you hate external links, but I wrote up the quandary here:


Scout, I'll want to go back and review my last stream realign project; as it has the vary items you described, meander banks, and a repeat pattern of riffle, run, glide, pool, etc...
And the challenge created by the "Profile MUST be a long as the Parent Alignmet, or the Corridor Section Goes to ZERO rule"

I think on that design the data was such that I had several hundred feet of stream centerline in the file, so I could use the CL profile for all layouts, without running afoul and ...

I think in the end for other steams,I've did a two step with a helper corridor, much as you described.  Let me see if any of the alignment widening, or offset tools in 2010 offer any help.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 08:54:03 AM
This posses the question does Mr. Didack work for, or with autodesk on development of C3D, or is he working with a(n) Engineering Consulting firm. (one can't tell from his website)

And if he is working with autodesk, we should be having some chats about 'stuff'....
Title: Re: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 16, 2009, 09:23:30 AM
This posses the question does Mr. Didack work for, or with autodesk on development of C3D, or is he working with a(n) Engineering Consulting firm. (one can't tell from his website)

And if he is working with autodesk, we should be having some chats about 'stuff'....
I can clear that up for you very easily.  :-)

I've been in business for myself since 1989 and come from the 3D animation/visual effects field, originally, but have focused my business on development after I got fed up with doing production work for TV, Film, etc. Way back in the day I got involved with 3D Studio (DOS, v1) and have, over the course of that product's life, worked with it, on it, and indeed have been an external contractor for a division of Autodesk where I did work on 3ds max. But that's a long time ago, ancient history if you will.

I juggle many different clients which are small startups to some of the larger names in the software development world and I'm involved in various projects. One of those is Dynamite VSP. As part of that and the company behind it I have, indeed, worked on some bits for Autodesk and C3D but not "on C3D development", to use your reference there.  So, I don't actually work for Autodesk. The "with" part, well, I work with Autodesk products as part of the work I do on Dynamite VSP.  :-)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 09:47:15 AM
so to be even more clear, you have no ability to help mitigate existing defects, or omissions in the C3D application....right?
Title: Re: Rebuilding all corridors at once in C3D
Post by: StefanDidak on November 16, 2009, 09:56:36 AM
so to be even more clear, you have no ability to help mitigate existing defects, or omissions in the C3D application....right?
That's 100% correct. The "rebuild all corridors" thing, if considered an omission (since it's been a wishlist item since sometime in 2007 it seems) is just something I hacked together because I learned of it the same evening I wrote it and that it would be very helpful to C3D users. Given the 12 minutes it took to write that... well, it fixes an omission of sorts but that's pretty much all.  :-)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 10:39:30 AM
Scout,


Another method I have used in Steam situations is using assemblies that are the typical section @ that station, (cross section).
This causes you to create a few more assemblies, however the software handles the 'transitions' from one cross section to the next quite handy without need to draw the profiles for same, so there is a trade off there.
For this method one need ONLY their CL (or thalweg) alignment and profile, then you switch out assemblies along that baseline as required remembering to add in the transition distance you want from one section to the next, and allow the corridor to do the hard work....
This was more work to do in say 2005/2006 before one could copy/mirror assembly components.
With the assembly editing commands now in 2010, this is made fairly easy to do.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:10:40 AM
For this method one need ONLY their CL (or thalweg) alignment and profile, then you switch out assemblies along that baseline as required remembering to add in the transition distance you want from one section to the next, and allow the corridor to do the hard work....

Tell me about what you mean by "transition distance". I've tried this, and it works on streams that aren't terribly meandering, but on twisty ones it comes out too choppy. However, since I don't know what you mean by transition distance (likely I've missed something key) I am hoping it might be the solution.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 12:30:18 PM

transition distance=distance between end of last template region, and the start of the next.

I think the way around this 'choppiness' is to have autodesk fix the problem, that the software stops following the baseline during transitions with or without  curves, and during transitions the software stops honoring the sample frequency as specified in the comand parameters for the corridor object...

because we are pushing the software to perform as we think it should and not as it is programmed to, we are exposing a weakness, (defect, omission whatever)

This is a flaw in the corridor object.

Now we need someone (hopefully more involved than the XDREF folks were) at autodesk to admit this is a 'problem' and to fix it.

I won't be sitting here NOT breathing....until this happens.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 01:18:43 PM
I'm going to post script my post from above.

For any and all that might argue that there is NO DEFECT within the corridor object.  I ask you to ask yourself these questions:

Why does the corridor object allow the assembly to NOT follow the corridor Baseline alignment during a transition from one assembly to the next?

Why does the corridor object NOT continue to apply the desired sample frequency for the corridor during a transition from one assembly to the next, even when it is specified in the Command Settings for 'Create Corridor' to do so?

We might all think that the Assembly would continue to use the Baseline Alignment; otherwise why does the software require us to define one as such?  We would also think that the command specified frequency would be honored as well, because we are told that setting the command settings is the way to have C3D behave the way we want it to when we issue a particular command is to set the command and or feature settings such that it will.  Only in this instance it doesn't follow the command settings.

There is no confusion on my part that the application SHOULD honer the Basel line alignment, AND the frequency settings within a 'transition' area where the typical section transitions from one to another in 50 or 100 feet.  I could see this failing to work IF; I was changing over to a NEW baseline, or specifying alternate sampling within the regions.  However there is NO control for frequency or alignment switching provide should one need to transition from one assembly to the next.  The failing doesn't become apparent until the baseline has a lot of curve sections, and then it jumps right out as being DEFECTIVE for not following the alignment (baseline) and not honoring the frequency as specified in the command settings.

Try it yourself and you will see what I mean....and I'll be listing for the small whispered voices all saying..."oh..it really does FAIL to perform as expected doesn't it"

And the denials from autodesk and their defenders that the software isn't broken, if only I wouldn't use it that way...or some other excuse for the defectiveness.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 01:56:01 PM
Why does the corridor object NOT continue to apply the desired sample frequency for the corridor during a transition from one assembly to the next, even when it is specified in the Command Settings for 'Create Corridor' to do so?

I need to mess with this, but I am not sure I follow. If I have:

Region 1 with Pool assembly applied from 0 to 0+10
Region 2 with Step assembly applied from 0+15 to 0+20

Even if the corridor kept the sample frequency from 10 to 15, what would it apply if I haven't assigned it any assemblies to "extrude"?
Title: Re: Rebuilding all corridors at once in C3D
Post by: George on November 16, 2009, 01:57:21 PM
I don't follow the problem. I've got some time on my hands, so I'd like to see what you mean in terms of not following. I leave gaps in my corridors all the time to allow transition distance, and it just jumps between the gaps. This is what I would expect it to do, what am I missing?

Pictures, please?
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 02:37:08 PM
Why does the corridor object NOT continue to apply the desired sample frequency for the corridor during a transition from one assembly to the next, even when it is specified in the Command Settings for 'Create Corridor' to do so?

I need to mess with this, but I am not sure I follow. If I have:

Region 1 with Pool assembly applied from 0 to 0+10
Region 2 with Step assembly applied from 0+15 to 0+20

Even if the corridor kept the sample frequency from 10 to 15, what would it apply if I haven't assigned it any assemblies to "extrude"?

they transition to the next code within the sub assembly, it's really powerful when you can use it. (linear) only restriction.  In your Stream exercise, you are using the same point codes at your connection points (even if only Generic Link sub assembly objects are being used) so it connects the same point code to the coincident point code on the assembly ahead in the next region...its a smooth tool where one can use it.  Really handy for transitioning rock basket depths.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 02:46:09 PM
I don't follow the problem. I've got some time on my hands, so I'd like to see what you mean in terms of not following. I leave gaps in my corridors all the time to allow transition distance, and it just jumps between the gaps. This is what I would expect it to do, what am I missing?

Pictures, please?

on ARC segments leave a gap section TOO large and you will see that the inside point (assembly baseline) follows a CHORD and leaves the baseline entirely. Quite undesirable when projecting anything more than a few feet of transition when one has meandering curvilinear alignments to follow [see image in post above]

The Baseline alignment being used in the bottom section is a series of arcs as shown in the image below.  Notice how the assembly leaves the curvy Baseline and just 'jumps' across  the chord, and yet all the while the baseline for the region is THE SAME, because we are specifying a new start/end station so the application can or will transition from one assembly to the next.  It does; only it only does so properly on linear alignment sections.
Title: Re: Rebuilding all corridors at once in C3D
Post by: jugglerbri on November 16, 2009, 02:49:20 PM
I don't follow the problem. I've got some time on my hands, so I'd like to see what you mean in terms of not following. I leave gaps in my corridors all the time to allow transition distance, and it just jumps between the gaps. This is what I would expect it to do, what am I missing?

Pictures, please?

Here's a very obvious and unrealistic example:
(http://i33.tinypic.com/bjfqch.png)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 02:53:31 PM
Here's a very obvious and unrealistic example:


let's see when it ever get's fixed

Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 02:55:30 PM
The Baseline alignment being used in the bottom section is a series of arcs as shown in the image below.  Notice how the assembly leaves the curvy Baseline and just 'jumps' across  the chord, and yet all the while the baseline for the region is THE SAME, because we are specifying a new start/end station so the application can or will transition from one assembly to the next.  It does; only it only does so properly on linear alignment sections.

Ah, I gotcha. I think it would be pretty awesome for the feature lines to somehow add tesselations or some such to transition.

What is happening under the hood is that feature lines are drawn, as you observed in your other post, to connect points of like coding. Since the feature lines use no other intellegence (ie they don't have an awareness of what is happening along the baseline) they simply find the next like code and bang, the connection is made.

I get what you are saying- it would be cool if the feature lines could harness some of the same idea as the "extract feature line from corridor" tool that can add smoothing to make curves.

There is a tool in the subscription advantage pack that makes best fit alignments from primatives and makes true arcs- I am wondering if I can think of some way to leverage that in this workflow.
Title: Re: Rebuilding all corridors at once in C3D
Post by: George on November 16, 2009, 03:59:00 PM
Here's a very obvious and unrealistic example:


OK, I get it, but I don't know why would would expect anything else. C3D's corridor is a linear model, and knows nothing about the space in between the sections. If it did, we'd have solids that morphed between sections. I think that would be a cool thing, but would require a complete change in the design of the corridor object.

I don't think this is a bug or a defect, it's just the approach the C3D team decided to take. Based on the performance issues I see people complaining about, I'd hate to see what happened if we had real solids to define corridors, etc.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 06:34:56 PM
its a DEFECT...when one is NOT changing BASELINES and the assembly object simply decides to go where ever it wants....that's a defect...it has nothing to do with their (the sub assemblies) lack of intelligence...as the ENTIRE assembly is being told to follow some BASELINE somewhere in the programming...and when we transition along that baseline from one assembly to the next it should always remain connected to that baseline...otherwise WHY ask us to assign a baseline for the assembly to follow in the first place?

Rationalize this anyway you want...it is a defect.
Or explain logically; why does the assembly simply STOP following the baseline it has been instructed to follow?  It's the assembly object this is NOT following instruction NOT the sub assemblies connected to it.


To SCOUT; I personally wouldn't go adding anything from any subscription pack to my lessons, only to keep those that aren't on it from being able to use the lesson...unless they are forced to upgrade....and everyone keeps saying that the subscription isn't forced on folks.....so I would NOT be building my lesson or my suggested workflow on features every will not have access to right out of the box...unless your lesson is just marketing material.....or like like to hear folks complain that they are not on subscription and why in the middle of your classes.


Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 06:44:12 PM
and the BIGGER problem is unless it is called a problem it won't ever be solved.... :ugly:

I'm sure that if SCOUT is still close to autodesk and if she explained it to them really nice they might see it as a probelm...

perhaps they will fix it...

or perhaps like the crappy display of circular pipes in sections and profiles, they'll just add a note to the help file explaining why it doesn't work and call that good.


and some of you folks will buy into that logic (or lack thereof) as well....

Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 06:48:36 PM
The Baseline alignment being used in the bottom section is a series of arcs as shown in the image below.  Notice how the assembly leaves the curvy Baseline and just 'jumps' across  the chord, and yet all the while the baseline for the region is THE SAME, because we are specifying a new start/end station so the application can or will transition from one assembly to the next.  It does; only it only does so properly on linear alignment sections.

Ah, I gotcha. I think it would be pretty awesome for the feature lines to somehow add tesselations or some such to transition.

What is happening under the hood is that feature lines are drawn, as you observed in your other post, to connect points of like coding. Since the feature lines use no other intellegence (ie they don't have an awareness of what is happening along the baseline) they simply find the next like code and bang, the connection is made.

I get what you are saying- it would be cool if the feature lines could harness some of the same idea as the "extract feature line from corridor" tool that can add smoothing to make curves.

There is a tool in the subscription advantage pack that makes best fit alignments from primatives and makes true arcs- I am wondering if I can think of some way to leverage that in this workflow.

This isn't or should be confused as; 'wouldn't it be cool if it worked liked this"
This is a matter of the tool failing to function properly when applied to a curvilinear alignments.
Follow the logic I am using in previous post. Not changing baselines...and the ASSEMBLY is attached to the baseline, no reason it should ever detach itself from that baseline until I tell it to stop or it runs out of baseline to follow.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 10:07:44 PM
Follow the logic I am using in previous post. Not changing baselines...and the ASSEMBLY is attached to the baseline, no reason it should ever detach itself from that baseline until I tell it to stop or it runs out of baseline to follow.

Assemblies are attached to regions, not baselines.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 10:46:28 PM
Follow the logic I am using in previous post. Not changing baselines...and the ASSEMBLY is attached to the baseline, no reason it should ever detach itself from that baseline until I tell it to stop or it runs out of baseline to follow.

Assemblies are attached to regions, not baselines.

OK, show me that you can create a region WITHOUT a Baseline....and I'll buy your argument

not even with a SIMPLE corridor can anything be done without a baseline
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 10:57:34 PM
OK, show me that you can create a region WITHOUT a Baseline....and I'll buy your argument

not even with a SIMPLE corridor can anything be done without a baseline

Right.... but when you tack assemblies in your corridor, you are specifying which region they will apply to. When you tell it to go from 0+00 to 0+15, you _are_ telling it to stop. Leaving a gap with no assembly applied = no assembly applied. The baseline can have any number of assemblies applied to different regions. Which one would you want it to pick?

This is where I am lost. I do like the idea of some kind of logic like- "go from this assembly to that assembly incrementially through the gap" but I don't get why you think the baseline should know inherently which assembly you'd want applied.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 10:58:59 PM
From the HELP file in English Version 2010:

Quote

Corridors persist in an AutoCAD drawing as objects with the name AeccCorridor.

Corridor objects are defined by associating a baseline (alignment) with sectional design elements, and other structural data. The corridor object manages the data, tying various assemblies (applied for different ranges of stations) to the baselines (alignments) and their finished grade profiles.
 

Now WHY are the Assemblies NOT being TIED to the BASELINE???

And why are the Assemblies NOT being tied to the Baseline during a change in stationing???

I read English pretty well, and the words Tied to the Baseline are pretty clear to me.

Please accept this is a defect; and now lets move towards getting a solution for the defect.

or maybe we just edit the help file to read:

Corridors persist in an AutoCAD drawing as objects with the name AeccCorridor.

Corridor objects are defined by associating a baseline (alignment) with sectional design elements, and other structural data. The corridor object somehow manages to do stuff to the data, loosely associating various assemblies (applied for different ranges of stations) somewhere around and or along the baselines (alignments) as long as they do not contain arc segments and then someother things start to happen, and maybe their finished grade profiles as ll.


Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:04:17 PM
OK, show me that you can create a region WITHOUT a Baseline....and I'll buy your argument

not even with a SIMPLE corridor can anything be done without a baseline

Right.... but when you tack assemblies in your corridor, you are specifying which region they will apply to. When you tell it to go from 0+00 to 0+15, you _are_ telling it to stop. Leaving a gap with no assembly applied = no assembly applied. The baseline can have any number of assemblies applied to different regions. Which one would you want it to pick?

This is where I am lost. I do like the idea of some kind of logic like- "go from this assembly to that assembly incrementially through the gap" but I don't get why you think the baseline should know inherently which assembly you'd want applied.

even it is a pair of assemblies made from GENERIC links, there is no mystery which point codes, should connect to which point codes, and THEY are not the objects that aren't following the BASELINE, it should never become disconnected from the baseline...I don't care I'm trying to make it connect the simplest assembly to the most complicated one anyone can create, it should NEVER leave the baseline PERIOD.

Or is the help file totally wrong...what part of TIED to the BASELINE is confussing me?
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:10:04 PM
Now WHY are the Assemblies NOT being TIED to the BASELINE???

Assemblies are tied to the baselines, but only to the region to which you specify them to be applied to.

I can't tell you what is the right or wrong way that the program is written. All I know is what is happening under the hood.

Corridor points are really the fundamental building blocks- the point codes in the subassemblies do most of the work in corridor building. The Corridor Feature lines are drawn connecting like coded points- as you know. For example, crown points get connected to other crown points with a corridor feature line.

When you apply an assembly to a range of stations along a baseline, it draws those points at your set interval, then connects those points with the feature line.

When you have a portion of the baseline that does not have an assembly applied, no points are drawn, therefore, the feature line keeps looking until it finds another point to connect to- which, as in the image examples, can lead to that straight and inappropriate feature line that doesn't do us any favors.

I definitely get what you are saying, and as shown in my stream example, some kind of solution would be welcome.

In the meantime, the trick would be to find some way to get those points drawn to taper down/out during the transition without having to have target alignments/featurlines/plines everywhichwhere. I will stew on it a bit more.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:11:23 PM
from the help file on assembly object:

Quote
Baseline. The baseline of an assembly typically displays as a visual aid (marker) representing a vertical axis at the assembly baseline point. If you want to attach a subassembly to the baseline point, you can do so by selecting the baseline marker. This method of attaching subassemblies to an assembly is sometimes easier than selecting the baseline point, especially when there are already one or more subassemblies attached at that point.
Baseline Point. This is a point on the assembly typically representing the start point of the first subassembly that is attached to the assembly near the controlling alignment. By default, the baseline point coincides with the insertion point and therefore follows the centerline alignment and profile. If you want to begin sectional elements oriented away (horizontally and vertically) from the centerline, do so by moving this baseline point away from the assembly insertion point.




What is all this chatter about the BASELINE when it doesn't follow the Baseline?
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:19:53 PM
Why oh why is the word BASELINE so confusing.....and why is it required if it doesn't ALWAYS follow it.

You can simply accept the defect and not call it that.  It's a defect, or the help file is WRONG and the baseline has nothing to do with anything.  Although they sure do use that term a lot in there?

It has nothing to do with 'not knowing' what poiint codes to connect to each other, as you see in the images it connects them quite well it simply becomes UNTIED from the baseline on arcs.
The resulting model, surface, and or sections would all be fine, the problem is the assembly becomes DISCONNECTED from the baseline it is supposed to remain TIED to.

But I guess you're OK with still needing to use Empty Data bands to make the plan production tools work as they should too.  Even though it is an admitted defect; the workaround has now become an accepted 'solution'.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:23:10 PM
Ok, so Michael, help me understand. In my attached image, I have one baseline with six regions. Each region has a different assembly applied (with one repeat).

So let's say I wanted to kill the region from 27-53.

My frequency is tied to the region, so if there is no region there is no sampling interval.

And even if it did somehow have a sampling interval- what would it apply? Which assembly? How does it figure out how to transition between to very different assemblies without some guidance from me? What would you want it to assume?

If I understand better, I have a better chance to explaining it to others.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:27:25 PM
Why oh why is the word BASELINE so confusing.....and why is it required if it doesn't ALWAYS follow it.

Yeah, the vocabulary is foggy. Basically, they call the attachment point of the constructed assembly the baseline of the assembly- which means that is the part that will tack on to the baseline alignment/profile for the region in question. So the baseline of the assembly tacks on to the corridor baseline- but only for the region of stations you specify.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:31:32 PM
Ok, so Michael, help me understand. In my attached image, I have one baseline with six regions. Each region has a different assembly applied (with one repeat).

So let's say I wanted to kill the region from 27-53.

My frequency is tied to the region, so if there is no region there is no sampling interval.

And even if it did somehow have a sampling interval- what would it apply? Which assembly? How does it figure out how to transition between to very different assemblies without some guidance from me? What would you want it to assume?

If I understand better, I have a better chance to explaining it to others.

The sampled interval would be as specified in the command settings....The assembly that would be applied at your Transition Station would be whichever one YOU inserted,

the software would then take the assembly BASELINE point of the Back Station assembly, and project it ALONG the BASLINE alignment it (the corridor region) is connected to. Should a particular point code NOT exist on the assembly ahead it would be dropped...

However all assemblies have a BASELINE Point with their definition so that particular point would always have a similar point on the ahead station assembly to connect to, so there would be nothing to drop, and no legitimate reason for whatever WAS projected to NOT remain connected to the baseline...
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:38:06 PM
Why oh why is the word BASELINE so confusing.....and why is it required if it doesn't ALWAYS follow it.

Yeah, the vocabulary is foggy. Basically, they call the attachment point of the constructed assembly the baseline of the assembly- which means that is the part that will tack on to the baseline alignment/profile for the region in question. So the baseline of the assembly tacks on to the corridor baseline- but only for the region of stations you specify.


Combine that language with the definition of how the corriodor is supposed to behave, i.e. Tied to the Baseline....

Irrespective of what it really does, it is clearly stated that the assembly objects are TIED to the baseline, and it should function as defined.  It's a defect that one can only use the power of this function when one needs to transion from one assembly to another on straight tangent segements of the baseline alignment.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:41:23 PM
However all assemblies have a BASELINE Point with their definition so that particular point would always have a similar point on the ahead station assembly to connect to, so there would be nothing to drop, and no legitimate reason for whatever WAS projected to NOT remain connected to the baseline...


so like in my stream example- let's say I applied my pool assembly at station 10, then left a gap until applying my step assembly at station 100. You'd expect it to perhaps figure- 100-10 = 90, then figure out how much to squeeze the assembly incrementally at each sampled station following whatever curves were in the baseline alignment.

Something kinda sorta like this really bad mock up?
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:45:15 PM
Combine that language with the definition of how the corriodor is supposed to behave, i.e. Tied to the Baseline....

Irrespective of what it really does, it is clearly stated that the assembly objects are TIED to the baseline, and it should function as defined.  It's a defect that one can only use the power of this function when one needs to transion from one assembly to another on straight tangent segements of the baseline alignment.

It is clearly stated, as you pointed out, that assemblies are tied to the baseline for different ranges of stations.

Corridor objects are defined by associating a baseline (alignment) with sectional design elements, and other structural data. The corridor object manages the data, tying various assemblies (applied for different ranges of stations) to the baselines (alignments) and their finished grade profiles. It manages the connection of project-specific surface and alignment data to the subassembly and assembly content. The object includes corridor body geometry, longitudinal feature lines, embedded surfaces, rendering support, and slope hatching support.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:48:33 PM
it is already doing that...only it becomes DISCONNECTED from the baseline C3D tells me that the assembly object will always remain connected to,
look at the previous images, it neatly transitions from on typical section to the next,

however in making that transition it IGNORES the sample frequency being applied to the corridor (all the way down to the command level), and disrespects the Baseline Alignment will always be followed rule....

oddly enough I think I even recall transitioning being explained in a webcast....on a straight line segment.... ;-)
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 16, 2009, 11:51:55 PM
you say it isn't broken now....

I'll wait until the fix to it is introduced as a NEW feature....and then you can say I told you it wasn't broken.  Right along with being able to actually use offset alignment stationing within the corridor as well. Oh yeah and maybe no Empty Band Sets...and Cross Section Sheets as part of the Plan Production tool suite. ;-)

it's broken D.....
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 16, 2009, 11:56:10 PM
it is already doing that...only it becomes DISCONNECTED from the baseline C3D tells me that the assembly object will always remain connected to,

Um, yeah. It remains connected to the assembly baseline. Always. Regions have frequencies, baselines do not. The command properties say nothing about baselines, it just says frequency, and since regions own frequency...

It makes those connections because there is no math required for the linear transition. It is doing the same exercise as it does when it goes around the curve and breaks down. Connects the dots in a straight line since it has no other information.

I get what you are saying, I think there is room for improvement, but it's not a defect. And I'm not saying that because I've been brainwashed, I'm saying that because there are bigger priorities for simplified workflows and other methods for getting what we need from a a design standpoint over dissecting and misinterpreting redundant vocabulary in help.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 12:02:17 AM

It is clearly stated, as you pointed out, that assemblies are tied to the baseline for different ranges of stations.


Yes only within the corridor parameters I am not specifically telling it to STOP following the select baseline for the transition station range....

That would be accomplished by ADDING a NEW Baseline, and attaching regions along, it...

Only what we are telling it, is follow this baseline with these objects....and at no point should any part of the corridor object ever STOP following the baseline we have so carefully told it to follow' irrespective of the station range.

The very fact that it will do this completely correctly on TANGENT sections, implies that it should also function completely correct on arc segments of the baseline as well. Either that or the corridor object should fail at transitioning entirely.


Come on think about it from a logic standpoint for a minute...the fact that it works on tangents is not an accident...the fact that it fails on arcs is a defect.

Or is it that the fact it works on tangents is the defect, and the failure on arcs is Exactly working as designed?
Title: Re: Rebuilding all corridors at once in C3D
Post by: ChristopherF on November 17, 2009, 01:46:04 AM
Or is it that the fact it works on tangents is the defect, and the failure on arcs is Exactly working as designed?

That would be correct. You can apply an assembly with no subassemblies to correct this defect in your corridor models.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 17, 2009, 07:46:10 AM
Or is it that the fact it works on tangents is the defect, and the failure on arcs is Exactly working as designed?

Its working exactly as designed in both cases. It is designed for feature lines to connect like point codes. The assembly is applied to the range of stations, the points are drawn. The assembly stops, points are connected. The corridor knows to connect regions along the same baseline unless it runs into a region that doesn't have points- as Christopher points out- with the null assembly.

The fact that it happens to give you what _you_ want in the linear case is a function of simple y=mx+b.

I am actually working up something based on this conversation to figure out what kind of math the corridor would have to do in order to get us the result we are looking for. I am making 10 assemblies that vary by only one foot of width and applying it to my curvy corridor and seeing what would be needed to solve it- I am thinking it won't simply be an arc, but likely more of a parabola or spiral.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 09:43:00 AM
the minute it becomes Untied from the baseline it is not functioning as described in Help file, and thus a defect... All I want is for the assembly to remain connect to and controlled by the baseline....and I'll stop calling it a defect...

Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 09:50:17 AM
Or is it that the fact it works on tangents is the defect, and the failure on arcs is Exactly working as designed?

That would be correct. You can apply an assembly with no subassemblies to correct this defect in your corridor models.
please post an example (dwg)...trust me, I have tried many things....before declaring this functionality of the assembly leaving the baseline on arc transitions a defect.

Should one place a NULL assembly as you describe the TRANSITION function doesn't function at all.
Title: Re: Rebuilding all corridors at once in C3D
Post by: George on November 17, 2009, 09:53:54 AM
The ASSEMBLY is tied to the baseline everywhere it is processed. Tilt into an isometric view and the Assembly will be tied to the baseline everywhere it has been processed. Show me where the ASSEMBLY is not tied to the baseline and I'll agree it's a defect. Until then, you're just on one of your usual rants and refusing to acknowledge what Scout has been overly patient in explaining.

Feature lines connecting points in space have nothing to do with the baseline connection. While I agree that a morphed section would be nice, to claim that the lack of a morphed transition is a defect is stretching the definition of defect a long damned way.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 09:59:18 AM
I am not claiming that the defect is a lack of a morphed section George,  perhaps you aren't following my logical argument.

I am pointing out that specifically the help file indicates that the Assembly is ALWAYS tied to the baseline...and the fact is that the assembly becomes untied from that baseline during a transition along an arc,
further the claim is that during a transition the corridor object also ignores the sampled frequency settings of the command and procedes to NOT show assembly projections through the transition region at the command level specified intervals.

Title: Re: Rebuilding all corridors at once in C3D
Post by: George on November 17, 2009, 10:12:03 AM
I am pointing out that specifically the help file indicates that the Assembly is ALWAYS tied to the baseline.

Again I ask, show me where the ASSEMBLY is not tied to the baseline. Not the Feature Lines between Assemblies, the Assembly. Using your own logic, there is no defect, the ASSEMBLY is always tied the the baseline.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 10:18:14 AM
I am pointing out that specifically the help file indicates that the Assembly is ALWAYS tied to the baseline.

Again I ask, show me where the ASSEMBLY is not tied to the baseline. Not the Feature Lines between Assemblies, the Assembly. Using your own logic, there is no defect, the ASSEMBLY is always tied the the baseline.

The DEFECT prevents me from showing you that the Assemblies are NOT projected along the baseline through the transition region.  As I stated it ignores the command level sample frequency and doesn't place any assemblies where it should.

Sure you see them as being connected to the baseline at the Start and End of the transition, it's everything in the middle of that transition region that falls into the realm of defective.  First because it doesn't project any assemblies at all, and second it projects across the chord of the arc.  Is the defect any clere to you now?
Title: Re: Rebuilding all corridors at once in C3D
Post by: George on November 17, 2009, 10:37:38 AM
What you see as defect, I see as expected. When one region ends, and another begins, of COURSE there's nothing in the middle. What could there be? What Assembly would you use? I want Apples on Monday to Wednesday, I want Oranges on Friday to Sunday. What would you give me on Thursday that would make me happy?

As Chris pointed out, you can use a Null assembly if you don't want the connecting lines.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 10:51:51 AM
What you see as defect, I see as expected. When one region ends, and another begins, of COURSE there's nothing in the middle. What could there be? What Assembly would you use? I want Apples on Monday to Wednesday, I want Oranges on Friday to Sunday. What would you give me on Thursday that would make me happy?

As Chris pointed out, you can use a Null assembly if you don't want the connecting lines.

Go back and read the reply to Scouts similar question regarding 'what assembly' I want the application to insert in the transition region, I patiently explained it to her there.http://www.theswamp.org/index.php?topic=30958.msg365290#msg365290 (http://www.theswamp.org/index.php?topic=30958.msg365290#msg365290)  Perhaps you'll want to read everything in this discussion topic again, but first remove the anti-mjf biased blinders from your eyes.

As stated a NULL assembly does NOT work either...see the GAP in the corridor...that is what happens should you insert a NULL assembly in the transition region. It then FAILS to transition at all.

For discussion sake the software also fails if one is using two SIMPLE assemblies from Generic links; it isn't that it fails when the assemblies are 'complex' it fails consistently, to both project the sampled lines at the command level frequency settings, and it becomes disconnected from the baseline trough arc segments.
Title: Re: Rebuilding all corridors at once in C3D
Post by: jugglerbri on November 17, 2009, 12:17:56 PM
Here are my thoughts on the topic, this is not a defect, it is a limitation.  I do not want the software to assume I want to do something and then I have no control over it.  There should be a transition region that can be inserted between two standard regions.  This way, if I have alignments/polylines/etc. that I'm targeting, I can still choose to target or not target them.  I can also have control of frequencies.
Title: Re: Rebuilding all corridors at once in C3D
Post by: scout on November 17, 2009, 12:18:24 PM
For discussion sake the software also fails if one is using two SIMPLE assemblies from Generic links; it isn't that it fails when the assemblies are 'complex' it fails consistently, to both project the sampled lines at the command level frequency settings, and it becomes disconnected from the baseline trough arc segments.

This will be my last post on the subject- but you claim that it's a defect because help tells you that an assembly is always tied to the baseline- but what help means is that the subassemblies bits always remain attached to the _assembly baseline_ that vertical piece on an assembly that hooks it all together not the alignment you specify as the baseline. Also, the command setting sets the default region frequency- it never says anything about it being a baseline frequency because there is no such thing.

I'm not just making this up as far as how the software logic works- I spent a lot of time with the product designers, developers and QA when writing the assembly and corridor chapters of those three books that I wrote that you hate so much. They aren't perfect books (don't want to talk about that again, many threads already on that subject) but the explainations of the program logic for corridors is very sound and straight from my research. It isn't just something I made up.

I'm sorry it doesn't work the way you want. I'm messing with my stream some more and it seems in order to do the transitioning properly, I have to whip out my calculus to figure out the curves. I will probably do it since I am a geek that way and b/c i am curious if something like that could be done by the program or if there are far too many variables.
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 17, 2009, 01:03:55 PM
I'll take you post for what it's worth.

However the help file also specifies that the Assembly baseline will be tied to the Baseline alignment.
I'm not making any of that up, it's right in the text that I've posted straight from the help file.
There may not be a 'baseline' frequency however there is a sample frequency that one can specify at the command level; and the transition regions do not obey that frequency setting.

As to the books, I don't hate them, they just aren't up to the standard a book with that title implies they would be.  And even you agree they aren't perfect; so we are congruent on that aspect of them.

As stated before, you say it isn't a defect now.  However you'll be one of the first to be touting it as a new feature when or if it ever does get fixed (added to application).
Title: Re: Rebuilding all corridors at once in C3D
Post by: mjfarrell on November 18, 2009, 09:36:08 AM
Here's a hint for you: the solution is really a spiral, not a parabola.