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.
Is there a way to troubleshoot this?
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
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.
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:
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" …