Patran PCL手册:二次开发与功能概览

需积分: 27 3 下载量 41 浏览量 更新于2024-07-23 1 收藏 1.65MB PDF 举报
本资源是一份名为"Patran PCL用户手册"的文档,主要关注于Patran(一款由MSC Software公司开发的有限元分析软件)的二次开发,特别是使用PCL (Patran Custom Language) 进行编程的基础知识。PCL是一种专门用于Patran环境中的脚本语言,它提供了强大的扩展性和自定义功能,使得用户能够自动化模型设置、数据输入以及执行复杂的工程任务。 首先,文档概述了PCL的基本功能和用途(WhatisPCL? 和 WhatcanPCLbeusedfor?),指出PCL的核心价值在于简化工作流程,无论是对于日常的方程输入(EnteringEquations)、数据输入(EnteringData)还是模型的重建(RebuildingModels)。对于那些寻求更多挑战的用户,手册还介绍了参数化建模(ParametricModeling)的可能性,这是PCL高级应用的一部分。 PCL的编程基础在"Exercise1:SessionFiles"部分得到了实践,通过实际例子帮助读者理解如何编写和使用PCL脚本。这部分内容涵盖了PCL编程的概览(Overview),包括表达式处理(PCLExpressions)、语法和注释(Expressions,Comments,SyntaxTips),以及重要的编程概念如标识符命名(Identifiers)和变量/函数作用域(Variable/FunctionScope)。结构化的PCL函数(StructureofaPCLFunction)也是关键,展示了函数定义和调用的规则。 手册还强调了文档的重要性(Documentation),确保用户能充分利用PCL的所有特性。此外,PCL的目标是让所有人都能参与其中,因此还特别提到了PCL for Everyone 的章节,旨在普及和简化PCL的使用。 总结来说,这份用户手册是Patran PCL开发者和高级用户的宝贵资源,提供了深入理解PCL语言的基础知识和实践经验,涵盖了从入门到进阶的编程指导,使用户能够定制和扩展Patran的功能,提高工程分析效率。
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