sketchucation logo sketchucation
    • Login
    1. Home
    2. nics
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    N
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 24
    • Groups 1

    nics

    @nics

    10
    Reputation
    1
    Profile views
    24
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    nics Unfollow Follow
    registered-users

    Latest posts made by nics

    • RE: How to make groove accross multiple components ?

      yeah, I just checked some videos and I'll do it from scratch.

      and this forum is great in case I need some help.

      thanks for your support guys appreciated 😄

      posted in Newbie Forum
      N
      nics
    • RE: How to make groove accross multiple components ?

      I used those plugins available there

      http://www.blb-bois.com/dao/plugins-sketchup

      sorry it's in french .. nice looking result but I have to conclude that the mortice-tenon plugin is buggy.

      posted in Newbie Forum
      N
      nics
    • RE: How to make groove accross multiple components ?

      I want to test the trim using the pro 30 days version but it says that my component is not a solid. Why ?? Attached my sketchup project...


      test meuble.skp

      posted in Newbie Forum
      N
      nics
    • RE: How to make groove accross multiple components ?

      oh ok got it, I thought there was some tricks to easily do it along a path such a router on a piece of wood. but its true, it's very easy by editing each components too 😄

      thanks !

      posted in Newbie Forum
      N
      nics
    • How to make groove accross multiple components ?

      hi guys, what's the easiest way to make a groove (orange line) in these inner faces of each components shown in this picture ?

      http://sketchucation.com/forums/download/file.php?mode=view&id=127869&sid=8155c6451a3e8efc1bd28b36ce99eb40


      questions groove.jpg

      posted in Newbie Forum sketchup
      N
      nics
    • RE: Pushpull makes google 8 to crash

      here's the code to build a door with its frame around, sorry its in french .. as you can see, there's a base.pushpull(-hauteur+"1/32".to_l) .. the 1/32 is to avoid the crash ...

      
      
      require 'sketchup.rb'
      
      module PorteBuilder
      
      class Porte
          attr_accessor ;espaceBas, ;espaceHaut, ;espaceCote, ;charniereEspaceBas, ;charniereEspaceHaut, ;poigneeEspaceBas, ;hauteur, ;largeur, ;epaisseur, ;frontFace
      
          def initialize(espaceBas, espaceHaut, espaceCote, charniereEspaceHaut, charniereEspaceBas, poigneeEspaceBas, 
      	               hauteur, largeur, epaisseur)
            @espaceBas = espaceBas
      	  @espaceHaut = espaceHaut
      	  @espaceCote = espaceCote
      	  @charniereEspaceHaut = charniereEspaceHaut
      	  @charniereEspaceBas = charniereEspaceBas
      	  @poigneeEspaceBas = poigneeEspaceBas
      	  @hauteur = hauteur
      	  @largeur = largeur
      	  @epaisseur  = epaisseur
          end # initialize
      
          def draw()
           	model = Sketchup.active_model
              entities = model.entities
      
              group = entities.add_group
              entities = group.entities
      
      		# dessiner la base de la porte
      		basePts = []
      		basePts[0] = [0, 0, @espaceBas]
      		basePts[1] = [@largeur, 0, @espaceBas]
      		basePts[2] = [@largeur, @epaisseur, @espaceBas]
      		basePts[3] = [0, @epaisseur, @espaceBas]
      		base = entities.add_face basePts
      
      		@hauteur = -@hauteur if( base.normal.dot(Z_AXIS) < 0 )
      
      		# faire une porte avec la base
      		array_before = entities.to_a
      		base.pushpull(@hauteur)
      		array_after = entities.to_a
      
      		new_entities = array_after - array_before
      
      		# aller chercher la face qui aura la poignée
      		faces=[]
      		new_entities.each{|e|faces<<e if e.class==Sketchup;;Face}
      
      		normalizeVector = (Geom;;Vector3d.new 0,1,0).normalize!
      
      		faces.each{|face|
      		  resultClassify = face.classify_point(basePts[0])
      		  if (face.normal.parallel? normalizeVector and resultClassify == Sketchup;;Face;;PointOnVertex)
      			@frontFace = face
      			break
      		  end
      		}
      
      		# bâtir le trou de la poignee
      		rayonPoignee = '1 1/4"'.to_l
      		posXPoignee = @largeur - '2 3/8"'.to_l - rayonPoignee
      		posYPoignee = 0
      		posZPoignee = @poigneeEspaceBas + @espaceBas
      		centrePoignee = Geom;;Point3d.new posXPoignee, posYPoignee, posZPoignee
      
      		# décider de la normal de la poignee
      		normalPoignee = (Geom;;Vector3d.new 0,1,0).normalize!
      
      		edgesPoignee = entities.add_circle centrePoignee, normalPoignee, rayonPoignee
      
      		facePognee = ( edgesPoignee.first.faces.to_a - [@frontFace] ).first
      
      		facePognee.pushpull -@epaisseur	
      	end # draw
      	
      end # class Porte
      
      class Moulure
      	largeur='3 1/2"'.to_l
      	epaisseur='3/4"'.to_l
      end # class Moulure
      
      class Montant
          attr_accessor ;largeur, ;epaisseur
      
          def initialize(largeur, epaisseur)
      	   @largeur = largeur
      	   @epaisseur = epaisseur
      	end # initialize
      	
          def draw(porte)	  
      	   normalFrontFace = porte.frontFace.normal
      	   
      	   nearestPoint=nil
      	   porte.frontFace.edges.each{|edgeFrontFace|
                linesPoint3d=[]
      		  edgeFrontFace.line.each{|e|linesPoint3d<<e if e.class==Geom;;Point3d}		     		  
      		  
      		  linesPoint3d.each{|linePoint3d|
      		     point = [0,0,0]
      		     if (nearestPoint == nil or ((linePoint3d.distance point) < (nearestPoint.distance point)))
      			    nearestPoint = linePoint3d
      			 end
      		  }
      		  		  
      	   }
      
       	   startingPoint = nearestPoint.offset [-porte.espaceCote-@epaisseur, 0, +porte.hauteur+porte.espaceHaut]
      	   drawPart(startingPoint, @epaisseur*2 + porte.largeur + porte.espaceCote*2, @largeur, @epaisseur)
      	   
      	   startingPoint = nearestPoint.offset [-porte.espaceCote-@epaisseur, 0, -porte.espaceBas]
      	   drawPart(startingPoint, @epaisseur, @largeur, porte.espaceBas + porte.hauteur + porte.espaceHaut)
      	   
      	   startingPoint = nearestPoint.offset [porte.largeur+porte.espaceCote, 0, -porte.espaceBas]
      	   drawPart(startingPoint, @epaisseur, @largeur, porte.espaceBas + porte.hauteur + porte.espaceHaut)
      
      
         end # draw
      	
         def drawPart(startingPoint, offsetX, offsetY, hauteur)
             begin
      		   model = Sketchup.active_model
      		   entities = model.entities
      		   
      		   basePts=[]
      		   basePts[0] = startingPoint
      		   basePts[1] = basePts[0].offset [+offsetX, 0, 0]
      		   basePts[2] = basePts[1].offset [0, offsetY, 0]
      		   basePts[3] = basePts[2].offset [-offsetX, 0, 0]
      				   
      		   base = entities.add_face basePts
      						   
      		   if( base.normal.dot(Z_AXIS) < 0 )
      			  base.pushpull(-hauteur+"1/32".to_l)
      		   else
           		   base.pushpull(hauteur)
      		   end
      
             rescue
      		   
                puts $!, $@
        
             end	   
         end # drawPart	
      end # class Montant
      
      end # module PorteBuilder
      
      prombasePts = ["Hauteur?", "Largeur?", "Profondeur"]
      values = ['80"'.to_l, '30"'.to_l, '1 7/8"'.to_l]
      
      results = UI.inputbox prombasePts, values, "Dimension de votre porte ?"
      return if not results # This means that the user canceld the operation
      height, width, depth = results
      
      #espaceBas, espaceHaut, espaceCote, charniereEspaceHaut, charniereEspaceBas, poigneeEspaceBas, hauteur, largeur, epaisseur)
      unePorte = PorteBuilder;;Porte.new('3/4"'.to_l, '1/16"'.to_l, '1/16"'.to_l, '7"'.to_l, '11"'.to_l, '36"'.to_l, '80"'.to_l, '30"'.to_l, '1 7/8"'.to_l)
      unePorte.draw()
      
      lesMontant = PorteBuilder;;Montant.new('3 1/2"'.to_l, '3/4"'.to_l)
      lesMontant.draw(unePorte)
      
      
      posted in Developers' Forum
      N
      nics
    • Pushpull makes google 8 to crash

      hi guys, when I do a pushpull in my ruby script that the result ends on another surface, google 8 crashes. I dont't remember with which version I made this script (long time ago) but this was working. If I pushpull with a smaller value to avoid ending to the another surface, it works and then I'm ble to manually pushpull the remaining gap.

      what's wrong ? thanks

      posted in Developers' Forum
      N
      nics
    • RE: Why the followme doesn't work as expected ?

      ahh great it works with a group .. thanks !

      posted in SketchUp Discussions
      N
      nics
    • RE: Why the followme doesn't work as expected ?

      well I did a follow me on my door to create the moulding

      here's the same door view from the front and behind ..

      but if you take a look on the behind view, there's no face between the moulding and the door frame .. because of the followme .. if I do a push/pull, its ok but that's not what I wanna do... I thought it was my ruby script that creates my door my its the same result if I do it manually.

      thanks again


      problem followme 2.jpg

      posted in SketchUp Discussions
      N
      nics
    • Why the followme doesn't work as expected ?

      see my picture

      why it doesn't do the same result as a push/pull ? why I lost a face ? thanks


      problem followme.jpg

      posted in SketchUp Discussions sketchup
      N
      nics