@martinrinehart said:
As names are unique
Only for Layers! Scenes can have same names...
*Hopes his cry of despair reaches the target before ... *
@martinrinehart said:
As names are unique
Only for Layers! Scenes can have same names...
*Hopes his cry of despair reaches the target before ... *
Scroll bars pop up on the PC, but not on the Mac...
Interesting. That's pretty - ubergeek.
Mark
New version works, even on my bigger model!
Now about that alphabetical layer sorting I asked for...
It helps when I can check vismap with a nice straight diagonal for these large maps, since I can just make sure that it works perfect.
xooo
oxoo
ooxo
ooox
vs.
xooo
ooxo
oxoo
ooox
It helps.
New to add to documentation:
Only update Vismap with sketchup closed. Updating with sketchup open is bad.
Mark
This seems like a trig problem
.move! may require angle in degrees - DCs use degrees exclusively for all their trig work.
.transform! may require the angle in radians.
Try changing to "angle = degree" with .move! and see if that fixes it.
Mark
Interesting... Glad the model helped then. Wonder what caused it...?
@martinrinehart said:
The current version now supports about 12k layer/scene intersections.
Buggy still, but the problem is in ruby! Here's the console dump on "send to model":
(eval);259; warning; invalid character syntax; use ?\s
(eval);259; warning; string literal in condition
Error; #<LocalJumpError; return from proc-closure>
(eval);259;in `call'
@unknownuser said:
I've done a lot with bit maps, so packing 16k bits into a 2k string is not a problem. But is 16k going to handle really large animations? Or should I find (they're there) a more capacious solution?
If you're able to pass it as 32 bits/char, you could get 256^2 bits in. That would work for what I'm trying to do (make a decent pipe system of 200+ pieces and pass it to layout), but might not pass for animation work.
Make it a pro version and a free version, pro being for animation with a different data passing technique?
Aha! It is a bug with overflow.
http://www.boutell.com/newfaq/misc/urllength.html states that IE can only have a URL of length 2,083 chars.
Line 78 to 82 of vismap.js states...
function rubyCalled( callback_name, message ) {
if ( (typeof message) == 'undefined' ) message = '';
url = 'skp;' + callback_name + '@' + message;
window.location.href = url;
}
With my example, this would request a url from internet explorer that would contain a 2,150 character string attached to an 11 character header to form a 2,161 character url - which exceeds IE's ( ) limits.
I guess the only way I could suggest fixing this is with a conversion of binary (1 for V, 0 for I), converted to ASCII, and then back on the ruby side. Ruby will be able to unpack it though, using str.unpack in ruby, but still, this will be difficult to overcome.
.>
Not much help, sorry.
Martin,
The issue seems to be size. I could give you the model, but it's too large for these forums to post! However, as I was trying to reduce the size of the model in order to post it, when it got under 3.4 MB or so, the script worked!
The bug seems to be not in getting data, but in sending it back to the model. When I do that, I get a prompt asking me if I want to continue running scripts.
This prompt states "Error at Line 78, Char 4" of the script, and the error given was "The data area passed to a system call is too small."
Could this be an overflow error of some type?
Edit: I have 50 layers and 43 scenes, if that helps. That's a total of 2,150 check points. When deleting to fit to size, I also "purged unused", and then it worked.
Mark
@martinrinehart said:
@markozeta said:
Also another request for those with complex models is the ability to use freeze panes on the scene list and layer list.
Freeze panes? What is a freeze pane?
Martin
Since your a Linux man, I'll quote you the OpenOffice version instead of the excel version:
http://inpics.net/tutorials/calc2/vis5.html
It would help a ton, but most code that you could drop into your javascript routine would try to freeze the top and side, when you want the two sides to be frozen.
I can't even begin to answer a lot of your database questions as I don't do a lot of programming. However, I do understand components. We manufacture custom HVAC ducting and piping, so while the component list is small, the need for the list work is still there. So, I made a dynamic component of a flange, with a bolt pattern.
See my attached sketchup file using this dynamic component. Under file, click generate report. Using the native tools with sketchup, this seems at the very least feasible to me. With the report generator, I am able to harvest the information I need with the ItemCode section, which would let me identify my large components. The small component information can be used to build my device with the proper CNC machining equipment. Although it has X,Y,Z information that is relative to the coordinates of the minor components, it would require simple vector addition to get the precise location of each hole in the model, and feed that to the CNC.
Working in reverse is a bit more complicated, but dynamic components would make working in reverse possible (an advantage). You could edit the data in your tables, use a script to redraw the dynamic component with the updated values, and viola! It would be updated. X, Y, Z and LenX, LenY, LenZ values would be recalculated and ready for the CNC. This does take some time however, as well designed dynamic components would take time.
Unfortunately, this will not be updated instantaneously. There would have to be a request for redraw, or a request to save the generated report, so these scripts could not be used if you wanted instantaneous information. Still, it would beat working with the sometimes buggy "observers" of ruby. And the report generator is actually a ruby script (so you could make it anew). The only issue I would see then is finding someway of having your ASP net "ping" sketchup to regenerate the report and redraw the model.
Naming your scenes BM6.2 or MS4.8 (Which is the official name) ... will kill the program.
Sighs
Also another request for those with complex models is the ability to use freeze panes on the scene list and layer list.
Thanks for the work though, your script will help us put everything into layout correctly.
If I set a custom property in my grandfather component, then I seem to require hitting redraw twice, due to my use of Current() functions in the child component.
Is there a workaround for this?
@jim said:
Drop this in your plugins folder...
class DCFunctionsV1
> protected
> def atan2(a)
> return Math;;atan2(a[0], a[1])
> end
> end
>
Of course, all of your DC users will also need this installed...
And... who knows what will happen if Google does decides to implement it someday.
Lemme do a quick fix on that...
class DCFunctionsV1
protected
def atan2(a)
return Math;;atan2(a[0], a[1]).radians
end
end
sighs half an hour wasted...
Wonderfully simple script, but I have a request - put the layers in alphabetical order! Since this is an organizer script, it helps when you've got 30-40 layers if they're in alphabetical order. The scenes, you can rearrange but for some reason I cannot organize my layers internally.
Thanks!!
@jim said:
Of course, all of your DC users will also need this installed...
Exactly why I want it as part of Sketchup itself...
Shrugs Oh well, thanks for the code. I'll probably end up using it as well.
I would like to make a formal request for either an Arg(x,y) or Atan2(y,x) to be part of the built in functions for dynamic components.
It makes life easier when you know what your angles are (positive or negative).
Class of '07 man!
Spent most of my time in Building 17, learning about forces this, energy that...
I should go back for my masters but I needed a job...