sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [REQ] Plugin Multi-View Elevations

    Scheduled Pinned Locked Moved Plugins
    50 Posts 10 Posters 4.2k Views 10 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • renderizaR Offline
      renderiza
      last edited by

      Maybe TIG already have this but just in case here is some initial progress into making this plugin happen.

      The following code is only purpose is to position camera to the center of a group (in this case the marker with arrows). The way the code filters other groups is by name so in this case I am naming the group "Camera".

      model = Sketchup.active_model ;
      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 ;
      
      view = Sketchup.active_model.active_view ;
      
      x = @center.x.to_f ;
      y = @center.y.to_f ;
      z = 50 ;
      newEye = Geom;;Point3d.new(x,y,z) ;
      
      targetX = 0.0 if !targetX ; 
      targetY = 0.0 if !targetY ; 
      targetZ = 50.0 if !targetZ ; 
      newTarget = Geom;;Point3d.new(targetX,targetY,targetZ)
      
      newUp = Geom;;Vector3d.new(0,0,1)
      
      newCamera = view.camera
      newCamera.set(newEye,newTarget,newUp)
      
      view.camera = newCamera
      view.invalidate()
      

      There is still a lot of things to but just want to post some progress code. This is just testing code that you may use with "Ruby Code Editor" to see results.

      Cheers!

      [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

      1 Reply Last reply Reply Quote 0
      • CadFatherC Offline
        CadFather
        last edited by

        woudn't it be more useful to actually click on the position required? (cheddar walls)

        1 Reply Last reply Reply Quote 0
        • KrisidiousK Offline
          Krisidious
          last edited by

          @cadfather said:

          woudn't it be more useful to actually click on the position required? (cheddar walls)

          yes that will be necessary. like 5 or more of these will be needed per plan... and rooms will never be in the same location.

          By: Kristoff Rand
          Home DesignerUnique House Plans

          1 Reply Last reply Reply Quote 0
          • renderizaR Offline
            renderiza
            last edited by

            What you suggested can be done no problem but having the ability to place a marker will provide visual reference which is good. Maybe you can click where you want to position camera and also place markers at the same time.

            Cheers!

            [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

            1 Reply Last reply Reply Quote 0
            • OxerO Offline
              Oxer
              last edited by

              Are you probe CubicPanoOut? You can free downloading it here CubicPanoOut.rb
              The plugin create six Views/Scenes-->Front, Right, Left, Back, Up and Down and you have the possibility to save the six images with size option.
              With the Place Camera SU Tool, put the camera for example in the center of a room and automatically the CubicPanoOut generate the six Views/Scenes.
              The problem is that the images generates are square, same width & height but you can go to File/Export/2D Graphic and save the image in the size that you want.

              "The result is the end what is important is the process" by Oxer
              [http://www.oxervision.blogspot.com/(http://www.oxervision.blogspot.com/)]

              1 Reply Last reply Reply Quote 0
              • KrisidiousK Offline
                Krisidious
                last edited by

                I'll have a look at it.

                By: Kristoff Rand
                Home DesignerUnique House Plans

                1 Reply Last reply Reply Quote 0
                • S Offline
                  sepo
                  last edited by

                  We are talking about sections here rather than elevations, right? Elevations would just show internal orthogonal views and sections would cut through the walls.
                  Surely that would be awesome tool to have.

                  1 Reply Last reply Reply Quote 0
                  • KrisidiousK Offline
                    Krisidious
                    last edited by

                    In drafting we just call them elevations, but yes it is a section and in SU a section would be used to accomplish it. having the walls on either side cut out would be good. However, I have seen architects and designers show varying methods of showing them. some don't show any walls past the interior surface, some show the section of the wall, floor and roof/ceiling...

                    By: Kristoff Rand
                    Home DesignerUnique House Plans

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sepo
                      last edited by

                      If you are showing design only than cut walls could be omitted, but if you are preparing working drawings than one would show cut walls. In any case I always show cut walls as they convey idea of proximity of windows /doors to the floor/ceiling.
                      So idea of this plugin is really advanced section tool. That would save a lot of time if possible to implement, so +1 from me.

                      1 Reply Last reply Reply Quote 0
                      • renderizaR Offline
                        renderiza
                        last edited by

                        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;

                        1. Crete group to serve as a marker
                        2. Right click that group and pick "Entity info"
                        3. Under Name enter "Camera"
                        4. Open "Ruby Code Editor" plugin
                        5. Copy & Paste the above code I provided to "Ruby Code Editor"
                        6. Execute Code
                        7. Done!

                        Anyways hope to keep working on this so I can finish and make Beta rb file...Cheers!

                        [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          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...

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • Rich O BrienR Offline
                            Rich O Brien Moderator
                            last edited by

                            Are you gonna publish it how i think you're gonna publish it?

                            Download the free D'oh Book for SketchUp πŸ“–

                            1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator
                              last edited by

                              NO.
                              I await beta-test results...
                              I'll send you a copy - to test πŸ˜•

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • renderizaR Offline
                                renderiza
                                last edited by

                                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!

                                [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                                1 Reply Last reply Reply Quote 0
                                • KrisidiousK Offline
                                  Krisidious
                                  last edited by

                                  @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.

                                  By: Kristoff Rand
                                  Home DesignerUnique House Plans

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    sepo
                                    last edited by

                                    Hi Tig
                                    Any chance for me to test it?
                                    Best
                                    Sepo

                                    1 Reply Last reply Reply Quote 0
                                    • K Offline
                                      KrisM
                                      last edited by

                                      TIG or Rendriza,

                                      Have you done anything further on your plugin? The need is certainly still out there.

                                      KrisM

                                      1 Reply Last reply Reply Quote 0
                                      • KrisidiousK Offline
                                        Krisidious
                                        last edited by

                                        Here it is KrisM...

                                        Link Preview Image
                                        SketchUp Plugins | PluginStore | SketchUcation

                                        SketchUp Plugin and Extension Store by SketchUcation provides free downloads of hundreds of SketchUp extensions and plugins

                                        favicon

                                        (sketchucation.com)

                                        By: Kristoff Rand
                                        Home DesignerUnique House Plans

                                        1 Reply Last reply Reply Quote 0
                                        • TIGT Offline
                                          TIG Moderator
                                          last edited by

                                          It's been in the PluginStore for ~16 months !
                                          πŸ˜’

                                          TIG

                                          1 Reply Last reply Reply Quote 0
                                          • K Offline
                                            KrisM
                                            last edited by

                                            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

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement