Automatic Placement of Parts in a Solidworks Assembly

Hello

I would like to create a general assembly on Solidworks with a sheet metal chassis to be able to mount different elements.

On this chassis, 3 parts will be mounted:

A pump, a gearbox and an electric motor

Each piece in the same family does not have the same dimensions as the others, and cannot be modified.

I would like the parts to position themselves on the chassis, with as many automatic constraints as possible. I don't know if it's possible to do this since the parts are slightly different each time, but let's imagine that my motor has a height between its axis and its base of 100mm, and that the second motor is at 110. I would like that when I choose one or the other, the axis is directly coaxial with the gearbox shaft, without additional manipulation.

Given the amount of parts and possible combinations with the catalog I have, I would like to avoid doing all this manually.

 

I hope a solution is possible, without too much programming or anything else because I don't know anything about it.

Thanks in advance

Sincerely, Valentine.

Are your components already modeled?

1 Like

An avenue to explore without being convinced that it can do the job: http://help.solidworks.com/2019/french/SolidWorks/sldworks/c_magnetic_mates_intro.htm

2 Likes

Hello

Do you look at the "constraint references" side?
The implementation of this system can be long if you have a large library, but then the time saving is considerable, especially if you have to replace some components with others

5 Likes

Hello

There's also the constraint reference option that works well.

may the force be with you.

 

3 Likes

Hello

I don't know what you think about it but I don't see any solution other than a macro that relies on a truth table in excel or embedded as a variable. Table indicating the compatibilities and incompatibility between the three elements or between "N" elements, etc.
Formidable management of this table over time, especially if after-sales service is behind it.

Because @Valentin writes this (motor has a height between its axis and its base of 100mm, and that the second motor is at 110. I would like when I choose one or the other, the axis is directly coaxial with the gearbox shaft).

If I understand correctly, this means

If choice of motor type axle  at 1OO

Then choose ZRB 100 axis pump

and if axis 100 choose corresponding holes in the frame etc...

Goto Aspirin Tube *:0{

The morality is not easy because there are several combinations of parts and combination of positioning on the frame.
I only see our macro @As to indicate the degree of feasibility.

ALLO doctor @d.roger !!

Kind regards

 

 

1 Like

Hello 

Have you tried to create a plan that is at the distance between the base and the engine axis in each configuration (you create your plan and then right click on the dimension and configure the dimension, you will be able to manage all the heights in the same table in a relatively simple way).

Then you do the same thing in your 2 other accessories. 

In your assembly, you constrain these shots together. This way the axes will always be aligned.

All you have to do is manage your chassis (you should even be able to generate it quite automatically too).

Not easy to explain but I think it can work. I am attaching an image to try to explain a little more clearly


2021-05-19_16h43_01.png

Hello

Thank you for your answers, I think I have found something that would allow me to have a semblance of automatism in the placement of the assembly components. I created planes and axes on the flat and cylindrical surfaces of the parts that would be interchanged on the assembly. In this way, when I replace the component with the appropriate function, SolidWorks finds the stresses applied to certain surfaces and replaces them on its own, as long as the part has the same orientation in the coordinate system. It makes it much easier already. I think that will be enough for this problem, it will allow me to avoid having to place everything by hand from A to Z.

Thanks again!

Sincerely, Valentine.

1 Like