Working with Assemblies and Parts
- Set your default SketchUp template units to inch or cm before working in MAKE
- Don't change the units in a SketchUp model after creating MAKE operations.
Video: Selecting The Template
About Components
A component is a named group containing one or more edges and faces. The basic mechanics of working with components is outside the scope of this guide, but you can find more information on SketchUp components here and here.
MAKE uses a special kind of SketchUp component called a "Dynamic Component", or "DC" for short. DC's are components that have a mini spreadsheet attached to them that allows constraints and behaviors to be added to the components to make them "smart". A solid understanding of how to use DC's is required to use MAKE. You can find help for working with Dynamic Components here and here.
Setting up component axes.
Quick Start: Create Panel
Video: Creating Panels
From the Extensions -> MAKE menu, select Create Panel to open the Create Panel dialog box. The dialog will prompt you for the dimensions of the panel. If the panel size is going to be parametrically controled you can change the size to a formula later on.
After you've entered the dimensions a panel will be generated with the axes and origin set correctly for machining. Don't change the axes or the origin of the panel. You can freely move and rotate the panel to position it in an assembly, but don't change component axes.
Edgebands and operations components must be nested inside of panel components.
Using the type
attribute with assemblies, parts and edgebands
type
is a reserved MAKE attribute name used to classify components. Assemblies, parts and edgebands must have a type
attribute with values set as described below. All type
values must be in lower case.
type: assembly
- The
type
attribute is set to assembly to designate a collection of components as an assembly - Assemblies can be top-level products such as a cabinet, or subassemblies used within other assemblies, such as a drawer.
- Subassemblies can be nested to any depth in the component hierarchy.
- Keep the hierarchy as simple as possible
- Required attribute:
type
-> assembly
- The following optional attributes are recommended for export data:
Name
Width
Height
Depth
type: panel
- The
type
attribute is set to panel to designate a manufactured component. - Panels can be made of any dimensional material including sheet goods, solid stock, extrusions and textiles.
- A panel component must contain one board subcomponent.
- A panel component may contain one or more subcomponents of type edgeband.
- A panel component may contain one or more subcomponents of type operation.
- Panels cannot contain other panels.
- Required attributes:
type
-> panelmatcode
-> the panel material code. Syntax: an equal sign followed by any text inside quotes. For example:matcode ="my-material/name"
bomL
-> length, typically equal to panel's LenXbomW
-> width, typically equal to panel's LenYbomT
-> thickness, typically equal to panel's LenZ
- Optional attributes for cut sizes, if different from finished sizes. For example if you are using a premilling head on an edgebander, you may want to oversize your panels to compensate for the amount of material removed by the premilling head.
cutL
-> cut lengthcutW
-> cut widthcutT
-> cut thickness
Optional attributes for CNC part rotation and mirroring. If you need a part to be rotated and/or mirrored on your CNC machine, you can see use the following attributes on any component of
type -> panel
CNCrotate
valid values are0
,90
,180
and270
CNCmirror
valid values aremirrorX
,mirrorY
andmirror_XY
Optional attribute for program name on any operation
ProgName
you can use any string of text that is accepted on your CNC machine. If aProgName
attribute is not present or its value is empty, theProgName
for any component oftype -> panel
will be automatically created in the XML export as the file name followed by a three digit sequential number starting with 001, e.g.jobname001
. Some CNC machines can only accept program names 8 characters long, so job names may need to be 5 characters or less.
type: edgeband
- The
type
attribute is set to edgeband to designate linear edgebanding components - A component of type edgeband is a leaf component with no children
- Edgeband components must be direct children of panel component
Edgeband component axes must be located at upper left inside corner of edgeband, as you look at the edge face
Required attributes:
name
-> edge location name, e.g. E1L or TopEdgetype
-> edgebandmatcode
-> the edgeband material code. Syntax: an equal sign followed by any text inside quotes. For example:matcode ="my-edgeband_name"
bomL
-> equal to edgeband LenXbomW
-> equal to edgeband LenXbomT
-> equal to edgeband LenY