Assigning SCF section names to collars

Steve 4 years ago in General updated 4 years ago 7

I am using a section control file to generate sections.I would like to show which collars are in which sections by assigning the section names in the SCF to each collar that is located in each section, taking into account the section's away/towards distances (like in a polygon>point assign operation). Does anyone know of a way to do this?

It's possible by converting the SCF to a string file, creating a buffer around each section string in the string file, then using the String>Utilities>Polygon assign function to assign each section name to the collar file, but (a) I'm wondering if there's a better (simpler) way to achieve this and (b) this way doesn't allow for sections with a different away/towards distance (as far as I can tell, it is only possible to create a buffer with a single distance parameter). Thanks

Hi Steve - you are on the right track.  Here are the steps that I have used in the past

  1. Convert SCF to string file (Strings | SCF | Convert to String File)
  2. Build "flat" wireframe surfaces that represent the extents of the SCF using Wireframe | Create From Strings | Build Polygonal Solids
  3. Use the Wireframe | Calculations | Distance to Wireframe function to "assign" the Section name to the collar file. The input is a Wireframe Set with all the wireframes created in the previous step.  The File is the Collar file.  You will need to type in something for the distance field (it is compulsory, but we won't use the result) and also type in a Wireframe Name field.  This field will be populated with the name of the Section (from the SCF)

The function in Step 2 is designed to take a polygon (when view in section) and convert it to a solid extending to to Away and Towards limits in the SCF.  If the "polygon" is an open string (as is the case here) it will create a horizontal plane that extend to the limits of each section in the SCF.  For the Output wireframe, select the Section Name field in the string file as the wireframe Name field (leave the Name response blank).

Manual Alternative

You could Visualise the SCF (new in 2020) and then digitise polygons representing the extents of each section by turning on snapping (if you edit the SCF string file then the naming will be taken care of). Then run the Assign function you mentioned.

That's great, many thanks Paul, very appreciated. Unfortunately I couldn't get the 'Distance to wireframe' function to work as required (for me it assigned section names to all collars whether they were in a section window or not) but I got round this by generating string polygons from the wireframe silhouettes and using these polygons to assign the section name to the collars using Strings|Utilities|Polygon assign, so all good!

PS - I noticed something that doesn't seem right when using Strings|Section Control File|Convert to string file - the strings are always shorter than the actual section display – see screenshot. The length of the string seems to be taken from the section’s Display limits |3D view | Field of view rather than the actual length of the section – is this correct? This has the unfortunate effect of causing collars at either end of the section to be missed out of the 'section name' assignmentsSCF-String length.docx)

Originally I used the silhouette method as well.  The distance to wireframe worked on the data set i was playing with, but then all the holes were in the SCF region.  You could try using a Position field, and define codes for Above and Below.  Blank values, in the Position field, would indicate holes outside the region.

Yes the fields of view does affect the extents.  At the time we thought that the orientation and the away and towards corridors were the important features.  After all, once you view one of the sections in the SCF, you might well zoom in or out or pan.  But I take your point, and we will revisit this.

Steve, just some additional comments regarding Section Control Files (SCF).  They were never intended to be a "shoe box" container.  Instead they were designed to quickly access a view with a specific screen plane and defined away and towards clipping regions.  The fact that a Vizex window can be resized in both width and height makes it impractical to "fix" those limits as part of the SCF definition.  In fact, the "Length" parameter defines the "height" of the view.  If you convert a SCF to Strings, load the strings into the display and then display any SCF section, you will see that the end points of the string does not match the width of the view.  

One possible change we could make is to assume an aspect ration of (say) 8:5 and use this ratio when converting SCFs to Strings and vice-versa.  This is what the current SCF visualization attempts to do.

Hope that helps.

Thanks Paul - understood. Is there a way to bulk update the length of strings? I'm thinking that one possible workaround would be to create the strings from the SCF, then multiply the length of all the strings by say 1.6, but I can't find a way to apply this to a string file - I can only manually drag the strings to the 'correct' length.

Hi Steve - this is what I would do.

  1. Open the SCF to String function and fill out parameters as required
  2. Right click on the SCF and select Edit from the menu
  3. Click on the Calculations (Expression) icon in the toolbar
  4.  Set up the expression like this (below), and Run
  5. Close the file and Run the Strings from SCF function (Output strings should 1.6 times longer)
  6. Edit the SCF again and this time change the expression to "=[LENGTH]/1.6"
  7. Run that to revert LENGTH to their original values. 

Fantastic - great idea! Thanks again Paul, that works perfectly.Thanks for all the help.