PATRAN PCL开发指南:入门与高级功能

5星 · 超过95%的资源 需积分: 11 37 下载量 20 浏览量 更新于2024-08-01 1 收藏 2MB PDF 举报
标题:"Patran的PCL用户手册"是一份详细指南,专为那些希望进行MSC Patran的PCL(Procedural Control Language)二次开发的用户提供深入理解和实用操作的基石。PCL是Patran中的一种高级脚本语言,用于自动化模型处理、数据输入和交互式界面设计,使得用户能够扩展和定制Patran的功能。 在手册中,首先介绍了PCL的基本概念和用途。PCL是Patran的核心工具,它支持用户编写自定义脚本,能够执行诸如创建、修改和管理工程模型、执行数值计算以及控制工作流程等任务。对于那些初次接触PCL的用户,"In a Nutshell"章节会给出简明扼要的介绍,帮助读者快速上手。 "文档"部分着重于PCL的官方文档和学习资源,确保开发者能获得完整的参考和支持。手册强调了在PCL编程中理解基础概念的重要性,如"Entering Equations"和"Entering Data",这些都是编写有效脚本的基础。 "Session Files"章节讲述了如何保存和加载工作环境,这对于管理和复用代码片段至关重要。此外,手册还涵盖了如何通过"Rebuilding Models"来更新或重构模型,这对于大型复杂工程项目的管理非常有用。 对于寻求更高级功能的用户,手册提供了"Parametric Modeling"和"Adding a Graphical User Interface (GUI)"等内容,帮助他们将PCL与图形用户界面结合,提升用户体验和工作效率。 "Exercise 1: Session Files"引导读者通过实际操作练习,巩固所学的PCL基础知识。而"PCL Programming Basics"则深入探讨了编程原理,包括表达式处理、语句结构、标识符命名规则以及变量和函数的作用域。 结构化地,每个PCL函数都遵循特定的框架,"Structure of a PCL Function"部分详细解释了如何构建一个完整的函数,包括输入参数、函数体和可能的返回值,这对于编写高效且可维护的脚本至关重要。 "Patran的PCL用户手册"不仅为初学者提供入门路径,也为经验丰富的开发者提供了丰富的实战指导和技术深度。通过深入理解并实践手册中的内容,用户将能够充分利用PCL进行高效的模型管理和工程自动化。
2009-04-17 上传
In a Nutshell 6 What is PCL? 6 What can PCL be used for? 7 How does PCL work? 8 All you really need to know is on this page! 9 Documentation 9 PCL for Everyone 10 Entering Equations 10 Entering Data 11 Session Files 12 Rebuilding Models 13 PCL for the More Adventurous 16 Parametric Modeling 16 Adding a Graphical User Interface, GUI 20 Exercise 1: Session Files 21 PCL Programming Basics 23 Overview 23 PCL Expressions 25 Expressions, Comments, Syntax Tips 25 Identifiers 27 Naming Conventions 27 Variable / Function Scope 28 Structure of a PCL Function 29 Function Basics 29 Simple PCL function Example 30 Exercise 2: Hello World! 32 Exercise 3: Effective PCL 33 PCL Operators 34 String comparisons 34 PCL Variables and Constants 35 Datatypes 35 Variable Scope 36 Directly Allocated Arrays 37 Virtual arrays 38 Virtual strings 40 Loop Control Statements 41 For Loop 41 While Loop 41 Repeat Loop 42 BREAK 43 CONTINUE 44 Exercise 4: Writing Files 45 Exercise 5: Reading Files 47 Conditional Control Statements 48 IF Statement 48 SWITCH Statement 49 Structure of a PCL Function 50 Compiling and Linking PCL Functions 53 Primary PCL Directives 54 Compiling PCL outside of MSC.Patran 58 Linking Compiled Libraries 59 Other PCL Directives 60 Start Up Files 61 Exercise 6: p3epilog.pcl 62 Debugging 63 Debugging Compile Errors 63 Debugging Runtime Errors 64 Accessing PCL Functions 66 From The Command Line 66 From Any MSC.Patran Form 67 PCL Functions with Field Variables 68 MSC.Patran Built-In Functions 69 Naming Conventions for Applications 70 Naming Conventions for Other Operations 71 Exercise 7: Group Elements By Shape 73 Graphical User Interface 74 The PCL Class Statement 75 PCL Widgets 76 Required Functions for Building/Displaying a Form 77 The init() Function 77 The display() Function 78 Widget Callbacks 81 What Are They? 81 What Are They Used For? 82 Callback Arguments (Widget Function Data) 82 Widget Placement 84 Widget Variables 86 Modifying Widgets 87 Getting Data from Widgets 88 Putting it all Together (Example) 89 Exercise 8: Simple Form 91 The C-Preprocessor and Include Files 92 Make Files 93 Exercise 9: Callbacks 95 Handling Errors and Messaging 97 Errors from Built-In Functions 97 Custom Error Messages 98 Using User Messages Database 98 Without a Messages Database 99 Taking Advantage of the UNDO Feature 101 Select Mechanism 102 Select Mechanism GUI Mechanics 102 Select Databoxes, Select Frames, and Select Menus 102 GUI PCL Example 104 List Processor 105 List Processor Mechanics 105 All You Really Need to Know 106 Exercise 10: Form to Group Elms By Shape 109 Executing Programs Outside of MSC.Patran 111 Spawning Remote Processes 111 Locking a database 113 Using C and Fortran executables to access a MSC.Patran database directly. 114 External Access of an MSC.Patran Database 115 Special Widgets 117 File Widget 117 Spreadsheet Widget 120 Exercise 11: File Widget 121 Adding Help/Description to your PCL 122 Percent Complete 123 Functions 123 Example 123 Event Manager 124 General 124 Functions 125 Example 125 Primitive Graphics 126 Graphic Objects 126 Graphic Segments 127 Example 128 Another Example 129 Exercise 12: Primitive Graphics 130 MSC.Patran Customization 131 Adding Utility Programs to the Main Menu 131 Example 132 Example: p3_user_menu.my_menu.def 133 Customizing the MSC.Patran Toolbar 134 Exercise 13: Pulldown Menu 137 Exercise 14: Toolbar 138 Some Final Thoughts 140 Appendix A 143 Built-in Function Examples 143 Documentation for a typical MSC.Patran built-in function. 144 To get all the nodes and their global coordinates 145 To get the topology of every element 146 To get the shape of every element 147 To get all the element connectivity for all elements 148 To get the elements associated to a particular element property set 149 To get an element property value (shell thickness) for a specific element 150 To get a material property value 152 To get a list of all groups 153 To get the nodes and elements associated to the current group 153 To get result values for specified elements 154 Appendix B 163 Strings & String Functions 163 Declaration 164 Initialization 164 String Comparisons 164 Functions 165 Appendix C 173 Noteworthy Functions 173 sys_move_raw(…) 174 mth_array_search(…) 175 mth_sort(…) 176 mth_sort_row(…) 177 mth_sort_column(…) 177 fem_geom_edge_length(…) 178 fem_geom_face_area(…) 178 fem_geom_elem_volume(…) 178 fem_geom_elem_location(…) 179 Appendix D 180 Form Spacing Parameters (appforms.p) 180 * SPACING 181 Appendix E 206 MSC.Patran Architecture 206 Appendix F 208 Shareware Compiling Functions 208 Appendix G 211 Parametric Patran 211 Appendix H 217 Additional List Processor Notes 217 List Processor Mechanics 218 List Processor Functions 219 List Processor Sublist Functions 220 List Processor Attribute Functions 221 Miscellaneous List Processor Functions 222 List Processor Examples 223 Easy to Use List Processor Functions 227 Appendix I 228 Key Mapping 228 Appendix J 231 Widget Classification 231 Appendix K 234 User Defined AOM 234