Alternative method of moving/snapping objects - Point-to-Point

Isn’t this by now a native option to toggle ‘Hidden Geometry’ and/or ‘Hidden Objects’ on or off.
Tig’s script is from 2012.

If I’m not mistaken it only toggles the group you select.

Maybe if you show a simple model with a few objects and how you set up hide for certain basic geometry and/or objects and then point out what you want to move from …> to? For me all the desired elements seem to be in native SketchUp. I’ve read all posts over and over and couldn’t find anything new.

The only thing I encountered is that in the desktop version you can work and switch between scenes and keep tools active (here the ‘Move’ tool), something you can’t currently do in the online version. If that is implemented again, that would be a big plus.

2 Likes

Yes but doing it without having the object blocking the view and inferencing points you want to move will make it a lot easier, some models could get very big with a lot of geometry and it’s hard to move it from one point to another even after activating X-ray. I thought this was explained on the firsts posts, but some people are slower than others. :wink:

I’m only starting to learn the basics of Ruby, but I guess I can give it a shot. Bear with me :sweat_smile:

Q: is this post still in the right category?

Not me though. My suggestion was first mentioned (second post) before OP “rejected” it as an option (sixth post)

And as an alternative I’ve mentioned using scenes to ‘Move’ from start to target.

How would you select the target point with your suggested new feature: point to point?
A target that is blocked.

While it does move point to point, it does so by showing the object moving in real time, which is the issue because the object you’re moving can quickly hide the point you’re trying to click on.

2 Likes

I gave this a whirl and made a few versions. I think a MoveToPositionMemory extension might be cool. Select positions ahead of time, then later select a component/group and move it to the one of the stored positions.

I get what you are saying.

This is what I would do without extentions or a dedicated ‘Point-to-Point’ tool.
(tried with hide and tags, but no satisfactory solution)

Gather the object A(yellow) to be moved and the target objects B(green), C(blue), D… etc. in one larger group and apply ‘Hide Rest of Model’ when moving the object A inside this larger group to various targets.

See example screenshots where the red group represents a complex (part of the) model that is blocking the target.
Yellow to → green and blue

Dummy group to then gather yellow, green and blue groups into one larger group

Larger group [yellow+green+blue]

Inside the larger group nothing is blocking green and blue

I think I see what you mean. That trick would well with the Move → Inference Up → Inference Up trick in the tips video linked above.

Summary

Screenshot 2024-02-07 144840

Screenshot 2024-02-07 144857

Screenshot 2024-02-07 145923

I don’t see much difficulties in moving an object to a point hidden by the object being moved. I follow this sequence:

1 - Select the object to move.

2 - Select the Move Tool.

3 - Grab the object to move by a precise endpoint or midpoint or whatever suits you.

4 - Select X-Ray mode. This allows me to see the destination point.

5 - Move the object until I get a snap from the intended destination.

6 - Deselect X-Ray mode.

1 Like

Here’s module TIG pt.2.

require 'sketchup.rb'
    module TIG #based on TIG
        MENU ||= "View"
        VERSION ||= "0.0.2"
        
        def TIG.facevisibility()
            model=Sketchup.active_model
            ents=model.entities
            ants=model.active_entities
            return if ents==ants
            return unless ants.parent.group?
            unless @visible and @visible[0] ### hide and remember
                @visible=[]
                ants.each{|e|@visible << e if e.class==Sketchup::Face and e.visible?}
                @visible.each{|e|e.visible=false} if @visible[0]
                return 'invisible'
                else ### show and forget
                @visible.each{|e|e.visible=true if e.valid?}
                @visible=[]
                return 'visible'
            end
        end
    
        unless defined?(@ui_loaded)
          add_separator_to_menu(MENU)
          menu = UI.menu(MENU).add_item("Toggle Faces") { TIG.facevisibility() }
          @ui_loaded = true
        end
    end

The X Ray method surely helps in the situation, no doubt. There are drawbacks to it though. One has already been mentioned, but X ray may just complicate things if it just introduces more visual clutter. Another is that it doesn’t get around navigating through and beyond, inside and or through obstructing geometry, which we know can be difficult to do. Finally, depending on complexity, X ray can often take a long time to toggle, as it can be a huge change to the viewport and can easily bog down a video card.

All in all X-ray works for a simply model and operation, but it wouldn’t really handle it as simply as the feature requested would. Cheers.

Agreed. I mentioned it as a possible option wrapped in a question in my first post (#2).

For the time being, with no P-to-P extention one could do with the ‘Line’ tool in its own environment and with ‘Hide Rest of Model’ disables (and if needed in X-ray) mode:
(red represents a complex model)

A (start point) needs to be placed on B (target point)

draw an edge inside its own group’s environment

That new group (moved) and its edge has the same distance and direction as needed for moving yellow to green, A->B). No obstuction when applying the new A ->B

I’ve explained the issues with X-ray mode in one of the first replies. Basically, there are 3 problems: (1) it interrupts the workflow (extra clicks), (2) it causes a sudden and severe load on the GPU as it now needs to display ALL geometry that was previously hidden, and (3) it can actually make things more confusing by adding 10s/100s/1000s new objects on the screen.

So does turning your geometry into wireframe, as suggested, come even remotely close to your request?

(i’m having issues here with posting :rofl:

Not even close. That becomes a godawful mess, and instead of looking for one edge/vertex, I’m looking at HUNDREDS.

“This is literally the opposite of what I requested” (C) meme.

No. X-Ray and Wireframe don’t solve my problem.

My problem is moving things and avoiding blocking the intended target with the object I’m moving.

All I need is a way to move the object AFTER I specified where to move it to.

1 Like

did you try the fredo move along? (part of fredo tools )

Which is what wireframe does, right?

2 Likes

Concider my solution with drawing a simple edge (see post #34 above).

With an extention you would have to select start and (digging through the complex model) select the target. Then (or before) you would select your object to be moved.

With the ‘Line’ tool you would click on the start point, dig through the model and click on the target.
The edge represents the P-to-P line the object needs to be moved. You can even move the edge outside of the obstructing model and use it to move your object.
(preferably create the edge in its separate groups environment.)

It’s close to a P-to-P extention with native tools.

1 Like