--- title: "patternCircular2d" excerpt: "A circular pattern on a 2D sketch." layout: manual --- A circular pattern on a 2D sketch. ```js patternCircular2d(data: CircularPattern2dData, sketch_group: SketchGroup) -> [SketchGroup] ``` ### Examples ```js const part = startSketchOn('XY') |> circle([0, 0], 2, %) |> patternCircular2d({ center: [20, 20], repetitions: 12, arcDegrees: 210, rotateDuplicates: true }, %) ``` ### Arguments * `data`: `CircularPattern2dData` - Data for a circular pattern on a 2D sketch. (REQUIRED) ```js { // The arc angle (in degrees) to place the repetitions. Must be greater than 0. arcDegrees: number, // The center about which to make th pattern. This is a 2D vector. center: [number, number], // The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once. repetitions: number, // Whether or not to rotate the duplicates as they are copied. rotateDuplicates: string, } ``` * `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED) ```js { // The plane id or face id of the sketch group. entityId: uuid, // The id of the sketch group. id: uuid, // What the sketch is on (can be a plane or a face). on: { // The id of the plane. id: uuid, // Origin of the plane. origin: { x: number, y: number, z: number, }, type: "plane", // Type for a plane. value: "XY" | "XZ" | "YZ" | "Custom", // What should the plane’s X axis be? xAxis: { x: number, y: number, z: number, }, // What should the plane’s Y axis be? yAxis: { x: number, y: number, z: number, }, // The z-axis (normal). zAxis: { x: number, y: number, z: number, }, } | { // The id of the face. id: uuid, // The original sketch group id of the object we are sketching on. sketchGroupId: uuid, type: "face", // The tag of the face. value: string, // What should the face’s X axis be? xAxis: { x: number, y: number, z: number, }, // What should the face’s Y axis be? yAxis: { x: number, y: number, z: number, }, // The z-axis (normal). zAxis: { x: number, y: number, z: number, }, }, // The position of the sketch group. position: [number, number, number], // The rotation of the sketch group base plane. rotation: [number, number, number, number], // The starting path. start: { // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], }, // The paths in the sketch group. value: [{ // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "ToPoint", } | { // arc's direction ccw: string, // the arc's center center: [number, number], // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "TangentialArcTo", } | { // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "TangentialArc", } | { // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "Horizontal", // The x coordinate. x: number, } | { // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "AngledLineTo", // The x coordinate. x: number, // The y coordinate. y: number, } | { // The from point. from: [number, number], // The name of the path. name: string, // The to point. to: [number, number], type: "Base", }], // The x-axis of the sketch group base plane in the 3D space xAxis: { x: number, y: number, z: number, }, // The y-axis of the sketch group base plane in the 3D space yAxis: { x: number, y: number, z: number, }, // The z-axis of the sketch group base plane in the 3D space zAxis: { x: number, y: number, z: number, }, } ``` ### Returns `[SketchGroup]`