• Login
sketchucation logo sketchucation
  • Login
ℹ️ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

MSPhysics 1.0.3 (16 October 2017)

Scheduled Pinned Locked Moved Plugins
920 Posts 170 Posters 882.8k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    JonFar
    last edited by 19 May 2014, 01:56

    wonderfull! thank you!

    i was just looking for something like SketchyPhysics that worked with Sketchup 2014

    i have just one question: does the speed of objects falling/moving depend on CPU/GPU power?
    cause if i remember correctly, in SketchyPhysics objects seemed to fall/move faster

    keep up the good work, cant wait for the final version

    1 Reply Last reply Reply Quote 0
    • A Offline
      Anton_S
      last edited by 19 May 2014, 07:15

      @jonfar said:

      i have just one question: does the speed of objects falling/moving depend on CPU/GPU power?
      cause if i remember correctly, in SketchyPhysics objects seemed to fall/move faster

      While running simulation go to (Menu) Plugins -> MSPhysics -> Simulation -> Speed -> Double
      This will increase speed by a factor of two (Note that accuracy will become very bad).

      1 Reply Last reply Reply Quote 0
      • L Offline
        livebluetooth
        last edited by 22 May 2014, 06:56

        Dear Anton,
        I really appreciate your work πŸ‘ and also thanks to Chris Phillips for his idea πŸ‘ .
        Sorry to say but Could you please make a starting tutorial.
        Requesting you that please do not keep dependency on other plugin.
        I have gone through the website http://www.simfonia.fr/our-products/
        for "Simfonia". It is commercial plugin not Free
        I have not seen any joints. I think you are releasing in coming version.
        Could you please add some solid,liquid,gas state and their basic properties.
        Need control panel screen to see all the dynamics data. Ability to draw the graphs and controls on it.
        While Simulation phase need dynamically to do Orbit,Pan,Zoom and bla bla bla....
        I hope you are very smart and intelligent.

        God Bless You. πŸ‘
        Have a Nice day ahead. β˜€

        1 Reply Last reply Reply Quote 0
        • P Offline
          pcberdwin
          last edited by 22 May 2014, 18:56

          This is awesome but I was wondering if there is a way to save the simulation; when I use anything else like the select tool the simulation resets.

          1 Reply Last reply Reply Quote 0
          • A Offline
            Anton_S
            last edited by 22 May 2014, 19:18

            @livebluetooth said:

            Sorry to say but Could you please make a starting tutorial.

            When I release version 1.0.0

            @livebluetooth said:

            Requesting you that please do not keep dependency on other plugin.

            I'll try create an installer that would install two plugins at once πŸ˜›

            @livebluetooth said:

            I have not seen any joints. I think you are releasing in coming version.

            Yup, you can expect joints in version 0.2.0

            @livebluetooth said:

            Could you please add some solid,liquid,gas state and their basic properties.

            You can control densities of bodies via the MSPhysics API, but I haven't added the air density feature yet. Somethig to add to the list... As far as having waters, that's something very hard to make. That requires viscosity, bubbles, and stuff. Maybe in the future versions, who knows? πŸ˜†

            @livebluetooth said:

            Need control panel screen to see all the dynamics data. Ability to draw the graphs and controls on it.

            That's not something you can expect in version 1.0.0, but there is a high chance in later versions, with the help of developers...

            @livebluetooth said:

            While Simulation phase need dynamically to do Orbit,Pan,Zoom and bla bla bla....

            You can already use the orbit/pan/zoom while simulation is running, however I made it to pause when you suspend and play when resume.

            1 Reply Last reply Reply Quote 0
            • A Offline
              Anton_S
              last edited by 22 May 2014, 19:23

              @pcberdwin said:

              This is awesome but I was wondering if there is a way to save the simulation; when I use anything else like the select tool the simulation resets.

              Saving with simulation running is not a good thing. There will be a record animation feature, though, similar to SketchyPhysics one.

              1 Reply Last reply Reply Quote 0
              • M Offline
                Mister K
                last edited by 22 May 2014, 20:15

                @anton_s said:

                Body.#set_softness(0.01 - 1.0)
                A softness of 0.0 makes body act more like a metal ball i.e the momentum is transferred pretty well. A softness of 1.0 makes body act more like a soft ball i.e the momentum is barely transferred to the colliding body.
                Is that what you were asking?

                Yes that would do it.

                @anton_s said:

                Newton has a feature called auto-sleep. In interactive solver model, the bodies that don't need any further processing go to sleep mode.
                You may also freeze the body or enable/disable the body, which temporarily adds/removes body to/from simulation processing.
                As mentioned of interactive solver, Newton has exact and interactive solver models. Interactive works much faster, but less accurate.
                Exact works slower, but more accurate.
                However, you can't assign exact/interactive solver model to a particular body. The solver model affects the calculation of all bodies at once.
                I think for gaming purposes it would be best to enable/disable body. Newton has the islands feature as well. I'm not sure what it does though. Maybe it does exactly what your asking: enable/disable particular areas of simulations processing.
                Meantime the solver model can be controlled via Menu -> Plugins -> MSPhysics -> Simulation -> Solve Model -> [Option]

                Is there also no way to stop or exclude a certain group once enough passes are done, say on "Interactive: 8 passes" does the physics engine have functions that could exclude entities just after 1 or 2 passes?
                Or perhaps an even cruder method of running a separate simulation with every individual group, each with different settings, would that work or add to much initializing time?

                @anton_s said:

                Newton has custom joints written in C++. All I have to do is convert it to Ruby and add some ticks to make it more Ruby.
                I am aiming to use Ruby 3D sounds library, though. I'm not planning to write my own lol.

                Actually on that scripting thing I meant script editors specifically, if you considered integrating with one that already has all the code editing features so you don't have to start from scratch.

                1 Reply Last reply Reply Quote 0
                • A Offline
                  Anton_S
                  last edited by 26 May 2014, 22:53

                  @mister k said:

                  Is there also no way to stop or exclude a certain group once enough passes are done, say on "Interactive: 8 passes" does the physics engine have functions that could exclude entities just after 1 or 2 passes?
                  Or perhaps an even cruder method of running a separate simulation with every individual group, each with different settings, would that work or add to much initializing time?

                  That's quite an idea, though it will require me to rewrite the whole API πŸ˜† Maybe you would be able to to control body via script, i.e. apply custom forces and freeze/unfreeze bodies.

                  @mister k said:

                  Actually on that scripting thing I meant script editors specifically, if you considered integrating with one that already has all the code editing features so you don't have to start from scratch.

                  Dialog in progress!

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    Mister K
                    last edited by 27 May 2014, 11:39

                    @anton_s said:

                    That's quite an idea, though it will require me to rewrite the whole API πŸ˜† Maybe you would be able to to control body via script, i.e. apply custom forces and freeze/unfreeze bodies.

                    There is no need to do anything crazy especially when there are all the more important parts to do, I'm just asking about the general possibilities of the engine you might have come across.

                    And on that note, to what extent can joints be put together now?
                    Could you combine several joints into one part thing? Because in SP we always had this problem that each movement axis needed an extra body part.
                    And can they be made soft/stiff as well? In SP things do like to stretch and bend out of control, and their distance/angle limits mean very little when there is force applied to the bodies.

                    1 Reply Last reply Reply Quote 0
                    • A Offline
                      Anton_S
                      last edited by 27 May 2014, 12:48

                      @mister k said:

                      And on that note, to what extent can joints be put together now?
                      Could you combine several joints into one part thing? Because in SP we always had this problem that each movement axis needed an extra body part.

                      Newton allows you to create custom joints. First version will have all joints similar to SP, next versions could become bloody and complicated with joints. πŸ‘Ώ

                      @mister k said:

                      And can they be made soft/stiff as well? In SP things do like to stretch and bend out of control, and their distance/angle limits mean very little when there is force applied to the bodies.

                      Joints in Newton are constraints. Its impossible to make them 100% stiff, but the softness/stiffness can be controlled. From current observations, joints are more stiff with the solver model set to exact, but pretty soft and unstable when the solver is passive. I'm aware there is an error somewhere in the constraint behavior, but meanwhile I can't clarify you on distinctive stuff. Let's continue discussion on joint flexibility once I'm done integrating them to MSPhysics.

                      1 Reply Last reply Reply Quote 0
                      • majidM Offline
                        majid
                        last edited by 30 May 2014, 19:40

                        πŸ‘ I have an eye on this topic, seems promising

                        My inspiring A, B, Sketches book: https://sketchucation.com/shop/books/intermediate/2612-alphabet-inspired-sketches--inspiring-drills-for-architects--3d-artists-and-designers-

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          Mister K
                          last edited by 1 Jun 2014, 11:01

                          @anton_s said:

                          Joints in Newton are constraints. Its impossible to make them 100% stiff, but the softness/stiffness can be controlled. From current observations, joints are more stiff with the solver model set to exact, but pretty soft and unstable when the solver is passive. I'm aware there is an error somewhere in the constraint behavior, but meanwhile I can't clarify you on distinctive stuff. Let's continue discussion on joint flexibility once I'm done integrating them to MSPhysics.

                          OK, just a couple tiny things to think on as you are implementing the joints.
                          Can you easily swap out or add joints while simulating? Say you wanted a wheel/arm to lock in place after it moved a certain distance at that point you could attach a "fixed" joint that would lock everything in place (in SP anyway), is that doable or can perhaps even be done better with something else?

                          Another problem in SP was "weight"(size x density) of an object would determine joint stiffness as well, could that be manipulated when calculating joints without disrupting the entire models weight balance?

                          1 Reply Last reply Reply Quote 0
                          • A Offline
                            Anton_S
                            last edited by 1 Jun 2014, 17:53

                            @mister k said:

                            Can you easily swap out or add joints while simulating?

                            Yes, each joint is a class. Creating/removing joints will be easy during simulation, @my_jnt = Hinge.new(pos, pin_dir, parent, child, min = 0, max = 0, friction = 0)
                            You will be able to do @my_jnt.#connect, or @my_jnt.#disconect.

                            To get all joints within the body you would write Body.#get_joints. To get all joints the body is connected to, you would write Body.#get_connected_joints.

                            It will be quite easy to use the joint interface.

                            @mister k said:

                            Another problem in SP was "weight"(size x density) of an object would determine joint stiffness as well, could that be manipulated when calculating joints without disrupting the entire models weight balance?
                            I'll look in to it

                            1 Reply Last reply Reply Quote 0
                            • S Offline
                              Sofia Oliveira
                              last edited by 6 Jun 2014, 10:48

                              Hi! I am a student of electrotechnical engineering and i'm doing a project. I need a little help! How i get values from serial port to MSPhysics?

                              1 Reply Last reply Reply Quote 0
                              • A Offline
                                Anton_S
                                last edited by 6 Jun 2014, 18:30

                                @sofia oliveira said:

                                Hi! I am a student of electrotechnical engineering and i'm doing a project. I need a little help! How i get values from serial port to MSPhysics?

                                https://googledrive.com/host/0B3qg8f4WrNdHWktZLXN5T2d6Tms/blink.gif

                                https://googledrive.com/host/0B3qg8f4WrNdHWktZLXN5T2d6Tms/laugh.gif

                                1 Reply Last reply Reply Quote 0
                                • thomthomT Offline
                                  thomthom
                                  last edited by 6 Jun 2014, 18:39

                                  @sofia oliveira said:

                                  Hi! I am a student of electrotechnical engineering and i'm doing a project. I need a little help! How i get values from serial port to MSPhysics?

                                  Would help to be a bit more specific, like what data are you getting from the serial port and what do you want to use that data with in MSPhysics?

                                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                  List of my plugins and link to the CookieWare fund

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    Sofia Oliveira
                                    last edited by 15 Jun 2014, 22:27

                                    @thomthom said:

                                    @sofia oliveira said:

                                    Hi! I am a student of electrotechnical engineering and i'm doing a project. I need a little help! How i get values from serial port to MSPhysics?

                                    Would help to be a bit more specific, like what data are you getting from the serial port and what do you want to use that data with in MSPhysics?

                                    Data from an accelerometer to move an object in MSPhysics.

                                    1 Reply Last reply Reply Quote 0
                                    • A Offline
                                      Anton_S
                                      last edited by 15 Jun 2014, 23:10

                                      @sofia oliveira said:

                                      Data from an accelerometer to move an object in MSPhysics.

                                      I assume your speaking of the accelerometer that returns its own acceleration along three axis, am I right?

                                      The main problem were facing now is how to get accelerometer data into SketchUp?
                                      I don't know about Macs, but on PC we use Microsoft Windows API, [Raw Input](http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v).

                                      The next question is using this accelerator data to control velocity of the particular body in MSPhysics. Of course, accelerometer data may be used for other purposes, but I assume you want to control body velocity with it. For instance, you move accelerometer to the right, the body moves to right as well.

                                      I'm sorry to say, but current version (0.1.0) of MSPhysics doesn't have a scripting feature, so we'll write the code for SketchyPhysics. I assume you have sketchy physics 3.2 installed on SketchUp 7 or on SketchUp 8.

                                      Before I attempt to write a script, I want you to verify what kind of accelerometer you're using. Perhaps a url to where you bought it would be helpful. ➑

                                      1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        Sofia Oliveira
                                        last edited by 17 Jul 2014, 11:46

                                        @anton_s said:

                                        I assume your speaking of the accelerometer that returns its own acceleration along three axis, am I right?

                                        The main problem were facing now is how to get accelerometer data into SketchUp?
                                        I don't know about Macs, but on PC we use Microsoft Windows API, [Raw Input](http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v).

                                        The next question is using this accelerator data to control velocity of the particular body in MSPhysics. Of course, accelerometer data may be used for other purposes, but I assume you want to control body velocity with it. For instance, you move accelerometer to the right, the body moves to right as well.

                                        I'm sorry to say, but current version (0.1.0) of MSPhysics doesn't have a scripting feature, so we'll write the code for SketchyPhysics. I assume you have sketchy physics 3.2 installed on SketchUp 7 or on SketchUp 8.

                                        Before I attempt to write a script, I want you to verify what kind of accelerometer you're using. Perhaps a url to where you bought it would be helpful. ➑

                                        My accelerometer is a MPU9150 which is actually an IMU. My idea is, having a board with the MPU9150 and a Bluetooth Low Energy module (CC5541) that sends the values to a USB/BLE dongle (CC2540). The dongle is recognized by Windows as a Serial Port (COMxx). We master the Bluetooth component but we can’t get the accelerometer data into Sketchcup.

                                        We’ve made a DLL in C# that is able to get data from the IMU (via Bluetooth) and compute a x,y,z position from both accelerometer and gyroscope data. We would like to use this x,y,z coordinates to move a shape inside Sketchcup.

                                        My goal is that Sketchup, with these IMU values, make a movement on an object.

                                        1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          Anton_S
                                          last edited by 17 Jul 2014, 12:22

                                          @sofia oliveira said:

                                          We’ve made a DLL in C# that is able to get data from the IMU (via Bluetooth) and compute a x,y,z position from both accelerometer and gyroscope data. We would like to use this x,y,z coordinates to move a shape inside Sketchcup.

                                          My goal is that Sketchup, with these IMU values, make a movement on an object.

                                          Looks like you're half way done already πŸ‘ Can you post a function name you're willing to export from the dll (with parameters and return type), plus the dll itself. We could use Ruby DL to extern function into Ruby and then teleport the desired entity according to the [x,y,z] coordinates.

                                          Open SketchyPhysics in SU6, 7, or 8.
                                          Copy this code into the desired body, the body you want to be moved.
                                          Change path and name to the desired dll path.
                                          Change dll function_name to the desired name.

                                          
                                          module MyRawInputC
                                            extend DL;;Importable
                                          
                                            dlload('C;/[path]/[dll_name].dll')
                                            extern "void func_name(float*)"
                                          
                                            def self.read_accelerometer_pos
                                              buf = (0.chr*12).to_ptr
                                              func_name(buf)
                                              Geom;;Point3d.new(buf.to_a("F3"))
                                            end
                                          end unless defined?(MyRawInputC)
                                          
                                          ontick {
                                            teleport(MyRawInputC.read_accelerometer_pos)
                                          }
                                          
                                          

                                          Press play and see if it works.
                                          If you having troubles, upload the dll and show the function name (with params) you want to export and I'll modify the script.

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          • 6
                                          • 45
                                          • 46
                                          • 4 / 46
                                          • First post
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement