Skip to main content

Solid Edge Sketch Motion Simulation using Excel VBA - Part 1

Solid Edge features a very useful application called "Motion" which allows users to simulate the movement of mechanical parts. This enables machine designers to test and ensure that the movement of their mechanism is exactly as expected before manufacturing parts. This helps save a lot of money.

Advertisement

However, instead of using the "Motion" application, I would like to show you how to simulate the motion of mechanical parts using a sketch in Solid Edge together with Microsoft Excel.

Why?

Most of the time, I start my mechanical design with the concept and layout using sketches. If we could simulate the motion of mechanical parts in a sketch, it would help me a lot.

I got this idea when I was playing with sketches and constraints in Solid Edge. Solid Edge allows us to change the dimensions easily by just rotating the mouse wheel.

Diagram showing Excel VBA code communicating with Solid Edge Sketch dimensions to automate motion
Figure 1: The Concept — Using VBA to "push" dimension values from Excel into the Solid Edge variable table in real-time.

Watch the following video to see how easy it is to simulate motion in a sketch.

So what I have to do is just to have Microsoft Excel VBA change the dimensional values in the Solid Edge sketch.

Advertisement

Here are the results of this idea...

Let's see how to do this in the next post (Part 2)...

Read more info about Solid Edge: Ultimate 3D CAD Software

Comments

gus said…
Hello.

I´m working actually in a education project to control a Solid Edge assembly from a PLC.

At this time (thanks to this blog) we are working with Visual Basic to generate a continuous motion using the code part taken from this blog:

For RANGO1 = 0 To -ALT Step -VEL
Call objVariables.Edit("POS_VB", RANGO1)
Next RANGO1

Call objVariable.edit, it´s a function that take the variable "POS_VB" from SolidEdge table and update it with the value of the variable Rango1 from Visual Basic.

I would like to make the reverse update, i.e., how can I update the value of a VisualBasic variable (Rango1 for example) with the value of the variable "POS_VB" from SolidEdge table?

Thanks for all.

A teacher from Spain.
Ake said…
Hi there,

Try this...

Set Rango1 = objVariables.Translate("POS_VB")

Please note that this function returns value in meters for the length variables on Solid Edge V.17. Don't forget to multiply it by 1000 to get millimeters.

Hope this answers your question.

Ake
gus said…
Thanks! it´s now working.

With this implementation i can stop a motion between the limits of For/Next code, beaking the loop with a solid edge sensor (minimun distance) as a real sensor could do.

In another way, I can render the solid edge motion better if i include the function DoEvents inside the loop Next/For given the control to the computer for instance to refresh the graphics.

Thanks for all.
Disclosure: As an Amazon Associate, I earn from qualifying purchases.

Popular posts from this blog

Dowel Pins & Locating Pins: The Basics of Fixture Design

Figure 1: A typical fixture setup. Notice how dowel pins (silver) provide precise location, while bolts (not shown here) provide the clamping force. In the world of Precision Engineering , the difference between a high-quality product and a scrap part often comes down to microns. While bolts hold parts together, they are terrible at positioning them. This is where Dowel Pins and Locating Pins become essential components in industrial tooling . Advertisement What is a Dowel Pin? Dowel pins are precision-ground fasteners used to secure the relative position of two parts. They are typically machined to extremely tight tolerances (often within 0.0001 inches) and are available in materials like: Hardened Steel: For high-wear applications in CNC fixtures . Stainless Steel: For corrosion resistance in medical or food processing machinery. Plastic (Thermoplastic): For lightweight, non-conductive, low-load alignment. The ...

Engineer's Guide to Ball Detent Torque Limiters

Figure 1: The ball detent mechanism provides precise overload protection by disengaging instantly when the torque limit is exceeded. The First Line of Defense: Overload Clutches In high-speed automation and heavy industrial machinery, a "jam" is not a matter of if , but when . Whether it is a cardboard box getting stuck in a packaging machine or a tool crashing in a CNC lathe, the resulting torque spike can destroy gearboxes, twist shafts, and burn out expensive servo motors in milliseconds. A torque limiter (or overload clutch) is the mechanical fuse of the drive system. While electronic monitoring (current limiting) is common, it is often too slow to prevent physical damage from the massive kinetic energy stored in the system inertia. A mechanical torque limiter provides a physical disconnect that operates in a fraction of a second. Search for Torque Limiters & Safety Couplings Advertisement Why Choose ...

Cam Design Essentials: Kinematics, Pressure Angles, and CNC

Mechanical cams remain the "heart of automation," providing precise timing and motion control in high-speed machinery. Understanding the geometry and dynamics of these systems is essential for modern machine design. Advertisement Classes of Cams Cams may, in general, be divided into two classes: uniform motion cams and accelerated motion cams. The uniform motion cam moves the follower at the same rate of speed from the beginning to the end of the stroke. However, as the movement starts from zero to full speed instantly and stops in the same abrupt way, there is a distinct shock at the beginning and end of the stroke if the movement is at all rapid. In machinery working at a high rate of speed, therefore, it is important that cams are so constructed that sudden shocks are avoided when starting the motion or when reversing the direction of motion of the follower. The uniformly accelerated motion cam is suitable for moderate speeds, but it ha...