You are on page 1of 19

=begin

CREDIT INFO

=end

# jhs powerbar by Max Coppoletta (who actually did quite a bit of


coding!) : ))

# Toolbar Authors: Listed per toolbar position

# To all of them a big wave of grateful energy!

=begin # ANTON SYNYTSIA - SOFTEN EDGES


=end

# ------------------------------------------------------------------------------
#
# **AMS Soften Edges**
#
# Allows you to soften and smooth edges with extended options.
#
# Usage
# Select entities you want to smooth and apply the menu option.
#
# Access
# - (Menu) Plugins ? AMS Soften Edges
# - (Edit Context Menu) ? AMS Soften Edges
#
# Version
# 1.0.0
#
# Release Date
# November 06, 2014
#
# Author
# Anton Synytsia
#
# ------------------------------------------------------------------------------
=begin # MATT NOBLET - SOFTEN UNSOFTEN
=end

# ------------------------------------------------------------------------------

# Copyright (C) 2008 Matt666 and CadFather V1.2


# 03/01/2009
# This program is free software: you can gna gna gna gna...
#
# CadFather's note: "Matt, you're mad...!" ; ))

# ------------------------------------------------------------------------------

=begin JULIA CHRISTINA ENEROTH - UPRIGHT


EXTRUDER
=end

#Eneroth Upright Extruder

#Author: Julia Christina Eneroth, Eneroth3, eneroth3@gmail.com

#Usage
# Menu: Plugins
# Upright Extrude: Extrude selected face along selected edges

#Copyright Julia Christina Eneroth (eneroh3)


# Free to use both professional and unprofessional.
# Free to spread as long as credit goes to me.

#Known bugs and issues


# * Profile's with in corners is constant but between corners the sides
aren't parallel (unless the angle is 0 on both sides).
# Scale profiles before drawing them

#Changelog
# 1.0.0 2013-05-30
# *First release
# 1.1.0 2013-06-02
# *Fixed small icons
# *Extrude closed paths
# *Fixed co-planar face bug. Use classify_point instead of comparing
vectors to see if faces really really really are co-planar.
# 1.1.1 2013-06-06
# *Called tb.show to fix hidden toolbar issue.
# *Script cannot extrude along edges binding extrusion face. Just ignore
these edges instead of raising an error and aborting.
# *Fixed back face problem.
# *Soften/Smooth edges extruded from curves
# 1.2.0 2013-08-06
# *Using Sketchup::Face::PointNotOnPlane instead of 32 to classify points
# *Cleaned up code
# *Use point along path closest to extrusion as start point for closed
path, not closest corner
# *parallel sides of extrusion rather than fixed with in corners
# 1.2.1 2012-12-15
# *Moved start_operation and commit_operation to userInput function to
make extruder work better when called from other plugin
# *Spelling
# *Can now be loaded from other folder than plugin default

#Load the normal support files

=begin ITHIL - FACE FINDER


=end

# no info in the original script but, plgin made by Ithil

# http://i-t-h-i-l.deviantart.com/
# https://vk.com/id979360

=begin SDMITCH - OFFSET EDGE


=end

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#----------------------------------------------------------------------------------
--------------
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#----------------------------------------------------------------------------------
--------------
# IT WAS CREATED AND TESTED IN A WINDOWS ENVIRONMENT ONLY AND MAY NOT FUNCTION ON A
MAC.
#----------------------------------------------------------------------------------
--------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#----------------------------------------------------------------------------------
--------------
# Name: Offset Edge
# By: sdmitch
# Usage: To offset a single edge by a defined or Keyed in value.
# Note:
#
# Date: Feb 2013
#----------------------------------------------------------------------------------
--------------

=begin DIDIER BUR - EXTRUDE LINE TOOL


=end
# Copyright 2004, @Last Software, Inc., modified by D. Bur and TIG

# This software is provided as an example of using the Ruby interface


# to SketchUp.

# Permission to use, copy, modify, and distribute this software for


# any purpose and without fee is hereby granted, provided that the above
# copyright notice appear in all copies.

# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR


# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#-----------------------------------------------------------------------------
# Name : extrudelinetool
# Description : A script to extrude lines along a vector given with 2 clicks
# Menu Item : Plugins->Extrude lines (vector by 2 points)
# Usage : Select lines, select "Extrude lines (vector by 2 points)" from
the plugins Menu,
# then click 2 points on your model
# Date : 10/18/2004
# Type : tool
#-----------------------------------------------------------------------------
### TIG tweaked so faces orient and smoothness and curves kept etc...

=begin RICK WILSON - EXTRUDE ALONG PATH


=end

# CAN'T FIND ANY INFO - OR EVEN THE SCRIPT ON LINE. THIS IS FROM AN OLD ARCHIVE
AND REMEMBER IT BEING RW's

=begin RICK WILSON - PIPE ALONG PATH


=end

# PipeAlongPath
# TIG (c) 2005 - 2014
# Description : Creates circular faced 'followme' pipe extrusions along a path -
# Use it to make pipes, ducts etc, starting from a selection of joined edges
# Usage :
# Select joined lines, arcs, circles, curves, etc.
# Select "Pipe Along Path" from the Plugins menu.
# In the dialog choose:-
# Outside diameter: in current units or use suffix for other, default 110mm/4"
# Inside diameter: in current units or use suffix for other, default 110mm/4"
# Number of segments: default 24
# Cpoints?: [Yes/No, default=true to add cppoints at the pipe's vertices]
# Cline layer: [layer for the path, default="XCLINE", make blank for 'none']:
# In group?: [Yes/No to move selected path into pipe's group, default=true]
# OK.
# Last used setting are remembered across sessions.
# The pipe-extrusion is made*.
# The pipe-extrusion is grouped so it does not interact with adjacent surfaces -
# afterwards just explode it if appropriate.
# Edit it to intesect with model and tidy up to make tees etc...
# The pipe also has construction points added at vertices if you set Cpoints=true.
# These can be used for snapping, if not wanted 'erase construction geometry'
# will remove them globally or just within a group that you are editing.
# One Undo to remove the construction points, a second to Undo the Pipe itself.
# The default for extrusion face segments is 24, the minimum is 3.
# The alignment is always 'Centroid' - along the pipe's centre line.
# The diameter is always measured square to the vector of the
# first path's line. A diameter that is less than the length of pieces of path
# edge might give correct but unexpected extrusions, which might need manually
# tidying...
# Closed loop paths are fully extruded in a loop.
# Multiple arcs and other complex 3D paths might give unexpected results.
# Note that SketchUp can't handle very small faces in its FollowMe mode - so any
# Arc bends of 8" radius or less that have the same radius for the pipe (o/d)
# applied will almost certainly cause a crash / "bug splat" and are trapped out
# BUT note that similar radii in 'welded' Curves are NOT easily trappable and so
# they may always cause a crash with a "bug-splat", so avoid using these type of
# path with small radii bends/pipes - or you can keep it but use 'scale' as
# explained below...
# IF you must have this matching small diameter pipe and arc or welded elbow
# bends then to get it to work you can make the path a
# group, scale it by a factor so it's larger (say x10), then
# edit it and use this tool within it applying the diameters x10,
# after it's all made scale the group back down by x0.1 and
# explode it and it'll all be OK.

# Both diameters cannot be zero and will return an error.


# If one of the diamaters is zero then you get a 'tube' rather
# than a pipe.
# If the diamaters entered are equal the inside one is taken as
# zero and you will then get a 'tube' rather than a pipe.
# If the inside's diameter is greater than the outside's then
# they are swapped.
# A branching path returns an error as 'FollowMe' can't decide
# which path to take.
# Selected edges that are not joined (i.e. they don't all have
# common ends-starts) will not be extruded - only the first edge
# or joined group of edges will extrude.

# Version :
# 1.0 18/9/5 first release.
# 1.1 18/9/5 visual segmenting of arced sections etc addressed.
# 1.2 9/2/6 centrepoints added at vertices of non-looped paths,
# occasional reversed faces on single 'up' line fixed.
# 1.3 16/2/6 undo of cpoints fixed, diam <8" with matching arc
# elbow bend radius bug splat trapped (but not curves).
# 1.4 2/5/6 group name -> OD=xx ID=nn with " or mm as units.
# 1.5 3/5/6 Transposed ID/OD fixed (sorry!).
# 1.6 12/5/7 @error=0 ### fix
# 1.7 20121019 Rehashed to modern standards, dialog based options to add cpoints
# at nodes, put selected path onto a specified layer and move
the
# path inside the pipe-group.
# 1.8 20130115 Fixed typo glitch when path was lone vertical downward line.
# 1.9 20140303 Lockup weirdness trapped. Any units format now allowed.
# Last used units remembered across sessions and globally.
# 2.0 20140304 Lockup skewed warning improved. Graphics glitch fixed.
# Name reflects if interal_diam == 0.
=begin DIDIER BUR - LINES TO TUBES
=end

# Name: line2cyl
# Author : Didier Bur
# Description: Create cylinders with selected edges
# Usage: select lines, enter diameter and precision
#
# Type: Tool
# Date: 2005,13,01
# Revised: 2005,17,01: add the arcs,curves, and circles followme's

=begin RICK WILSON - COPY ALONG PATH


=end

# = pathcopy.rb
# Copyright 2005-2014 by Rick Wilson - All Rights Reserved

# == Disclaimer
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

# == License
# This software is distributed under the Smustard End User License Agreement
# http://www.smustard.com/eula

# == Information
# Author:: Rick Wilson
# Organization:: Smustard
# Name:: PathCopy
# Version:: 2.200
# SU Version:: 4.0
# Date:: 2014-03-10
# Description:: copy group or component along a path

# Usage::
# * 1:: Install into the plugins directory or into the Plugins/examples directory
and manually load from the ruby console "load 'examples/weld.rb'"
# * 2:: Run the script (Plugins>PathCopy>Copy to Nodes or Plugins>PathCopy>Copy to
Spacing) and follow the prompts in the status bar
# * 3:: Selected group/component will be copied along the curve

# History::
# * 1.000:: 2005-11-29
# * first version
# * 2.000:: 2005-12-05
# * updated; planned improvements include specifying distance between copies,
specifying a divisor
# * 2.100:: 2005-12-07
# * implemented specifying distance between copies
# * fixed bug where groups would not copy/rotate properly
# * 2.200:: 2014-03-10
# * fixed bug where reversed edges would cause copies to be improperly placed
along curve
# * consolidated both functions (node copy and spacing copy) into a single
UI::Command

# ToDoList::
# * Specify a divisor

=begin SD MITCH - COMPONENT STRING


=end

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#----------------------------------------------------------------------------------
--------------
# Name: Component_String
# By: sdmitch
# Usage: Plugins>SDM Tools>CorG Tool>Component_String
# Note: Places selected component(s) along a selected path in
random or a fixed sequence.
# Spacing refers to the distance between
components.
#
# Date: Dec 2014
#----------------------------------------------------------------------------------
--------------

=begin JAN SANDSTROM - JS ALIGN


=end

# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR


# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

# Name: jsAlign.rb 1.6 updated for v2014 compatibility 20140306 TIG


# Author: Jan Sandstrom www.pixero.com
# Date: 23 June 2009
# Changes: Added functionality to also work on groups/components.
# Description: Use for aligning edges or groups/components.
# If using custom value with groups also use Align Group's:
Max, Min or Center.

=begin SD MITCH - COMPONENT ARRAY


=end

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN WAS DEVELOPED AND TESTED UNDER WINDOWS VISTA ONLY AND MAY OR MAY NOT
WORK ON A MAC.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#
-----------------------------------------------------------------------------------
------------
# Name: Component Array
# By: sdmitch
# Usage: Place selected component on a equilateral triangular or rectangular
grid
# Note: Faces do not have to be on the XY plane. Option to group
array and erase face.
#
# Date: Sep 2011
#----------------------------------------------------------------------------------
--------------

=begin RICK WILSON - DROP CG


=end

# = dropGC.rb
# Copyright 2012-2014 by Rick Wilson - All Rights Reserved

# == Disclaimer
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

# == License
# This software is distributed under the Smustard End User License Agreement
# http://www.smustard.com/eula

# == Information
# Author:: Rick Wilson
# Organization:: Smustard
# Name:: dropGC.rb
# Version:: 1.0.3
# SU Version:: 4.0
# Date:: 2014-06-20
# Description:: drop selected groups/components to the first face below each
instance

# Usage::
# * 1:: Plugins>DropGC or right-click>DropGC or SmustardToolbar>DropGC activates
the tool

# History::
# * 1.0.0:: 2012-02-20
# * first version
# * 1.0.1:: 2014-05-02
# * updated the SmustardToolbar reference from a global to a Smustard module
constant
# * 1.0.2:: 2014-05-16
# * version 1.0.1 works in SU 2014, but a code block didn't work in earlier
versions (due to changes in Ruby). Fixed this to work in all versions.
# * 1.0.3:: 2014-06-20
# * fixed a typo in my previous fix
# * 1.0.4:: 2014-10-15
# * changed .count to .length for compatibility with earlier versions of
SketchUp (pre-2013)

# ToDoList::
# * add options & settings for: show z offset from face below (or from xy
plane if no face below)
# * add options & settings for: use hidden geometry (SU8m1 and up)
# * add options & settings for: drop by set amount
# * add options & settings for: drop to Z
# * add options & settings for: drop to selected
# * add options & settings for: drop to selected (virtual extended plane)
# * add options & settings for: drop to intersection plus additional offset
up or down
# * add options & settings for: keep G/C above face below
# * add options & settings for: match G/C XY plane to intersected plane below

=begin TIG - MIRROR


=end

# Name : Mirror
# Description : Mirrors Selection at Point, Line or Plane
# Author[s] : From an original idea by Frank Wiesner:
# but from v2.6 onwards it's been fully TIG tweaked,
# and completely updated and rewritten...###
# Usage : 1. Make Selection (Any type[s] of Entites are allowed)###
# 2. Select 'Mirror Selection' from Plugins Menu
# or from the equivalent on the Right-Click Context-
Menu
# or using your favorite ShortCut Key [e.g.Shift+R] ###
# or from the 'Mirror' Toolbar [this toolbar will be
# available for activation from the View>Toolbars
# Menu IF the button icon image MI.png is in the
# same folder as Mirror.rb file (usually Plugins)] ###v3.2
# 3. If there's no Selection then dialog informs you ###
# 4. Pick a Point and RETURN to Mirror at the Point
# 5. OR Pick a Second Point and RETURN to Mirror at the Line
# 6. OR Pick a Third Point to Mirror at the Plane [usual]
# 7. Final Option is Erase Original ? Yes/No ###
# If Yes then Highlighting of Selection passes to
Copies
# Type : Script - Mirror.rb
# History:
# 3.9 20131128 Future proofed required files.
# 3.8 09 Aug 2012 ### TIG, locked objects are no longer mirrored, code tidying.
# 3.7 05 Feb 2012 ### TIG, mirroring glued instances now [re]glues them.
# 3.6 13 Dec 2010 ### TIG, group.copy methods recast to avoid glitches.
# 3.5 10 Nov 2010 ### TIG, context-menu re-added.
# 3.4 9 Nov 2010 ### TIG, Recoded to avoid clashes and crashes...
# 3.3 3 Oct 2010 ### TIG, togglewindows catch for Outliner added and set zipped.
# 3.2 19 Feb 2010 ### TIG, optional toolbar added
# [this doesn't load is the MI.png file is NOT found].
# 3.1 21 Feb 2007 ### TIG make_unique tries to avoid rare bugsplats.
# 3.0 05 Aug 2006 ### TIG, Ending rewritten to avoid rare bugsplats.
# 2.9 03 Aug 2006 ### TIG, Start:commit loops to avoid rare bugsplats.
# 2.8 26 July 2006 ### TIG, re-tweaked - Rewritten to be MUCH simpler.
# Mirroring of ANY Entity Selection works properly.
# 2.7 23 July 2006 ### TIG's second tweak - Rewritten generally.
# Now processes Multiple selections of Groups and/or
# Components, but warns if any 'loose' (UnGrouped)
# Faces in Selection as they might lose any RePostioned
# Texture data, interfere etc.
# 2.6 22 July 2006 ### TIG first tweak ### - Context menu added IF ONE
# group/compo.
# Warns about selection IF NOT ONE group/compo.
# Materials now preserved in mirrored copy BUT you will
# need to group selection to preserve material positioning
# - although this is define-able it is not find-able from
# the orignal face info !
# Final option to Erase of Original Group/Compo.
# 2.5 (8.Jul.2oo5) - bugfix: faces with holes reduce now to a single face
# - major code rewrite (dropped @clondedObject hash, heavy
# use of groups during construction,...
# - more redundant constructions, but seems to be more robust
# - WARNING: POLYGONS DO NOT WORK VERY WELL
# 2.4 (5.Jul.2oo5) - all unnecessary edges created by the add_faces_from_mesh()
# method are erased! faces with holes mirror now perfectly.
# 2.3 (4.Jul.2oo5) - fixed "mirror at plane" error
# 2.2 (2.Jul.2oo5) - works in group editting mode - prevents picking of identical
points
# 2.1 (1.Jul.2oo5) - fixed "undo group" bug - code cleanup
# 2.0 (30.Jun.2oo5) - new tool-like interface
# 1.4 (29.Jun.2oo5) - arc bug fixed - code simplified (clone_selection() removed)
# 1.3 (24.Jun.2oo5) - can handle faces with holes in it (although more edges are
drawn than nessesary) - correct orientation of mirrored faces - supports arcs (at
least works for circles), curves and groups
# 1.2 (20.Jun.2oo5) - axis and origin selection algorithm does not rely on tool
tips any more.
# 1.1 (19.Jun.2oo5) - fix coplanar point bug - better tooltips - supports mirror
at lines (edges, axis, construction lines) - mirror-at-plane code simplified
# 1.o (10.Jun.2oo5) - first version

=begin TIG - WELD


=end

# Copyright 2004-2005 by Rick Wilson [in parts], and 2012-2013 (c) TIG.
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted, provided that the above
# copyright notice appear in all copies.
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

# Name:-
# TIG-weld.rb

# Description:-
# Joins selected edges into a 'curve' (~"polyline").

# Author:-
# TIG - based somewhat on RickW's 'weld.rb'...
# [but it has no close/face options, and also made suitable to be called from
# other methods].

# Usage:-
# Make a selection which includes the edges to be joined.
# Run the script from the menu:
# Tools > Weld
# or type in the Ruby Console:
# TIG.weld +<enter>
# or [recommended] set up a shortcut-key, say J [==Join?]

# Selected edges will then be 'welded' into a curve wherever possible.


# Disconnected edges or branching edges might give unexpected results.
# A curve will be split where any 'branching' edge intersects it.
# The process is one step undoable.
# To use the tool run within another method include...
# require('TIG-weld.rb')
# and later in the code use
# TIG.weld(true)
# to supress 'undo' complications.
# It returns an array of the welded edges or 'nil' if none.
# The calling method must make a selection of potential edges to
# process, even if inside another context; perhaps iterated in turn,
# see scripts like "TIG-weldall.rb" for an example of this...

# Version:-
# 1.0 20120305 First public issue.

=begin JAN SANDSTROM - JS MOVE


=end

# Name: jsMoveTool
# Author: Jan Sandstrom www.pixero.com
# Description: Moves a selection with the arrow keys.
# Usage: 1. Select a object or group of objects.
# 2. Select the JS MoveTool and enter a distance in the VCB. Press
Return/Enter.
# 3. Now move with arrow keys.
# 4. Use Alt + Up/Down to move in Z axis.
# 5. You can enter a new distance at any time.
#
# Version 1.1
# Added:
# 6. Press Ctrl (Apple Key on Mac) for distance * 0.1
# 6. Press Shift for distance * 10
### 20140319 1.2 TIG updated to suit v2014 & in JS module

=begin DIDIER BUR - ALIGN TOOL


=end

# Copyright 2007, Didier Bur


#
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted, provided that the above
# copyright notice appear in all copies.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#----------------------------------------------------------------------------
# Name : Align Tool
# Description : A tool to create translate and rotate a selection of entities.
# Menu Item : Tools / Align
# Usage : 1. Make a selection first
# 2. Click a start origin, X direction, and Y direction
# 3. Click a target origin, X direction, and Y direction
# Date : 08 May 2007
# Type : Tool
# History: 10 May 2007: added a context menu added (align or align group/component)
# added the align from group/component axis
# supressed confirmation dialog box
# Mac problem solved (commit_operation), thanks to R. Wilson
#----------------------------------------------------------------------------

=begin JULIA CHRISTINA ENEROTH - 3D ROTATE


=end

#Eneroth 3D Rotate Tool

#Author: Julia Christina Eneroth, Eneroth3, eneroth3@gmail.com

#Usage
# Menu: Tools
# 3D Rotate: Rotate entities freely around point
# (I prefer using ALT+Q as shortcut)

#Copyright Julia Christina Eneroth (eneroh3)


# Free to use both professional and unprofessional.
# Free to spread as long as credit goes to me.
#Known bugs and issues
# Can't snap to c-lines in parent drawing contexts or its other children

#Changelog
# 1.0.0 2013-08-05
# *First release
# 1.0.1 2013-08-09
# *Fixed error with 4th input point not being selected. turned out tool
stopped working either on Sketchup.start_operation or grouping/exploding group.
# 1.0.2
# *Transparent operations so both rotations can be undone at once
# *Typos
# 1.0.3 2013-08-15
# *Fixed edge breaking after rotation in a way that shouldn't cause
Sketchup to crash, even with observers attached to the entities
# 1.0.4 2013-08-20
# *Reinvented edge breaking/splitting since previous method also could
cause the application to crash
# 1.0.5 2013-08-20
# *Spelling
# 1.0.6
# *Can now be loaded from other dir than Sketchup's default plugin folder

#Load the normal support files

=begin TBD - ROTIX


=end

# Name : Rotix 1.1


# Description : rotate objects with 90, custom and random degrees
# Author : TBD
# Usage : select from the Plugins menu, hover mouse over object (SHIFT to add
to current selection)
# and use left/right for 90 degrees, up/down to rotate with VCB
value, left click to random rotate
# Date : 25.Jul.2oo4
# Type : tool
# Modified : 19.Aug.2004 by Glenn M. Lewis - hit 'Home' or 'End' key to change
the axis of rotation

=begin CADFATHER SCALE ROTATE - WITH CODE


FROM TBD RANDOR - ROTIX SCRIPTS
=end

# Name : Randor 1.0


# Description : random rotate and scale objects - good for landscaping
# Author : TBD
# Usage : Plugins | [TBD] Randor
# Date : 15.Jul.2oo4
# Type : tool

=begin SDMITCH - PROXIFY (CADFATHER TWEAKS)


=end
#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#----------------------------------------------------------------------------------
--------------
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING,
# WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
#----------------------------------------------------------------------------------
--------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#----------------------------------------------------------------------------------
--------------
# IT WAS CREATED AND ONLY TESTED IN A WINDOWS ENVIRONMENT AND MAY NOT FUNCTION ON A
MAC.
#----------------------------------------------------------------------------------
--------------
# Name: Component by Proxy
# By: sdmitch
# Usage: Context Menu
# Note:
#
# Date: Nov 2014
#----------------------------------------------------------------------------------
--------------

=begin CADFATHER - COMPONENT SWAPPER


=end

# Grandmaster of one neuron coding!

=begin CHRIS PHILLIPS (TIG) - SKETCHY FFD


=end

#SketchyFFD
#Copyright 2010-2013 Chris Phillips

#Update 4 Feb 2010 by Glenn Babcock


#change log
# - fixed issues with control point groups and dicegroups sometimes being out of
position

#Update 2 Feb 2010 by Glenn Babcock


#change log
# - added feature that combines move and transform into one operation so it can be
undone all at once
# - disabled screen refreshes during heavy operations to improve performance
# - reorganized code
# - began to rationalize variables
# - added $debugFFB global

#Update 1 Feb 2010 by Glenn Babcock


#change log
# - fixed bug where control group sizes could not be changed or where all
dimensions had to be equal

### 20110810...
### TIG tweaked to module and observers sorted and $ > @@ etc...
### 20130203...
### TIG NxN issues with NaN & Infinity fixed, when selected group is 2d & height=1
### NxN now remembers last used values for w/d/h/subdivide...

=begin SD MITCH - MESH MAKER


=end

##################################################################### MESH MAKER

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#----------------------------------------------------------------------------------
--------------
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN WAS DEVELOPED AND TESTED UNDER WINDOWS VISTA ONLY AND MAY OR MAY NOT
WORK ON A MAC.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#
-----------------------------------------------------------------------------------
------------
# Name: Mesh Maker
# By: sdmitch
# Usage: Creat a regular trianglated network of a given cell size of a selected
face
# Rev: Made cell size a global variable, modified for tilted
faces, added angle.
# Date: Jun 2011
#----------------------------------------------------------------------------------
--------------

=begin SD MITCH - SUBDIVIDE FACES


=end

##################################################################### SUBDIVIDE
FACES

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#----------------------------------------------------------------------------------
--------------
# Developed and tested in a Windows Vista environment. May not function on a Mac.
#----------------------------------------------------------------------------------
--------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#
-----------------------------------------------------------------------------------
------------
# Name: sub_divide_faces
# By: sdmitch
# Usage: Divide selected Quad or Triangular faces.
# Note:
# Date: Aug 2011
#----------------------------------------------------------------------------------
--------------

=begin TIG - SPLITUP


=end

#-----------------------------------------------------------------------
# Copyright 2011-2012 TIG (c)
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted, provided that the above
# copyright notice appear in all copies.
# This software is provided "as is" and without any express or
# implied warranties, including, without limitation, the implied
# warranties of merchantability and fitness for a particular purpose.
# Name:
# SplitUp.rb
# Usage:
# Splits selected 'quad faces' into the specified number of parts.
# Use in Ruby Console or other code, thus:
# SplitUp.new(2) [or more sloppily SplitUp.new 2]
# as shown here 2 is the number of divisions wanted.
# OR use Tools > Split Tools... > submenu item SplitUp and enter the
# division number in the dialog [default=1 >> NO splits]
# [The Plugins menu item is now disabled by default from v1.5 but see end
# of the main code IF you want to re-enable it...]
# If any selected face is not a quad OR a quad with one quad-hole -
# then the face and probably all of its connected neighbours should first be
# 'Quadrilateralized' - i.e. split up into quads - a message tells you this,
# but you may still continue...
# New edges are softened/smoothed.
# It returns the number of faces processed and made [n,nn]
# It's one step undoable.
# Donations:
# By PayPal.com to info @ revitrev.org
# Version:
# 1.0 20110717 First issue.
# 1.1 20110718 Now works on quads and quads with one quad hole.
# Plugins menu item and dialog added.
# 1.2 20110718 Softened/smoothed new edges.
# 1.3 20110719 Glitches with smoothing etc fixed.
# 1.4 20111111 Overhauled and less error prone.
# 1.5 20120219 Plugins menu item disabled;
# now in Tools > Split Tools submenu.

=begin SD MITCH - CONNECT GUIDE POINTS


=end

#----------------------------------------------------------------------------------
--------------
# Permission to use, copy, modify, and distribute this software for
# any purpose and without fee is hereby granted.
#----------------------------------------------------------------------------------
--------------
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN WAS DEVELOPED AND TESTED UNDER WINDOWS VISTA ONLY AND MAY OR MAY NOT
WORK ON A MAC.
#
-----------------------------------------------------------------------------------
------------
# THIS PLUGIN IS ANOTHER FIGMENT OF MY IMAGENATION AND IS NOT BASED ON OR COMPLY
WITH ANYTHING!
#
-----------------------------------------------------------------------------------
------------
# Name: Connect Guide Points
# By: sdmitch
# Usage: Connect guide points defining a profile of an object.
# Note: Profiles must be selected one at a time.
#
# Date: Jun 2012
#----------------------------------------------------------------------------------
--------------
=begin TIG - ADD VERTEX PLUS
=end

# Copyright 2007-2013, TIG (c)

# Permission to use, copy, modify, and distribute this software for


# any purpose and without fee is hereby granted, provided that the
# copyright notice appear in all copies.
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

# Name: AddVertex+.rb

# Usage: Menu: "Add Guide-Point"


# Marks All Vertices [if any] in PreSelection with Guide-Points.
# Then Adds Guide-Point at the Picked Point on Edge, Face, cLine,
# Groups/Components etc, using normal inferences.
# Hold Key to Modify [in Context]: SHIFT+Edge=Split_Edge & ALT+Face=Split_Face.
# Undoes each step.

# Version:
# 1.0 20070331 First Issue.
# 1.1 20070331 Tool Tips Added.
# 1.2 20070401 Edge+Shift=Split-Edge, Face+Alt=Split-Face. Renamed in menu and
class.
# 1.3 20070403 Key mapping now allows for Macs too.
# 1.4 20131017 Reissued, modularized, renamed "Add Guide-Point"...

=begin THOM THOM - COMPS 2 POINTS


=end

#-----------------------------------------------------------------------------
# Version: 1.0.0
# Compatible: SketchUp 7 (PC)
# (other versions untested)
#-----------------------------------------------------------------------------
#
# CHANGELOG
# 1.0.0 - 30.08.2010
# * Initial release.
#
#-----------------------------------------------------------------------------
#
# Thomas Thomassen
# thomas[at]thomthom[dot]net
#
#-----------------------------------------------------------------------------
=begin JIM FOLTZ - DAN RATHBURN
=end

##################################################################### VARIOUSBITS

# Some of the toolbar code is from the tweaked script by DAN RATHBURN and JIM
FOLTZ

# ==========================================================================
#
# Custom Toolbars Extension Registration Script
#
# by Jim Foltz, <jim.foltz@gmail.com>
#
# Version : 1.2.0 (patch) : by Dan Rathbun
# Release : 2011-02-15
#
# Version : 1.3.0 Jim Foltz
# Release : 2011-09-17
#
# --------------------------------------------------------------------------
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
# ==========================================================================

You might also like