sketchucation logo sketchucation
    • Login
    1. Home
    2. nics
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    🫛 Lightbeans Update | Metallic and Roughness auto-applied in SketchUp 2025+ Download
    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