diff --git a/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine0.png b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine0.png new file mode 100644 index 00000000..c7e5cc05 Binary files /dev/null and b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine0.png differ diff --git a/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine1.png b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine1.png new file mode 100644 index 00000000..3677730d Binary files /dev/null and b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine1.png differ diff --git a/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileSurface0.png b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileSurface0.png new file mode 100644 index 00000000..c47adac9 Binary files /dev/null and b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-profileSurface0.png differ diff --git a/content/pages/docs/kcl-std/functions/std-gdt-profileLine.md b/content/pages/docs/kcl-std/functions/std-gdt-profileLine.md new file mode 100644 index 00000000..0ed1fc19 --- /dev/null +++ b/content/pages/docs/kcl-std/functions/std-gdt-profileLine.md @@ -0,0 +1,102 @@ +--- +title: "gdt::profileLine" +subtitle: "Function in std::gdt" +excerpt: "GD&T profile-of-a-line annotation specifying how much edges may deviate from their ideal shape." +layout: manual +--- + +GD&T profile-of-a-line annotation specifying how much edges may deviate from their ideal shape. + +```kcl +gdt::profileLine( + edges: [Edge; 1+], + tolerance: number(Length), + datums?: [string; 1+], + precision?: number(_), + framePosition?: Point2d, + framePlane?: Plane, + leaderScale?: number(_), + fontSize?: number(Length), +): [GdtAnnotation; 1+] +``` + +This is part of model-based definition (MBD). + +Profile of a line is a two-dimensional tolerance zone for a cross-section or edge-like profile. + +### Arguments + +| Name | Type | Description | Required | +|----------|------|-------------|----------| +| `edges` | [[`Edge`](/docs/kcl-std/types/std-types-Edge); 1+] | The edges to be annotated. | Yes | +| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The amount of deviation from an ideal profile that is acceptable. | Yes | +| `datums` | [[`string`](/docs/kcl-std/types/std-types-string); 1+] | The datum references to display in the feature control frame. Supports up to primary, secondary, and tertiary datums. | No | +| `precision` | [`number(_)`](/docs/kcl-std/types/std-types-number) | The number of decimal places to display. The default is `3`. Must be greater than or equal to `0` and less than or equal to `9`. | No | +| `framePosition` | [`Point2d`](/docs/kcl-std/types/std-types-Point2d) | The position of the feature control frame relative to the leader arrow. The default is `[100mm, 100mm]`. | No | +| `framePlane` | [`Plane`](/docs/kcl-std/types/std-types-Plane) | The plane in which to display the feature control frame. The default is `XY`. Other standard planes like `XZ` and `YZ` can also be used. The frame may be displayed in a plane parallel to the given plane. | No | +| `leaderScale` | [`number(_)`](/docs/kcl-std/types/std-types-number) | Visual scale of the leader dot. The default is `1.0`, which maps to the calibrated normal dot size. The value is normalized against `fontSize` so the dot stays consistent as text size changes. Must be greater than `0`. | No | +| `fontSize` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The model-space height to use for annotation text. The default is `10mm`. Explicit units are supported; bare numbers use the file's default length unit. This changes the scene size, not the internal raster texture quality. | No | + +### Returns + +[[`GdtAnnotation`](/docs/kcl-std/types/std-types-GdtAnnotation); 1+] + + +### Examples + +```kcl +startSketchOn(XY) + |> startProfile(at = [0, 0]) + |> line(end = [10, 0], tag = $side1) + |> line(end = [0, 10], tag = $side2) + |> line(end = [-10, 0]) + |> line(end = [0, -10]) + |> close() + |> extrude(length = 5, tagEnd = $top) + +profileEdge = getCommonEdge(faces = [side1, top]) + +gdt::profileLine( + edges = [profileEdge], + tolerance = 0.1mm, + datums = ["A"], + framePosition = [10mm, 20mm], + framePlane = XZ, +) + +``` + + +![Rendered example of gdt::profileLine 0](/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine0.png) + +```kcl +blockProfile = sketch(on = XY) { + edge1 = line(start = [var 0mm, var 0mm], end = [var 10mm, var 0mm]) + edge2 = line(start = [var 10mm, var 0mm], end = [var 10mm, var 6mm]) + edge3 = line(start = [var 10mm, var 6mm], end = [var 0mm, var 6mm]) + edge4 = line(start = [var 0mm, var 6mm], end = [var 0mm, var 0mm]) + coincident([edge1.end, edge2.start]) + coincident([edge2.end, edge3.start]) + coincident([edge3.end, edge4.start]) + coincident([edge4.end, edge1.start]) + horizontal(edge1) + vertical(edge2) + horizontal(edge3) + vertical(edge4) +} + +block = extrude(region(point = [5mm, 3mm], sketch = blockProfile), length = 4mm, tagEnd = $top) +profileEdge = getCommonEdge(faces = [block.sketch.tags.edge1, top]) +gdt::profileLine( + edges = [profileEdge], + tolerance = 0.05mm, + framePosition = [12mm, 8mm], + framePlane = XZ, +) + +``` + + +![Rendered example of gdt::profileLine 1](/kcl-test-outputs/serial_test_example_fn_std-gdt-profileLine1.png) + + diff --git a/content/pages/docs/kcl-std/functions/std-gdt-profileSurface.md b/content/pages/docs/kcl-std/functions/std-gdt-profileSurface.md new file mode 100644 index 00000000..b70a4501 --- /dev/null +++ b/content/pages/docs/kcl-std/functions/std-gdt-profileSurface.md @@ -0,0 +1,65 @@ +--- +title: "gdt::profileSurface" +subtitle: "Function in std::gdt" +excerpt: "GD&T profile-of-a-surface annotation specifying how much faces may deviate from their ideal shape." +layout: manual +--- + +GD&T profile-of-a-surface annotation specifying how much faces may deviate from their ideal shape. + +```kcl +gdt::profileSurface( + faces: [TaggedFace; 1+], + tolerance: number(Length), + datums?: [string; 1+], + precision?: number(_), + framePosition?: Point2d, + framePlane?: Plane, + leaderScale?: number(_), + fontSize?: number(Length), +): [GdtAnnotation; 1+] +``` + +This is part of model-based definition (MBD). + +Profile of a surface is a three-dimensional tolerance zone that applies across the whole annotated surface. + +### Arguments + +| Name | Type | Description | Required | +|----------|------|-------------|----------| +| `faces` | [[`TaggedFace`](/docs/kcl-std/types/std-types-TaggedFace); 1+] | The faces to be annotated. | Yes | +| `tolerance` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The amount of deviation from an ideal profile that is acceptable. | Yes | +| `datums` | [[`string`](/docs/kcl-std/types/std-types-string); 1+] | The datum references to display in the feature control frame. Supports up to primary, secondary, and tertiary datums. | No | +| `precision` | [`number(_)`](/docs/kcl-std/types/std-types-number) | The number of decimal places to display. The default is `3`. Must be greater than or equal to `0` and less than or equal to `9`. | No | +| `framePosition` | [`Point2d`](/docs/kcl-std/types/std-types-Point2d) | The position of the feature control frame relative to the leader arrow. The default is `[100mm, 100mm]`. | No | +| `framePlane` | [`Plane`](/docs/kcl-std/types/std-types-Plane) | The plane in which to display the feature control frame. The default is `XY`. Other standard planes like `XZ` and `YZ` can also be used. The frame may be displayed in a plane parallel to the given plane. | No | +| `leaderScale` | [`number(_)`](/docs/kcl-std/types/std-types-number) | Visual scale of the leader dot. The default is `1.0`, which maps to the calibrated normal dot size. The value is normalized against `fontSize` so the dot stays consistent as text size changes. Must be greater than `0`. | No | +| `fontSize` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The model-space height to use for annotation text. The default is `10mm`. Explicit units are supported; bare numbers use the file's default length unit. This changes the scene size, not the internal raster texture quality. | No | + +### Returns + +[[`GdtAnnotation`](/docs/kcl-std/types/std-types-GdtAnnotation); 1+] + + +### Examples + +```kcl +cylinderSketch = sketch(on = XY) { + perimeter = circle(start = [var 5mm, var 0mm], center = [var 0mm, var 0mm]) +} + +cylinder = extrude(region(point = cylinderSketch.perimeter.center, sketch = cylinderSketch), length = 10mm, tagEnd = $top) +gdt::profileSurface( + faces = [top], + tolerance = 0.05mm, + framePosition = [12mm, 8mm], + framePlane = XZ, +) + +``` + + +![Rendered example of gdt::profileSurface 0](/kcl-test-outputs/serial_test_example_fn_std-gdt-profileSurface0.png) + + diff --git a/content/pages/docs/kcl-std/modules/std-gdt.md b/content/pages/docs/kcl-std/modules/std-gdt.md index 36c35e1d..2ea10b49 100644 --- a/content/pages/docs/kcl-std/modules/std-gdt.md +++ b/content/pages/docs/kcl-std/modules/std-gdt.md @@ -24,6 +24,8 @@ Functions for working with geometric dimensioning and tolerancing (GD&T). This c * [`gdt::perpendicularity`](/docs/kcl-std/functions/std-gdt-perpendicularity) * [`gdt::position`](/docs/kcl-std/functions/std-gdt-position) * [`gdt::profile`](/docs/kcl-std/functions/std-gdt-profile) +* [`gdt::profileLine`](/docs/kcl-std/functions/std-gdt-profileLine) +* [`gdt::profileSurface`](/docs/kcl-std/functions/std-gdt-profileSurface) * [`gdt::runout`](/docs/kcl-std/functions/std-gdt-runout) * [`gdt::straightness`](/docs/kcl-std/functions/std-gdt-straightness) * [`gdt::symmetry`](/docs/kcl-std/functions/std-gdt-symmetry) diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/angularity/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/angularity/index.mdx new file mode 100644 index 00000000..78830066 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/angularity/index.mdx @@ -0,0 +1,73 @@ +--- +title: Angularity +excerpt: Angularity GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 6 +--- + +Angularity controls how close selected faces or edges stay to a specified basic angle relative to a +datum. Use it for bent tabs, angled pads, ramps, and mating surfaces that must hold an orientation +other than parallel or perpendicular. + + + +## Faces Or Edges + +Select the face or edge whose angled orientation should be controlled. Choose the geometry that +directly represents the manufactured feature being inspected. + +## Tolerance + +Set the allowed angularity zone size in the current unit system. The value defines the width of the +tolerance zone shown in the feature control frame. It is a length, not a plus-or-minus angle. + +## Datums + +Add the datum label or labels that define the reference orientation. Angularity normally needs at +least one datum to make the angled relationship meaningful. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the controlled feature while keeping it clear of the model +outline. + +## Frame Plane + +Choose the display plane for the annotation. Use `XY`, `XZ`, or `YZ` to keep the frame legible in +the intended view. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. An Angularity annotation uses `gdt::angularity` +with selected faces or edges, a tolerance, and datum references. The basic angle comes from the +model geometry or drawing definition. + +```kcl +gdt::angularity( + faces = [angledFace], + tolerance = 0.1mm, + datums = ["A"], + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::angularity` function? +[Check it out](/docs/kcl-std/functions/std-gdt-angularity) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation/index.mdx index cb36d49c..b21f22ad 100644 --- a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation/index.mdx +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation/index.mdx @@ -1,7 +1,7 @@ --- title: Annotation excerpt: General GD&T annotation workflows in Zoo Design Studio. -sidebarPosition: 7 +sidebarPosition: 8 --- Annotation attaches general model-based manufacturing notes to selected faces or edges. Use it for diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/circularity/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/circularity/index.mdx new file mode 100644 index 00000000..58d3f4aa --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/circularity/index.mdx @@ -0,0 +1,67 @@ +--- +title: Circularity +excerpt: Circularity GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 9 +--- + +Circularity controls how closely a round edge or round face follows a perfect circle. Use it for +turned diameters, bores, pins, cones, and other features of revolution where each cross-section must +stay round without referencing a datum. + + + +## Faces Or Edges + +Select a circular edge or a round face. Edges are useful when the requirement applies to a specific +rim or cross-section. Faces are useful when the requirement applies along a cylindrical or conical +surface. + +## Tolerance + +Set the allowed roundness variation in the current unit system. The circularity tolerance zone is +defined by two concentric circles whose radii differ by the tolerance value. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the selected round feature while keeping it readable. + +## Frame Plane + +Choose the display plane for the annotation. Use `XY`, `XZ`, or `YZ` to keep the frame facing the +intended view. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Circularity annotation uses `gdt::circularity` +with selected faces or edges and a tolerance. Circularity is a form tolerance, so it does not use +datums. + +```kcl +gdt::circularity( + edges = [roundEdge], + tolerance = 0.05mm, + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::circularity` function? +[Check it out](/docs/kcl-std/functions/std-gdt-circularity) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/concentricity/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/concentricity/index.mdx new file mode 100644 index 00000000..85ea435b --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/concentricity/index.mdx @@ -0,0 +1,71 @@ +--- +title: Concentricity +excerpt: Concentricity GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 14 +--- + +Concentricity controls how closely the derived median axis of a round feature aligns with a datum +axis. Use it when coaxial alignment matters for rotating parts, nested diameters, precision bores, +or shafts where mass distribution around a common axis is important. + + + +## Faces Or Edges + +Select the round face or circular edge whose median axis should be controlled. Choose the geometry +that represents the manufactured feature being inspected. + +## Tolerance + +Set the diameter of the cylindrical tolerance zone in the current unit system. + +## Datums + +Add the datum label or labels that define the reference axis. Concentricity requires at least one +datum reference. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the controlled round feature while keeping it clear of other +callouts. + +## Frame Plane + +Choose the display plane for the annotation. Use the plane that keeps the frame legible in the +inspection or documentation view. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Concentricity annotation uses +`gdt::concentricity` with selected faces or edges, a tolerance, and datum references. + +```kcl +gdt::concentricity( + faces = [controlledCylinder], + tolerance = 0.05mm, + datums = ["A"], + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::concentricity` function? +[Check it out](/docs/kcl-std/functions/std-gdt-concentricity) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/cylindricity/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/cylindricity/index.mdx new file mode 100644 index 00000000..ee17a971 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/cylindricity/index.mdx @@ -0,0 +1,66 @@ +--- +title: Cylindricity +excerpt: Cylindricity GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 11 +--- + +Cylindricity controls how closely a cylindrical feature conforms to an ideal cylinder. Use it for +shafts, pins, bores, sleeves, and turned surfaces where roundness, straightness, and taper need to +be controlled together without referencing a datum. + + + +## Faces Or Edges + +Select a cylindrical face when the whole surface must fit within the cylindrical tolerance zone. You +can also select a circular edge when the requirement applies to a specific rim or section. + +## Tolerance + +Set the allowed deviation from a perfect cylinder in the current unit system. The tolerance zone is +between two coaxial cylinders whose radii differ by the tolerance value. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the selected cylindrical feature while keeping it readable. + +## Frame Plane + +Choose the display plane for the annotation. Use `XY`, `XZ`, or `YZ` to keep the frame facing the +intended view. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Cylindricity annotation uses `gdt::cylindricity` +with selected faces or edges and a tolerance. Cylindricity is a form tolerance, so it does not use +datums. + +```kcl +gdt::cylindricity( + faces = [shaftFace], + tolerance = 0.02mm, + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::cylindricity` function? +[Check it out](/docs/kcl-std/functions/std-gdt-cylindricity) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance/index.mdx index bea840c7..8599d76b 100644 --- a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance/index.mdx +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance/index.mdx @@ -1,7 +1,7 @@ --- title: Distance excerpt: Distance GD&T annotation workflows in Zoo Design Studio. -sidebarPosition: 6 +sidebarPosition: 7 --- Distance captures a dimensional tolerance for an edge length or for spacing between selected faces diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/index.mdx index 124bee28..ad88aa6c 100644 --- a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/index.mdx +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/index.mdx @@ -7,16 +7,32 @@ sidebarPosition: 0 GD&T Annotations (MBD) let you define geometric tolerances and datum references directly on the 3D model as part of a model-based definition workflow. -Start with [Flatness](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/flatness) -and [Datum](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/datum) to establish -basic form control and reference geometry. Then use -[Profile](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile), -[Position](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/position), -[Perpendicularity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/perpendicularity), -[Parallelism](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/parallelism), -[Distance](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance), and -[Annotation](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation) -to attach the rest of the shipped MBD callouts to model geometry. +Start with [Datum](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/datum) to +establish reference geometry. Then choose the GD&T control that matches the inspection requirement: + +- Form controls: + [Circularity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/circularity), + [Cylindricity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/cylindricity), + [Flatness](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/flatness), + and [Straightness](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/straightness) +- Profile controls: + [Profile](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile), + [Profile Line](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-line), + and + [Profile Surface](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-surface) +- Orientation controls: + [Angularity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/angularity), + [Parallelism](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/parallelism), + and + [Perpendicularity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/perpendicularity) +- Location and runout controls: + [Concentricity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/concentricity), + [Position](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/position), + [Runout](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/runout), + and [Symmetry](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/symmetry) +- Other model-based definition callouts: + [Annotation](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/annotation) + and [Distance](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/distance) ## Are you interested in code? @@ -26,7 +42,10 @@ standard library. ```kcl gdt::datum(face = datumFace, name = "A") gdt::flatness(faces = [mountingFace], tolerance = 0.05mm) +gdt::circularity(edges = [roundEdge], tolerance = 0.05mm) +gdt::profileSurface(faces = [contouredFace], tolerance = 0.1mm, datums = ["A"]) gdt::position(faces = [holeFace], tolerance = 0.08mm, datums = ["A"]) +gdt::angularity(faces = [controlledSurface], tolerance = 0.1mm, datums = ["A"]) ``` Want to find out more about the `gdt` module? [Check it out](/docs/kcl-std/modules/std-gdt) in our diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-line/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-line/index.mdx new file mode 100644 index 00000000..788a3418 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-line/index.mdx @@ -0,0 +1,71 @@ +--- +title: Profile Line +excerpt: Profile line GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 12 +--- + +Profile Line controls how far selected edge geometry may deviate from its ideal two-dimensional +profile. Use it for cross-sections, outlines, curved edges, and contour boundaries that need a +tolerance zone following the intended shape. + + + +## Edges + +Select one or more edges to control. Profile Line applies to edge geometry, so choose the outline, +curve, or section whose shape tolerance should travel with the model. + +## Tolerance + +Set the allowed deviation from the ideal profile in the current unit system. + +## Datums + +Add datum references when the profile tolerance should be evaluated relative to a datum reference +frame. Leave datums empty when the profile controls only form. + +## Precision + +Choose how many decimal places to display in the annotation. + +## Frame Position + +Place the feature control frame relative to the leader arrow. Move it far enough from the selected +edge that the annotation stays readable. + +## Frame Plane + +Choose the plane used to display the annotation frame. Use `XY`, `XZ`, or `YZ` when you need the +callout to face a predictable viewing direction. + +## Leader Scale + +Adjust the visual size of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Profile Line annotation uses `gdt::profileLine` +with one or more selected edges, a tolerance, and optional datum references. + +```kcl +gdt::profileLine( + edges = [profileEdge], + tolerance = 0.1mm, + datums = ["A"], + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::profileLine` function? +[Check it out](/docs/kcl-std/functions/std-gdt-profileLine) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-surface/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-surface/index.mdx new file mode 100644 index 00000000..c8e8354e --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/profile-surface/index.mdx @@ -0,0 +1,71 @@ +--- +title: Profile Surface +excerpt: Profile surface GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 13 +--- + +Profile Surface controls how far selected faces may deviate from their ideal three-dimensional +surface. Use it for contoured surfaces, molded faces, aerodynamic surfaces, castings, and other +features where the whole surface shape matters. + + + +## Faces + +Select one or more faces to control. Profile Surface applies across the selected surface area, not +just a single boundary edge. + +## Tolerance + +Set the allowed deviation from the ideal surface in the current unit system. + +## Datums + +Add datum references when the surface profile should also control orientation or location relative +to a datum reference frame. Leave datums empty when the profile controls only form. + +## Precision + +Choose how many decimal places to display in the annotation. + +## Frame Position + +Place the feature control frame relative to the leader arrow. Keep the frame clear of dense model +details so it remains readable. + +## Frame Plane + +Choose the display plane for the feature control frame. Use the plane that keeps the annotation +facing the viewer in your documentation or inspection workflow. + +## Leader Scale + +Adjust the visual size of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Profile Surface annotation uses +`gdt::profileSurface` with one or more selected faces, a tolerance, and optional datum references. + +```kcl +gdt::profileSurface( + faces = [controlledSurface], + tolerance = 0.05mm, + datums = ["A"], + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::profileSurface` function? +[Check it out](/docs/kcl-std/functions/std-gdt-profileSurface) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/runout/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/runout/index.mdx new file mode 100644 index 00000000..b13bbdb9 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/runout/index.mdx @@ -0,0 +1,71 @@ +--- +title: Runout +excerpt: Runout GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 16 +--- + +Runout controls how much a round feature may vary as it rotates around a datum axis. Use it for +shafts, shoulders, bearing seats, pulleys, and other rotating features where circular variation +relative to an axis affects fit, vibration, or sealing. + + + +## Faces Or Edges + +Select a round face or circular edge that should be controlled during rotation about the datum +axis. + +## Tolerance + +Set the allowed circular runout in the current unit system. + +## Datums + +Add the datum label or labels that define the rotation axis. Runout requires at least one datum +reference. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the selected round feature while keeping it clear of other +annotations. + +## Frame Plane + +Choose the display plane for the annotation. Use the plane that keeps the callout readable in the +view where runout will be reviewed. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Runout annotation uses `gdt::runout` with +selected faces or edges, a tolerance, and datum references. + +```kcl +gdt::runout( + edges = [shoulderEdge], + tolerance = 0.2mm, + datums = ["A"], + precision = 1, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::runout` function? +[Check it out](/docs/kcl-std/functions/std-gdt-runout) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/straightness/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/straightness/index.mdx new file mode 100644 index 00000000..b54317c6 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/straightness/index.mdx @@ -0,0 +1,66 @@ +--- +title: Straightness +excerpt: Straightness GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 10 +--- + +Straightness controls how closely a selected edge or line element follows a perfect straight line. +Use it for guide rails, edges, slots, shaft elements, and other features where waviness or bowing +must be limited without referencing a datum. + + + +## Faces Or Edges + +Select the edge whose straightness should be controlled. You can also select a face when the visible +face element represents the straight feature being inspected. + +## Tolerance + +Set the allowed straightness variation in the current unit system. The tolerance zone is bounded by +parallel lines separated by the tolerance value. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the selected edge while keeping it readable. + +## Frame Plane + +Choose the display plane for the annotation. Use `XY`, `XZ`, or `YZ` to keep the frame facing the +intended view. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Straightness annotation uses `gdt::straightness` +with selected faces or edges and a tolerance. Straightness is a form tolerance, so it does not use +datums. + +```kcl +gdt::straightness( + edges = [sideEdge], + tolerance = 0.05mm, + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::straightness` function? +[Check it out](/docs/kcl-std/functions/std-gdt-straightness) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/symmetry/index.mdx b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/symmetry/index.mdx new file mode 100644 index 00000000..deed91c6 --- /dev/null +++ b/content/pages/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/symmetry/index.mdx @@ -0,0 +1,71 @@ +--- +title: Symmetry +excerpt: Symmetry GD&T annotation workflows in Zoo Design Studio. +sidebarPosition: 15 +--- + +Symmetry controls how closely a feature's derived median plane aligns with a datum center plane. Use +it when opposing surfaces must remain balanced around a datum plane, such as centered grooves, +slots, tabs, or features where mass distribution matters. + + + +## Faces Or Edges + +Select the face or edge whose median plane should be controlled. Choose the geometry that represents +the feature of size being inspected. + +## Tolerance + +Set the total width of the symmetry tolerance zone in the current unit system. + +## Datums + +Add the datum label or labels that define the center plane. Symmetry requires at least one datum +reference. + +## Precision + +Choose how many decimal places to display for the tolerance value. + +## Frame Position + +Place the feature control frame near the controlled feature while keeping it clear of other +callouts. + +## Frame Plane + +Choose the display plane for the annotation. Use the plane that keeps the callout readable in the +view where symmetry will be reviewed. + +## Leader Scale + +Adjust the visual scale of the leader dot. + +## Font Size + +Set the model-space height of the annotation text. + +## Are you interested in code? + +Zoo Design Studio writes KCL behind the scenes. A Symmetry annotation uses `gdt::symmetry` with +selected faces or edges, a tolerance, and datum references. + +```kcl +gdt::symmetry( + faces = [centeredFeature], + tolerance = 0.2mm, + datums = ["A"], + precision = 2, + framePosition = [12mm, 8mm], + framePlane = XZ, +) +``` + +Want to find out more about the `gdt::symmetry` function? +[Check it out](/docs/kcl-std/functions/std-gdt-symmetry) in our KCL docs. diff --git a/content/pages/docs/zoo-design-studio/features/workspace/command-bar.mdx b/content/pages/docs/zoo-design-studio/features/workspace/command-bar.mdx index fb623a7c..77ca3f2f 100644 --- a/content/pages/docs/zoo-design-studio/features/workspace/command-bar.mdx +++ b/content/pages/docs/zoo-design-studio/features/workspace/command-bar.mdx @@ -224,6 +224,8 @@ Parameters: **GDT Datum:** Define datum reference features. See [Datum](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/datum/) for parameters. +**GDT Angularity:** Annotate angled orientation tolerance relative to datum references. See [Angularity](/docs/zoo-design-studio/features/documentation/gdt-annotations-mbd/angularity/) for parameters. + #### Appearance and Visualization **Appearance:** Set material properties (color, metalness, roughness, opacity). See [Appearance](/docs/zoo-design-studio/features/workspace/appearance) for parameters.