sketchucation logo sketchucation
    • 登入
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    MSPhysics 1.0.3 (16 October 2017)

    已排程 已置頂 已鎖定 已移動 Plugins
    926 貼文 171 Posters 883.2k 瀏覽 172 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • ecatiE 離線
      ecati
      最後由 編輯

      Hi, Anton.
      I work on a machine design. As you can see in the attached file, I want to move the pieces. I used the piston and servo. The piston works the way I want it. But I have not been able to rotate all the parts together with the servo. I need your help and your suggestions. Thank you.


      makine.jpg


      makine.skp

      1 條回覆 最後回覆 回覆 引用 0
      • A 離線
        Anton_S
        最後由 編輯

        Hello, Ecati,

        To rotate everything with the servo joint, you have to move the two hinges and the piston inside the yellow, main body group. That way the hinges and the piston will have a parent body, which will allow them to move relative to it. Also, convex decomposition is not necessary there. When a joint, with a specific parent, is connected to a child body, the child body is by default set to be non-collideable with the parent body.

        Here is how your model should ultimately be:
        makine.skp

        Regards,
        Anton

        1 條回覆 最後回覆 回覆 引用 0
        • ecatiE 離線
          ecati
          最後由 編輯

          Hi, Anton,
          First of all thank you very much.
          I do not want to bother you with such simple questions. But I have not found a tutorial that will answer my questions. If I'm not wrong, you're preparing a tutorial, are not you?
          Now, how can I bring the green piston into its original position with a spring after it is pulled out?
          Thank you.


          makine.jpg

          1 條回覆 最後回覆 回覆 引用 0
          • B 離線
            BallBearing
            最後由 編輯

            I got the worm gear to do it's work quite nicely (MSPhysics & Sketchy). Just making the collision mesh groups is time consuming. I wonder if there exist possibility for something like in Blender & mesh collision option? The collision frame is not so super exact...

            WormDriveSimu.gif

            GroupsNCompound.png

            SketchUp, 3D printing stuff and more:
            http://www.youtube.com/user/CinemaTablet

            1 條回覆 最後回覆 回覆 引用 0
            • gillesG 離線
              gilles
              最後由 編輯

              @ecati said:

              Hi, Anton,
              First of all thank you very much.
              I do not want to bother you with such simple questions. But I have not found a tutorial that will answer my questions. If I'm not wrong, you're preparing a tutorial, are not you?
              Now, how can I bring the green piston into its original position with a spring after it is pulled out?
              Thank you.

              Cut the piston from it's context escape the context then paste in place.

              " c'est curieux chez les marins ce besoin de faire des phrases "

              1 條回覆 最後回覆 回覆 引用 0
              • ecatiE 離線
                ecati
                最後由 編輯

                Collision problem.
                When the first part is moved, it enters into the second part and the third part escapes from the center. How is this prevented?
                To see the animation, clik on the picture please.


                Collision.gif

                1 條回覆 最後回覆 回覆 引用 0
                • A 離線
                  Anton_S
                  最後由 編輯

                  Hi, Ecati,

                  @ecati said:

                  I do not want to bother you with such simple questions. But I have not found a tutorial that will answer my questions. If I'm not wrong, you're preparing a tutorial, are not you?

                  I first need release version 1.0.0. Then I will transition to making tutorials. The tutorials is a bold part on my TODO list.

                  @ecati said:

                  Now, how can I bring the green piston into its original position with a spring after it is pulled out?

                  You can't have the green thing be connected to a piston and the spring at the same time. You can simply tell the piston to move back to its original position by dragging its associated slider controller to its original position. You can as well change the controller of the piston joint to do it with a click of a key, such as key('f') * 5, so that it moves 5 preset units (millemeters in your case) when key F is held down and back to initial location when the key is released. You can add a negative sign to 5 or in front of the controller for it to move in the opposite direction.

                  @ecati said:

                  Collision problem.
                  When the first part is moved, it enters into the second part and the third part escapes from the center. How is this prevented?

                  There must be something in the way. Here is a few potential causes to this:

                  1. Part2 is connected to multiple joints, such as the hinge and the piston. It must be connected to just the hinge.
                  2. Either part2 is pushed out by part3 (if the hinge is not inside part3 or part3 state is not set to non-collidable). Either move hinge inside part3 and set it static or set part3 non-collidable so it doesn't push out part2.
                  3. Another collision outside the shown view is stopping part2.
                    There could be many reasons. I won't know until I inspect the actual model myself, but the actual cause may very likely denote one of the provided potential causes above.

                  Regards,
                  Anton

                  1 條回覆 最後回覆 回覆 引用 0
                  • A 離線
                    Anton_S
                    最後由 編輯

                    Hello, Martin,

                    @ballbearing said:

                    I got the worm gear to do it's work quite nicely (MSPhysics & Sketchy). Just making the collision mesh groups is time consuming. I wonder if there exist possibility for something like in Blender & mesh collision option? The collision frame is not so super exact...

                    Those images show it in SketchyPhysics, but it will work the same in MSPhysics.
                    So, another way of doing it (in MSPhysics) is by using geared joints:

                    1. Set both gears to non-collidable and remove all original joints connecting the gears.
                    2. Add a Piston joint at the location and in the direction of the wormgear and connect it to the wormgear (using the Joint Connection Tool).
                    3. Add a Hinge joint at the center and in the normal direction of the gear and connect it to the gear.
                    4. Using the Joint Connection Tool, connect Piston joint to the Hinge joint to create a geared joint.
                    5. Adjust the gear ratio of the piston-to-hinge gear using the MSPhysics UI.
                      Make sure you're using MSPhysics toolbars for doing all that...

                    Regards,
                    Anton

                    1 條回覆 最後回覆 回覆 引用 0
                    • ecatiE 離線
                      ecati
                      最後由 編輯

                      Where do we download MSPhysics 1.0.0?

                      1 條回覆 最後回覆 回覆 引用 0
                      • TIGT 離線
                        TIG Moderator
                        最後由 編輯

                        @ecati said:

                        Where do we download MSPhysics 1.0.0?
                        You could wait [joke 😉 ] ?
                        The current version is 0.9.9 - and it's latest version is always available from the SketchUcation PluginStore:
                        http://sketchucation.com/pluginstore?pln=MSPhysics
                        Like most Plugins/Extensions...

                        TIG

                        1 條回覆 最後回覆 回覆 引用 0
                        • F 離線
                          faust07
                          最後由 編輯

                          Hi, ecati,
                          Sorry, I used a test version for the connect example file.
                          Anton is working on release version 1.0.0 - which soon comes out.

                          1 條回覆 最後回覆 回覆 引用 0
                          • S 離線
                            SynSuka3D
                            最後由 編輯

                            Bonjour,
                            Je voudrais lire la vitesse D'un corps sur l'axe Y interne,no axe Y mondiale !!!
                            J'ai essayé get_velocity...
                            set_var("speed_Y",????)

                            Hello,
                            I would like to read the speed of a body on the internal Y-axis, no Y-axis world!
                            I tried: get_velocity...
                            set_var("speed_Y",????)

                            1 條回覆 最後回覆 回覆 引用 0
                            • A 離線
                              Anton_S
                              最後由 編輯

                              Hello, Nicolas,

                              To get local velocity, along the body's Y-axis, you got to transform the global velocity relative to the body first, then get the Y component:

                              loc_vel = this.get_velocity.transform(this.get_normal_matrix.inverse)
                              vy = loc_vel.y
                              

                              Regards,
                              Anton

                              1 條回覆 最後回覆 回覆 引用 0
                              • A 離線
                                Anton_S
                                最後由 編輯

                                Faust, I will ckeck out that cloth thingy soon.

                                1 條回覆 最後回覆 回覆 引用 0
                                • F 離線
                                  faust07
                                  最後由 編輯

                                  Hi, Anton,
                                  first test of a (cloth-) mesh with your MSPhysics API self connect script.
                                  Unfortunately, each node joins only one rod. What am I doing wrong?


                                  Connect_test_01.skp


                                  Self_Connect_02.gif

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • A 離線
                                    Anton_S
                                    最後由 編輯

                                    Okay, faust.

                                    Your script for connecting bodies attempts to connnect multiple bodies to the same joint. That's how it is in the user interface of MSPhysics, but behind the scenes a new joint instance is added for each constraint. So here is the script to have:

                                    onTick {
                                      if frame == 1
                                        this.touching_bodies(true).each { |body|
                                          next if body.group.name != 'capsule'
                                          joint = MSPhysics;;BallAndSocket.new(this.world, this, this.get_matrix, this.group)
                                          joint.connect(body)
                                        }
                                      end
                                    }
                                    

                                    Paste it into one knot, and assign it to all knots, using the Assign Script to All With Name button.

                                    That said, this is a very inefficient way of creating cloth, not to mention that you also have to create faces and then reposition vertices and map the UVs of textures (if any).

                                    I already got my own, more efficient, version of cloth working, like 3 years ago. But it's not perfect. Here is the demo updated and refined for the current version of MSPhysics:

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • C 離線
                                      cristyan
                                      最後由 編輯

                                      Hello ! There is a script or another way that maintains the same distance between objects attached on CurvySlider , as a rollercoaster ? Thank you !

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • F 離線
                                        faust07
                                        最後由 編輯

                                        Thanks, Anton,
                                        Your code works perfectly. For genuine cloth simulation this is, of course, too cumbersome. For me, it is a good practice to learn a little bit of good script again. In addition, the example shows the almost unlimited possibilities of MSPhysics.


                                        Self_Connect_03.gif


                                        and this happens after 1.800 frames

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • A 離線
                                          Anton_S
                                          最後由 編輯

                                          Oops, the get_normal_matrix should be normal_matrix

                                          Also, to quote other people, use the double-quote button or put them in quote tags surrounded with square brackets. And posting the whole video on the error isn't necessary either. Just post a message that is reported.

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • S 離線
                                            SynSuka3D
                                            最後由 編輯

                                            ==============================

                                            To get local velocity, along the body's Y-axis, you got to transform the global velocity relative to the body first, then get the Y component:
                                            CODE: SELECT ALL
                                            loc_vel = this.get_velocity.transform(this.get_normal_matrix.inverse)
                                            vy = loc_vel.y

                                            Regards,
                                            Anton

                                            ===================
                                            problem!!!!!!

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 32
                                            • 33
                                            • 34
                                            • 35
                                            • 36
                                            • 46
                                            • 47
                                            • 34 / 47
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement