Vin Yovanovich

Home Consulting Resume Pro/TOOLKIT Pro/RTOOLKIT Articles

 
 

Design Automation

If you belong to a typical company then you recreate an item's geometry five or more times in such areas as customer proposals or marketing specifications; conceptual design; detail design; finite element analysis; other engineering analysis; detail drafting; fabrication or assembly sketches; workcell device programming; tooling and fixture design; and training and service manuals.  And if you are using Pro/ENGINEER as your primary CAD tool then your are probably not utilizing the full power of what PTC offers.  In fact most Pro/E users don't even know by how much their repetitive work can be reduced by Pro/TOOLKIT - API library of functions provided  by PTC.  This all hurts productivity and competitiveness in today's fast paced market and in the long run costs a lot.

In this case ignorance is not a bliss.

Take www.smithbits.com for example (my full time job employer) where CAD automation has been implemented to a high degree.  They automated their cutter layout design for one of their products (PDC Diamond drilling bit) with a state of the art Pro/TOOLKIT application.  In a few menu picks and in a few minutes one can place, modify, move (etc) diamond cutters.  The internals of that application are as complex as toolkit programming can get.

Pro/TOOLKIT programming is not just some everyday C/C++ or java programming work.  There is a lot more to it such as: geometry understanding, taking care of design constraints, integration with other CAE tools, collaboration, multithreading, engineering analysis etc.  It is not a job for an everyday consultant, but for somebody who has done a wide range of jobs, lectured graduate CAD courses at a University, and who has seen and done/published advanced research in Mechanical Engineering (see resume and sections bellow).  It is also a job for somebody who is not afraid of all the technical/engineering aspects that come along with the product design that need to be accounted for.   From what my clients tell me, I believe that I am the only person in the world that has this academic background and that has been developing Pro/TOOLKIT applications for over a decade.  Now, that combination is very hard to find.

Also, browse my website and then try to find any Pro/TOOLKIT code on the web.  Why isn't there any?  That is what I would like to know too.  I have written several articles for various publications online that contain real Pro/TOOLKIT code.

I am an independent consultant and I work with my customers from the beginning to the end every step of the way.  However, I cannot consult the competitors of Smith International, Inc and I only provide consulting to US based companies.

Pro/TOOLKIT Applications

Pro/TOOLKIT is the customization toolkit for Pro/ENGINEER from Parametric Technology Corporation (PTC). It gives customers and third-parties the ability to expand Pro/ENGINEER capabilities by writing C programming language code and then integrating the resulting application into Pro/ENGINEER.

Pro/TOOLKIT provides a large library of C functions to provide the external application safe and controlled access to the Pro/ENGINEER database and applications. Pro/TOOLKIT is the PTC application programmer's interface (API).   One way to measure its effectiveness is to observe its price.  While the core of Pro/ENGINEER came down in price to $5K over the years, Pro/TOOLKIT remains priced at $20K.  That is telling.

I have plenty of experience in a research/production environment designing Pro/TOOLKIT functions that access the solid models drawn using Pro/ENGINEER. This includes various algorithms for feature traversal, assembly tree extraction, feature relationship based on distance, internal ids extraction, reasoning about cross-sections of part models, surface distances along polyhedral bodies with graph theory application, server/client CAD applications, spatial transforms etc.  You name it.

Note: Toolkit code can be only developed with your own license.  This is PTC's policy and there is no way around it.  So, typically companies proved me with a remote access to their own network or ship a laptop with a locked license to me.

Numerical Algorithms

I have a number of years of functional programming experience using C/C++, Maple, Matlab, Unix  and Python for designing software in the following areas:

  1. Optimization:  linear and nonlinear programming, gradient descent techniques, issues about locating global minima, genetic algorithms,
    simulated annealing, numerical techniques (Newton-Raphson), optimization
    using chaos and fractals (my own contribution)

  2. Control: classical and state space methods, adaptive control,
    learning based control, stability issues, control in chaotic systems

  3. Neural Networks: learning process, single and multilayer-perceptrons,
    back-propagation, supervised and unsupervised learning, principal
    components analysis, radial-basis functions

  4. Mathematics: linear algebra, complex analysis, ODE and PDE (numerical and symbolic), numerical methods, solving systems of nonlinear equations, chaos, fractals, attractors, fuzzy logic.

  5. Robotics and Mechanisms:  spatial descriptions and transformations, jacobians (velocities), inverse manipulator kinematics, mechanism design, trajectory following, control of manipulators.

  6. Mechanical Systems: dynamics, kinematics, virtual work, classical and lagrangian approach, holonomic and nonholonomic constraints, hamiltonian, vibrations

  7. Computational Geometry: voronoi diagrams, triangulation, convex hulls, motion planning, application of geometry to manufacturing problems (injection molding, machining)

Tutoring

Extensive experience in teaching university graduate and undergraduate courses in the following areas: Mathematics (all levels), Analytical Dynamics, Control, Vibration, Mechanisms, Design, Statics, Dynamics, Dynamics of Machinery and Kinematics of Machinery, CAD/CAM/CAE.

Home • About Me • Search • Site Map • Contact

 
 

Copyright @20XX   Vin Yovanovich,  All rights reserved.