[REQ] Plugin Multi-View Elevations
-
Hi,
Here is an update of what I have done so far;
#########Guide # camdist = 80*12 # Elavation A (Front) = x , y+camdist # Elavation B (Right) = x+camdist , y # Elavation D (Left) = x-camdist , y # Elavation C (Back) = x , y-camdist ######## model = Sketchup.active_model ; view = model.active_view ; camera = view.camera ; pages = model.pages ; page = pages.selected_page sel = model.selection ; ents = model.active_entities ; groups = ents.grep(Sketchup;;Group) groups.each do |e| if e.name == "Camera" boundbox = e.bounds ; @center = boundbox.center ; end ; end ; x = @center.x.to_f ; y = @center.y.to_f ; z = 6*12 ; newEye = Geom;;Point3d.new(x,y,z) ; newUp = Geom;;Vector3d.new(0,0,1) camdist = 80*12 if page == nil pages.add "Elevation A" pages.add "Elevation B" pages.add "Elevation C" pages.add "Elevation D" end elev1 = "Elevation A" ; elev2 = "Elevation B" ; elev3 = "Elevation D" ; elev4 = "Elevation C" ; page_num = 0 ; pages.each {|page| if page.name == elev1 pages.selected_page = model.pages[page_num] ; break end ; page_num+=1 ; } #Pages.each if page.name != "Elevation A" pages.add "Elevation A" end targetX = x ; targetY = y+camdist ; targetZ = z ; newTarget = Geom;;Point3d.new(targetX,targetY,targetZ) elevACam = view.camera elevACam.set(newEye,newTarget,newUp) view.camera = elevACam view.invalidate() camera.perspective = true ; camera.perspective = false ; page = pages.selected_page.update(1) ; ##################################################################### x = @center.x.to_f ; y = @center.y.to_f ; page_num = 0 ; pages.each {|page| if page.name == elev2 pages.selected_page = model.pages[page_num] ; break end ; page_num+=1 ; } #Pages.each if page.name != "Elevation B" pages.add "Elevation B" end targetX = x+camdist ; targetY = y ; targetZ = z ; newTarget = Geom;;Point3d.new(targetX,targetY,targetZ) elevBCam = view.camera elevBCam.set(newEye,newTarget,newUp) view.camera = elevBCam view.invalidate() camera.perspective = false ; page = pages.selected_page.update(1) ; ##################################################################### x = @center.x.to_f ; y = @center.y.to_f ; page_num = 0 ; pages.each {|page| if page.name == elev3 pages.selected_page = model.pages[page_num] ; break end ; page_num+=1 ; } #Pages.each if page.name != "Elevation D" pages.add "Elevation D" end targetX = x-camdist ; targetY = y ; targetZ = z ; newTarget = Geom;;Point3d.new(targetX,targetY,targetZ) elevBCam = view.camera elevBCam.set(newEye,newTarget,newUp) view.camera = elevBCam view.invalidate() camera.perspective = false ; page = pages.selected_page.update(1) ; ##################################################################### x = @center.x.to_f ; y = @center.y.to_f ; page_num = 0 ; pages.each {|page| if page.name == elev4 pages.selected_page = model.pages[page_num] ; break end ; page_num+=1 ; } #Pages.each if page.name != "Elevation C" pages.add "Elevation C" end targetX = x ; targetY = y-camdist ; targetZ = z ; newTarget = Geom;;Point3d.new(targetX,targetY,targetZ) elevBCam = view.camera elevBCam.set(newEye,newTarget,newUp) view.camera = elevBCam view.invalidate() camera.perspective = false ; page = pages.selected_page.update(1) ; ##################################################################### page_num = 0 ; pages.each {|page| if page.name == elev1 pages.selected_page = model.pages[page_num] ; break end ; page_num+=1 ; } #Pages.each
Important to realize that the above code is just a sketch which still needs to be polish but it offers an idea of the progress. Also I post it so that if anyone spots something that I can improve then please by all means let me know.
If you want to test this its important to do the following;
- Crete group to serve as a marker
- Right click that group and pick "Entity info"
- Under Name enter "Camera"
- Open "Ruby Code Editor" plugin
- Copy & Paste the above code I provided to "Ruby Code Editor"
- Execute Code
- Done!
Anyways hope to keep working on this so I can finish and make Beta rb file...Cheers!
-
I have PM'd a 2013 compliant version of my tool 'TIG-ElevTag' to some of you for beta-testing...
All comments welcome [by PM] before it gets published... -
Are you gonna publish it how i think you're gonna publish it?
-
NO.
I await beta-test results...
I'll send you a copy - to test -
Hi,
TIG is upcoming plugin looks very good! I might still finish my attempt to make plugin but only for learning purpose. (Hope to be as good as TIG one day)
Cheers!
-
@renderiza said:
Hi,
TIG is upcoming plugin looks very good! I might still finish my attempt to make plugin but only for learning purpose. (Hope to be as good as TIG one day)
Cheers!
He's a talented guy no doubt. I still want to see what you came up with too Renderiza.
-
Hi Tig
Any chance for me to test it?
Best
Sepo -
TIG or Rendriza,
Have you done anything further on your plugin? The need is certainly still out there.
KrisM
-
Here it is KrisM...
-
It's been in the PluginStore for ~16 months !
-
Krisidious,
Thanks for the link.Tig,
I am rather embarrassed here. I did do a search for your plugins but didn't go past the first page. Didn't realize your list is composed of four pages. Your output is prodigious and well appreciated.KrisM
-
He's pretty awesome... And sarcastic.
-
I prefer to think of it as my 'dry wit'
-
Then it shall be known as such... In all my kingdoms... as far as the eye can see...
-
Not sure how I missed this the other year, but thanks TIG! Totally awesome!
Advertisement