people:pascalgolay


Pascal Golay's scripted utilities for Rhino.

Summary:A bunch of Rhino scripts that I've made over the years. Most of these are plain RhinoScripts, but a couple are more complex and involve several scripts- these scripts I have compiled into plug-ins using the Monkey script compiler.

Loading the scripts- All of these scripts are designed for drag and drop for V4 (and v5 for the most part). Extract, save and then drag and drop the rvb files onto an open Rhino window. This will add the script to the list of scripts that load on startup (Options>RhinoScript page), and it adds one or more aliases to your alias list (Options>Aliases). Typing the alias, or putting it on a button will run the script, much like a command.

Loading the plug-ins- Pretty much the same as loading scripts- unzip and save the 'rhp' plug-in files and then drag and drop them onto an open Rhino window. You can also use Options>Plug-ins page > Install button to navigate to the rhp file on your disk. The fancier ones of these add menus in Rhino.

I'll add more of these and more info about usage as I go. Let me know if you run into problems with these- most have been working pretty well for me and others but there are no doubt bugs to squish. pascal@mcneel.com



Scripts-

ProjectDir Project curves in any direction or use the current view direction. Adds the following aliases- ProjectDir, ProjectView

MirrorEx Mirror objects with some fancy options- mirror position only (objects are not inverted),Position only for just text, and various nifty mirror plane options including the current cplane and selected planar surfaces. Adds the following alias- MirrorEx

Distribute Evenly distribute objects in one direction by distance between centers or by gap between objects. Adds the following alias- Distribute

ReTrimRetrim a surface with the current trim curves- this is sometimes all that is needed to fix a bad object, e.g from SelBadObjects or something that fails Check with a message including the words Trim, or Loop or Edge. Updated 2/6/2012 to handle more cases. Adds the following alias- ReTrim

QInfo Quick info about selected curves, surfaces, polysurfaces and block instances. This is a handy script to add to the object context menu- Options > Context Menu > Object menu. Adds the following alias- QInfo

FilletNonPlanar V5 only at the moment. Fillet curves which are out of plane. Since no true-arc fillet exists for these cases, the result is an approximation formed by deforming a true arc along the arc normal. Unlike Fillet, input curves cannot be extended at the moment. Updated 5/3/2012 to handle more cases. Adds the following alias- FilletNonPlanar

MatchOnCrv Match a curve end to any point on another curve. Select near the end of an open curve to match and select a target curve. Set the target point on the target curve and set the type of continuity. Since the match is not on the end of the curve, you get a chance to flip the direction of the match for Tangency and Curvature matches. Adds the following aliases- MatchOnCrv

Set surface tangent 'tension' Select an untrimmed edge and adjust the distance from the edge of the second row of control points. Also has a tool for setting the tangent direction of a surface- this part is built in to V5 but handy for V4. Adds the following aliases- TangentTensionSrf, TangentDirectionSrf

FaceCamera Turns surfaces to face the current camera location, pivoting them on their local World Z aligned axis. This is handy for forcing planes with decals, of figures or plants for example, to face the camera. Adds the following alias- FaceCamera

Convert curve degree. Changes the degree of a curve while maintaining point count and point locatiions. Not the same as ChangeDegree which will add or remove points as part of the change. This tool will change the shape of the curve. It does not work on rational curves. Adds the following alias- ConvertCrvDegree

SilhouetteEyepoint Get slihouette curves from a user defined view point and direction. Adds the following alias- SilhouetteEyePt.

Match a curve tangent to a surface. Set the tangent point on the surface, adjust the 'tension' (i.e. the distance of the second point from the end), and the tangent direction. Optionally maintain the other end's position, tangency or curvature Adds the following alias- MatchCrvTanSrf.

Align objects to a point Like the Align command but allows the user to select an object or set the alignment point explicitly. Adds the following aliaases- AlignToPoint, AlignToObject

Create outline Automates CurveBoolean to just create the outer perimeter curve in one shot. This adds the follwing alias- CreateOutline

Align grips. Allows you to snap grips in line with other points or 3d locations. Adds the folowing aliases- AlignGrips, AlignGripsCrv Updated 07/12/10 - Clearer prompts, added direction option

Curve symmetry Rearranges control points of a curve to make it symmetrical. Adds the following alias- CurveSymmetry

Planarize curves Makes curves planar to a best fit plane through the current curve. Adds the following alias- PlanarizeCurve Updated 01/19/10 - fixed a crash on closed curves

Offset subcurves Offset entire curves, sub curve segments of polycurves or user defined spans within curves. Add the follwing alias- OffsetX.

Divide curves by length Divide curve by length, with the ability to flip the direction of some curves to change the end from which the division is started. Output is grouped per curve. This adds the follwing alias- DivideLengthX

Clearance Finds the clearance between surfaces or polysurfaces. Adds the following alias- Clearance

Set object volumes. Scale objects to a user defined volume.Adds the follwing alias- SetVolume Updated 8/27/10 - Added scaling in one and two dimensions Updated 09/17/2010 - Added the ability to scale other objects by the same amount. Fixed wrong alias being added to run the script.

SelStackedLocate objects that have stacked control points and locates the the stacked points. Adds the folowing aliases- SelStacked, StackedPoints.

IntersectPlane Finds the intersection of objects and infinite planes defined by cplanes, planar surfaces, or user defined planes. Adds the folowing aliases- IntersectPlane, TrimWithPlane. Updated 5/3/2010 added 'CutPlane' to the variety of planes that can be defined. Updated 8/27/2010 better workflow on TrimWithplane. Updated 5/21/2012 Added SplitWithPlane, BooelanSplitWithPlane

File info Returns information about the currently open file. Adds the following alias- FileInfo

Isolate objects. Isolate objects for editing then restore the starting view and object visibility. Adds the following alias- Isolate, UnIsolate. IsolateLock, UnisolateLock, IsolateLayer, UnisolateLayer Updated 5/6/2011 added an option to save and reastore the current view or not- previous versions always saved and restored the view. Added Isolatelayer and UnisolateLayer

How many objects are selected? Reports the total number of objects selected, or in the file. Handy to have in the context menus (Options>Context Menu). Adds the following aliases- HowMany, HowManyScene

Pop up a CPlane list Pops up a list of saved CPlanes under the cursor. Clicking one a CPlane name will make that the active CPlane in the current view. This is handy to put in the pop-up manu or in the context menu(Options>Context menu). Adds the following alias- PopUpPlanes

Set cplanes according to view direction Set cplanes according to view direction. WorldCPlanetoView sets a WorldCplanes that is most perpendicular to the current view , while OrientViewCplaneToWorld keeps the current CPlane origin but makes the cplane parallel to a World Cplane according to the current view. There is no difference between these if the current CPlane in one of the World planes. Adds the following aliases- WorldCPlanetoView, OrientViewCplaneToWorld.

Zoom all views the same Zooms all viewports to the same target and (approximate) zoom level as the current viewport. Adds the following alias-ZoomSame

Extract Underlying surfaces from a polysurface Returns the full underlying surfaces from a polysurface. Optionally deletes the input object. Adds the following alias- ExtractUnderlyingSrfs

Underlying surface Returns the full underlying surface from any trimmed surface or from trimmed or untrimmed fragments of spheres, cones,torii. Adds the following alias- UnderlyingSrf

Planar surface from picked points Creates a planar surface from points set by the user. Adds the following alias- PlanarSrfPt

Scale the spacing between objects Scales the locatons of selected objects based on their bounding box centroids. The objects themselves are not scaled. Adds the following alias- ScaleCenters.

Orient objects by two points on a curve Allows you to set two points on an object and orient the object to a curve so that the points fall on the curve. Adds the following alias- OrientCrv2Pt.

Rotate on normal Allows rotation of objects about a surface normal. Add the follwing alias- RotateOnNormal.

BallJoint Pivot objects freely in 3d around a point. This adds the follwing alias- BallJoint

High point Finds the local high or low point on a surface or polysurface starting from a user input (pick) point. Adds the following aliases- HighPt, LowPt

Move-project Move objects normal to the cplane until the Move 'from' point hits a target surface, polysurface or mesh. Adds the following aliases- MoveProject, MoveProjectEach Updated 5/13/2011 added MoveProjectEach; Updated 2/14/2012 bug fix

Project objects Projects 3d surface, polysurface or mesh objects onto a target surface or polysurface. Adds the following alias- ProjectObjects. Updated 09/30/09

Extract surface wireframe in one direction only. Extracts surface wires in U or V. Adds the follwing alias - ExtractWiresDir.

Section objects radially or along a path curve. Creates section curves radially from a center point at user defined intervals in degrees, or along a path curve at user defineed intervals in file units along the curve. Adds the following aliases- SectionRadial, SectionPath

PlugIns-

Selection Sets Create, save and recall named object and control point selection-sets. See the 'read me text file included in the download for more complete usage info. Adds the following commands- SelectionSet, SelSetList, SelSetName, DeleteSeletionSets, RenameSelectionSet, SubtractSetsList, SubtractSetsName, GripSelectionSet, SelGripsName, DeleteGripSets, RenameGripSet, SubtractGripSets, SelGripsList

Light utilities Adds a menu and a lot of commands to manipulate lights- rectangular lights in particular are hard to handle in Rhino and this adds tools for helping out. The plug-in and commands refer to rectangular lights as 'area lights'. This is just goofy and I'll try to get back and change this to use the normal Rhino name for these lights. Adds the following commands- AreaLightPlace, AreaLightResize, AreaLightOrient, AreaLightSlide, AreaLightTarget, AreaLightTargetToObjects, AreaLightLevel, LightToPlane, PlaneToLight, AreaLightScale, SpotlightAngl, SpotlightPivot, SpotlightSlide, SpotlightTarget, SpotlightTargetObjects

people/pascalgolay.txt · Last modified: 2012/05/21 13:39 by pascal Driven by DokuWiki Recent changes RSS feed

 © 1997-2012 

McNeel North America Europe Latin AmericaAsia