Hi Alvaro,
I’m not an MBD specialist, so I’d appreciate your advice. I need to model a system *without detailed body shapes*, but I still need to handle *collision/contact* and detect *slippage*. - *Body 1* is always trying to rotate *CCW* due to a constant *100 N load*, but its motion is resisted by *Body 2*. - A *linear pull* is applied to *Body 3*; this force is transferred to *Body 2*, causing Body 2 to try to rotate *CCW*. - During this continuous pull, I need to track the *force in the pulling direction* up to the moment when *slip occurs between Body 1 and Body 2*. - *Body 1* has a *torsional spring (CCW)* that helps it rotate CCW more easily. - *Body 2* has a *torsional spring (CW)* that keeps it in its initial position after slippage occurs. How can I model this kind of force transfer and slip detection *without using basic geometry*? Any guidance or recommended approach would really help me kick-start this project. Thank You Regards, SIDDHARTH L On Tuesday, 30 September 2025 at 8:22:45 pm UTC+5:30 [email protected] wrote: > Hello! I am not a developer but hopefully I can help to get you started. > > 1- If you are interested in the mechanism motion and not any deformation > (FEA), you don't need any shape or geometry. You can work with the CGs of > each body and the location of the joints (roughly). > > 2- You can work with the mechanism out of the gravity and plane and > therefore set "g" to zero. However, you need the bodies mass (for > displacement DOFs) and Inertia (Rotation DOFs). There can be coupling but > rule of thumb that works. PyChrono sets default values for mass and inertia > to 1. > > 3- Your model has six bodies unless the angles where you have the rotation > arrows are fixed. If these angles are not fixed, each circular arrow is a > REVOLUT constraint, the Yellow ball is a PRISMATIC constraint, and the blue > ball is also a PRISMATIC constraint if the surface is planar, good first > approximation, or a CONTACT if not, which can be more involved. My > recommendation is that you start with PRISMATIC and get the model to run > and then you change to contact. Note: I am assuming that the balls are > fixed with the bar. > > 4- Apply a body load to body 1, where if the load is always to the right, > specify that the load_vector is global (local_load=False). > > 5- Apply a motor to set an angular speed or translational speed to > whatever value (30mm/s in your case). > > 6- How to measure your reaction force: no idea there on how to > specifically access it from Chrono. If you were to model it yourself is > basically the Lagrange multiplier associated to the velocity constraint. > > 7- Set your simulation to run until there is no contact or until you reach > the limit of the prismatic constrain for the approximated approach (use 99% > of the limit to be safe). > > 8- Comments on optimization: assuming parametric optimization, you can > modify the lengths, mass, Inertia and CG locations which is roughly a > combination of density and geometric properties. I am assuming you'll use > some gradient free optimization as computing sensitivities here is not > possible with the current state of the code (as far as I know). You don't > have a lot of design variables so probably genetic algorithms work just > fine. > > Hope that helps > > El martes, 30 de septiembre de 2025 a las 5:11:07 UTC-6, > [email protected] escribió: > >> I’m working on a *design optimization algorithm*. >> I don’t have any CAD geometry — instead, I want to *generate 2D planar >> mechanisms* using basic shapes such as circles, lines, and arcs >> (optionally with thickness). I don’t intend to create any full CAD models. >> >> I need to check whether the mechanism works as expected *when an >> external force is applied at a point*. The simulation should run *without >> considering the body’s own inertia or gravity* — I only want to account >> for the *moment generated by the external force and contact friction*. >> >> I plan to create the shapes in *PyChrono* programmatically, using >> parameters such as points, arm length, and circle radius. >> On Tuesday, 30 September 2025 at 11:59:59 am UTC+5:30 Siddharth L wrote: >> >>> Dear Sir, >>> >>> I currently do not have access to SolidWorks. My present goal is to >>> generate a basic planar mechanism, and I would appreciate your guidance on >>> the best approach to start. >>> >>> For example, if I need to create one body composed of three basic >>> shapes, should I model it as three separate bodies or use the *VisualShape >>> *method? Similarly, for linkages, would it be better to use *EasyBox *or >>> *LinkSegment*? >>> >>> Could you kindly provide a quick overview of the most suitable methods >>> or components to use for this purpose? I would like to try implementing an >>> initial-level code based on your suggestions. >>> >>> Thank you for your time and support. >>> On Tuesday, 30 September 2025 at 3:06:19 am UTC+5:30 Dan Negrut wrote: >>> >>>> A good start would probably be to use the Solidworks to PyChrono >>>> pipeline. >>>> >>>> Not that you have to, but it could give you a jump start. >>>> >>>> Dan >>>> >>>> --------------------------------------------- >>>> >>>> Bernard A. and Frances M. Weideman Professor >>>> >>>> NVIDIA CUDA Fellow >>>> >>>> Department of Mechanical Engineering >>>> >>>> Department of Computer Science >>>> >>>> University of Wisconsin - Madison >>>> >>>> 4150ME, 1513 University Avenue >>>> >>>> Madison, WI 53706-1572 >>>> >>>> 608 772 0914 <(608)%20772-0914> >>>> >>>> http://sbel.wisc.edu/ >>>> >>>> http://projectchrono.org/ >>>> >>>> --------------------------------------------- >>>> >>>> >>>> >>>> *From:* [email protected] <[email protected]> *On >>>> Behalf Of *Siddharth L >>>> *Sent:* Monday, September 29, 2025 7:22 AM >>>> *To:* ProjectChrono <[email protected]> >>>> *Subject:* [chrono] Help Needed to create the Mechanism >>>> >>>> >>>> >>>> I want to model a mechanism (see attached image) with the following >>>> setup: >>>> >>>> - *Body 1* and *Body 2* are in contact, and *Body 3* is an arm >>>> connected to the mechanism. >>>> - I want to *pull the end of Body 3 at a constant speed of 30 mm/s*. >>>> - While pulling, I need to *track the force (magnitude and >>>> direction) at the pulling point* until *Body 1 and Body 2 slip* >>>> relative to each other. >>>> - A constant *100 N force* is applied to Body 1, trying to rotate >>>> it counterclockwise (CCW). >>>> >>>> Could you guide me on how to *create the basic shapes for these bodies* >>>> in PyChrono and how to *simulate this pulling motion and measure the >>>> reaction force*? >>>> >>>> >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "ProjectChrono" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion visit >>>> https://groups.google.com/d/msgid/projectchrono/52f2d3e4-42f7-42c7-beb5-5e42c7b30d40n%40googlegroups.com >>>> >>>> <https://urldefense.com/v3/__https:/groups.google.com/d/msgid/projectchrono/52f2d3e4-42f7-42c7-beb5-5e42c7b30d40n*40googlegroups.com?utm_medium=email&utm_source=footer__;JQ!!Mak6IKo!KyCQHUEKrTdDDkGXfCVvr8AhY2nZIovjo0DEy4dwkIK18o0Dw7IFkmv3QmbgwP39p-O0VjI12BAwwOIGWrY8-w$> >>>> . >>>> >>> -- You received this message because you are subscribed to the Google Groups "ProjectChrono" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/projectchrono/0c772a58-6e42-4c36-81d2-42f54cd07896n%40googlegroups.com.
