Wednesday, December 26, 2018

Update to Set Working Folder Dialog

Set Working Folder Uses File Open Style Dialog

A new feature of Civil 3D 2019 is an update to the Set Working Folder dialog. Previously it was strictly a browse and select folder dialog. As of Civil 3D 2019, the Set Working Folder dialog now resembles a File Open dialog.

This may seem like something small but for those of you that must drill multiple folders deep to select the Working Folder for a project, this new dialog is a nice improvement because now you can copy then paste a folder path from the Windows Explorer address bar into the Set Working Folder dialog address bar or Folder path.

Monday, December 3, 2018

Convert Survey Figures to Polylines

Sometimes survey figures are exactly what you want and other times you just want a polyline at elevation zero. If your like me, you created a figure style that flattens all elevations to zero then you exploded it. If that figure had an arcs, they became segmented like this:
I'm happy to report that there is a workflow to create these polylines with arcs from figures. I have confirmed that this workflow will work for versions 2016 through 2019. Note that the polylines will not update if the survey figure changes and is updated in the drawing.

Create a 2D figure style in your template

  1. In your template, expand the Toolspace > Settings tab > Survey > Figures category.
  2. Right click on Figure Styles and choose New.

  3. In the Figure Style dialog > Information tab, set the figure style name to 2D.

  4. In the Figure Style dialog > 3D Geometry tab, set the Figure display mode to Flatten figure to elevation and confirm that the Flatten figure to elevation is set to 0.00.

  5. In the Figure Style dialog > Display tab, change the layer, color, linetype, and so on to meet your CAD standards then click OK.
  6. Right click on the Toolspace > Settings tab > Survey category and choose Edit Feature Settings.

  7. In the Edit Feature Settings - Survey dialog, expand the Default Styles category and set the Default Figure Style to the 2D figure style you just created then click OK.

  8. Save and close the template.

Export Survey Figures to Polylines at Elevation Zero

  1. Begin a drawing with the template that contains the 2D figure style.
  2. Open a survey database and import figures to the drawing. The default style should be the 2D figure style.
  3. Set the UCS to World then save the drawing.
  4. In the application menu, select Export > Export Civil 3D Drawing.

      NOTE: Exploding figures using the 2D figure style will create polylines with segmented curves. That's why you'll need to use the Export Civil 3D Drawing command to get polylines with arcs.

  5. In the Export Autodesk Civil 3D Drawing dialog, choose the folder for the exported drawing then click Export.

  6. When the export is complete, click OK in the Export Status Dialog then Cancel in the Autodesk Civil 3D Drawing dialog.

  7. Open the exported drawing and confirm that the figures were exported to polylines at elevation zero.
  8. Select all the polylines representing exported figures and copy to the clipboard with a basepoint using SHIFT+CTRL+C and entering 0,0 as the base point.
  9. If you are replacing the figures in the original drawing, you can now delete them.
  10. In the original drawing, confirm that the UCS is set to World then use CTRL+V and enter 0,0 as the insertion point to paste the polylines into the correct location.
  11. Save the drawing.
An alternate workflow might be to have a separate template for importing just figures into a temp drawing so that you can export them and they will be on the correct layer. For this you'll need separate figure styles for each type of figure/layer combination you need. Then you can choose to import figures into the original base drawing onto the feature line or equivalent layer and have them displayed as a 3d object instead of a 2D object.

Monday, November 19, 2018

Set Your Site...On Feature Lines

When importing LandXML files into Civil 3D 2019, there's a new setting for Feature Lines:

Use this setting to select a site for the Feature Lines you are importing. You can select a site from the dropdown list or use the green pic icon to select a site in the drawing.

You can also assign a site independently for Alignments and Parcels if any exist in the LandXML file that is being imported.

Tuesday, June 26, 2018

A360 Desktop Retired

In case you didn't see the A360 Desktop Retirement - June 19th, 2018 post in May, 2018, you may not know why you are seeing an Autodesk software CER appear on your screen at startup.

What this means to you is that the content will still be in both locations, but content in your online A360 Drive account will no longer be synchronized with content in your local A360 Desktop folder.

Uninstall instructions for A360 Desktop can be found here:

How to remove A360 Desktop

If you're looking for a replacement for the A360 Desktop synchronization on your desktop there is some useful information about the difference between A360 Drive, A360, BIM360, and Fustion Team here:

HELP: The difference between A360 Drive and A360, BIM360 & Fusion Team

Monday, July 17, 2017

Creating a Varying to Max Slope Subassembly in SAC

I recently worked on a project that had a very interesting design challenge. Even though a proposed profile had been designed, the left edge of the roadway lane should match existing grade unless the resulting cross slope was greater than 3% (or less than -3%).

I often use generic links and conditional subassemblies to tackle out of the ordinary design scenarios, but this one was a bit more challenging. It wasn't until a recent Civil Immersion post by Alan Gilbert named Finish Strong Friday: Solving for Unknowns with Subassembly Composer that I thought of this solution in Subassembly Composer.

I wouldn't tackle anything in Subassembly Composer without talking first the Queen of SAC, Kati Mercier. She confirmed that my idea would work and thankfully provided a few tips to get me going.

Let's get this party started!

Open Subassembly Composer and save the new subassembly as MaxSlopeLeftEOP.

Assign the Subassembly Name in the Packet Settings tab then save again. [You can add a description, help file, and image on this tab as well.]

On the Input/Output Parameters tab, create parameters with the values shown in the image. Set the Type before entering the Name of the parameter. [The PavementThickness parameter is used in the final version of the subassembly, but not a requirement at this point in the workflow.] 

On the Target Parameters tab, create parameters with the values shown in the image. Set the Type before entering the Name of the parameter.[The EOPOffsetRight parameter is used in the final version of the subassembly, but not a requirement at this point in the workflow.] 

Now that the parameters are all setup, you can begin building the geometry of the subassembly. First up is the start point. Note that I've included "CL" and "Crown" as Point Codes and set the Point Geometry Type to Delta X and Delta Y for this point.

Next we need to get the surface elevation at the left edge of the lane. Since this point will strictly be used for calculations, place an auxiliary point. This point will not be visible in the subassembly when it's used in a corridor. For this point, the geometry type will be set to Delta X on Surface. Use the LaneWidth input parameter as well as the TargetSurfaceLeft and EOPoffsetLeft target parameters to determine the horizontal and vertical position of this point. Make sure to uncheck the Add Link to From Point box on this point because we will add an auxiliary link instead of a regular geometry link in the next step.

Add an auxiliary link. Similar to an auxiliary point, this link will not be visible in the subassembly when it's used in a corridor. This link will be used strictly for calculating the potential slope of the lane.

Next we need to determine what the slope of the lane should be based on the initial calculated slope compared with the MaxCrossSlope input parameter. To do this, we'll create a variable to carry that value to the link that we later add to this subassembly. The variable type will be double. Although the initial value is not important, I prefer to assign it to the slope of the auxiliary link from the previous step as shown .

Now comes the tricky part: determining whether to use the calculated slope of the auxiliary link or to use the MaxCrossSlope from the input parameter. There are several ways to get this answer and I'm only showing one of them.

Begin by determining whether the slope of the auxiliary link (AL1) is greater than or equal to 0. Use a decision component to ask this question. It helps to label the True and False conditions when working with decision components.

The next step is to complete the Positive Slope side of this decision component. Now that we've determined the AL1 slope is positive, we need to determine if it's greater than the MaxCrossSlope input parameter. To do this we use another decision component.

All that's left to do for this decision component is set the variable value to the correct slope on each side. When you add the first Set Variable component to the left side of the decision component, it will typically default to the True (Max Slope) side.

When you add the second Set Variable component, it will be connected to the previous Set Variable Component. You will need to drag the connection point of the gray link to the False side of the second Decision component then set the variable value to AL1.slope.

Now that both results for this decision component have been assigned, we return to the first decision component to complete the false (negative value) side of that decision component. As we did on the other side of this decision component, we will begin with an additional decision component. This time we will test for the slope being less than the negative MaxCrossSlope input parameter. Don't forget to modify the connection points of the decision component gray link to match the image.

Assign the LaneSlopLeft variable on the true side of this Decision component. The difference on this side is that you'll use the negative MaxCrossSlope.

For the False side of the Decision component, use the AL1.slope value again.

Now that we have the LaneSlopeLeft variable determined, we need to add the rest of the components for this subassembly. Begin by adding another point with Type set to Slope and Delta X. The slope should be set to the LaneSlopeLeft variable and the width to EOPoffsetLeft. Add links to all four Set Variable statements then check the Add Link to From Point box in the P3 component. Don't forget to add point and line codes if needed for your design.

The subassembly works like this when the target surface is adjusted above and below the MaxCrossSlope threshold. I also show how the EOPoffset Left target affects the lane width.

From here you can add more points, links, and even shapes. Assign the slope of the right lane to be the negative value of LaneSlopeLeft (-LaneSlopeLeft) to get the following result.

In case you're wondering, Subassembly Composer is not version specific. I created this custom subassembly in version 2018 and imported the pkt file into Civil 3D 2016 for testing.

Even if this scenario doesn't match your design needs, hopefully it will spark an idea for you to spend some time creating custom subassemblies in Subassembly Composer just like Alan Gilbert's video did for me. Also be sure to subscribe to the Civil Immersion feed to see Tips for Tuesday, Finish Strong Friday, and other useful posts by Alan Gilbert, Jeff Bartels, and Jerry Bartels.

You can find more infrastructure related content at Infrastructure Reimagined. Get inspired today!

Infrastructure Reimagined