[Plugin] Face2Frame - Updated 27-Mar-2014
-
Wayne
You have helpfully posted the RC error message BUT you have scrolled it, so the most important lines telling us what has just happened are missing.
Could you recreate the error and post the entire error message again.
Once we know what the error says then sdmitch can probably go and see what to trap/fix...I doubt very much it is a clash - more likely a simply coding error that occurs when particular parameters are chosen for a certain form of face etc... I'd expect it to be relatively easy to fix once the full RC error is known
-
Don't worry about the RC message...
I now see that an RC screenshot that was posted earlier shows the error to be in line #433...
pts<<p.offset(xa,dx/2).offset(ya,-dy).offset(za,(dx*@tpcnt+0.01)***sign**(v.z))
The method 'sign
' is not defined in the tool's code and it's not a standard Ruby method either BUT it is defined in DC stuff... so perhaps users with the DC extension loaded will get it working OK anyway... or maybe another tool that not all users have is making it ? No unencrypted script is making it, so it must be an rbs file ?It is only called once in the whole file...
The way to find the 'sign' of a value would be work for everyone as:
...*((v.z)<=>0)
OR you could add a new method into this tool's code, so if you use it more than once
def sign(n=0) return n<=>0 end
Usage:
*sign(n)
Sdmitch to fix !
It's easily sorted... -
Tig,
Thanks for your response, but I must admit coding is greek to this carpenter, I did attach a shot of the ruby console,scrolled in the proper position, in case it helps any.I also added a shot of my plugin folder, to see if anything in there would help.
Thanks for everyone's help
Wayne
-
That is the 'sign' error.
Which means for some reason you do not have the 'sign' function added to Ruby by some other tool...
It's easily fixed by editing the script at line #433.
I have PM'd you [and Sdmitch] a working copy...
BUT Sdmitch ought to fix it officially and post an update... -
Sorry about the sign function problem that some have experienced. It never was a problem for me.
A new version with TIG's fix has been posted.
-
Thank You sdmitch and TIG, the updated plugin work perfectly.
This place is such a wealth of knowledge and sharing!!!
Now off to sdmitch's blog, to check out some of the very cool sounding plugins........
Have A Great Day!!!!!
Wayne -
Glad it's fixed.
I've never come across this '
sign()
' method before, although I can confirm that I have it auto-loaded into my Sketchup Ruby, even without DCs loading, and there's no 'sign' of it in any RB scripts I have that I've grepped - so I suspect an unidentified RBS file adds it, and if a user doesn't have that loading then they are screwed...
I'd be interested to learn where 'sign()
' originates...Meanwhile using the 'comparator'
n<=>0
returns either 0, 1 or -1: which, when used with * effectively uses the 'sign' of the number'n
' in a calculation, without passing its real numerical 'value'. -
I'm really not 100% sure where I found the sign function but I believe it was in the Ruby Console. Apparently I typed something like sign(-5) and it returned -1 so I assumed that it was a common function. I do have Ruby 1.8.6 installed so maybe that's why it works for me.
-
I too get
sign()
in the RC... but with a standard SUp-Ruby only installation and DCs etc disabled I still get it.
And it's not deined in any .rb files I have loading...
So I must assume that there a .rbs file loading from somewhere that adds the global method...
The alternative 'standard' way ofn<=>0
is easy enough though...Another one that sometimes trips up scripters is
group.definition
[which is needed for adding instances of a group into another entities context etc, when 'copying' or 'moving' it to mimic Copy/Cut/Paste_In_Place...] - the methodcomponent_instance.definition
does return the component's definition and some 3rd party tools addgroup.definition
to the mix... but if you use that method and the recipient of your script hasn't got the other 3rd party script that adds it, then they'll get errors. The 'safe' way is to usegroup.entities.parent
which returns that group's definition properly... -
this is a very cool script! attached are a couple of examples of it in use. couple of things - the header spacing looks like there is overlap. also, after using the tool it's somewhat arbitrary if the dialog comes back or not in example #1 i'd also tried to use it on a floor and on a ceiling. it's mostly there. in example #2 i tried to use it for a "soffit" and the vertical bits work as expected but the horizontal ones (like #1) are not computing right. this is definitely a great bit of work however it ends!
-
Given the fact that the plugin was designed for vertical walls, I'm not surprised that it had a problem with floors and ceilings.
The apparent overlap of the headers is the 3/4" plywood spacer between the headers.
-
@unknownuser said:
The apparent overlap of the headers is the 3/4" plywood spacer between the headers.
Yes that was my addition... Here in America on the jobs that I've worked we use Plywood in our headers.
-
I haven't laminated headers in a decades...energy efficiency dictates 4x10 or 4x12 headers with 2 inches of foam insulation or spray foam on fully sheathed structures.
-
@mics_54 said:
I haven't laminated headers in a decades...energy efficiency dictates 4x10 or 4x12 headers with 2 inches of foam insulation or spray foam on fully sheathed structures.
Rich Boy...
-
I must admit I have not framed a house in probably 20 years and I don't provide framing details as framers from different areas do things differently and I assume know their trade better than I. So I would defer to those who know better.
-
You're warm weather too...I do arctic construction.
-
i wasn't sure if that was a laminate or not but it's ok. in general, i see a lot of newer construction with the laminated i-beam for the headers (similar to floors and rafters) and a foam fill. i think the headers work as-is and folks can draw any details necessary to describe their preferred approach it would be really cool if you could "x" the ends of the lumber so a 2D / wireframe view can show it like a construction plan would...
-
@gullfo said:
i wasn't sure if that was a laminate or not but it's ok. in general, i see a lot of newer construction with the laminated i-beam for the headers (similar to floors and rafters) and a foam fill. i think the headers work as-is and folks can draw any details necessary to describe their preferred approach it would be really cool if you could "x" the ends of the lumber so a 2D / wireframe view can show it like a construction plan would...
I considered that X as well, but not only at the ends but two faces all the way through studs, so that any stud in any location would show in sections as such. It would jump the polys up quite a bit but I don't think that would be a very big issue.
-
Just posted an update to Face2Frame. Now does floors, faces on the XY plane, and adds "X"s to ends of studs, headers and/or joist.
-
I'm french and i'd like the same famous plugin in metric units !
A dream for woodworkers....
Advertisement