Assembly Features

These are a set of objects used to create assemblies. Related to Aggregations and Relationships, and Connectors.

Assembly Constructors

asmHole( Center, Diameter, Depth , Thru )
Returns
<asm_hole_peg_obj> Straight cylindrical holes which are either blind or go all the way through the material for assemblies.
Center
<anchor> Anchor giving the location of the opening of the hole. Z axis points into the hole along its axis.
Diameter
<positive_number> Diameter of the hole.
Depth
<positive_number> The depth of the hole.
Thru
<boolean> True if this is a hole that goes all the way through the material.
asmPeg( Center, Diameter, Length )
Returns
<asm_hole_peg_obj > Straight cylindrical pegs for assemblies.
Center
<anchor > Anchor giving the location of the top of the peg. Located at the peg's junction with the surface it is jutting out of (if any.) Z axis points up into the peg along its axis.
Diameter
<positive_number > Diameter of the peg.
Length
<positive_number > Length of the peg.
asmSrf( Surface )
Returns
<asm_srf_obj > Assembly surface feature. Surface features mate with other surface features which are the same shape. Surfaces' domain is normalized so it's easy to compare them with others.
Surface
<srf_obj > The assembly surface.
asmSpotFix( Center )
Returns
<asm_spotfix_obj > This feature can be used to disambiguate part mating. For example, suppose parts with two identical holes each are to be mated. They can mate in several different ways. But if we also use a pair of spot fix mating features in a strategic place (e.g. a protrusion on the first part that must match a similar protrusion on the second part), the mating ambiguity may well be eliminated.
Center
<anchor > Anchor of feature. Z axis should point out of the object the feature is on.
asmDovetailHole( CrossSection, Length )
Returns
<asm_dovetail_obj > Dovetail hole feature. A dovetail hole is open on three sides, but requires a matching dovetail peg to be slid into it rather than placed from the top (it may not fit that way and if so, cannot be removed that way). Here is a dovetail hole cut in a bar of stock. (Imagine this extruded perpendicular to the screen. Something like this may be useful to make a sliding lid on a box or rails on which a drawer slides in and out, for example.) A dovetail peg is the reverse of the hole.
              _____    _____
              |   /____\   |
              |            |
              |____________|
CrossSection
<crv_obj > Cross-section curve for the dovetail (assumed to be planar).
Length
<positive_number > Length of the dovetail along its axis.
asmDovetailPeg( CrossSection, Length )
Returns
<asm_dovetail_obj > Dovetail peg feature, mates with asmDovetailHole.
CrossSection
<crv_obj > Cross-section curve for the dovetail (assumed to be planar).
Length
<positive_number > Length of the dovetail along its axis.
asmScrewHole( Center, Diameter, Depth , ThreadDensity , TurnAngle , Thru )
Returns
<asm_screw_obj > A screw hole feature. This includes normal threaded holes and ordinary screws, and also other things that twist in by some limited amount, possibly less than 360 degrees (e.g. the bottom of a blender container twists into the base about a quarter of a turn before it bumps up against protrusions in the base and stops turning).
Center
<anchor > Anchor of feature, located on one of the ends. Z axis should point into feature, along feature's axis.
Diameter
<positive_number > Diameter of the feature.
Depth
<positive_number > The length of the feature (along its axis).
ThreadDensity
<integer > The number of threads per unit of length. 0 if not threaded (see blender container example). Thread direction is assumed to always be the same, and screw pegs are threaded the right way to go into screw holes.
TurnAngle
<number > Maximum angle (in degrees) through which the object can turn relative to its mate (counterclockwise for holes). (This is really only important if the maximum turn is less than a full circle.)
Thru
<boolean > True if the hole goes all the way through the material.
asmScrewPeg( Center, Diameter, Length , ThreadDensity , TurnAngle )
Returns
<asm_screw_obj > Screw peg feature, mates with asmScrewHole.
Center
<anchor > Anchor of feature, located on one of the ends. Z axis should point into feature, along feature's axis.
Diameter
<positive_number > Diameter of the feature.
Length
<positive_number > The length of the feature (along its axis).
ThreadDensity
<integer > The number of threads per unit of length. 0 if not threaded (see blender container example). Thread direction is assumed to always be the same, and screw pegs are threaded the right way to go into screw holes.
TurnAngle
<number > Maximum angle (in degrees) through which the object can turn relative to its mate (counterclockwise for pegs). (This is really only important if the maximum turn is less than a full circle.)
asmExtrudedHole( CrossSection, Depth, Thru )
Returns
<asm_extruded_obj > Assembly hole feature of arbitrary cross-section. (The only difference from round holes is that these cannot rotate with respect to each other.)
CrossSection
<crv_obj > Cross-section curve (should be closed, but no checking).
Depth
<number > Depth. If negative, indicates opposite extrude direction.
Thru
<boolean > True if the hole goes all the way through the material.
asmExtrudedPeg( Cross-section, Length )
Returns
<asm_extruded_obj > Assembly peg feature of arbitrary cross-section, mates with asmExtrudedHole..
CrossSection
<crv_obj > Cross-section curve (should be closed, but no checking).
Depth
<number > Length. If negative, indicates opposite extrude direction.
asmFeature( Geom, MateCode, NumPieces, FeatCode )
Returns
<assembly_feat_obj > Assembly feature object.

This class can also be used to describe partial features. A given number (more than one) of these identical features must be present in order to merge into a full-fledged feature. (As an example, imagine a hole that spans three parts and is not complete until all three parts are assembled in such a way as to line up the pieces of the hole.)

Geom
<object > One of the assembly feature geometries above (peg, hole, surface, etc.)
MateCode
<integer > Mating code (matching features have matching mating codes).
NumPieces
<integer > Number of components required to make this feature whole (in partial features this number is greater than 1, in complete features it equals 1.)
FeatCode
<integer > Partial feature code (pieces of the same partial feature have the same code).
makeAsmComponent( Geom, FeatList, UseFeatGeom )
Returns
<assembly_component_obj > Given an arbitrary geometric object (usually a shell, but could be a surface, group, or something else) and a list of assembly features, returns an assembly_component_obj whose features_ slot is set to the list of the given features. The geom_ slot of the component is set to either the given geometry only or to a group of the given geometric object and the geometries of the given features.
Geom
<object > An arbitrary geometric object.
FeatList
<arrayOf object > An array of assembly features for this object.
UseFeatGeom
<boolean > (Optional) Whether or not to add the geometries of the features to the geometry of the object. If this is True, the geometries will be grouped, otherwise only the geometry of the object will be used. This is an optional argument. The default is False.
sphereSrf( CtrPt, Rad )
Returns
< > Wrapper for new srf_obj representing a sphere. (The arguments are exactly the same as for Sphere, but that creates a sphere primitive rather than a surface.)
CtrPt
<point > Center point of the sphere.
Rad
<number > Radius of the sphere.

C_Shape_Edit User's Manual Home Page
Alpha_1 User's Manual.
Copyright © 1998, University of Utah
a1-web@gr.cs.utah.edu