Drawing with GL
-
..was trying to fit a 'rule of thirds' on the screen, but trying to avoid using styles.
this is what i'm aiming at:
as plan B, i tried saving the current style as a variable, load my 'ratio style with the grid', and reload the previous style upon exit of the tool.
Incidentally, i found no way to add a style that's already 'in model' - has to be from a saved file. (also no way to save a style to disk from ruby it seems).
-
that's doable as a watermark...
but, you need to generate the watermark to match the users viewport width/height...
that's not as hard as it seems, you can use a webdialog with those as 'client' width/height...in the webDialog you add a html5 canvas to draw the grid...
the blank canvas is centred on the page...
its height is vph and it's width is 'paper' width [ vph x paper ratio ]...grid width is (canvas width minus line weights) ÷ 3
height is (vph minus line weights) ÷ 3
line weights e.g 0.5 x 5your body background color will show as page margins and the canvas bg needs to be white...
once drawn, write the image to file then load it as a watermark...
you need to make the white bg transparent, I'm not sure how on 'windose' from code...
I think you can toggle watermarks from ruby, but it may need 2 scenes...
I could dig out some similar code, but you might think it's unrelated...
john
-
heres a simple test to see if watermarks will do what you want...
it just your drawgl grid as a watermark with a little tweak, so no dark margins
to toggleSketchup.active_model.rendering_options["DisplayWatermarks"]=false Sketchup.active_model.rendering_options["DisplayWatermarks"]=true
and add this as background, use stretch...unzip first...
is this along the right lines...
-
thanks John, already did that though (screenshot above is a watermark).
the problem with this system is that you are forcing a new style on the user: if the user has a sketchy style on, you cannot have the bars and keep the sketchy style. (in other words we cannot load watermarks without loading a style as well).
that's why i mentioned about another route: find user current style > save it as variable > load the 'grid' style > restore user style from variable when finished.
alas, no way to get the previous style back in. whether from the 'in model' style, or trying to save it to a temp directory and loading it back from there. (at least i found no info at all anywhere).
PS least of all the api docs!
Advertisement