Here's a quick example of a projectedges3plane tool
<span class="syntaxdefault"></span><span class="syntaxkeyword">require </span><span class="syntaxstring">'sketchup.rb'<br /></span><span class="syntaxkeyword">=</span><span class="syntaxdefault">begin<br />TIG </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">c</span><span class="syntaxkeyword">) </span><span class="syntaxdefault">2011<br /></span><span class="syntaxkeyword">=</span><span class="syntaxdefault">end<br />module TIG<br /> UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Camera"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TIG.projectedges2plane"</span><span class="syntaxkeyword">){</span><span class="syntaxdefault">self</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">projectedges2plane</span><span class="syntaxkeyword">()}</span><span class="syntaxdefault">unless file_loaded</span><span class="syntaxkeyword">?(</span><span class="syntaxdefault">File</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">basename</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">))<br /> </span><span class="syntaxdefault">file_loaded</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">File</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">basename</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">))<br /> </span><span class="syntaxdefault">def self</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">projectedges2plane</span><span class="syntaxkeyword">()<br /> </span><span class="syntaxdefault">model</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br /> ents</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_entities<br /> view</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view<br /> cam</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera<br /> eye</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cam</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">eye<br /> tar</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cam</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">target<br /> dir</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cam</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">direction<br /> ss</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">selection<br /> es</span><span class="syntaxkeyword">=[]<br /> </span><span class="syntaxdefault">ss</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">each</span><span class="syntaxkeyword">{|</span><span class="syntaxdefault">e</span><span class="syntaxkeyword">|</span><span class="syntaxdefault">es </span><span class="syntaxkeyword"><< </span><span class="syntaxdefault">e </span><span class="syntaxkeyword">if </span><span class="syntaxdefault">e</span><span class="syntaxkeyword">.class==</span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Edge</span><span class="syntaxkeyword">}<br /> if </span><span class="syntaxdefault">not ss</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">messagebox</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"No Edges in Selection!"</span><span class="syntaxkeyword">)<br /> return </span><span class="syntaxdefault">nil<br /> end<br /> model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">start_operation</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TIG.projectedges2plane"</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">group</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">ents</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_group<br /> group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"TIG.projectedges2plane"<br /> </span><span class="syntaxdefault">gents</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">group</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities<br /> pp</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">eye</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">offset</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">dir</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">eye</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">distance</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">tar</span><span class="syntaxkeyword">)/</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">plane</span><span class="syntaxkeyword">=[</span><span class="syntaxdefault">pp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">dir</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">es</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">each</span><span class="syntaxkeyword">{|</span><span class="syntaxdefault">e</span><span class="syntaxkeyword">|<br /> </span><span class="syntaxdefault">ps</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">e</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">start</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">position<br /> vs</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">ps</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">vector_to</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">eye</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">ls</span><span class="syntaxkeyword">=[</span><span class="syntaxdefault">ps</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">vs</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">pps</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">intersect_line_plane</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">ls</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">plane</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">pe</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">e</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">end</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">position<br /> ve</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">pe</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">vector_to</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">eye</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">le</span><span class="syntaxkeyword">=[</span><span class="syntaxdefault">pe</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">ve</span><span class="syntaxkeyword">]<br /> </span><span class="syntaxdefault">ppe</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">intersect_line_plane</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">le</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">plane</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">gents</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_line</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">pps</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">ppe</span><span class="syntaxkeyword">)<br /> }<br /> </span><span class="syntaxdefault">t0</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">Geom</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Transformation</span><span class="syntaxkeyword">.new()<br /> </span><span class="syntaxdefault">gents</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">intersect_with</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">t0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">gents</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">t0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">gents</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">to_a</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">commit_operation<br /> end<br />end</span>
It places a plane half way between the camera eye and target, it then projects the vertices of all selected edges onto that plane as a flat 2d grouped set of edges; to get the plane vertical use camera>2pt_perspective.
Copy/paste code into a file called 'TIG-projectedges2plane.rb' in the Plugins folder it appears as an item in the Camera menu.Capture.PNGCapture1.PNGCapture2.PNGCapture3.PNG