
Revit 2018.0 has the ability to generate Piping Component Files (PCF) files from fabrication level of detail piping models using a simple macro. PCF files are used in the piping industry to automate a variety of process, such as stress analysis, generation of documentation (such as isometrics), and even to automate shop equipment.
The PCF creation engine in Revit 2018 is the same as what was historically in Autodesk Fabrication CADmep, and used by some users to generate isometrics. As long as you are using Fabrication (ITM) based piping components in Revit, you can use a relatively simple macro to output the PCF file, which will include the pipe, fittings, valves, and hangers. There are some limitations in our current output, for example, we’re not presently outputting fluid information or pipe wall thickness.
Here’s the scoop on how to create a PCF file from Revit.
Macro Creation
To create the macro, follow these steps:
- On the Manage tab > Macro panel > click Macro Manager.
- In the Macro Manager window:
- Select the Application tab.
- On the right side, under Module, click Create.
- In the Create a New Module window:
- Enter the name MyPipingUtilities
- Leave the Language as C#.
- Click OK.
- In the Macro Manager window:
- On the right side, under Module, click Macro
- In the Create a New Macro window:
- Enter the name ExportSelectionToPCF
- Click OK.
- The SharpDevelop macro editing environment will open.
You are now ready to write the associated code.
Writing the Code
There will be a pre-populated function block created as shown below.
- Between the curly braces, copy and paste the following code:
Autodesk.Revit.DB.Fabrication.FabricationUtils.ExportToPCF( this.ActiveUIDocument.Document, this.ActiveUIDocument.Selection.GetElementIds().ToList(), "C:\\temp\\somefile.pcf");
Your end result should look like the following:
That’s it! One line of code (well, four lines to improve readability).
- In the SharpDevelop menu.
- Click Build > Build Solution
- Click File > Exit
- Click Yes if prompted to save your changes.
The code will export the selected Pipe Fabrication Part elements to the filename indicated. Feel free to refine this code to change the path or further modify to suit your workflow needs.
Testing the Functionality
Now, you can try it out!
- In a model with some Pipe Fabrication Parts.
- Select the elements you want to output.
- On the Manage tab > Macros panel > click Macro Manager
- Select the Application tab
- Expand (if necessary) the tree so you can select ExportSelectionToPCF under MyPipingUtilities.
- Click Run.
- Verify that the file was created in the indicated location.
Sample Result
Once you have the PCF file generated, you can try it out in your targeted workflow.
I used the Plant 3D PCF to ISO feature to generate a single line isometric.
Here’s the original model in Revit.
Here’s the resulting isometric.
We would love to hear your feedback on this functionality, it will help us prioritize the refinement to achieve the workflows important to you.
See Part 2: Exporting PCF Files from Revit 2018 – Part 2 (Assemblies) to learn how to create a PCF file from Revit.
Hi. Can the code be updated for each pipeline reference to be exported as separate PCF file? Very good job btw and very useful macro. Thanks for your support.
I tried it and it does not work in 2022. I have same issue above, and can I request someone actually look into it or add this as a exporter to Revit.
Hi, My name is Nicolás. I`m new in programming on SharpDevelop, i have a doubt I`ve written the code as appears in the 1st part of the example (i´m going to do the 2nd part later )but it doesn´t work, the compiler says there is cero error, when ,i execute the macro everything seems to work fine, but it doesn´t create any PCF file in the specified directory, so, ¿How can i solve this problem?, Thanks.
Hi Martin, This is great info. I have some questions. Looking at this site, https://knowledge.autodesk.com/support/revit-products/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-export-valves-to-the-pcf-from-Revit.html There are steps decribed as below. 1. Before creating pcf file for valves, prepare mapping which allow transfer Revit MEP Families into MEP Fabrication Parts (valves, pipe/duct accessory) within Revit. 2. Exporting PCF Files from Revit 2018 3. Exporting PCF Files from Revit 2018 – Part 2 (Assemblies) Question 1. Do I have to do mapping for every family in CADMep? Question 2. I have to create spool drawings from Revit Piping Models. Can PCF files be used to create spool drawings in Plant 3D Iso (+spool option)? Question 3. For spool drawings, there are more fabrication and installation information to be added. Then, I have to use PCF to Pipe command to create 3D model and add those additional information (properties). Do you think it is possible?
Hello, I'm currently receiving the following error when I click "Build Solution" in SharpDevelop: Error CS1061: 'MyPipingUtilities.ThisDocument' does not contain a definition for 'ActiveUIDocument' and no extension method 'ActiveUIDocument' accepting a first argument of type 'MyPipingUtilities.ThisDocument' could be found (are you missing a using directive or an assembly reference?) Build failed. (00:00:00.4797229) What does this mean?
Please make sure you have selected the Application tab as indicated in step 2.
Do you know if this macro still works with Revit 2019? It looks to run but no .pcf file is ever made.
Yes, this macro should work just fine in 2019 using the MEP Fabrication Pipework category elements.
Congrats for this material. Excellent to attend workflows that still need isometric drawings