Create lego-like solid pieces for assembly
-
Hi!
I'm attempting to make a split model for 3d printing and I'd like it to have joints to get a firm grip when assembled (like a lego).
This is what I have:
Does anyone know of a plugin or a way to get this done?
Thanks!
-
Do you have an idea of the joint type you'll use?
-
@guillo_ortiz said:
Hi!
I'm attempting to make a split model for 3d printing and I'd like it to have joints to get a firm grip when assembled (like a lego).
This is what I have:
Does anyone know of a plugin or a way to get this done?
Thanks!
Here is a start. You will need to change the values to suit your situation.
unless file_loaded?((__FILE__)) UI.add_context_menu_handler do |menu| sel = Sketchup.active_model.selection if sel.first.is_a?(Sketchup;;Face) menu.add_separator menu.add_item('Dimple') { face = sel.first; ctr = face.bounds.center; nrm = face.normal cir = Sketchup.active_model.active_entities.add_circle(ctr,nrm,0.125,12) pts = cir.map{|e|e.vertices}.flatten.uniq.map{|v|v.position} fac = Sketchup.active_model.active_entities.add_face(pts) fac.pushpull -0.25 if fac } menu.add_item('Pimple') { face = sel.first; ctr = face.bounds.center; nrm = face.normal cir = Sketchup.active_model.active_entities.add_circle(ctr,nrm,0.125,12) pts = cir.map{|e|e.vertices}.flatten.uniq.map{|v|v.position} fac = Sketchup.active_model.active_entities.add_face(pts) fac.pushpull 0.25 if fac } end end file_loaded((__FILE__)) end
-
-
@sdmitch said:
@guillo_ortiz said:
Hi!
I'm attempting to make a split model for 3d printing and I'd like it to have joints to get a firm grip when assembled (like a lego).
This is what I have:
Does anyone know of a plugin or a way to get this done?
Thanks!
Here is a start. You will need to change the values to suit your situation.
unless file_loaded?((__FILE__)) > UI.add_context_menu_handler do |menu| > sel = Sketchup.active_model.selection > if sel.first.is_a?(Sketchup;;Face) > menu.add_separator > menu.add_item('Dimple') { > face = sel.first; ctr = face.bounds.center; nrm = face.normal > cir = Sketchup.active_model.active_entities.add_circle(ctr,nrm,0.125,12) > pts = cir.map{|e|e.vertices}.flatten.uniq.map{|v|v.position} > fac = Sketchup.active_model.active_entities.add_face(pts) > fac.pushpull -0.25 if fac > } > menu.add_item('Pimple') { > face = sel.first; ctr = face.bounds.center; nrm = face.normal > cir = Sketchup.active_model.active_entities.add_circle(ctr,nrm,0.125,12) > pts = cir.map{|e|e.vertices}.flatten.uniq.map{|v|v.position} > fac = Sketchup.active_model.active_entities.add_face(pts) > fac.pushpull 0.25 if fac > } > end > end > file_loaded((__FILE__)) > end >
Thanks for the plugin! It's very close to the effect I'm looking for. BTW, how can I change the units to cm? I tried writing "cm" and " cm" after the number, but got an error.
-
@guillo_ortiz said:
BTW, how can I change the units to cm? I tried writing "cm" and " cm" after the number, but got an error.
The syntax is ".cm", so 1.inch = 2.54.cm
-
@sdmitch said:
@guillo_ortiz said:
BTW, how can I change the units to cm? I tried writing "cm" and " cm" after the number, but got an error.
The syntax is ".cm", so 1.inch = 2.54.cm
Thanks, sdmitch. In the end I used your method.
Thanks a lot!
-
That won't have a very firm grip as it will twist upon the joint's axis. You should have at least 2 pins per joint... It also seems very prone to detach from each other. Maybe you now should model from what Mitch gave you.
-
@jql said:
That won't have a very firm grip as it will twist upon the joint's axis. You should have at least 2 pins per joint... It also seems very prone to detach from each other. Maybe you now should model from what Mitch gave you.
Thanks, I will. I'm also going to use super glue to reinforce it.
Advertisement