[Plugin] Deck Builder (Updated 23-Jun-2015)
-
@pilou said:
Seems there is a glitch with the 2017!
(works fine in 2016)Did they change Ruby version again? Or is it just a buggy 2017?
-
it's not me that can answer to these questions!
-
You might be falling foul of the v2017 changes to how references and id's work.
I'm currently rewriting my ExtrudeTools because of it.Previously [<=v2016] you could get an array of the entities within a container [say
ents=group.entities.to_a
] and then when you usedgroup.explode
those references saved in 'ents' would still be valid in their new context [although you might need to trap for merged entities etc], but then their id's were 'transitory' between sessions.But in v2017 now those saved references are found to be 'invalid' after the
group.explosion
, this is because during the explosion those entities are now deleted and replicated in their new context, but now using their same enduring id's across sessions.
The references now return as deleted entities 'invalid' !
This can be sidestepped by recoding, with sayents=group.explode
- which gives 'ents' as an array of what results from the explosion. -
An hard work additionnal for the coders if that must be made for each script!
-
@pilou said:
An hard work additionnal for the coders if that must be made for each script!
I don't have SU2017 and may never but, if you would open the Ruby Console, run the plugin and post the errors reported, maybe I can fix the problem.
-
sdmitch - here's the error:
Error; #<NoMethodError; undefined method `definition' for nil;NilClass> C;/Users/Jim/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/Deck Builder.rb;531;in `add_railing' C;/Users/Jim/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/Deck Builder.rb;225;in `onLButtonDown'
-
@tig said:
You might be falling foul of the v2017 changes to how references and id's work.
I'm currently rewriting my ExtrudeTools because of it.Previously [<=v2016] you could get an array of the entities within a container [say
ents=group.entities.to_a
] and then when you usedgroup.explode
those references saved in 'ents' would still be valid in their new context [although you might need to trap for merged entities etc], but then their id's were 'transitory' between sessions.But in v2017 now those saved references are found to be 'invalid' after the
group.explosion
, this is because during the explosion those entities are now deleted and replicated in their new context, but now using their same enduring id's across sessions.
The references now return as deleted entities 'invalid' !
This can be sidestepped by recoding, with sayents=group.explode
- which gives 'ents' as an array of what results from the explosion.So this is what we have to look forward to with each new release!!!!
Updated .rbz's at Plugin Store and my blog.
-
Seems perfect!
-
Love your "basic" designs. You should use your imagination more. NOT!!!!
-
Alas life is to short! Now no time to pass more 5 minutes for something!
-
Your new version is excellent and very elegant!
And surprise Spindles are components!
So mad replacement or modifications are now easily possible!(trick: explode circle or polygon if they are "alone")
Advertisement