PD5957 - AutoCAD Plant 3D Piping Specification Writing Workflows Bruce Trevena Cadgroup Australia LEARNING OBJECTIVES At the end of this class, you will be able to: Understand the potential of customized cats and specs Understand the processes in the spec-writing workflow Discover a tool set for the tasks involved in writing sound customized specs Understand the potential pitfalls and quirks within the spec-writing interfaces ABOUT THE SPEAKER Bruce is a Consultant with Cadgroup Australia. 25 years experience in the engineering industry in design and construction. Oil & gas, mining, chemical, power generation, food, dairy, beverage and pharmaceuticals. SKM, Raymond Engineers, BHP, Carlton United, Alstom, AstraZeneca, GWF. Bought a Compaq 386, AutoCAD, Kurta and BJ Printer from Cadgroup in 1988. Joined Cadgroup 5 years ago coincided with Autodesk s release of Plant 3D. His role includes technical consulting, training & Content Development to a wide range of companies. Also lived and worked in England and Sweden. btrevena@cadgroup.com.au
CATALOGS STYLES OF CATALOGUE There are several styles of Catalog available with AutoCAD Plant 3D software: The AME DI, Plastic and Steel catalogs with Block based components Connections and ratings Imperial units AME Catalog The GENERIC catalogs to professional design codes: The ASME, AWWA, DIN Parametric component geometry Vendor agnostic Some Schedule, material and Weight data Units are to the code Specs descriptions can be written using styles 2
Description Styles Management 1 Definition Interface Description Styles Management 2 Definitions stored in xml file Description Styles Management 3 Default Definitions save location 3
VENDOR CATALOGS AVAILABLE FROM THE APP STORE. Alfa Laval, Bondstrand, Ipex, Georg Fischer, ResistoFlex, Spears, VICTAULIC Material defined Schedule defined Note: Some more complete Components uniquely identified Scope to add ItemCodes, User Properties Metric and Imperial units required Example Vendor Catalog Content Victaulic viewed in Excel 4
PLANT DATA ARCHITECTURE CATALOG TO SPEC TO PROJECT AutoCAD Plant 3D architecture facilitates the passing of data from Catalog to Spec to Project Database. Investing in the development of the Back-End catalogues can have positive benefits on: Consistency Efficiency Risk CATALOG SPEC SPEC SPEC SPEC SPEC SPEC SPEC SPEC SPEC SPEC SPEC SPEC PROJECT PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE DATABASE PROJECT PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE DATABASE PROJECT PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE DATABASE PROJECT PROJECT DATABASE PROJECT DATABASE PROJECT DATABASE PRO DATABAS DAT 5
CATALOG ENHANCEMENTS ADDING ENHANCEMENTS TO CATALOGUES What can be added to the catalogs Complete the addition of pipe Schedules allows Weight to be added ItemCode to be added Add User Properties for Metric Weight, Metric Size Cost Code Create Content not currently available Bevel Seat Add 3D Vendor Content for visual realism Downloadable Visually Realistic 3D Content 6
WHERE TO SOURCE CONTENT Where to source additional content Vendor Manuals Engineering Standards such as API, ASME, AS/NZS, BS, DIN, AWWA, EN, ISO, JIS, MSS, Online resources such as Engineering ToolBox,. Vendor Component Catalog 7
Engineering Standards On-Line Toolbox 8
SPECS WRITING TO SPEC Spec is a Filter Set of the Catalog For Vendor Specs there may be no filtering required For Project Specs there will be Spec Data Sheets Spec Data Sheets Spec Data Drawing Spec Size Range Spec Size Filter Spec Branch Selection Note 4 x Schedules used in following example Size Selection 9
Size Filtering Branch Table 10
Spec Datasheet example Spec Datasheet example 11
WORKFLOWS SIMPLE CATALOG TO SPEC WORKFLOW 1. Spec Data Sheet. 2. Engineering Dimension Standards 3. Copy and Edit Existing Catalog Item 4. Set Connections / Descriptions / Dimensions 5. Set SKEY Values 6. Add Catalog items to Spec 7. Filter Size Selection to Suit Datasheet 8. Build Branch Table 9. Confirm Part Priority 10. Copy Spec to Project 11. Test Spec 12
COMPREHENSIVE SPEC WRITING WORKFLOWS 1. Spec Data Sheet or Vendor Catalog. 2. Engineering Dimension Standards 3. 3D Block Libraries 4. Create 3D Blocks / Set Units / Run Plant Part Convert 5. Set Valve BodyTypes in P3DEnumeration.xml 6. Set EndTypes in DefaultConnectorConfig.xml 7. Set SKEY Mapping in IsoSkeyAcadBlockMap.xml 8. Build Isometric Symbols for new items 9. Edit Existing Catalog Item 10. Copy and Edit Existing Catalog Item 11. Add New Parametric Items 12. Add New Block Based Item 13. Set Connections / Edit Data / Define Custom Properties 14. Export to Catalog Builder or Excel. 15. Edit Descriptor Styles / Add Property Data / Add Item Codes / Add Weights 13
16. Import to Catalog 17. Set Bolt Length Mapping 18. Set SKEY Values 19. Assign Actuators 20. Add Catalog items to Spec 21. Confirm Part Priority 22. Build Branch Table 23. Filter Size Selection to Suit Datasheet 24. Copy Spec to Project 25. Add Spec to P&ID Spec List 26. Test Spec 27. Build Content Pack WORKFLOW TOOLS Complex catalog writing workflows require a number of tools: 1. Catalog and Spec Editor 2. Catalog Builder 3. Excel 4. Visual Basic 5. XML Editor such as First Object or Notepad 6. AutoCAD Plant 3D 14
3 X EXAMPLE WORKFLOWS EXAMPLE WORKFLOW 1 ADD A CUSTOM COMPONENT Fire Services company, Andec wanted clamp-on branch connections that did not break the pipe Note The Tools used Video 15
Adding a Clamped Branch Workflow 3D Block Libraries Build Isometric Symbols for new items This workflow details the addition of Block Based components not found in Victaulic Catalog Add Catalogue items to Spec Create 3D Blocks / Set Units / Run Plant Part Convert Add New Block Based Item Set SKEY Values Copy Spec to Project Set SKEY Mapping in IsoSkeyAcadBlock Map.xml Edit Anonymous Block if necessary Test Spec BUILD PRESET CATALOG BLOCK TUNE SPEC TEST 1. 3D Block Libraries 2. Create 3D Blocks / Set Units / Run Plant Part Convert 3. Set SKEY Mapping in IsoSkeyAcadBlockMap.xml 4. Build Isometric Symbols for new items 5. Add New Block Based Item 6. Edit Anonymous Block if necessary 7. Set SKEY Values 8. Add Catalogue items to Spec 9. Copy Spec to Project 10. Test Spec 16
17
18
19
EXAMPLE WORKFLOW 2 ADD USER PROPERTIES Caltex wanted to add Reducing Size to their reports They also wanted Metric units. 20
Add a User Property Workflow CAT and SPEC EDITOR / Create Custom Properties This workflow details the declaration of User Properties to the Catalogue, the population of data, the migration of this data through the model to Isometrics and BOM s. Export to Excel Copy Spec to Project Add data using Excel / VB Run Check for Updates From Catalogue Add Custom Properties to Spec Add Property to 3D Object Class in Project Test Spec Add Property to Report Creator CATALOG SPEC PROJECT TEST REPORT 1. CAT and SPEC EDITOR / Define User Properties 2. Export to Excel. 3. Add data using Excel / VB 4. Add User Properties to Spec 5. Run Check for Updates from Catalogue 6. Copy Spec to Project 7. Add User Properties to 3D Object Class in Project 8. Test Spec 9. Add Properties to Report Creator 21
22
23
24
25
EXAMPLE WORKFLOW 3 INLINE INSTRUMENT MAPPING CPC wanted to add Inline Instruments to their P&ID to model workflow Video 26
Workflow Create 3D Block of Inline Instrument (FlowMeter) Run PlantPartConv ert Add FlowMeter body type to P3DEnumeration.xml This workflow details the representation of In-Line Instruments in the Catalogue & the mapping of data from P&ID to Plant 3D Set ValveBody property to FlowMeter Add 3D block to catalogue under Valve Body component category Copy FlowMeter to spec Copy spec to project Add FlowMeter class to P&ID InlineInstrumen ts Create P&ID FlowMeter Symbol Add to Palette Map P&ID FlowMeter class to P3D Valve FlowMeter body BUILD PRESET CATALOG SPEC PROJECT MAPPING 1. Create 3D Block of Inline Instrument (Flow Meter) 2. Run PlantPartConvert 3. Add FlowMeter body type to P3DEnumeration.xml 4. Add 3D block to catalogue under Valve Body component category 5. Set ValveBody property to FlowMeter 6. Copy FlowMeter to Spec 7. Copy spec to Project 8. Add FlowMeter class to P&ID InlineInstruments 9. Map P&ID FlowMeter class to P3D Valve FlowMeter body 27
28
29
30
31
CONTENT VENDOR CONTENT Lisega 32
CADGROUP CONTENT Developed Parametric Content Content Built using Parametric Primitives Couplings added HDPE for Laing O Rourke Socket Stub-Ins added to PVC TubePress Library for IBEX HDPE 33
upvc and cpvc TubePress 34
Developed 3D Block Content Content Built using 3D Block Graphics TriClamp Bevel Seat Block And Bleed Cable Ladder Note Isometric output TriClamp 35
Mix Proof and MultiPort Valves Bevel Seat Fittings 36
Cable Ladder Isometric Output 37
Note Valves assembled from individual body components are not intended to be represented on isometrics. However it is possible to assign specific valve configurations assembled from these body components, blocked out as a single component and assigned an SKEY. VIDEO 38
SUMMARY OF ADVANTAGES What are some of the potential advantages? Provide flexibility with Imperial and Metric data for reporting Added Visual realism in your models Model piping systems using components and connection systems not currently available Produce specs that are more constrained making design workflow simpler 39
APPENDIX FILES USED IN SPECIFICATION WRITING CATALOG & SPEC EDITOR <PipingCatalogueName>.pcat <AccessoryCatalogueName>.acat <SpecName>.pspc <SpecName>.pspx P3dEnumeration.xml Description Styles.lds Piping Catalogue File Auxiliary Catalogue File A Spec Catalogue extract A package file that references the PSPC. Inline component Body Type definition file Spec Long Description concatenations 3D PIPING CPakCommon\<PipingCatalogueName>\<BlockLibraryName>.dwg DefaultConnectorsConfig.xml 3D Pipe Connection Definitions PIDTo3dClassMapping.xml Geometry and Property Mapping PIDto3DSizeMapping.xml Size Mapping ProjectSetupSpecUpdateSettings.xml Spec Update to Model settings ISOMETRIC BoltSizeMapping.xml IsoSkeyAcadBlockMap.xml isoconfig.xml IsoSymbolStyles.dwg Customize Direction Text for Actuators (Correction of 2.25 and 2.5 required) Catalogue SKEY to Isometric Symbol Mapping Isometric Configuration Isometric Symbol Blocks 40
Correction to BoltSizeMapping.xml 41
CATALOG AND SPEC WRITER INTERFACE TIPS Some Tips to the interface that are not immediately obvious ActuatorType in Catalog Backing Rings Backing Rings HDPE Insertion Depth pipe graphic Lap Stub-Ins Pipe Nipples PlantPartConvert Victaulic Weight Unit Preview text when selecting actuators for placement on valves Allow Offset for Shoulder Thickness Use FL on P1 AND LAP on P2 Pipe OD does not sync with Flange ND Does not alter Pipe Length, just the clip back distance of the Use LAP on P1 AND PPL on P2 Need I and D dimensions values at P1 and P2 Re-editing the 3D Block need to run PlantPartConvert again Edit clamp dimensions Changing unit setting does not change the weight data value 42
VISUAL BASIC CODE USED TO CONVERT IMPERIAL SIZE ENTRIES TO METRIC The following macro allows for the simple conversion of imperial units to metric. It effectively enables the creation of a Metric ASME catalogue by adding a column of Metric sizes that can be referenced for use in reports, BOM s, Isometric, etc.. Copy to following code to a new Macro in Excel. Export the Full Catalogue to Excel after adding the new Metric Size property. Adjust T:T column reference at the start of the macro to suit. Copy imperial units from Size column to the new MetricSize Property column. Run the macro. Note the particular order of the imperial sizes listed for conversion to avoid corruption. 3/8", 1/8" are run before 8", 2 1/4", 1 1/4" are run before 1/4", 2 1/4", 1 1/4", 3/4", 1/4" are run before 4", 3 1/2", 2 1/2", 1 1/2" are run before 1/2", 3 1/2", 2 1/2", 1 1/2", 1/2" are run before 2", 43
CODE Sub SizeImpToMetric() ' ' SizeImpToMetric Macro ' ' Imp_to_Metric_Size_Edit Macro ' Update Size dimensions from Inches to mm. ' Columns("T:T").Select ActiveSheet.Unprotect Selection.Replace What:="96""", Replacement:="2400mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="84""", Replacement:="2100mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="72""", Replacement:="1800mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="60""", Replacement:="1500mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="58""", Replacement:="1450mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="56""", Replacement:="1400mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="54""", Replacement:="1350mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="52""", Replacement:="1300mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="50""", Replacement:="1250mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="48""", Replacement:="1200mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="46""", Replacement:="1150mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="44""", Replacement:="1100mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="42""", Replacement:="1050mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="40""", Replacement:="1000mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="38""", Replacement:="950mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="36""", Replacement:="900mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="34""", Replacement:="850mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="32""", Replacement:="800mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="30""", Replacement:="750mm", LookAt:=xlPart _ 44
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="28""", Replacement:="700mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="26""", Replacement:="650mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="24""", Replacement:="600mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="22""", Replacement:="550mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="20""", Replacement:="500mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="18""", Replacement:="450mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="16""", Replacement:="400mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="14""", Replacement:="350mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="12""", Replacement:="300mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="10""", Replacement:="250mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="3/8""", Replacement:="10mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="1/8""", Replacement:="6mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="8""", Replacement:="200mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="6""", Replacement:="150mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="5""", Replacement:="125mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="2 1/4""", Replacement:="60mm", LookAt:= _ xlpart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="1 1/4""", Replacement:="32mm", LookAt:= _ xlpart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="3/4""", Replacement:="20mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="1/4""", Replacement:="8mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="4""", Replacement:="100mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="3 1/2""", Replacement:="90mm", LookAt:= _ xlpart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="3""", Replacement:="80mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="2 1/2""", Replacement:="65mm", LookAt:= _ xlpart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 45
Selection.Replace What:="1 1/2""", Replacement:="40mm", LookAt:= _ xlpart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="1/2""", Replacement:="15mm", LookAt:=xlPart _, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="2""", Replacement:="50mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Selection.Replace What:="1""", Replacement:="25mm", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub 46
SPEC DRIVEN P&ID S Spec Driven P&ID interface can be developed in AutoCAD P&ID Preset Line Classes by Spec Add to palette Inline Components acquire Spec when placed Valve Types can be added to Spec palette 47
48