Offset non coplanar curve
- 
 @cotty said: @cotty said: Not the direct way, but a kind of workaround: - select edges
- extrude lines in blue direction (TIG extrude tools or Didiers Projections)
- Scale with shift pressed
- move up the scaled edges
 Example: [attachment=0:1yudu5tp]<!-- ia0 -->offset_noncoplanar.jpg<!-- ia0 -->[/attachment:1yudu5tp] yes this is the offset im talking about. your workarounds are all fine but i want to know whether is possible to project out a face with equal distance ( as in normal coplanar offset) I tried doing the scale from center by pressing ctrl but this will not give me uniform offset distance 
 if my object is not circular as your example..
- 
 You want to hit Ctrl and shift to scale uniformly about the center. 
  
- 
 @sdmitch said: This code will create a horizontal offset curve. Thanks Sdmitch this might just be what im looking for but i need faces generated upon offset.  and to be honest, i dont know how to work with codes  
- 
 Another version. Offset by Curviloft. 
 Copy, paste in place, scale, curviloft.
  
- 
 @cuttingedge said: hi guys I want to offset a non coplanar loop but I don't know which tool to use. If there was a face, I could use Tools on surface. But there is none. Thomthom's vertex tools could project faces along a direction but is it possible to say project outwards, from the center or say a distance from the edge. please see below. This code will create a horizontal offset curve and faces. mod = Sketchup.active_model ent = mod.active_entities sel = mod.selection unless sel.empty? crv = sel.first.curve if crv @osd ||= '1'.to_l inp=UI.inputbox(["Offset;"],[@osd],"Horizontal curve offset") if inp @osd = inp[0] edg=crv.edges;op=[];cp=[] pv=edg[-1].line[1] pvx=pv.axes[0] for e in edg p,v=e.line; vx,vy,vz=v.axes ang=pvx.angle_between(vx); vx.reverse! if ang > 90.degrees bv = v + pv.reverse; bv.z=0 ang=v.angle_between(pv.reverse)/2 bv.length = -@osd/Math.sin(ang) op<<p.offset(bv);cp<<p edge=ent.add_line(p,op.last) pvx=vx; pv=v end op<<op.first ent.add_curve(op) for i in 0...cp.length e=ent.add_line(cp[i-1],op[i]) e.find_faces end end else UI.messagebox "Select Curve" end else UI.messagebox "Select Curve" end
- 
 @box said: Another version. Offset by Curviloft. 
 Copy, paste in place, scale, curviloft.Oh yeah why not, that's the way to go. Hehe, maybe I was just thinking this functionality 
 is available vertex tools... maybe in the next version Thanks Box for taking time to demo your tips box. How do you do this quick movies? 
- 
 I should put it in my signature I get asked so often. 
 It's a little screen grab program called gifcam.
- 
 . what if the shape is something like this?  (just meaning to point out that scaling and offsetting aren't the same thing.. it only looks like the same thing on circles) 
 [add- and squares and equilateral triangles]
 
- 
 @jeff hammond said: . (just meaning to point out that scaling and offsetting aren't the same thing.. it only looks like the same thing on circles) 
 [add- and squares and equilateral triangles]
 Good point Jeff, I know, everyone's suggestions are workaround as theres no available plugin I believe that does this directly. My issue with scaling is not having equal distance of projections. Another approach I thought is below using joint push pull. 
  
- 
 
Advertisement




 
                             
                             
                             
                             
                             
                             
                            