Beruflich Dokumente
Kultur Dokumente
Article Submission
Click here for information
Beginning in the summer of 2002, Profiles has been published exclusively on the web,
and is no longer available as a printed magazine. The new electronic edition will allow
Profiles to provide new services to readers, such as downloadable files to accompany
articles, international edition for non-English speaking readers, and much more
PTC/USER® Copyright Notice Additional
Information
©Copyright 2002-2005 PTC/USER, 51 Harborview Road, Hull, MA 02045 U.S.A. All
rights reserved. Copyright in the materials on this site are owned by PTC/USER. Any For more
person is hereby authorized to view, copy, print, and distribute materials on this site information or
subject to the following conditions: assistance, please
contact Rick
Snider at
1. The materials may be used for informational purposes only.
rick@ptcuser.org.
2. The materials may only be used for non-commercial purposes.
3. Any copy of the materials or portion thereof must include this copyright notice.
Registered Trademarks
PTC/USER is a registered service mark of PTC/USER, Inc.
Unregistered Trademarks
The Independent Voice of PTC Customers
Required Reading for the PTC Professional
Profiles Magazine(TM)
Other Trademarks
The following are registered trademarks of Parametric Technology Corporation:
All other company names, brand names, and product names used in this document are
trademarks, registered trademarks, or trade names of their respective holders.
PTC/USER 2005: Better than Ever
PTC/USER 2005:
by Rick Snider, Executive Director, PTC/USER Better than Ever
Photos by Mark Rodda
Keeping the
Connection
Pro/INTRALINK
Meets Windchill in
Release 8.0
Creating a
Cylindrical Cam
Using Mechanism
Design Extension
Pro/ENGINEER
Professionals: Test
Your Expertise
Quickly Replacing
Components that
Assembly Many
Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Regional User Group chairs attend a working session on improving their
Justification Made
organizations. Easy
By any measure, the PTC/USER® World Event 2005 in Orlando, Florida was a Using Axis Pattern
tremendous success. The introduction of new educational features as well as in Wildfire 2.0
enhancements to the traditional Pro/ENGINEER® and Windchill® programming
pushed attendance to 1504, the largest number since the record-setting conference in
2000. Conference-goers were treated to several major PTC announcements, including
the new Pro/INTRALINK 8.0 software. More information
about RUGs is
Product Changes Make News available at our
web site...
After the welcome on Monday morning from PTC/USER President Evan Caille of HP,
PTC CEO and President Dick Harrison discussed the state of the company with the
audience. The business outlook for PTC is strong and very much improved over the
recent past, which should reassure anyone concerned about the longevity of their
investments in PTC technology. Details on Dick’s presentation are available for
download at the PTC/USER member website, members.ptcuser.org.
Jim Heppelmann, PTC’s Chief Product Officer and Executive Vice President of
Software Solutions, made perhaps the biggest splash with his announcement of the
release of Pro/INTRALINK 8.0. The next generation software provides improved
usability, enhanced performance, expanded PDM capabilities and web integration,
allowing non-engineers to access product data through a standard web browser. The
software offers a subset of the capabilities built into Windchill 8.0 and eliminates the
need for the Workgroup Manager product. It also supports seamless upgradeability to
Windchill PDMLink and the full Product Development System. For more details on the
Pro/INTRALINK 8.0 release, please see the interview with Brian Shepherd, also in the
current issue of Profiles Magazine.
Jim also announced two acquisitions made by PTC: Polyplan, a innovative company
offering advanced manufacturing planning technology; and Aptavis, which offers
FlexPLM, based on Windchill. PTC/USER members can also download Jim’s
presentation at the member portal.
Keynotes and Speakers
Members honored several presenters for their efforts this year: In the Create Track,
attendees favored “An Open and Shut Case for Flexible Components” by Michael
Mongilio of the Johns Hopkins University Applied Physics Laboratory. “U.S. Army
Future Combat Systems - Advanced Collaborative Environment” by Col. Steve
Bristow, United States Army, and Richard Crispo of Boeing won the Collaborate &
Control Track. “Armed and Dangerous” by Tom McGuire, Magellan Engineering
Services, and Steve Curtis, Pinnacle Consulting Group was selected as the Best Overall
presentation.
(Left) One of our many raffle winners. (Right) Attendees enjoyed one of the largest
exhibits of technology in PTC/USER history.
The 100 exhibits in this year’s Exhibit Hall represented the biggest showing of
technology ever featured at a PTC/USER World Event. Some of the brightest stars in the
technology universe such as HP, Intel, Sun Microsystems, IBM, AMD, Adobe Systems,
Dell and NIKA demonstrate their leading-edge products and services at the World
Event. We had twenty-three new partners join us in the Exhibit Hall offering the latest
innovations for PTC software users, including:
For the complete list with web links to each exhibitor’s web site, visit www.ptcuser.
org/2005/exhibits.html.
Our annual survey of attendees helps PTC/USER identify the key concerns among our
members. Educational opportunities are the most sought-after sessions. New features
such as the Solutions Laboratories, offering direct interaction between participants and
PTC staff, were popular among attendees. PTC’s eLearning Laboratory, a room of
dedicated workstations to access any online PTC University course desired, debuted to
rave reviews.
Attendees also rated the agenda very highly this year, with a score of 3.9 out of 5, one of
the highest numbers ever recorded. The agenda was quite comprehensive, with over
eighty sessions in two tracks covering the product development paradigm of “Create,
Collaborate, Control.” Ted Bradshaw of Lucent Technologies, Director of Conferences
and Education for PTC/USER, has spent long hours over the past several years to refine
the entire process of soliciting, developing and presenting papers. His efforts have borne
fruit in the form of greatly improved quality among the expert user presentations.
People seemed to be quite taken with the
depth and quality of the PTC/USER World
Event. One conference attendee remarked that
“the impression of all the users that I spoke
with, people that I work with daily from the
Army, Boeing, United Defense, Swales and
elsewhere was that this was an amazing event
and one of the best they have been to. They
were delighted and felt very much that it was a
very good investment on behalf of their
organizations.” There were many similar
sentiments expressed by other members.
More than three of four attendees indicated
they would be back to the World Event in
2006. Of those not planning to return, 49% of
them said the reason was that someone else
from their company would be attending the
conference. Thus, nearly 9 of 10 attendees plan
to attend or have someone from their company
attend. We really appreciate the confidence
placed in us by the members to deliver the
education they want.
Please be sure to mark your calendar for the PTC/USER World Event 2006, to be held
June 4-7 at the Gaylord Texan Resort and Conference Center on picturesque Lake
Grapevine. Just six minutes from Dallas-Fort Worth International Airport, this
expansive venue will be the perfect backdrop for the World Event. Attendees will enjoy
state-of-the-art facilities for meetings, with extensive options for shopping, dining and
entertainment all located on-site. We hope to see you there!
The Gaylord Texan Resort and Convention Center, home of the PTC/USER World
Event 2006.
Rick Snider is Executive Director of PTC/USER. He can be reached by e-
mail at rick@ptcuser.org.
Keeping the Connection
PTC/USER 2005:
Better than Ever
Keeping the
Connection
Pro/INTRALINK
Meets Windchill in
Release 8.0
by Evan Caille, President of PTC/USER
Creating a
Cylindrical Cam
Back at work after the 2005 PTC/USER World Event in Orlando (in between catching
Using Mechanism
up on all my emails), I began to reflect on what I learned at the conference and the new
Design Extension
connections formed with fellow users. Suffice it to say that I came away with a wealth of
information and tips on Pro/ENGINEER and Windchill that will help the users at my
Pro/ENGINEER
company both today and tomorrow. In my conversations with other attendees, I learned
Professionals: Test
that they too came away with new key knowledge. And that’s really what the conference Your Expertise
is all about—an opportunity to become more informed and to apply that knowledge to
maximize the benefit we get from the tools we employ.
Quickly Replacing
Components that
But connecting with the community of PTC product users can happen not just during Assembly Many
the three days of conference, but throughout the year. Through the power of Times
information-rich web portals and the collaboration made possible by web conferences,
we are now able to share information worldwide. We are no longer limited by time and Reflections on Pro/
travel constraints. While there is still no substitute for face-to-face interaction, this INTRALINK
ongoing connectedness through virtual interaction is tremendously valuable. Scripting
Communities of all types have benefited from the Internet. A recent USA Today article Dimension
(http://www.usatoday.com/news/nation/2005-06-01-technology-communities_x.htm? Justification Made
csp=34) describes how new communities are forming online and supplanting many of Easy
the traditional gatherings. Individuals are in fact becoming more connected, albeit
virtually. Traditional organizations are also benefiting from the ability to communicate Using Axis Pattern
electronically rather than by the often tedious (and ineffective) method of trying to reach in Wildfire 2.0
every individual by telephone. Just think about how we seamlessly use the Internet to
schedule the many activities of PTC/USER.
Keeping the
Connection
Pro/INTRALINK
Meets Windchill in
Release 8.0
Creating a
Cylindrical Cam
An Interview with Brian Shepherd, Senior Vice President of Using Mechanism
Technical Marketing, PTC Design Extension
Kicking off the PTC/USER World Event, PTC’s Jim Heppelmann announced the launch Pro/ENGINEER
of its next-generation data management solution, Pro/INTRALINK 8.0. Later in the Professionals: Test
week, PTC/USER Executive Director Rick Snider sat down with Brian Shepherd, Your Expertise
Senior Vice President of Technical Marketing, to talk over some of the strategic
implications of this breakthrough release. Quickly Replacing
Components that
Assembly Many
Times
RICK: Brian, thanks for taking the time to talk us. What are your thoughts on how Pro/
INTRALINK 8.0 fits into PTC’s vision for workgroup and enterprise data Reflections on Pro/
management? INTRALINK
Scripting
BRIAN: Our vision for engineering workgroup and enterprise data management is to
enable customers to utilize their digital product content easily, securely, and with high Dimension
performance in a way that’s most suitable to them. Historically for PTC, as with other Justification Made
Easy
vendors in the market, this meant employing two different solutions—a workgroup
solution that was robust in its ability to manage the complexity and associativity of the
CAD models, and an enterprise solution that elevated engineering content, enabling Using Axis Pattern
in Wildfire 2.0
broader access across multiple departments.
We have found that our customers have begun to outgrow this type of deployment,
which is frankly less than optimal since it entails two disparate databases, and an
integration between them that must be constantly maintained. Our vision is to enable
one solution to deliver superior workgroup and enterprise capabilities to meet the
growing needs of our customers. Pro/INTRALINK 8.0 is at the very heart of this vision.
BRIAN: We released Pro/INTRALINK 8.0 and a new Windchill version (Windchill 8.0)
at the same time. Pro/INTRALINK 8.0 is now a subset of the capabilities (i.e., those
focused on Pro/ENGINEER data management) of Windchill PDMLink. Basically, we
merged the strengths of Windchill and the strengths Pro/INTRALINK 3.x. Now, since
Windchill PDMLink 8.0 (via Pro/INTRALINK 8.0) inherits the rich Pro/ENGINEER
data management capabilities of Pro/INTRALINK 3.x, there is no need for the Pro/
ENGINEER Workgroup Manager. The Pro/ENGINEER Workgroup Manager, however,
is still a perfectly viable and supported solution for customers currently using Windchill
7.0 or earlier versions.
RICK: What are the functional improvements and performance advantages of Pro/
INTRALINK 8.0 over previous releases?
RICK: Do software licenses for Pro/INTRALINK 8.0 float the same way as in Pro/
INTRALINK 3.x?
RICK: What tools will PTC make available to support data migration? What
additional license, training, support, and consulting costs will be required to make the
transition?
BRIAN: PTC has developed a comprehensive set of tools, services, and training packages
to help customers in the migration process. For customers who choose to perform the
migration themselves, we have pre-configured offerings consisting of a production-
proven data migration tool, training, and other valuable intellectual property developed
by our experts in global services. Other customers may decide to utilize the experience of
PTC’s global services or our certified migration partners to perform the migration.
RICK: Is there any method to assess the return on investment for this migration?
RICK: Can users decide to switch from Pro/INTRALINK 8.0 to Windchill PDMLink in
the future if the business need warrants it? Will this require another data migration?
BRIAN: That’s part of the beauty of this approach. Just like Pro/ENGINEER is
seamlessly scalable from a 2-seat to a 1,000-seat implementation, so too is PTC’s data
management capability. This means that once a customer has migrated to Pro/
INTRALINK 8.0, there is no additional data migration necessary to take advantage of
Windchill capabilities found in Windchill PDMLink. Naturally, though, the amount of
effort to then deploy Windchill PDMLink depends on the degree to which customers
seek to optimize their product development processes (for example, change
management, which is available in Windchill PDMLink, but not in Pro/INTRALINK),
and/or to describe product structures more fully.
RICK: Brian, can you say what the future holds for Pro/INTRALINK?
BRIAN: Because Pro/INTRALINK and Windchill now share a common code base, Pro/
INTRALINK is now on the PTC mainstream development path benefiting from a much
more efficient, quality-driven process. Without providing specific guarantees, we’re
making headway along the lines of better support for distributed product development,
and further enhancing specific Pro/ENGINEER data management capabilities. Stay
tuned!
RICK: Will customers be required to move from Pro/INTRALINK 3.x? What is the
timeframe before PTC stops supporting 3.x?
BRIAN: We have received excellent feedback from our customers regarding Pro/
INTRALINK 8.0. They see it as an opportunity to improve the performance of the
technology they already own, and provide a clear path for their use of the Product
Development System throughout the enterprise. We are giving customers plenty of time
to make the move, because we recognize that with the benefits of this release comes the
need for a data migration. PTC is therefore doubling the amount of time for support of a
maintenance development stream to enable customers to make a carefully considered,
measured transition. PTC will continue to support the Pro/INTRALINK 3.x stream (with
technical support and maintenance builds) until June 2008.
RICK: How might Pro/INTRALINK 8.0 impact customers using third-party data
management tools?
[Editor's Note: As of press time, PTC has updated the migration options for those
customers interested in leading the migration themselves. This is based on the
feedback that you, the users, gave PTC through the Pro/INTRALINK Advisor site and
the PTC/USER exploder. For all the details, check out Jim Heppelmann’s blog on
http://www.ptc.com/community/prointralink8/index.htm]
RICK: Clearly, this release will have a major impact on customers. Brian, thanks again
for sharing your insights on Pro/INTRALINK with us.
Creating a Cylindrical Cam Using
PTC/USER 2005:
Mechanism Design Extension Better than Ever
by Dana Coombs, SYNTHES CMF
Keeping the
Connection
While Mechanism Design Extension (MDX) in Pro/ENGINEER allows users to create
planar cams, there is no built-in functionality for cylindrical cams. This technique shows
Pro/INTRALINK
you how to create a cylindrical cam with a follower. This cam will move the follower
Meets Windchill in
between two dwells.
Release 8.0
The general approach is to have a cylindrical representation of the cam geometry and a Creating a
planar representation of the cam geometry. When the mechanism is defined, the planar Cylindrical Cam
cam moves in translation and has a cam connection to the follower. The geometry is Using Mechanism
hidden from the assembly. The cylindrical cam moves in rotation to represent the Design Extension
motion, but will not drive the follower.
Pro/ENGINEER
The key is to drive the geometry of the cylindrical and planar cam with one reference, Professionals: Test
using a family table of one cam part. In the following example, graph features are used Your Expertise
to drive the geometry of both the cylindrical and planar cam. Note that graph features
can be applied to predefine geometry of any variable sections sweep, which has proven Quickly Replacing
useful for aerospace applications. Components that
Assembly Many
1. Define the Cam Profile Times
The easiest way to define a cam profile is in a 2D representation. This can be done with a Reflections on Pro/
graph feature in the cam part, which can then be used to define a variable section sweep INTRALINK
to create the profile around a cylinder. The graph feature is defined according to Figure Scripting
1.
Dimension
Justification Made
Easy
Figure 1
Figure 2
Figure 3
To create a mechanism, the cam groove will be represented in a planar fashion. The
same model will be used to create the planar geometry so that the same graph feature
can drive the geometry. A surface is made as a variable section sweep using the “trajpar”
parameter in a section relation to drive the surface. The variable section sweep trajectory
is a datum curve whose length is driven by the perimeter of the cylinder. The perimeter
is measured using an analysis feature. Figure 5a–b shows the relation to drive the curve
length.
Figure 5a
Figure 5b
Figure 6 shows the section to define the surface, and Figure 7 shows the sketcher
relation.
Figure 6
Figure 7
This method provides a robust way to represent the planar cam geometry. The shapes of
the cylindrical and planar cams are defined by the same graph feature. This one feature
can be adjusted to drive both geometries. The length of the planar cam is driven by the
perimeter, which allows the diameter of the cylindrical cam to be modified and
automatically drive the planar geometry.
4. Create a Family Table to Separate the Planar and Cylindrical Geometry
The planar cam will become an instance of a family table by adding the solid geometry
features (the cylindrical protrusion and the variable section sweep cut) to the table and
suppressing them in the table. Figure 8 shows the family table.
Figure 8
The generic, named Cylindrical_cam, and the instance, named Planar_cam, can both be
assembled in a mechanism assembly.
It is a good idea to use a part as ground for a mechanism instead of the assembly. In this
case, the ground part will be a skeleton model that will provide the needed references for
the moving parts. Figure 9 shows the skeleton model. Notice the planes and axis that
provide references for pin and slider joints.
Figure 9
The first moving part to be assembled is the cylindrical cam, named Cylindrical_cam.
This is assembled using one pin joint. Figure 10a–b shows the joint connection.
Figure 10a
Figure 10b
The second moving part is the instance of the family table, named Planar_cam. This
part is placed using a slider joint. This part will slide and represent the “unraveled”
cylindrical cam. Figure 11a–b shows the slider connection.
Figure 11a
Figure 11b
The third moving part is the follower. The follower will be driven by the cam motion.
Figure 12a–b shows the slider connection.
Figure 12a
Figure 12b
The last remaining joint is a cam-follower joint. To create this joint, the mechanism
functionality must be accessed from the applications menu. The cam-follower joint is
created by selecting the surfaces of the cylinder on the follower and the cam surface on
the Planar_cam. Figure 13a–b shows the cam-follower connection.
Figure 13a
Figure 13b
Now that the components are assembled using mechanism connections, the mechanism
must be defined with motors and joint zero positions. The first motor is defined on the
pin joint of the Cylindrical_cam part and ground, defining how the cylindrical cam
rotates. The other motor is defined on the slider joint of the Planar_Cam, defining how
the planar cam slides. Notice that the functions are tied together. The planer cam will
translate the distance equivalent to the perimeter of the cylindrical cam. Figure 14a–d
show the setup of the motors.
Figure 14a
Figure 14b
Figure 14c
Figure 14d
Next, zero positions are defined for the connections. The zero position for the planar
cam is defined by aligning the end of the cam to the assembly datum plane (located at
the center of the cylinder) for the slider joint. The zero position of the cylindrical cam is
defined by aligning the front datum planes of the cylindrical cam and the skeleton part
on the pin joint as shown in Figure 15a–d.
Figure 15a
Figure 15b
Figure 15c
Figure 15d
The mechanism is fully defined and now it is time to analyze the motion. An analysis is
created as a kinematic analysis with a start time of 0 and a run time of 1 second. This
corresponds to the drivers so that the cylindrical cam will rotate 1 revolution. The frame
count is set to 100. Figure 17 shows the analysis setup.
Figure 16
The resulting animation shows the cam follower moving in relation to the cylindrical
cam. Select the image below to see the animation.
Conclusion
This technique provides a method to animate a cylindrical cam and gather measured
information from the model. Since the cylindrical and planar cams are tied to one
generic part, the mechanism model can be taken further. The profile of the cam, which is
driven by the graph feature, can be changed and optimized based on kinematic or
dynamic measures.
Challenge #1: Order the following six brackets from the lowest to the Pro/ENGINEER
highest cost. Professionals: Test
Your Expertise
Assume that all options are made from the same common steel, have adequate
structural strength, and have similar dimensions based on a 50mm (2-inch) square Quickly Replacing
opening and .090 thick material. While you can ignore any costs of finishing or painting, Components that
note that some versions do require welding. The initial quantity is 50,000 pieces per Assembly Many
year. Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Justification Made
Easy
Option A is made up of two pieces—a “hat” section and a flat base. The parts are
staked, glued or tack-welded together to keep them from separating before they are
assembled to the next assembly.
Option A
Option B is a single-formed part made from a 80mm-wide strip, with two legs bent in
opposite directions.
Option B
Option C is made from 2-inch square tubing sliced at 45 degrees. The holes can be
drilled before the pieces are cut, and a single cut separates 2 pieces.
Option C
Option D
Option E is similar to Option D except the holes are to the side rather than at the ends.
This part is also welded at the seam.
Option E
Option F is similar to Option E except both ends are folded over. There is no weld
requirement here.
Option F
Challenge #2. Estimate the ratio between the lowest- and highest-cost
brackets and provide the design reasoning behind it.
This is the pro level. A good score here puts you in the elite category.
Designers frequently argue about the “correctness” of each solution, and results often
depend on how each designer interprets the design requirements. In addition, prices
from individual vendors depend upon their available manufacturing equipment, the
business climate, and their willingness to do business with you. For instance, are we
talking about the best source economically? Are delivery times of the parts sensitive?
Would it be better to deal with a local vendor to avoid shipping and communications
problems? The changing cost of steel in your market and countless other factors can be
important to your decisions.
Here is the correct order for the bracket options, along with the current cost ratios for a
quantity of 50,000/year.
1. Option A uses the most material, but because it is the simplest, most flexible design,
it is the cheapest to manufacture. Cost ratio = 1.0
2. Option F is a simple roll if the vendor has the equipment. Cost ratio = 1.1
3. Option E, while similar to Option F, entails an added cost for the seam weld. Cost
ratio = 1.2
4. Option D involves slightly more metal cutting and trimming on ends than Option E,
as well as the separate weld operation. Cost ratio = 1.3
5. Option C is made from structural tubing, which is more expensive than sheet and
usually harder to procure. The higher raw material cost is somewhat offset by the fact
that this part is the simplest to machine. Cost ratio = 1.6
6. Option B is the most expensive to fabricate and inspect because of the complexity of
the bends. Cost ratio = 2.0
Large assemblies have long model trees and include many standard parts such as screws, Pro/INTRALINK
washers, studs, and so on. When you have to replace one of these parts in several Meets Windchill in
locations, making your selections in the model tree is very complicated. Release 8.0
To simplify the task, you can use the search function and filter the component in the Creating a
model tree, so that you highlight only the component to be replaced. You then use the Cylindrical Cam
Replace option. In our company we have a library of standard parts based on family Using Mechanism
tables, so replacement of a component is much faster. Design Extension
The model shown below illustrates a typical scenario. The task is to replace 32 screws Pro/ENGINEER
(marked in red) in an assembly with about 400 components. The bolts are assembled in Professionals: Test
many locations, and the model tree is very long. Your Expertise
Quickly Replacing
Components that
Assembly Many
Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Justification Made
Easy
9. Select Close.
10. All screws in the model and model tree are now highlighted. Use the right mouse
button or click on EDIT, REPLACE to use the Replace option. Note that you can unselect
some of the screws only from the model tree (using the CTRL key).
11. In the Replace Comp dialog box, select Family Table.
12. Click on the selected model and select the new screw.
These steps are based on using Wildfire 2.0. If anyone would like to use this technique in
Pro/ENGINEER 2001, please contact me for the instructions.
Elkan Jhirad is a product engineer at HP Indigo Division in Rehovot, Israel.
He can be reached by e-mail at elkan.jhirad@hp.com.
Reflections on Pro/INTRALINK Scripting
PTC/USER 2005:
By Marc Mettes Better than Ever
Have you used Pro/INTRALINK scripting? Perhaps you've looked at the resulting Java Keeping the
source code and wondered what other commands are available? Disappointed at the Connection
lack of detailed documentation? Don't wait for PTC to tell you what's there—have Java
do it for you. Pro/INTRALINK
Meets Windchill in
Using the Reflection package, Java can tell you a lot about the classes and methods Release 8.0
available at runtime. This standard package is often used in web services applications
and other situations where code is called dynamically, such as creating a scripting API to Creating a
a Java program. Cylindrical Cam
Using Mechanism
To use the Reflection package, the starting point is an empty Pro/INTRALINK script. Design Extension
Pro/ENGINEER
Professionals: Test
Your Expertise
Recording an Empty Script
1. To get to the Scripting Options dialog from within the Pro/INTRALINK client, hit Quickly Replacing
Ctrl+S. This is available without having to login. Components that
Assembly Many
2. Enter a file name on the Recording tab (“empty.java” in this example). Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Justification Made
Easy
3. To create a minimal script, hit the Start button and then the Stop button. You should
get a message dialog stating that the compilation was successful.
4. The resulting empty.java file (found in the .proi/.data/user.data/source folder)
contains more or less the following code:
import com.ptc.intralink.client.script.*;
import com.ptc.intralink.script.*;
ILIntralinkScriptInterface IL =
(ILIntralinkScriptInterface)getScriptInterface();
} // End of run0
} // End of function
2. After the edits, the resulting code will look like this (added code shown in bold).
import com.ptc.intralink.client.script.*;
import com.ptc.intralink.script.*;
import java.lang.reflect.*;
import java.io.*;
ILIntralinkScriptInterface IL =
(ILIntralinkScriptInterface)getScriptInterface();
Class c = IL.getClass();
FileWriter fw =
new FileWriter("IL_script_methods.txt");
fw.write(m[i].toString() + newline);
fw.close();
} // End of run0
public void run () throws Exception {
} // End of function
The first additional import statement (import java.lang.reflect.*;) makes the Reflection
functionality available, and the second (import java.io.*;) allows you to use the
FileWriter class to output the data to a file.
3. In the body of the run0 method, extract the class of the IL object, from which we get
the available methods, which are put in the “m” array.
Class c = IL.getClass();
4. Next, we set up the output file, which will be written in the Pro/INTRALINK session’s
current working directory, and then figure out the line terminator for text files (which is
different for Windows than for Unix).
5. Looping through the array members of “m,” the information for each method is
written to the output file:
fw.write(m[i].toString() + newline);
6. Finally, we close the output file handle so we don't run out of file descriptors.
fw.close();
1. Once the edits to empty.java are complete, we’ll recompile the script. From the
Recompile tab in the Scripting Options dialog, hit the Recompile button.
2. If you typed everything right, you should get another compilation success dialog.
After a successful recompile, Pro/INTRALINK will shift the Scripting Options dialog
to the Playback tab. When you hit the Playback button, the script will run without
displaying any visual output.
Interpreting the Output
When you look at the output in the "IL_script_methods.txt" file, you see many of the
methods that get used when you record a sequence of actions. Notice that some take
arguments (String, int, etc.), while others take no arguments. The “void” keyword
indicates that nothing is returned, which seems typical for these methods.
Some methods, such as select(), are listed multiple times with different arguments. This
is called overloading, where different methods can have the same name but take
different arguments. Java knows which method should be used.
For both select() methods, the first argument is the type (i.e., “WSPI” for Workspace
objects, "PIV" for Commonspace objects). The second argument is either the integer row
number (starting with zero) from the active table display or the object name. The object
name syntax is "ws1/abc.prt" for Workspace objects and "abc.prt/main/B/2" for
Commonspace objects.
The String argument version is used when the Use Key Recording? option is checked
during the record phase. The int argument version is used when it is not checked. Using
the row number can make things easier, i.e., in a Locate results display if you know there
will only be one result. Otherwise, you need to know the name, branch, revision, and
version to select a Commonspace object, and the Workspace name (as well as the object
name) to select a Workspace object.
While most are self-explanatory, some methods are a little different than the others. It's
probably not possible to record the following methods directly, but they can be added
manually to the Java code.
● Returns a String array of the objects that are selected. You can loop through the
elements of the array to do something with each object individually (e.g., Where
Used report, Check out, Check in, etc.). Examples for the String argument are
"WSPI" for Workspace selections and "PIV" for Commonspace selections.
public Object getTableCellValue ( String, int, int )
● Returns a value for a given cell in the active table display. This method seems to
be available starting in Pro/INTRALINK 3.3.
● As with getSelectedObjects(), the String argument is either "WSPI" for Workspace
table displays or "PIV" for Commonspace table displays. The first int argument is
the row number in the table display, and the second argument is the column
number. Note that the column and row numbers are zero-based. The value for
row #1 is 0 (zero), for row #2 is 1 (one), for row #3 is 2, etc. The same applies to
the column numbers.
● Since the Object returned by getTableCellValue() is essentially a String object, you
can apply String methods to it, such as toString(), toUpperCase(), toLowerCase(),
startsWith(), endsWith(), etc.
There's no easy way to figure out the total number of columns in the current display, or
which attribute value is displayed in a particular column, unless you know this
information ahead of time. This is limiting, but the method is still very useful in
controlled situations where you use (or create) a specific table display configuration.
As an example, the following code will select all objects in the active Workspace window,
loop through all of the selected objects, and print the object name and the attribute
value in column #3 to "ws_output.txt" (in the Pro/INTRALINK client’s current working
directory).
IL.selectAll( "WSPI" );
fw.close();
If you only have two columns displayed, the script will generate an error message. Keep
in mind that if you repeatedly perform getSelectedObjects() on a large table display, you
will eventually consume a lot of your system’s RAM.
The next group of methods applies to printing. PTC Tech Support provided some details
on these when asked how to print to a folder outside of the .proi structure.
● Controls the options that would be selected in the print dialog box (e.g., HTML,
Append, etc.).
Once you have executed any of these methods, the settings become the default for future
printing in that Pro/INTRALINK session.
Only the DefaultPath method is really useful, since the printContent() method already
allows you to specify the output filename, the type of data, and whether it creates a new
file or appends to an existing one. Use the DefaultPath method to direct your output to a
folder outside of the .proi folder structure.
Conclusions
Gaining a better understanding all of the available methods is critical in building more
complex and efficient applications. The undocumented methods allow applications to
adapt dynamically to the Pro/INTRALINK metadata and change their behavior in an
intelligent manner. Although PTC will provide little, if any, support for customized Pro/
INTRALINK scripts, the advantages to those who require automation far outweigh any
uncertainty about their unsupported nature.
When you have a view with a lot of dimensions like the one below, Pro/ENGINEER Keeping the
2001 provides a simple way to improve the appearance and interpretation of the Connection
drawing. With this technique, you can align ordinate and linear dimensions without
creating snap lines. Pro/INTRALINK
Meets Windchill in
Release 8.0
Creating a
Cylindrical Cam
Using Mechanism
Design Extension
Pro/ENGINEER
Professionals: Test
Your Expertise
Quickly Replacing
Components that
Assembly Many
Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Justification Made
Easy
More information
about RUGs is
available at our
web site...
1. Press shift and click on all dimensions you would like to align.
2. With all selected dimensions highlighted, click on just one dimension and move it to
the desired position.
3. Do the same for linear dimensions.
Weligton Nascimento is a product engineer at Caterpillar Brazil Ltda. in
Brazil.
With the release of Pro/ENGINEER Wildfire 2.0 come some great enhancements, Keeping the
including Direction and Axis patterns. In combination with Fill patterns introduced Connection
in Wildfire 1.0, this new capability provides the freedom to pattern features regardless of
the dimensions used to create the feature. Pro/INTRALINK
Meets Windchill in
All you have to do is select the feature, select the direction reference, and GO! This Release 8.0
means
Creating a
● No more datums on the fly to create rotational patterns. Cylindrical Cam
● No more redefining features in order to obtain a pattern-driving dimension. Using Mechanism
Design Extension
Pro/ENGINEER
Professionals: Test
For example, if a hole was created without a datum plane during the feature creation,
Your Expertise
there was previously no easy way to generate a rotational pattern. Wildfire 2.0 now
makes this easy to accomplish.
Quickly Replacing
Components that
1. Select the hole, RMB, Pattern. Assembly Many
Times
Reflections on Pro/
INTRALINK
Scripting
Dimension
Justification Made
Easy
3. Display axes and select the axis in the center of the part. Enter the desired number
of instances and degrees for the angle.
4. Creating the rotational pattern is as easy as that. No more having to worry about
creating Make Datums or Datums on the fly to have an angular dimension to drive the
pattern.
5. You can also exclude individual pattern instances by selecting the black dots. When
you do so, the dot turns white—indicating that it will be excluded from the pattern. (This
means no need for pattern tables!)
Florin Neamtu is a design engineer/PTC specialist and trainer with Belcan
Corporation in Raleigh, NC. Florin can be reached by email at
fneamtum@belcan.com.