Applies To | |||
Product(s): | AutoPIPE | ||
Version(s): | 2004, XM, V8i | ||
Environment: | N/A | ||
Area: | |||
Subarea: | |||
Original Author: | Bentley Technical Support Group | ||
Date Logged & Current Version | June 2015 09.06.02.06 | ||
The following is displayed when importing an NTL file into AutoPIPE:
Bentley AutoPIPE Application has stopped working
"A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available."
Why, and how to avoid it?
The short answer is that this occurred because there is a problem with the imported NTL file. This sounds kind of obvious, but the next question typically is: "Where is the problem in the NTL file". Again, the short answer is: no one knows until it is investigated.
An NTL file is a very structured file format comprised of many "Command Cards". What is a "Command Card" you ask. This is a very good question, a Command Card is a group of lines / rows of text (typical 1 - 5 rows) in the NTL file that represent a single Component, a single Command, etc. There are Control cards, Model cards, Solve cards, and Results cards. Each of these cards are formatted such that each row and each column in the row represents something. Any text in a Command card that violates this structured format could cause a. wrong size components, b. wrong piping code selection, c. wrong temperature settings, d. the list of problems goes on and on to ultimately it could cause the application to crash. Again, the Command cards have a very strict format that must be followed. The next question is, "where can one find information about these Command cards?", answer: in AutoPIPE Help:
Please see the following AutoPIPE help section:
Help > Contents> Contents Tab> Bentley AutoPIPE> Batch NTL Input Reference> Command Card Reference
Note: Each Command card has detailed information on how that particular card is formatted with in the NTL file. Example above shows a chart, this chart represents the actual Command card format. The 2 lines that have blue colored back ground represents the number of lines this Command card takes up in the NTL (ex. a reducer is 2 lines) . Each number across the top of the chart represents the Column space where the start of a setting in the can cards starts (ex. values representing the Point starts on Row #1, column #6). Further details about each setting in the Command card is detailed in the Description section.
***Important*** Highly suggested when working with NTL files to use software like Ultra Edit, NotePad++, etc. that displays the current cursor location and line number. Knowing the exact column and row where data is located is the key to successively importing an NTL file into AutoPIPE.
Please see the following procedure to investigate a NTL file for problems.
1. After the program crashes open the NTL in any Test editing software that provides current cursor column location and row numbers (i.e. UltraEdit, NotePAD++, etc.).
2. No one can know exactly where the problem is located right away. This will become a iterative process until narrowing down exactly where the problem is located. With the NTL file open scroll down to the very bottom of the file, what is the last line number of the file (ex. 2099):
3. Divide last line number by 2 ( ex 2099 / 2 = 1049.
4. Move to that line in the file (ex. 1049)
5. Using the Command Cards format from AutoPIPE Help, separate each command near that location (i.e. Pipe Cars, Run Card, Anchor Card, Pipe Property CArd, etc..)
6. If the line is located in the middle of a Command Card, go to the next Command Card below that line (ex. 1049 is in the middle of the Pipe Data card, go to the next line 1050, start of a new command card.) Delete all lines from this point to the end of the file, and save as a new file name (ex. PHT_NW-R01.NTL).
7. Try to Import this new NTL file into AutoPIPE. Does it crash AutoPIPE? If yes, go to next line, if not go to line Step #9.
8. Repeat Step 2 - 7 until the file can be imported in to AutoPIPE.
9. Good, a cut down version of the original NTL file was imported into AutoPIPE. What is known now, the problem of why the original NTL file failed to import into AutoPIPE exist from the last point in the file that was imported (Line 175) and the previous file that did not import into AutoPIPE Line (350). Again no one knows for sure where. Therefore narrow down the location by using the same technique above.
Example:
a. Last line number in the file that un-successively imported into AutoPIPE was Line No. 350.
b. Last line number in the file that successively imported into AutoPIPE was Line No. 175.
c. Take the total number of lines between these 2 values (ex.175 line) , divide by 2 (ex. 87 lines), and remove that many more lines ( ex. 350 - 87 = 263). Again go to that Line number (ex. Line # 263), locate the next Command Card, and delete line from that point to the end of the file.
10. At some point, there will be fewer than 20 lines between the file that was imported (ex. Line 230) and the file that was NOT imported (ex, Line 250). The problem on why this file will not import is located somewhere between these lines. At this point, just review each line in the file against the Command card in AutoPIPE help to be sure the format is correct.
11. Upon review of the 20 lines above, all the format per the Command Cards are correct. If that is true then where is the problem on why this file will not be imported into AutoPIPE. Ahhhh... the next question to be asked, "what is it about these component does AutoPIPE not like???". Can the above be modeled in a new model in AutoPIPE as indicated above?. Try it.
Example:
a. Create a new model in AutoPIPE.
b. Insert a start point,
c. Insert a Run dx = 520
d. Insert SIF
e. Insert incline support
f. Insert Run
g. Insert Tee.
h. Insert Run
i Insert SIF
j. Insert new PIPE identifier
k. Insert new operating load
l. Insert Run
m. Insert Tee
n. Insert Valve.
This is the problem, according to the WIKI about this error message (E38-95), a valve cannot be the next component after a tee.
Option #1: Go back to the program that created this file and correct the problem there, export a new NTL file and import it into AutoPIPE.
or
Option #2: Manually insert a new Run line in the file as instructed by the Run Command Card.
Add this fix into the original NTL file and try to import it.
Does the new updated NTL file import into AutoPIPE ?
Yes. - Fantastic, you have solved the issue and can now continue to work on your imported model in AutoPIPE.
No - the newly updated file still does not import into AutoPIPE, why? and what to do.
Apologies, that this did not fix the issue entirely, but is one of possibly many reasons why this particular file was not imported into AutoPIPE. The only option is to re-start at Step #1. This is the only solution. Again, there maybe 1 or many more problems with a given file. In the example shown above there were 5 such locations where a Valve was the next component after a Tee.
It took one more iteration after the original review to find the next occurrence at line number 354. Then upon a complete review of all Tees in the model reviled 3 additional locations where the same problem occurred. After manually fixing all 5 locations in the original NTL file it was imported successfully into AutoPIPE.
Again, this is an iterative process. Only advice is to be patient, meticulously review the NTL file against the Command cards, and be vigilant if the components can actually be modeled in AutoPIPE as directed in the NTL file.
Bentley Technical Support KnowledgeBase
Bentley's Technical Support Group requests that you please submit any comments you have on this Wiki article to
the "Comments" area below. THANK YOU!