Unexpected results from Extend Views extension

Hello everyone. I recently added the extension Extended Views from Chris Fullmer to my Sketchup Make (2017). I’ve had issues getting it to work. I just realized that it’s doing something odd. When I click on any of the views, nothing happens as far as rotational views like top, bottom, elevation views… nothing even after changing the user axis. However, the weird thing is, it places 8 construction points in the same location regardless of the view I’m attempting to create. It places them equidistant to each other at 100" to form a cube if you were to connect it with edges. It always originates at 0,0,0 on the world axis going out from the 1st vertex x and y (see screenshot). there is another extension conflicting with it. I do have some construction plugins as well, but I can’t figure out which one.
points Is there a way to troubleshoot this?

Thanks guys
Charlie

I have checked the code for v 1.2.0 and it does not create guidepoints at all.

INCORRECT, see updates below …

You may be seeing an interference with the code from another plugin.

Basic problem plugin elimination routine (collapsed as it does not apply in this case)

Excepting the Extended Views plugin, switch off half of your extensions using the Extension Manager, the restart SketchUp.

  • If the issue goes away, then the culprit is in the half you switched off.
    Repeat by switching back on half of those you had switched off.

  • If the issue stills occurs then the culprit is in the half still active.
    Repeat by switching off half of the plugins still active.

This is basically a binary search by elimination.

One thing I find annoying about this extension is that is performs a Zoom to model extents for each command.

This is annoying if we are inside the edit context of a component or we have a single component instance selected.

It seems to work much better if line 79 in "clf_extended_views_data.rb"

      view.zoom_extents

… is replaced with …

      if model.selection.empty?
        if model.active_entities == model.entities # top level
          view.zoom_extents
        else
          view.zoom(model.active_path.last)
        end
      else
        view.zoom(model.selection)
      end

ping @ChrisFullmer

I had to fire up an old copy of 2017 to check this. Unfortunately, 2017 is unstable on current releases of macOS, so I get only a very short time in which to try before SU BugSplats. But…

If you run it with the Ruby Console open, you will see that it is raising an exception about trying to invoke position on a deleted ConstructionPoint (cpoint). That causes it to abort and leave behind bunch of temporary cpoints that it would have cleaned up if it finished. My guess is that SketchUp is reaping an empty group too quickly? Chris hasn’t changed this extension in 11 years, so it may be that newer hardware is letting Ruby run faster and has reduced the time before the reaping happens, since otherwise this would never have worked correctly.

Edit: After looking at the source and playing with it a bit, I’m surprised this ever worked! The problem is that the code creates local variables cp0-cp7 by adding cpoints to the entities of a group. It then explodes the group, capturing the results of the explode in an Array named cpoints. In subsequent code, it uses cp0-cp7 instead of the cpoints in the Array. But the act of exploding the group deleted the original cpoints cp0-cp7 and created replacements at the same locations in the new Array.

Unless @ChrisFullmer has completely abandoned this code, I’ll leave it to him to fix it.

1 Like

EDIT:

I somehow wound up with a modified RBZ that does not create cpoints.

Any references to cp0..cp7 are commented out in version 1.2.0 which is advertised as the available version in the Extension Warehouse.

This is the version I tested from my local plugins archive folder. It does not add any cpoints to the model.

Did Chris make mods and release without changing the version number?

  • ANSWER: NO - was @tjdrgas who modified it.

Hmm…I just downloaded it from sketchUcation.

Okay … I verified that the files in SCF PluginStore and EW match at v 1.2.0.

  • This “official” version does add cpoints.

Somehow, I wound up with an RBZ labeled as version 1.2.0, dated 2021, that had all the construction point stuff removed or commented out, as well as the point cloning.

The points assignments were replaced with this block of code, viz

########
	  #Returns the transformation of the current component edit session	  
	  trans=Sketchup.active_model.edit_transform
	  x=100
      pt0 = [0,0,0].transform(trans)
      pt1 = [x,0,0].transform(trans)
      pt2 = [0,x,0].transform(trans)
      pt3 = [x,x,0].transform(trans)
      pt4 = [0,0,x].transform(trans)
      pt5 = [x,0,x].transform(trans)
	  pt6 = [0,x,x].transform(trans)
#	  pt7 = [x,x,x].transform(trans) # never used

###################

Then all the clauses in the case block just used these above points directly.

It is a big “no-no” to modify code and then package it up as the same version.

UPDATE

A quick search of the forum reveals likely where it came from:

2 Likes

I found the original topic thread Chris opened at SCF on this extension:

… in this thread …

… and …

I verified that the version I had in my archives was modified by tomaszdrgas in that thread but the RBZ has since been renamed "BlUg_CLFExtendedViews.rbz"

See: Post by @tjdrgas at https://community.sketchucation.com/post/1552266

However, the extension properties, version, files and are all the same.
This should have at least had a different version number, like 1.2.1

2 Likes

Thanks for looking into this guys. For time being I’ll shelve this extension as unusable.