cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

Creo Parametric Tips

Sort by:
Check out this video on Plastic Part Design from PTC Application Engineers Presenters: Lino Tozzi (Technical Specialist, Fellow) and Tom Quaglia (Creo Segment Sales )  (view in My Videos)
View full tip
Hello all and welcome to another blog post in this multibody blog series. Todays topic: Construction bodies! Construction body are a pretty unique, powerful concept in Creo’s multibody implementation. As such it is really important to know about them and to understand how to use them. So, what are construction bodies? Construction bodies are bodies that are used for the design of your model, but do not contribute to the final geometry or mass. That means that similar on how you used quilts in the past to create additional geometry helping with the construction of your design, you can now do the very same with solid geometry. The construction attribute of these bodies will then help you to differentiate that geometry and automatically exclude it. Excluding them from mass properties is just one out of more than a dozen workflows where they are treated special. You will find more details in the video.   (view in My Videos) Thanks for reading.  I hope it was informative. If you liked it, give it a Kudo.   Back to Creo 7.0 & 8.0+ Multibody Home: Start Here!   Enjoy!....Martin
View full tip
Check out this great video on Creo Surfacing  from PTC Application Engineers!   Presenters:  Mark DeCraene (Generalist Application Engineer, Principal), Lino Tozzi (Technical Specialist, Fellow) and Ryan Butcher (Technical Specialist, Fellow)   (view in My Videos)         To dive deeper into the subject, check out PTC University.
View full tip
Welcome to Creo Tips and Techniques Series    Main Presenters:  Ryan Butcher (Technical Specialist, Fellow) and Lino Tozzi (Technical Specialist, Fellow)   Below you will find all the related webcast recordings and recommended additional learning resources.     Webcast Title Description Learn Online Classes/Resources 1 Learn Online Classes/Resources 2 Creo Multi-Body Design   Creo: Multibody Design Class Info   Creo and Augmented Reality   Augmented Reality Class Info   Creo:  Generative Design Automated geometry creation using design criteria Creo: Generative Design Class Info Creo Generative Design Tutorials Creo:  Simulation Live Real time simulation during design Creo Simulation Live Class Info Creo Simulation Live Tutorials Creo:  Flexible Modeling Direct modeling features to edit imported data Creo: Flexible Modeling Class Info Creo Flexible Modeling Tutorials Ansys Simulation   Ansys Simulation Class Info   Harness Design Used with cabling to create harness mfg drawings Cable Routing & Harness Class Info Cable Routing & Harness Class Info Manufacturing Automation  Tools for mfg efficiencies Mfg Training  Class Info   Additive Manufacturing Design for 3D printing Additive Manufacturing Class Info   Advanced Assembly Advanced techniques for assemblies Creo Advanced Assembly Class Info   Behavioral Modeling Automated design intent Behavioral Modeling Class Info   Surfacing Tips & Techniques Core Surfacing-ISDX-Freestyle Surfacing Class Info ISDX Class Info Creo Mechanism Dynamics Creo Motion analysis Creo:  Assembling with Kinematics Connections Class Info Creo:  Mechanism Design & Analysis Class Info Mathcad Express   Mathcad Tutorials   Design Exploration & Intelligent Fastener (IFX) Explore multiple design concepts; automatic assembly of fasteners Design Exploration Tutorials Intelligent Fastener Tutorials Tool Design/Mold Analysis Mold design and flow analysis Mold Design Tutorials   High Speed Machining   Axis High Speed Milling Info   Prismatic & Multi-Surface Milling Standard mfg in Creo Creo: Introduction to Milling Class Info Creo:  Introduction to Turning - COMING SOON Creo Unite & Import Data Doctor MultiCAD design collaboration Creo Unite Technology Tutorials   Plastic Part Design   Plastic Part Design Overview   Large Assembly Management Top Down design Creo: Using Assembly Skeletons for Top-Down Design Class Info   Creo Sheetmetal Design   Creo Sheetmetal Class Info Creo Sheetmetal Tutorials Reverse Engineering Use scan data to create new part designs     Advanced Modeling Techniques Techniques for Sketcher, Selection, Sweeps, Deformation, Blends     Creo Simulate Advanced Creo based Advanced Simulation Creo Simulate Advanced Tutorials   Creo Render Studio Photo render your models Creo Render Studio Tutorials   Creo Model Based Definition 3D drawings (model centric designs) Creating Annotations using MBD Modifying & Publishing Annotations using MBD Creo Automation Creo based automation tools:  Macros, Programming, Options Modeler Creo Automation Tutorials   Creo Manikin Ergonomic studies with manikins Creo Manikin Tutorials   Creo Schematics Routed Systems design for all types of schematics Creo Schematics Class Info Creo Schematics Tutorials Creo View Interference Lightweight view of CAD designs Creo View Tutorials   Creo Clearance & Creepage Analysis Clearance and Creepage analysis for electrical designs     What's New in Creo 8 & 9   What's New in Creo 8 & 9 Tutorials What's New in Creo 8 & 9 Blog ECAD/MCAD Collaboration MCAD designer and ECAD designer collaboration Data Exchange Tutorials   PTC University PTC Creo training     Advanced Framework Extension Design of steel structures Advanced Framework Extension Tutorials Advanced Framework Ext Tutorial Creo Flow Analysis Simerics based CFD Creo Flow Analysis Tutorials   Creo Ansys Simulation Full Ansys based solution embedded in Creo Creo Ansys Simulation Class Info Creo Ansys Simulation Tutorials What's new in Creo 9   What's New in Creo 9   Piping Design 3D routing of piping design Piping Design Tutorial Get Started with Creo Parametric Piping Creo Layout & 2D Sketching Axis concentric design layout in 2D Creo Layout & 2D Sketching   Progressive Die Design Design of sheetmetal stamped parts About Progressive Die Design   Virtual Interconnect Libraries for schematic design Virtual Interconnect   Design Automation for Creo Partner automation tools CadActive   Creo Automation with Smart  Assembly Partner automation tools SIGMAXIM   DFMPro Design for mfg (Partner) HCL DFMPro   Creo Option Modeler Design optionality in Creo Assemblies Creo Options Modeler   What's New in Creo 10   What's New in Creo 10 Tutorials   Creo Ansys Simulation Full Ansys based solution embedded in Creo Creo Ansys Simulation Tutorials   Creo Composites   Creo Composite Tutorials   Creo:  Things You Might Know But Probably Don't   Creo Tutorials   Multi-Axis Milling with Creo NC   Intro to Milling   Creo Additive Manufacturing   Intro to Additive Manufacturing   Creo Patterns   Creo Patterns Tutorials   Sketcher   Sketcher Tutorials   Turning       Creo 11       Advanced Modeling       Geometry Analysis       Product Insights         You may also find similar content in our East Coast Webcast Series  series.
View full tip
Check out this great video about Multi-Body Design. Presenter:  Lino Tozzi and Ryan Butcher Date Presented:  February 16, 2021   (view in My Videos)   Take a deeper dive into this topic here, with this PTC University course. Creo: Multibody Design
View full tip
Hello Multibody community!   Welcome to a second post on multibody capabilities added in Creo 7.0.1. What I had not yet been fully covering in the last post was how Creo & Windchill interact as it relates to the multibody concept. So, here a summary of Multibody support for Windchill & Visualization General behavior Multibody parts are managed similarly to single body parts, bodies are not exposed Windchill versions prior to Windchill 12 Body designation information is ignored when connected to a Windchill Server version not supporting body designation yet Publishing of multibody parts to Creo View is supported since Creo View 6.1 (including exposure of bodies to Creo View) Windchill 12 & Creo 7.0.1 Support of Body designation, including Transfer of Body designation information from Creo to Windchill for models containing designated bodies WT part creation for designated bodies if BOM Designation is set (.prt, .asm) IBA mapping & propagation for body materials and mass property parameters Note on Windchill configuration: those attributes have to be added to the Body (under Model Items) type definition. They need to be part of the type definition similar as typically being done for the CAD Document type.   Here is a quick demo of the above capabilities (view in My Videos)   Back to Creo 7.0 Multibody Home: Start Here!   Enjoy!....Martin      
View full tip
How to trace image
View full tip
With Creo Additive Manufacturing Extension you can now add lattice based on the Delaunay algorithm and more. In this tutorial, you can learn How to apply new lattice functionality to the model and How to prepare 3D model with the logic of Multibody Design.
View full tip
In this tutorial, you can learn How to prepare 3D model with the logic of Multibody Design and How to use Creo Generative Topology Optimization extension - How to automatically creates innovative product designs based on engineering requirements. With Creo Generative Topology Optimization you can reduce development time and expense with high-quality, lower-cost, manufacturable designs.
View full tip
How to import surface model and repair to Solid by IDD
View full tip
Practical example - how to combine Flexible modeling with Surface and Solid modeling on imported geometry. Used features: Flexible Remove Feature, Boundary Blend, Extend, Copy and Paste Geometry, Merge, Solidify, Flexible Attach, Flexible Move, etc.
View full tip
In this tutorial, you can learn How to create toroidal sweep and how it is possible to drive the shape by dimensions, relation and parameters.
View full tip
Creo Parametric: Multibody Home --  Start Here!   I'm creating this blog to be the central home page for anyone interested in trying out the new capabilities first introduced in Creo 7.0  that support multibody design. Below will be links to other blog posts on specific detailed topics under the general heading of multibody. I'm interested in getting your feedback on all the new stuff, but I also want to try to do this in a somewhat organized fashion. So, you can think of this blog as the top node of a tree that will have a number of branches below it for the various multibody related topics.   In parallel to the list of blog posts below, I also plan to maintain a Multibody Infos post that provides you with links to further information, documentation, presentations, and any other information bits and pieces around multibody design in Creo. To get going effectively, I encourage you to first go through the What’s new material and tutorials that you find there, so that you have an overview and high level background on the use cases and capabilities. That will allow me then to go one level deeper and include some tips, tricks etc. in the blog posted here. I hope to be able to post new information regularly and hope you tune in, find it beneficial and give feedback in return.   If you want to send me private messages, that’s fine, too. In particular if you have any suggestion on future blog post topics or questions, feel free to contact me at mneumueller@ptc.com . Enjoy…Martin   Blog posts: Multibody – Intro, Model tree interaction and What’s that default body doing? Multibody- Seven 90sec-Tipps & Tricks around Booleans & Split Multibody - So many ways to trim a body Multibody - Creo 7.0.1 Enhancements  Multibody -  Windchill 12 & Creo 7.0.1 Multibody –How to display a body parameter in the model tree  Multibody – How to display, use or call-out a body parameter – Part 1  Multibody - How to display, use or call-out a body parameter – Part 2 Multibody - Body selection, Body object vs Surface referencing Multibody - How to get rid of a body? -  Show/Hide vs Remove Body vs Delete Body Multibody - How to save out a single body to .stl or step? Multibody - How does this all work with reference parts for MoldDesign and  NC?  Multibody - What are these Construction bodies? and all the details around them…. How to create a body intersection curve and what might it be good for? Multibody - How do I >position< bodies?  Multibody - A simple body-based motion envelope cutout example Multibody - Clearance & Creepage Analysis Multibody - Model Tree Auto-locate capability: Update – Creo 7.0 vs Creo 8.0 & Creo 9.0 Multibody - External Copy Geometry (ECG) and body attribute propagation Multibody –  A "Geometry Re-use"- Use Case that became possible with new capabilities in Creo 10.0  ..... And more to come…
View full tip
Attached to this blog post is a short presentation on the new enhancements to Dimensions in Creo 4.0 in Drawing mode.Any questions or feedback you have related to Dimensions should be provided as comments to the blog post.That will be the easiest way for me to keep track of the comments
View full tip
As you all know Pro/Diagram is being superseded by Creo Schematics.  In Creo 4.0 we are restricting access to Pro/Diagram via a hidden configuration option and in Creo 5.0 we will officially retire Pro/Diagram turning it off completely.   To turn Pro/Diagram back on you need to add enable_obsolete_modes True to your configuration file and start Creo.
View full tip
This is a document so please edit it and add, correct, &/or clarify how you see fit.  Then we can all use this as a point of reference when dealing with Repeat Regions/BOM programming.  If you don't want to edit it but still want to contribute, then just leave a comment.  Thanks!   List of System Parameters and Model Parameters used in model/drawing (Document - CS133915): https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS133915&art_lang=en&posno=10&q=repeat%20region%20symbols&sourc…   List of Operators and Functions: Type Name syntax Explanation eg: Input   Eg: output Assignment Operator = MyVar="string" Defines, or assigns, a variable as a # or string       MyVar="H123" MyVar=10     = = No Output but defines the variable MyVar to be: H123 10 String Operators/Functions   Comparison Operators ==     == A==B     #A==#B Compares strings as equal.     Compares #s as equal "456"=="123" "456"=="456"   7==1 7==7 = =   = = NO YES   NO YES String Operators/Functions     Comparison Operators !=, <>, ~= A!=B A<>B A~=B   #A!=#B #A<>#B #A~=#B   Compares strings as unequal. (checks to see if not equal or not)     Compares #s as unequal. (checks to see if not equal or not)   "456"<>"123" "456"<>"456"     7!=1 7<>1 7~=1 7!=7 7<>7 7~=7 = =     = = = = = = YES NO     YES YES YES NO NO NO String Operators/Functions Arithmetic Operators +   + A+B   #A+#B For Strings: Concatenate strings. For Numbers: Add #s (Addition, Plus) "456"+"123"   7+7 =   = 456123 (returns a string e.g. "456123"*1="ERROR") 14 Arithmetic Operators - #A-#B Subtract #s (Subtraction, Take away, Minus) 3-2 = 1 Arithmetic Operators / #A/#B Divide #s (Division) 6/2 = 3 Arithmetic Operators * #A*#B Multiply #s (Multiplication) 6*2 = 12 Arithmetic Operators ^ #A^#B A to the Power of B (Exponent, Powers, Raised to) 2^3 = 8 Arithmetic Operators () (#A-#B)*#C Parentheses for grouping, Priority, and order of operations (3-2)*4 4*(3-2) = = 4 4 Comparison Operators ==   <See String Operators above>       Comparison Operators > #A>#B Greater than       Comparison Operators >= #A>#B Greater than or equal to       Comparison Operators !=, <>,~=   <See String Operators above>       Comparison Operators < #A<#B Less than       Comparison Operators <= #A<#B Less than or equal to       Comparison Operators | #A | #B | #C OR       Comparison Operators & #A & #B & #C AND       Comparison Operators ~,! #A == !B     #A!=B #A~=B NOT (i.e. Reverse a statement, Opposite) (                         Tilde ~ doesn't work for NOT next to a #.  Only next to operator = 7 == 7 7 == !7 7 == !4 7> 4 7>!4       7 != 7 7>=3 7!>=3 7~=7 7~=4   7 == ~7 7 == ~4 "ABC" == !"ABC" = = = = =       = = = = =   = = = YES NO NO YES YES (I guess even mathematically this is strange)   NO YES NO NO YES   ERROR ERROR ERROR Mathematical Functions abs abs(#) Returns the absolute value of a number abs(-2) = 2 Mathematical Functions acos acos(#º) Returns the arccosine of a number ACOS(0.125) = 1.445468496 Mathematical Functions asin asin(#º) Returns the arcsine of a number ASIN(0.125) = 0.125327831 Mathematical Functions atan atan(#º) Returns the arctangent of a number ATAN(0.125) = 0.124354995 Mathematical Functions atan2 atan2(#º) Returns the arctangent (inverse tangent), of the specified x- and y-coordinates ATAN2(2,3) = 0.982793723 Mathematical Functions bound bound(#x,#lo,#hi) Forces #x to be within the range of #lo to #hi. If x ≤ lo,        then output = lo. If lo ≤ x ≥ hi, then output = x If x ≥ hi,        then output = hi   (kind of the opposite as DEAD(), but not exactly)     bound(0,5,15) bound(7.25,5,15) bound(100.2,5,15)     = = =     5.0 7.25 15.0   cable_len       =   Mathematical Functions ceil ceil(#) Round # up ceil(3.25) = 4.0000   comparegraphs       =   Mathematical Functions cos cos(#º) Returns the Cosine of a # cos(2) = -0.416146837 Mathematical Functions cosh cosh(#º) Returns the hyperbolic Cosine of a # cosh(2) = 3.762195691   dbl_in_tol  dbl_in_tol (#x, #y, #r) Checks to see if x and y are within the tolerance of ± r #x, #y, #r are all real numbers Returns TRUE if abs(x-y) ≤ r Returns FALSE if abs(x-y) > r dbl_in_tol (2, 1, 1) dbl_in_tol (2,1,0.5) dbl_in_tol (10,20,9) dbl_in_tol (10,20,10) dbl_in_tol (10,20,11) = = = = = YES NO NO YES YES Mathematical Functions dead dead(#x,#lo,#hi) "Defines a range of values for x, for which the result of the function is 0." If x < lo,        then output = x–lo If lo ≤ x ≥ hi, then output = 0 If x > hi,         then output = x–hi   (kind of the opposite as BOUND(), but not exactly)     bound(0,5,15) bound(7.25,5,15) bound(100.2,5,15)     = = =     -5.0 (0-5) 0 85.2 (100.2-15) Cabling, Case Study Functions eang  eang(e_ID1, e_ID2)  Angle in radians between two entities, e_ID1 and e_ID2, of a case study   =   Cabling, Case Study Functions ecoordx  ecoordx(e_ID1)  x coordinate of the e_ID1 entity of a case study   =   Cabling, Case Study Functions ecoordy  ecoordy(e_ID1)  y coordinate of the e_ID1 entity of a case study   =   Cabling, Case Study Functions edistk  edistk(e_ID1, e_ID2) Distance between two entities, e_ID1 and e_ID2   =   Cabling, Case Study Functions elen  elen(e_ID1)   Length of the e_ID1 entity of a case study   =   Graph Evaluation Function evalgraph  evalgraph("graph_name", x) Graph evaluation function enables you to use graph features to drive dimensions through relations. The dimensions can be section, part, or assembly dimensions. graph_name—the name of a graph. x—the value along the x-axis of the graph for which the y value is returned.   =   Strings as Arguements exists  exists("x") Test if a parameter, variable, or dimension exists or not   x is a string EXISTS("ASM_MBR_NAME") EXISTS("ASM_MBR_NAME_") EXISTS("test03") = = = YES NO YES (note test03 is a defined variable in my relations) Mathematical Functions exp exp(#) e3 Returns e raised to the power of a number, where e = Euler's number = 2.718…  exp(3)=e3 =  20.085537 String Operators/Functions extract extract(#1,#2,#3) Extracts pieces of strings. #1=string analyzing #2=starting position #3=length (how many char to extract)   e.g. looking at the entire string (4324870B) Starting with the first character (4) Extract 7 characters (4324870) extract("4324870B",1,7)   Extract("4324870B",8,1) =   = 4324870   B Logical Functions False* false() false False function Returns "No" (For some reason doesn't return "False"!) False() False = = NO FALSE Mathematical Functions floor floor(#) Round # down Floor(3.25) = 3.0000 Mathematical Functions if IF(c,x,y) Similar to IF() function in Excel: c= condition statement x = what to do if true y= what to do if false (PTC documentation calls this a switching function but to me is too  basic to earn this title) IF(10==9,2,10) = 10.0 Conditional Statements if, Else, Endif IF <condition>    <what to do if condition is met>   ELSE <what to do if condition is not met> (optional)   ENDIF If--Starts the if statement Else--says what to do if statement is not bet (and is optional) Endif--(closes the if statement)   Can have IF without ELSE Can't have IF with more than one ELSE (E.g. IF ELSE ELSE ENDIF Can't have IF without ENDIF Can have nested IF statements.  Eg. IF ELSE IF ELSE IF ENDIF ENDIF ENDIF asm_mbr_name = 4564870B IF string_length(asm_mbr_name) > 7    Test01 = extract(asm_mbr_name,1,8) ELSE    Test01 = extract(asm_mbr_name,1,7) ENDIF = 4564870B String Operators/Functions itos itos(#) Integer to String-- Reads in an integer and returns a string.  If the input number is a # that is not an integer, itos rounds up, than converts to a string. itos(6) itos(6.7) = = 6 7 Mathematical Functions ln ln(#) Returns the natural log (base e) of a # ln(2) = 0.693147181 Mathematical Functions log log(#) Returns the base 10 logarithm of a # log(2) = 0.301029996   lookup_inst lookup_inst ("generic_name", match_mode, "param_name_1", match_value_1, "param_name_2", match_value_2,...) Used in ProPROGRAM Used to automatically replace the given Family Table instance with another FT instance: •generic name—Name of the generic model with a prt or asm extension •match_mode—One of the following values: –1 (find closest instance with param values less than or equal to supplied values) 0 (find instance with param values that match supplied values exactly) 1 (find closest instance with param values greater than or equal to supplied values) •param_name_1—Family table parameter name •match_value_1—Value to match against INPUT END INPUT RELATIONS INST_NAME = LOOKUP_INST ("PEG.PRT", 0, "D2", D6:0, "D1", D5:0 + 1) END RELATIONS ADD PART BLOCK INTERNAL COMPONENT ID 1 END ADD ADD PART (INST_NAME) INTERNAL COMPONENT ID 2 PARENTS = 1 (#1) END ADD MASSPROP END MASSPROP Example: Replacing Family Table-Driven Components --> "In this way, the instance of peg.prt being assembled to blockpeg.asm is controlled, based on the dimensions of the hole in block.prt."     massprop_param       =     material_param       =   Mathematical Functions max max(#) Compares 2 #s and returns the larger one max(6.2,4) = 6.2 Mathematical Functions min min(#) Compares 2 #s and returns the smaller one min(6.2,4) = 4 Mathematical Functions mod  mod(#n,#d) Modulus function.  Also known as Remainder function because gives just the remainder. e.g. n/d (numerator/denominator): 10/2=5 Remainder=0 (10/2+0/2) 10/3=3 Remainder=1 (9/3+1/3) 10/4=2 Remainder=2 (8/4+2/4)   In Programming Modulus can be useful to do many things. e.g. Determine if Number is Odd/Even [if mod(n,2)=0 then n is even] Clock arithmetic [mod(9+5,12)=2pm] Truncating decimal values Wrapping values into a certain range [given mod(n,360) to determine what quadrant a particular angle falls in for the unit circle) if Remainder       0-90, then Quad.1 if Remainder   90-180, then Quad.2 if Remainder 180-270, then Quad.3 If Remainder 270-360, then Quad.4]       Mod(10,2) Mod(10,3) Mod(10,4)           Mod(9+5) Mod(9+8,12)     Mod(400,360)   Mod(2300,360)       = = =           = =     =   =       0 1 2           2 (e.g. 9am+5hrs =2pm) 5 (e.g. 9am+8hrs = 5pm)     40 (40º is in quadrant 1)   140 (140º is in quadrant 2)   mp_assigned_mass       =     mp_cg_x       =     mp_cg_y       =     mp_cg_z       =     mp_mass       =     mp_surf_area       =     mp_volume       =   Mathematical Functions near near(#y,#y,#delta) determines if the numbers x and y are within delta of each other near(5,8,3) near(5,8,1) = = 1.0 (i.e. when true) 0.0 (i.e. when false) Logical Functions No* no() no No Function Returns "No" No() No = = NO FALSE Mathematical Functions pi pi() Returns the number for PI PI() = 3.141592654 Mathematical Functions pow pow(#x,#y) x^y Raising x to the Power of y #1=Base value #2=Exponent Pow(1,2) Pow(2,2) Pow(2,4) = = = 1.0 (i.e. 1^2) 4.0 (i.e. 2^2) 16.0 (i.e. 2^4) Strings as Arguements rel_model_name rel_model_name   or   rel_model_name()     Passing Strings as Arguments in Relations rel_model_name   rel_model_name()   =   501234 (when done on 501234.drw table repeat region relations) Strings as Arguements rel_model_type   rel_model_type   or   rel_model_type() Returns the current model type.  If you are working in Assembly mode, rel_model_type() is equal to assembly.   (note you can use with or without parenthesis) Passing Strings as Arguments in Relations rel_model_type   rel_model_type()     = DRAWING (when used in table repeat region relations) String Operators/Functions search search(string, substring) Searches for substrings. The resulting value is the position of the substring in the string (0 if not found). You can specify substrings with single or double quotes. search(asm_mbr_name,"501234") = 2 (Given asm_mbr_name is 05012340.prt) Mathematical Functions sign  sign(x,y)  Sign Transfer of y to x If y<0, the result is –abs(x) if y>=0, the result is abs(x). sign(-2,3) sign(2,3) sign(2,-3) sign(-2,-3) = = = = 2.0 2.0 -2.0 -2.0 Mathematical Functions sin sin(#º) Returns the sine of a number sin(2) = 0.909297427 Mathematical Functions sinh sinh(#º) Returns the hyperbolic sine of a number sinh(2) = 3.626860408   smt_def_ben_rad       =     smt_thickness       =   Mathematical Functions sqrt sqrt(#) Take the square root of a number sqrt(4) = 2 String Operators/Functions string_ends string_ends (string1, string2) Check to see if string1 ends with string2 Case Sensitive ("H" <NOT => "h") string_ends("h456","56") string_ends("h456H","56h") string_ends("h456H","56H") = = = YES NO YES Strings as Arguements string_length string_length(string)   string_length(<param>) Returns the number of characters in a string or parameter. string_length("als23fj") string_length(asm_mbr_name) = = 7.0 6.0 (when done on 501234.prt table repeat region relations) String Operators/Functions string_match string_match(string1, string2) Check to see if 2 strings are exactly the same or not Case insensitive ("H"="h") string_match("456","456") string_match("456","4560") string_match("h456","H456") = = = YES NO YES String Operators/Functions string_starts string_starts(string1, string2) Check to see if string1 starts with string2 Case Sensitive ("H" <NOT => "h") string_starts("h456","h4") string_starts("h456","H4") string_starts("h456","asd4") = = = YES NO NO Mathematical Functions tan tan(#º) Returns the tangent of a number tan(2) = -2.185039863 Mathematical Functions tanh tanh(#º) Returns the hyperbolic tangent of a number tanh(2) = 0.96402758   trajpar   "Trajectory Parameter" Returns a system of numbers that varies from 0 to 1 across the length of a given path http://en.wikipedia.org/wiki/Trajpar sin(trajpar*8*pi()) = creates an undulating wave Composite Curve Trajectory Function trajpar_of_pnt trajpar_of_pnt("trajname", "pointname") The trajectory parameter of a composite curve, trajpar_of_pnt, can be used in relations. The following function returns a value between 0.0 and 1.0:   =   Logical Functions True* true() true True function Returns "YES" (For some reason doesn't return "True"!) True() True = = YES TRUE Logical Functions Yes* yes() yes Yes function Returns "Yes" Yes() Yes = = YES TRUE     *Relations containing conditional statements are not sorted. A condition is an expression that is either TRUE (or YES) or FALSE (or NO). These values can be used interchangeably in the conditional statement. For example, the following statements can all be evaluated the same way: From <https://support.ptc.com/help/creo/creo_pma/r9.0/usascii/fundamentals/fundamentals/Conditional_Statements_in_Relations.html>     Pro/ENGINEER, Creo Elements/Pro and Creo Parametric
View full tip
An old article I wrote for WF2 and ModelCHECK. Forgive the non-native format, and the age of the document. However it may be useful to those still on WF2. I need to update this for WF4/5
View full tip
Do you want to learn about ProProgram? Here is the introduction tutorial:
View full tip
How to change the license file in FlexNet Admin License Server 11.10.0 How to reconfigure FlexNet Admin License Server with an updated license file How to reconfigure the license manager with a new license file How to update the license server (lmadmin) to point to a new license file Error "(-12):Invalid returned data from license server system" when executing ptcstatus.bat in Flexnet Admin License Server How to update application with a new license file if license server is FlexNet Admin License Server (lmadmin) The client software does not recognize the new license file. Unable to find ptcsetup.bat to update the new license
View full tip
Attached to this blog post is a short presentation and a video on the new enhancement to allow replacing the model of a drawing view with a related model in Creo 4.0.Any questions or feedback you have related to the ability to replace the model of a drawing view should be provided
View full tip
How to configure and use ModelCHECK
View full tip