Axis constrained orbit


#1

It works the same way like moving an object by pressing one of the arrow keys to lock it to a specific axis.

The simple advantage of this would be in allowing objects to be neatly aligned.

So if i wanted to present a table to someone from a forward perspective view but wanted the angle to be slightly more steep to show more of the top surface of the table while keeping the table perfectly straight so that the horizontal edges are perfectly aligned with the horizontal axis then i would be able to do that with ease.

With the way SU works now that would not be feasible without some time consuming workaround.

Another advantage would be to get a clean and precise 360 degree orbit around the vertical axis of the center of an object or scene.

Certainly such a feature would be handy and not too difficult to implement.

It also doesn’t cause SU to become bloated since a person is simply not obliged to use the arrow keys which are in themselves not being used anyways at present with SU as there is also no additional buttons to take up space.

To take it even further with symmetry why not have orbital snapping like way there is rotational snapping. Perhaps you can activate the snapping by hitting the alt key while orbiting with the mouse. So if you have the forward perspective view for the table then you can perfectly tilt it upwards around the horizontal axis by exactly 45 degrees.

Such a feature if implement in SU should be part of SU itself and not an extension since its an elementary function.


#2

your making assumptions, again…

once mastered, orbiting with the mouse is a hard to beat method of navigating, and the Walk and Look tools already offer alternatives…

I would not like to see development time spent on modifying these tools…

btw: Advanced Camera Tools already uses the Arrow Keys for navigation…

many users who require advanced navigation buy a programable SpaceMouse or equivalent…

others use Advanced Camera Tools or one of the many animation extensions…

john


#3

@john_drivenupthewall, You are right. The issue of where the developers must exert their limited budget and time is a critical factor.

But my question to you is that if you had a dozen different products designed in SU and then sent to LO for a presentation, and you wanted the viewer to cycle from product to product by flipping ‘fit to screen’ pages for a clean and organized transition, and if you wanted your products to be seen from a different angle than the six precise standard views currently available in SU, perhaps because the available views by SU are not good enough to properly present the features of the products, then how would you get every product to be in the exact same custom viewing angle? Wouldn’t it be sloppy and unprofessional if every product had a slightly different angle?

I just find 6 standard precise views are not enough. With this feature you can have as many as you like.

Perhaps you can even copy and paste any custom view so that you can set the custom view to each product instantly rather than have to manually set each one.

Of course, if truth be told, i am too obsessed with keeping programs as organized as possible. I am a meticulous person and organization and tidiness is the area of features that i often look for given that most of my work involves basic functions that SU and other programs allow me to do as i am also not adept at discovering new advanced features.

In contrast, the developers are probably focused on significant innovations and feel that all these organizational features are not important.

But wouldn’t the truth be that they should divert about 5% of their time on constantly making SU more organized? How could organization and symmetry not matter?


#4

This is might be slightly off topic but it’s perhaps a version of the same idea. I have wished that I could make a template in Layout with a set of view portals that are preset or locked in scale, style, and camera position relative to the model axis. This comes out of a desire to take several similar sized models and send them each to a layout template that would generate identical documents for each object regardless of what scenes are recorded in each model file, including some non-standard views. Perhaps this could be an option in Layout to set a camera position in a window and lock it relative to the drawing axis then save it for future use?


#5

In fact, if you get used to it you will start to try to orbit with the middle mouse button in other programs (like image editors, …) too.


#6

I do this all the time. :smile:


#7

I have an unpublished bit of Ruby that I wrote for more or less this purpose. That is, I had alternative versions of the same piece to show a client and I wanted to switch between them at exactly the same view orientation and zoom. The code lets you choose either all other scenes or any set of scenes from a list and changes their camera(s) to match the active scene.

If that is of interest, I could flesh it out into an extension (it’s not very complicated, but I just banged it out for my own use and didn’t wrap it for publication).


#8

Recently I have designed nine pieces of furniture that can be configured in all manner of ways to compliment each other.
In my model I have all nine pieces along the red axis. Behind these I have 4 suggested configurations of a mixture of these items.
In my model I have scenes:
Work/Example A/Example B/Example C/Example D

Using layers I have snapshots of the 4 configurations with nothing else showing. In LayOut I just load these scenes to different pages. These scenes are not set to any standard view, I make the view as I think shows the item best. You could add as many more scenes as you desire to show different angles, also just “standard” views.

I think if you leverage scenes and layers you could achieve what you describe, it just takes a little forward thinking.

Oh,and if I do want the same custom angle, I just PAN from one piece to the next without orbiting, set the layer visibility and create a scene. This will give some consistency.


#9

That is a pretty nifty script. If it isn’t too much trouble then i would check it out if you published it.

Just search for this post and send me a message or a reply on the post itself for other people to see.


#10

@Thorleyian, so its a two dimensional setup where one dimension has the different objects and the other has the different versions of the same object. Then you simply have each scene showing the array of different objects. Ok.

I have actually been recently struggling with this issue of dealing with multiple revisions of the same object where i don’t want to remove the original since i might need to compare it to the modified one or since i might need to revert back to it.

I was taking a different approach where each revision would be in the same position but in a different layer. However, i think your method makes more sense since having two or more revisions of the same object in different layers is more difficult to manage since you cant really have both objects visible at the same time.

Also, you are right, forward thinking, or forethought for that matter, is critical to designing more effectively. We have a tendency to just quickly start creating thinking that if we are creating then we are moving forward. This however is not always true. Pondering and sorting things out in the mind could lead to a shorter path when finally engaging where the sum of pondering followed by engaging takes up less time than just engaging.

Nonetheless, i think the post has veered off course with the subject.

But at least some good ideas are being thrown.


#11

We recently discussed the locking of height when the camera is in Parallel Projection mode. We wondered if perhaps one of the modifier keys could be used to lock so that Oribit would not pop us out of PP mode.

I think the FR might have been opend by @eneroth3 Julia ?


#12

To be honest, cameras don’t make any sense to me. I find them to be more annoying than useful. SU also seems to slow down considerably when i use them. I don’t know why this is so. Perhaps its the reason why i dont give them a greater consideration.

Ultimately however i think i may never need them. The line of work i’m using SU for at the present doesn’t require me to use them and i dont think things are going to change.

I prefer just to stick with and pursue well organized scenes, views, layers, and nesting of components.


#13

Below is an initial beta version rbz.

Its purpose is to cause the view’s camera properties to be exactly the same across multiple scenes (aka pages) in the model. The currently active scene is used as the basis, and others are tweaked to match it. So, for example, you can use Layers to set up scenes showing different variations of a model and then use this extension to set the scenes up so that the model does not appear to move, rotate, or jump as you change from one scene to another.

NOTE: So far as I have been able to determine, SketchUp does not capture these changes as an undoable operation. So if you chose the wrong scenes or don’t like the new cameras, you will have to manually get them back the way you wanted. Sorry, I tried and it doesn’t work!

Install it using the Extension Manager (or via Properties for pre-2017).

It will add an item “Sync Scene Cameras” to the Extensions menu. This item is a pull-right with two submenu items: “Sync All Scenes” and “Choose Scenes to Sync”.

The former will immediately match all Scenes to the currently active one.

The latter will cycle through the scenes of the model, raising a message box to confirm the action on each scene. I recognize that this mode of operation will be quite clunky if your model has a lot of scenes, but it was quick and easy to implement for this initial test. If this proves useful and popular, I’m open to suggestions from users regarding how it could be improved, in particular how you would want to go about choosing the scenes to sync.

SB_camera_sync.rbz (2.1 KB)


Creating orthographic views with consistent zoom and camera height
#14

I like it. Simple and functional.

The only practical alternative to choosing the scenes would be through a pop up window showing the list of scenes with a checkbox beside each name. That would certainly work. However even if such a variant is implemented it would be wise to also keep the current approach you have since with your approach the user can see exactly what the scene is before choosing it rather than have to remember what exact scene the scene is through the name only - a problem that could develop if the scenes have not yet been assigned names or if their names are numbers.


#15

Thanks for your feedback!

I considered a checkbox list of scenes, but didn’t implement it yet for several reasons. Some you listed, e.g. I like the definite feedback of seeing the scene you are about to change. Another is that there could be a lot of scenes, and that would make a checkbox UI very large and awkward unless I also implemented some kind of filtering or search facility - not impossible, but more work than this simple test of concept!


#16

I can’t add features to LO (even though I wish I could) but perhaps this extension helps in your workflow to get corresponding views in numerous models.


#17

Thanks for the idea, I appreciate it. I’ll check it out. :smile:


#18

Hey @eneroth3, i just downloaded a trial of your plugin and i think it does its job very cleanly.

But if i may suggest another feature to add, assuming its possible, then that would be relative duplicate views.

What i mean by this is that if i have multiple versions of the same object each of them lined up along the red axis and each in their own layer, then wouldn’t it be nice if i can set a custom view for one of the objects and then be able to apply that same view to every other object but by using a relative position so that the camera maintains the same angles and target but has a different position.

It’s essentially like pressing any of the built in SU views which function relative to the visible objects, but instead of being limited to the 7 standard SU views, you can have as many custom views as you like.

Like i said, i don’t have the knowledge to know if its possible, but i think you do.

If you can implement the idea by adding a relative or absolute option then that would really make the plugin even better.


#19

Sorry, my mistake… It is possible to apply relative duplicate views with your plugin, but the user can only do it with zoom extents to get the exact matching positions. This can be limiting.

Nonetheless, the following setup is an example of the benefit of having relative duplicate views.

https://youtu.be/UP_3CCEf5mA

In the video i am keeping a record of every stage of development of a custom tabletop that i intend on sending to a cabinet maker. I find having every stage kept organized in a grid, as suggested through a similar setup by @Thorleyian, enables me to back track and restart from fresh if i make a mistake. It also allows me to use all the diagrams for dimensioning and for a clean evolutionary representation of the tabletop.

With SU, i am only limited to the 7 standard views and in zoom extents if i want the objects to be in the exact same position and angle as i flip from one scene tab to another. As you can see, having them aligned perfectly looks clean, whereas if they were all in slightly different positions then they would look sloppy, as would be the case with a custom view, as is the reason why i think your extension would be superb if it allows for relative duplicate custom views.

Of course, i could have every stage in a different layer but in the same position, but i find working with components that way is more difficult and leads to mayhem if a file gets larger.


#20

I often take a project and copy it into another file and do a save as, and delete out the original geometry - this allows me to use and use all the same scenes that are setup.

If I want to keep the original model / components I put them on separate layers. If I’ve used SectionCut Face I go through and update my section cuts.

I have experimented with building a template that has this built in… so that when I move to LO I can have 1 file that has all my windows / etc. prebuilt… I’m not quite there yet, but I can see a path forward to make it happen.

FWIW, to me, layers are far easier to control / manage visibility than trying to do camera and hidden / multiple file jujitsu.