chamferFunction in std::solid
Cut a straight transitional edge along a tagged path.
Chamfer is similar in function and use to a fillet, except a fillet will blend the transition along an edge, rather than cut a sharp, straight transitional edge.
Face references
In edges, sideFaces and endFaces contain face tags or face UUIDs, not raw sketch segments.
For a side face created by extruding profile.line1, use profileRegion.tags.line1 or
body.sketch.tags.line1, where profileRegion is the extruded region and body is the resulting solid.
For extrusion caps, declare tagStart = $startCap or tagEnd = $endCap, then refer to
startCap or endCap. Use $ only when declaring the tag.
See Face API Edge References for selection examples.
Arguments
| Name | Type | Description | Required |
|---|---|---|---|
solid | Solid | The solid whose edges should be chamfered | Yes |
length | number(Length) | Chamfering cuts away two faces to create a third face. This is the length to chamfer away from each face. The larger this length to chamfer away, the larger the new face will be. | Yes |
tags | [Edge; 1+] | The paths you want to chamfer (legacy API) | No |
edges | [any] | Preferred for KCL 3. Required unless legacy tags is provided. Do not provide both. Array of edge references; each element is an object with: - sideFaces: array of one or more face tags or face UUIDs. Adjacent faces that share the edge(s) to chamfer. - endFaces?: array of face tags or face UUIDs. Optional faces to disambiguate when multiple edges share the same two faces. - index?: number(Count). Optional index when multiple edges share the same faces (0-based). | No |
secondLength | number(Length) | Chamfering cuts away two faces to create a third face. If this argument isn't given, the lengths chamfered away from both the first and second face are both given by length. If this argument is given, it determines how much is cut away from the second face. Incompatible with angle. | No |
angle | number(Angle) | Chamfering cuts away two faces to create a third face. This argument determines the angle between the two cut edges. Requires length, incompatible with secondLength. The valid range is 0deg < angle < 90deg. | No |
tag | TagDecl | Create a new tag which refers to this chamfer | No |
legacyMethod | bool | Deprecated as of KCL 2.0. Removed in KCL 3.0. You probably shouldn't set this or care about this, it's for opting back into an older version of an engine algorithm. If true, revert to older engine SSI algorithm. Defaults to false. | No |
version | number(_) | Removed in KCL 3.0. Experimental. What version of the fillet algorithm to use. 0 means "let the Zoo engine choose whichever version is best", 1 is the original Zoo fillet algorithm, 2 is the newer algorithm (supports rolling ball fillets). On KCL 2.0 and before, the default is 1. Use KCL 3.0 or later for the newest algorithm without setting version. | No |
tangentChain | bool | Added in KCL 3.0. If true, also chamfer edges that are tangent to the selected edges. Defaults to true. | No |
Returns
Solid - A solid is a collection of extruded surfaces.