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

    Taking a model to particular coordinates

    Scheduled Pinned Locked Moved Developers' Forum
    44 Posts 5 Posters 1.6k Views 5 Watching
    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.
    • TIGT Offline
      TIG Moderator
      last edited by

      @gaieus said:

      @tig said:

      You'd be better posting queries about scripting in one of our specialized forums...

      And you have all the powers to move any topic belonging there, TIG!
      πŸ˜„
      I know but hopefully, this is now 'dead' so moving it now seems a waste of time... πŸ˜’

      TIG

      1 Reply Last reply Reply Quote 0
      • B Offline
        borg.stef
        last edited by

        Where are the specialized forums?? sorry I'm not very used to this site! THanks

        1 Reply Last reply Reply Quote 0
        • TIGT Offline
          TIG Moderator
          last edited by

          @borg.stef said:

          Where are the specialized forums?? sorry I'm not very used to this site! Thanks

          Your post has been transferred by the ever vigilant Gaieus... We are now in the Developers' forum which discusses Ruby etc - there is also a Plugins forum for specific tools... There are many forums and sub-forums please browse them and familiarize yourself - post in the one most relevant to your problem...

          TIG

          1 Reply Last reply Reply Quote 0
          • B Offline
            borg.stef
            last edited by

            Thanks for that.

            Dear TIG, I tried your code and it's giving me this error
            Error: #<NoMethodError: undefined method instances' for #<Array:0x7b62f2c>> C:/Program Files/Google/Google SketchUp 8/Plugins/examples/new2.rb:10 (eval):33:in load'
            (eval):33

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              @borg.stef said:

              Thanks for that.

              Dear TIG, I tried your code and it's giving me this error
              Error: #<NoMethodError: undefined method instances' for #<Array:0x7b62f2c>> C:/Program Files/Google/Google SketchUp 8/Plugins/examples/new2.rb:10 (eval):33:in load'
              (eval):33

              My fault! Here's the corrected code!

                  model = Sketchup.active_model
                  ### set x and y as needed...
                  x=123.4
                  y=567.8
                  defs=model.definitions.to_a
                  machine = "trial.3ds"
                  model.import(machine, true)
                  defa=model.definitions.to_a - defs ### what you just added
                  defn=defa[0] ####### FIX #######
                  obj = defn.instances[0] ### the placed version
                  ###pt = model.bounds.center.vector_to([x,y,0]) ### errr ???
                  ### do you really want to do this as this 'center' is not 'constant'
                  ### would it be better as a 'movement' from the
                  ### original object's origin/SKP's ORIGIN [0,0,0]...
                  pt=Geom;;Vector3d.new(x, y, 0)
                  tr = Geom;;Transformation.translation(pt)
                  obj.transform!(tr) 
              

              TIG

              1 Reply Last reply Reply Quote 0
              • B Offline
                borg.stef
                last edited by

                still not taking the model at those coordinates after importion πŸ˜•

                1 Reply Last reply Reply Quote 0
                • TIGT Offline
                  TIG Moderator
                  last edited by

                  It adds the imported object at the origin in the SKP [yes?] - this should be equivalent to the origin in the 3ds file.
                  The Vector3d moves the object by the given x and y values.
                  What values are you using for them ?
                  Try perhaps x=0 and y=100.m - that way if the object moves by 100m you'll know it works!
                  Are there any errors in the Ruby Console when you run this ??

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    borg.stef
                    last edited by

                    no errors. its just imported in random coordinates and with the move icon pressed....

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      I don't understand you exactly.
                      If you make x=0 and y=0 it should then simply leave the object where it imported ??
                      What 'Move icon' ?
                      As I don't see your whole code can you check that my example code meshes with it as needed.
                      IF you make x=0 and y=100.m doe sit move the imported object 100m in the green axis ??

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • B Offline
                        borg.stef
                        last edited by

                        I copy and pasted the code that you gave me and I tried x = 0 y = 0 and even x= 0 y = 100.m but it's doing the same in both cases. Importing the model in a random location. I'm so confused.

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          So am I.
                          Can you attach your 3ds file to a post or a Private Message [PM] and I'll look at it...

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • B Offline
                            borg.stef
                            last edited by

                            it shows this message: The extension 3ds is not allowed. 😞

                            1 Reply Last reply Reply Quote 0
                            • B Offline
                              borg.stef
                              last edited by

                              it shows this message : The extension 3ds is not allowed.

                              😞

                              1 Reply Last reply Reply Quote 0
                              • TIGT Offline
                                TIG Moderator
                                last edited by

                                Don't worry about the example 3ds [but you could 'zip' that type of file]... I've found the problem. 3ds files import but expect you to pick an insertion point - some file type imports don't... I'm thinking how to circumvent this...

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • B Offline
                                  borg.stef
                                  last edited by

                                  Thanks for your time...you know I'm new to ruby I don't know these details...just built programs from what i found on the net..thanks!

                                  1 Reply Last reply Reply Quote 0
                                  • B Offline
                                    borg.stef
                                    last edited by

                                    i can't seem to make this thing work 😒

                                    1 Reply Last reply Reply Quote 0
                                    • TIGT Offline
                                      TIG Moderator
                                      last edited by

                                      No problem... "God loves a trier..."
                                      Here's a version that does work !
                                      I've never had to do this myself and I have written hundreds of scripts - so we all have things to learn πŸ˜’
                                      It now imports the 3ds file and places one instance at random, then adds one at the origin [0,0,0].
                                      It deletes the original one instances[0] and leaves the next one and then moves it by x/y values you have set at the start...

                                          model = Sketchup.active_model
                                          x=0 ### set x and y as needed...
                                          y=10.m
                                          defs=model.definitions.to_a
                                          machine = "C;\\Temp\\trial.3ds"
                                          model.import(machine,true)
                                          defa=model.definitions.to_a - defs ### what you just added
                                          defn=defa[0]
                                          defn.instances[0].erase!
                                          tr=Geom;;Transformation.new(ORIGIN)
                                          obj=model.active_entities.add_instance(defn, tr)
                                          pt=Geom;;Vector3d.new(x, y, 0)
                                          tr=Geom;;Transformation.translation(pt)
                                          obj.transform!(tr)    
                                      
                                      

                                      We all learn! πŸ˜„

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • B Offline
                                        borg.stef
                                        last edited by

                                        wow this actually worked....only that z is high up not 0..

                                        1 Reply Last reply Reply Quote 0
                                        • Rich O BrienR Online
                                          Rich O Brien Moderator
                                          last edited by

                                          Is this a 3ds importer that doesn't need you to place the model after importing? Or what is it?

                                          Download the free D'oh Book for SketchUp πŸ“–

                                          1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            borg.stef
                                            last edited by

                                            rich, it imports a model and instantly takes it to particular coordinates dictated by you!

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

                                            Advertisement