Add kclVersion as a field of the setting attribute (#6689)

Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Nick Cameron
2025-05-06 08:44:03 +12:00
committed by GitHub
parent 7ab879a94f
commit cf2e9d4b91
186 changed files with 7478 additions and 6399 deletions

View File

@ -2,7 +2,7 @@
// An 80/20 extruded aluminum linear rail. T-slot profile adjustable by profile height, rail length, and origin position
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Create a function to make the 80-20 rail
fn rail8020(originStart, railHeight, railLength) {

View File

@ -2,7 +2,7 @@
// The plastic housing that contains the fan and the motor
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Import parameters
import * from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Spinning axial fan that moves airflow
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Import parameters
import * from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A small axial fan, used to push or draw airflow over components to remove excess heat
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Import all parts into assembly file
import "fan-housing.kcl" as fanHousing

View File

@ -2,7 +2,7 @@
// A small electric motor to power the fan
// Set Units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Import Parameters
import * from "parameters.kcl"

View File

@ -1,7 +1,7 @@
// Global parameters for the axial fan
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define Parameters
export fanSize = 120

View File

@ -2,7 +2,7 @@
// A ball bearing is a type of rolling-element bearing that uses balls to maintain the separation between the bearing races. The primary purpose of a ball bearing is to reduce rotational friction and support radial and axial loads.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
outsideDiameter = 1.625

View File

@ -2,7 +2,7 @@
// The following file describes various functions to build the 3D boaty. The name of this file is a bit of misnomer, the shape of the object is a typical park bench.
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
export dividerThickness = 4

View File

@ -2,7 +2,7 @@
// This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench.
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define the bench length
benchLength = 56

View File

@ -2,7 +2,7 @@
// A simple bottle with a hollow, watertight interior
// Set Units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Input dimensions to define the bottle
bottleWidth = 80

View File

@ -2,7 +2,7 @@
// This is a bracket that holds a shelf. It is made of aluminum and is designed to hold a force of 300 lbs. The bracket is 6 inches wide and the force is applied at the end of the shelf, 12 inches from the wall. The bracket has a factor of safety of 1.2. The legs of the bracket are 5 inches and 2 inches long. The thickness of the bracket is calculated from the constraints provided.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
sigmaAllow = 35000 // psi (6061-T6 aluminum)

View File

@ -2,7 +2,7 @@
// Brake calipers are used to squeeze the brake pads against the rotor, causing larger and larger amounts of friction depending on how hard the brakes are pressed.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import caliperTolerance, caliperPadLength, caliperThickness, caliperOuterEdgeRadius, caliperInnerEdgeRadius, rotorDiameter, rotorTotalThickness, yAxisOffset from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A component of a disc brake system. It provides a surface for brake pads to press against, generating the friction needed to slow or stop the vehicle.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import rotorDiameter, rotorInnerDiameter, rotorSinglePlateThickness, rotorInnerDiameterThickness, lugHolePatternDia, lugSpacing, rotorTotalThickness, spacerPatternDiameter, spacerDiameter, spacerLength, spacerCount, wheelDiameter, lugCount, yAxisOffset, drillAndSlotCount from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A tire is a critical component of a vehicle that provides the necessary traction and grip between the car and the road. It supports the vehicle's weight and absorbs shocks from road irregularities.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import tireInnerDiameter, tireOuterDiameter, tireDepth, bendRadius, tireTreadWidth, tireTreadDepth, tireTreadOffset from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A sports car wheel with a circular lug pattern and spokes.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import lugCount, lugSpacing, offset, backSpacing, wheelWidth, wheelDiameter, spokeCount, spokeGap, spokeAngle, spokeThickness from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// lug Nuts are essential components used to create secure connections, whether for electrical purposes, like terminating wires or grounding, or for mechanical purposes, such as providing mounting points or reinforcing structural joints.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import lugDiameter, lugHeadLength, lugThreadDiameter, lugLength, lugThreadDepth, lugSpacing from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A car wheel assembly with a rotor, tire, and lug nuts.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parts
import "car-wheel.kcl" as carWheel

View File

@ -1,7 +1,7 @@
// Car wheel assembly parameters
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Car wheel
export lugCount = 5

View File

@ -2,7 +2,7 @@
// This is a color cube centered about the origin. It is used to help determine orientation in the scene.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Parameters referenced in drawRectangle
size = 100

View File

@ -2,7 +2,7 @@
// A cycloidal gear is a gear with a continuous, curved tooth profile. They are used in watchmaking and high precision robotics actuation
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Create a function for the cycloidal gear
fn cycloidalGear(gearPitch, gearHeight, holeDiameter, helixAngle: number(deg)) {

View File

@ -2,7 +2,7 @@
// A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the a dodecahedron with a series of intersects.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define the dihedral angle for a regular dodecahedron
dihedral = 116.565

View File

@ -2,7 +2,7 @@
// A stainless steel sink unit with dual rectangular basins and six under-counter storage compartments.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
tableHeight = 850

View File

@ -2,7 +2,7 @@
// An enclosure body and sealing lid for storing items
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
length = 175

View File

@ -2,7 +2,7 @@
// A welded exhaust header for an inline 4-cylinder engine
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
primaryTubeDiameter = 1.625

View File

@ -2,7 +2,7 @@
// A flange is a flat rim, collar, or rib, typically forged or cast, that is used to strengthen an object, guide it, or attach it to another object. Flanges are known for their use in various applications, including piping, plumbing, and mechanical engineering, among others.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
mountingHoleDia = .625

View File

@ -2,7 +2,7 @@
// This is a bracket that holds an audio device underneath a desk or shelf. The audio device has dimensions of 144mm wide, 80mm length and 45mm depth with fillets of 6mm. This mounting bracket is designed to be 3D printed with PLA material
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// define parameters
radius = 6.0

View File

@ -2,7 +2,7 @@
// Use these spatulas for mixing, flipping, and scraping.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
flipperThickness = 3.5

View File

@ -2,7 +2,7 @@
// A french press immersion coffee maker
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
carafeDiameter = 4.41

View File

@ -2,7 +2,7 @@
// A flat bar or rail that is engraved with teeth along its length. These teeth are designed to mesh with the teeth of a gear, known as a pinion. When the pinion, a small cylindrical gear, rotates, its teeth engage with the teeth on the rack, causing the rack to move linearly. Conversely, linear motion applied to the rack will cause the pinion to rotate.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
length = 100

View File

@ -2,7 +2,7 @@
// A rotating machine part having cut teeth or, in the case of a cogwheel, inserted teeth (called cogs), which mesh with another toothed part to transmit torque. Geared devices can change the speed, torque, and direction of a power source. The two elements that define a gear are its circular shape and the teeth that are integrated into its outer edge, which are designed to fit into the teeth of another gear.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
nTeeth = 21

View File

@ -2,7 +2,7 @@
// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion. This baseplate version includes holes for magnet placement
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
binLength = 42.0

View File

@ -2,7 +2,7 @@
// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
binLength = 42.0

View File

@ -2,7 +2,7 @@
// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion. This Gridfinity bins version includes a lip to allowable stacking Gridfinity bins
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
binLength = 41.5

View File

@ -2,7 +2,7 @@
// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion
// Set units in millimeters (mm)
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
binLength = 41.5

View File

@ -2,7 +2,7 @@
// A hex nut is a type of fastener with a threaded hole and a hexagonal outer shape, used in a wide variety of applications to secure parts together. The hexagonal shape allows for a greater torque to be applied with wrenches or tools, making it one of the most common nut types in hardware.
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters (5/16" - 24 thread size)
wallToWallLength = 0.5

View File

@ -2,7 +2,7 @@
// A structural metal beam with an I shaped cross section. Often used in construction and architecture
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
beamLength = 6ft

View File

@ -2,7 +2,7 @@
// A custom keyboard with Zoo brand lettering
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
baseColor = "#0f0f0f"

View File

@ -2,7 +2,7 @@
// A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code.
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
lbumps = 3 // number of bumps long

View File

@ -2,7 +2,7 @@
// A circular vanity mirror mounted on a swiveling arm with pivot joints, used for personal grooming.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Hinge parameters
hingeRadius = 8

View File

@ -2,7 +2,7 @@
// A flat piece of material, often metal or plastic, that serves as a support or base for attaching, securing, or mounting various types of equipment, devices, or components.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
plateLength = 10

View File

@ -1,7 +1,7 @@
// Global constants for the multi-axis robot
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Axis Angles
export axisJ4 = 25deg

View File

@ -2,7 +2,7 @@
// A 4 axis robotic arm for industrial use. These machines can be used for assembly, packaging, organization of goods, and quality inspection processes
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parts
import "robot-arm-base.kcl" as robotArmBase

View File

@ -1,7 +1,7 @@
// Robot Arm Base
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import Constants
import basePlateRadius, basePlateThickness, baseChamfer, baseHeight from "globals.kcl"

View File

@ -1,7 +1,7 @@
// J2 Axis for Robot Arm
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
import axisJ1, axisJ2, axisJ2ArmWidth, axisJ2ArmLength, axisJ2ArmThickness, plane003 from "globals.kcl"

View File

@ -1,7 +1,7 @@
// J3 Robot Arm
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
import plane002, axisJ2, axisJ3C, axisJ4, axisJ2ArmLength, axisJ3CArmLength, axisJ3CArmWidth, axisJ3CArmThickness from "globals.kcl"

View File

@ -1,7 +1,7 @@
// Robot Rotating Base
// Set Units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
import axisJ1, baseHeight, plane001, plane002 from "globals.kcl"

View File

@ -2,7 +2,7 @@
// A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
length = 6

View File

@ -2,7 +2,7 @@
// Piping for the pipe flange assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import pipeInnerDiameter, pipeOuterDiameter, pipeLength from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Flange used for mating two pipes together in the pipe flange assembly.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import pipeDiameter, mountingHoleDiameter, mountingHolePlacementDiameter, flangeDiameter, flangeTotalThickness, flangeBackHeight, flangeFrontHeight, flangeBaseThickness, flangeBackDiameter, flangeFrontDiameter from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// screw for mating the flanges together in the pipe flange assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import boltDiameter, boltLength, boltHeadLength, boltHeadDiameter, boltHexDrive, boltHexFlatLength, boltThreadLength from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Gasket for the pipe flange assembly. A gasket is a mechanical seal that fills the space between two or more mating surfaces, preventing leaks of liquids or gases under compression
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import gasketOutsideDiameter, gasketInnerDiameter, gasketThickness from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Hex nut for the screws in the pipe flange assembly.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import hexNutDiameter, hexNutFlatToFlat, hexNutThickness, hexNutFlatLength from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Washer for the screws in the pipe flange assembly.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import washerInnerDia, washerOuterDia, washerThickness from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import * from "parameters.kcl"

View File

@ -1,7 +1,7 @@
// Parameters
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Flange (68095K348)
export pipeDiameter = 2.440

View File

@ -2,7 +2,7 @@
// A tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances that can flow.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
innerDiameter = 10

View File

@ -2,7 +2,7 @@
// Piping for the pipe flange assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
pipeInnerDiameter = 2.0

View File

@ -2,7 +2,7 @@
// poop shute for bambu labs printer - optimized for printing.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
wallThickness = 0.125

View File

@ -2,7 +2,7 @@
// A guide for routing a notch into a cross bar.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
routerDiameter = 12.7

View File

@ -2,7 +2,7 @@
// A guide for routing a slate for a cross bar.
// Set units
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Define parameters
routerDiameter = 12.7

View File

@ -2,7 +2,7 @@
// A component typically made from flat sheet metal through various manufacturing processes such as bending, punching, cutting, and forming. These brackets are used to support, attach, or mount other hardware components, often providing a structural or functional base for assembly.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Input bolt pattern dimensions to mount the bracket
mountingBoltDiameter = 1 / 4

View File

@ -2,7 +2,7 @@
// This is for a #10-24 screw that is 1.00 inches long. A socket head cap screw is a type of fastener that is widely used in a variety of applications requiring a high strength fastening solution. It is characterized by its cylindrical head and internal hexagonal drive, which allows for tightening with an Allen wrench or hex key.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
boltDiameter = 0.190

View File

@ -2,7 +2,7 @@
// Antenna for the walkie talkie assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import antennaLength, antennaBaseWidth, antennaBaseHeight, antennaTopWidth, antennaTopHeight from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// The main body of the walkie talkie assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import height, width, thickness, chamferLength, offset, screenWidth, screenHeight, screenYPosition, screenDepth, speakerBoxWidth, speakerBoxHeight from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// Button for the walkie talkie
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import buttonWidth, buttonHeight, buttonThickness from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// The plastic case for the front of the walkie talkie
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters and Zoo logo
import width, height, chamferLength, offset, screenWidth, screenHeight, screenYPosition, screenDepth, speakerBoxWidth, speakerBoxHeight, squareHoleSideLength, caseTolerance from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// The frequency knob for the walkie talkie assembly
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import width, thickness, height, knobDiameter, knobHeight, knobRadius from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A portable, handheld two-way radio device that allows users to communicate wirelessly over short to medium distances. It operates on specific radio frequencies and features a push-to-talk button for transmitting messages, making it ideal for quick and reliable communication in outdoor, work, or emergency settings.
// set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// import constants
import * from "parameters.kcl"

View File

@ -1,7 +1,7 @@
// Global parameters for the walkie talkie
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// body
export height = 4

View File

@ -1,7 +1,7 @@
// Walkie talkie talk button
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Import parameters
import width, thickness, talkButtonSideLength, talkButtonHeight from "parameters.kcl"

View File

@ -2,7 +2,7 @@
// A small, typically disk-shaped component with a hole in the middle, used in a wide range of applications, primarily in conjunction with fasteners like bolts and screws. Washers distribute the load of a fastener across a broader area. This is especially important when the fastening surface is soft or uneven, as it helps to prevent damage to the surface and ensures the load is evenly distributed, reducing the risk of the fastener becoming loose over time.
// Set units
@settings(defaultLengthUnit = in)
@settings(defaultLengthUnit = in, kclVersion = 1.0)
// Define parameters
innerDiameter = 0.203

View File

@ -7,7 +7,7 @@ use kittycad_modeling_cmds::coord::{System, KITTYCAD, OPENGL, VULKAN};
use crate::{
errors::KclErrorDetails,
execution::types::{UnitAngle, UnitLen},
parsing::ast::types::{Annotation, Expr, Node, ObjectProperty},
parsing::ast::types::{Annotation, Expr, LiteralValue, Node, ObjectProperty},
KclError, SourceRange,
};
@ -17,6 +17,7 @@ pub(super) const SIGNIFICANT_ATTRS: [&str; 2] = [SETTINGS, NO_PRELUDE];
pub(crate) const SETTINGS: &str = "settings";
pub(crate) const SETTINGS_UNIT_LENGTH: &str = "defaultLengthUnit";
pub(crate) const SETTINGS_UNIT_ANGLE: &str = "defaultAngleUnit";
pub(crate) const SETTINGS_VERSION: &str = "kclVersion";
pub(super) const NO_PRELUDE: &str = "no_std";
pub(super) const IMPORT_FORMAT: &str = "format";
@ -53,7 +54,7 @@ impl FromStr for Impl {
}
pub(crate) fn settings_completion_text() -> String {
format!("@{SETTINGS}({SETTINGS_UNIT_LENGTH} = mm, {SETTINGS_UNIT_ANGLE} = deg)")
format!("@{SETTINGS}({SETTINGS_UNIT_LENGTH} = mm, {SETTINGS_UNIT_ANGLE} = deg, {SETTINGS_VERSION} = 1.0)")
}
pub(super) fn is_significant(attr: &&Node<Annotation>) -> bool {
@ -89,6 +90,20 @@ pub(super) fn expect_ident(expr: &Expr) -> Result<&str, KclError> {
}))
}
// Returns the unparsed number literal.
pub(super) fn expect_number(expr: &Expr) -> Result<String, KclError> {
if let Expr::Literal(lit) = expr {
if let LiteralValue::Number { .. } = &lit.value {
return Ok(lit.raw.clone());
}
}
Err(KclError::Semantic(KclErrorDetails {
message: "Unexpected settings value, expected a number, e.g., `1.0`".to_owned(),
source_ranges: vec![expr.into()],
}))
}
pub(super) fn get_impl(annotations: &[Node<Annotation>], source_range: SourceRange) -> Result<Option<Impl>, KclError> {
for attr in annotations {
if attr.name.is_some() || attr.properties.is_none() {

View File

@ -336,6 +336,7 @@ impl ModuleState {
settings: MetaSettings {
default_length_units: Default::default(),
default_angle_units: Default::default(),
kcl_version: "0.1".to_owned(),
},
}
}
@ -347,6 +348,7 @@ impl ModuleState {
pub struct MetaSettings {
pub default_length_units: types::UnitLen,
pub default_angle_units: types::UnitAngle,
pub kcl_version: String,
}
impl MetaSettings {
@ -370,6 +372,10 @@ impl MetaSettings {
let value = types::UnitAngle::from_str(value, annotation.as_source_range())?;
self.default_angle_units = value;
}
annotations::SETTINGS_VERSION => {
let value = annotations::expect_number(&p.inner.value)?;
self.kcl_version = value;
}
name => {
return Err(KclError::Semantic(KclErrorDetails {
message: format!(

View File

@ -88,7 +88,9 @@ pub use errors::{
CompilationError, ConnectionError, ExecError, KclError, KclErrorWithOutputs, Report, ReportWithOutputs,
};
pub use execution::{
bust_cache, clear_mem_cache, ExecOutcome, ExecState, ExecutorContext, ExecutorSettings, MetaSettings, Point2d,
bust_cache, clear_mem_cache,
types::{UnitAngle, UnitLen},
ExecOutcome, ExecState, ExecutorContext, ExecutorSettings, MetaSettings, Point2d,
};
pub use lsp::{
copilot::Backend as CopilotLspBackend,
@ -217,9 +219,13 @@ impl Program {
}
/// Change the meta settings for the kcl file.
pub fn change_meta_settings(&self, settings: crate::MetaSettings) -> Result<Self, KclError> {
pub fn change_default_units(
&self,
length_units: Option<execution::types::UnitLen>,
angle_units: Option<execution::types::UnitAngle>,
) -> Result<Self, KclError> {
Ok(Self {
ast: self.ast.change_meta_settings(settings)?,
ast: self.ast.change_default_units(length_units, angle_units)?,
original_file_contents: self.original_file_contents.clone(),
})
}

View File

@ -27,7 +27,11 @@ pub use crate::parsing::ast::types::{
use crate::{
docs::StdLibFn,
errors::KclError,
execution::{annotations, types::ArrayLen, KclValue, Metadata, TagIdentifier},
execution::{
annotations,
types::{ArrayLen, UnitAngle, UnitLen},
KclValue, Metadata, TagIdentifier,
},
parsing::{ast::digest::Digest, token::NumericSuffix, PIPE_OPERATOR},
source_range::SourceRange,
ModuleId,
@ -354,12 +358,28 @@ impl Node<Program> {
Ok(None)
}
pub fn change_meta_settings(&self, settings: crate::execution::MetaSettings) -> Result<Self, KclError> {
pub fn change_default_units(
&self,
length_units: Option<UnitLen>,
angle_units: Option<UnitAngle>,
) -> Result<Self, KclError> {
let mut new_program = self.clone();
let mut found = false;
for node in &mut new_program.inner_attrs {
if node.name() == Some(annotations::SETTINGS) {
node.inner = Annotation::new_from_meta_settings(&settings);
if let Some(len) = length_units {
node.inner.add_or_update(
annotations::SETTINGS_UNIT_LENGTH,
Expr::Name(Box::new(Name::new(&len.to_string()))),
);
}
if let Some(angle) = angle_units {
node.inner.add_or_update(
annotations::SETTINGS_UNIT_ANGLE,
Expr::Name(Box::new(Name::new(&angle.to_string()))),
);
}
// Previous source range no longer makes sense, but we want to
// preserve other things like comments.
node.reset_source();
@ -369,9 +389,21 @@ impl Node<Program> {
}
if !found {
new_program
.inner_attrs
.push(Node::no_src(Annotation::new_from_meta_settings(&settings)));
let mut settings = Annotation::new(annotations::SETTINGS);
if let Some(len) = length_units {
settings.inner.add_or_update(
annotations::SETTINGS_UNIT_LENGTH,
Expr::Name(Box::new(Name::new(&len.to_string()))),
);
}
if let Some(angle) = angle_units {
settings.inner.add_or_update(
annotations::SETTINGS_UNIT_ANGLE,
Expr::Name(Box::new(Name::new(&angle.to_string()))),
);
}
new_program.inner_attrs.push(settings);
}
Ok(new_program)
@ -1536,6 +1568,15 @@ pub struct Annotation {
}
impl Annotation {
// Creates a named annotation with an empty (but present) property list, `@name()`.
pub fn new(name: &str) -> Node<Self> {
Node::no_src(Annotation {
name: Some(Identifier::new(name)),
properties: Some(vec![]),
digest: None,
})
}
pub fn is_inner(&self) -> bool {
self.name.is_some()
}
@ -1544,22 +1585,16 @@ impl Annotation {
self.name.as_ref().map(|n| &*n.name)
}
pub fn new_from_meta_settings(settings: &crate::execution::MetaSettings) -> Annotation {
let mut properties: Vec<Node<ObjectProperty>> = vec![ObjectProperty::new(
Identifier::new(annotations::SETTINGS_UNIT_LENGTH),
Expr::Name(Box::new(Name::new(&settings.default_length_units.to_string()))),
)];
if settings.default_angle_units != Default::default() {
properties.push(ObjectProperty::new(
Identifier::new(annotations::SETTINGS_UNIT_ANGLE),
Expr::Name(Box::new(Name::new(&settings.default_angle_units.to_string()))),
));
}
Annotation {
name: Some(Identifier::new(annotations::SETTINGS)),
properties: Some(properties),
digest: None,
pub(crate) fn add_or_update(&mut self, label: &str, value: Expr) {
match &mut self.properties {
Some(props) => match props.iter_mut().find(|p| p.key.name == label) {
Some(p) => {
p.value = value;
p.digest = None;
}
None => props.push(ObjectProperty::new(Identifier::new(label), value)),
},
None => self.properties = Some(vec![ObjectProperty::new(Identifier::new(label), value)]),
}
}
}
@ -4136,10 +4171,7 @@ startSketchOn(XY)"#;
// Edit the ast.
let new_program = program
.change_meta_settings(crate::execution::MetaSettings {
default_length_units: crate::execution::types::UnitLen::Mm,
..Default::default()
})
.change_default_units(Some(crate::execution::types::UnitLen::Mm), None)
.unwrap();
let result = new_program.meta_settings().unwrap();
@ -4168,10 +4200,7 @@ startSketchOn(XY)
// Edit the ast.
let new_program = program
.change_meta_settings(crate::execution::MetaSettings {
default_length_units: crate::execution::types::UnitLen::Mm,
..Default::default()
})
.change_default_units(Some(crate::execution::types::UnitLen::Mm), None)
.unwrap();
let result = new_program.meta_settings().unwrap();
@ -4206,10 +4235,7 @@ startSketchOn(XY)
let program = crate::parsing::top_level_parse(code).unwrap();
let new_program = program
.change_meta_settings(crate::execution::MetaSettings {
default_length_units: crate::execution::types::UnitLen::Cm,
..Default::default()
})
.change_default_units(Some(crate::execution::types::UnitLen::Cm), None)
.unwrap();
let result = new_program.meta_settings().unwrap();

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
import Point2d from "std::types"

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
// Note that everything in the prelude is treated as exported.

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
/// Construct a 2-dimensional circle, of the specified radius, centered at
/// the provided (x, y) origin point.

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
import Face from "std::types"

View File

@ -1,4 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
export ZERO = 0
export QUARTER_TURN = 90deg

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
/// Any value.
@(impl = primitive)

View File

@ -1,5 +1,5 @@
@no_std
@settings(defaultLengthUnit = mm)
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
/// Convert a number to millimeters from its current units.
export fn toMillimeters(@num: number(mm)): number(mm) {

View File

@ -1,81 +1,81 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[349, 446, 0]"]
4["Segment<br>[454, 518, 0]"]
5["Segment<br>[526, 594, 0]"]
6["Segment<br>[602, 634, 0]"]
7["Segment<br>[642, 710, 0]"]
8["Segment<br>[718, 765, 0]"]
9["Segment<br>[773, 821, 0]"]
10["Segment<br>[829, 878, 0]"]
11["Segment<br>[886, 984, 0]"]
12["Segment<br>[992, 1040, 0]"]
13["Segment<br>[1048, 1137, 0]"]
14["Segment<br>[1145, 1194, 0]"]
15["Segment<br>[1202, 1251, 0]"]
16["Segment<br>[1259, 1292, 0]"]
17["Segment<br>[1300, 1368, 0]"]
18["Segment<br>[1376, 1408, 0]"]
19["Segment<br>[1416, 1484, 0]"]
20["Segment<br>[1492, 1554, 0]"]
21["Segment<br>[1595, 1664, 0]"]
22["Segment<br>[1672, 1704, 0]"]
23["Segment<br>[1712, 1781, 0]"]
24["Segment<br>[1789, 1836, 0]"]
25["Segment<br>[1844, 1894, 0]"]
26["Segment<br>[1902, 1952, 0]"]
27["Segment<br>[1970, 2080, 0]"]
28["Segment<br>[2098, 2147, 0]"]
29["Segment<br>[2161, 2256, 0]"]
30["Segment<br>[2270, 2320, 0]"]
31["Segment<br>[2334, 2383, 0]"]
32["Segment<br>[2391, 2424, 0]"]
33["Segment<br>[2432, 2501, 0]"]
34["Segment<br>[2509, 2541, 0]"]
35["Segment<br>[2549, 2618, 0]"]
36["Segment<br>[2659, 2720, 0]"]
37["Segment<br>[2728, 2797, 0]"]
38["Segment<br>[2805, 2838, 0]"]
39["Segment<br>[2846, 2915, 0]"]
40["Segment<br>[2923, 2972, 0]"]
41["Segment<br>[2980, 3030, 0]"]
42["Segment<br>[3038, 3087, 0]"]
43["Segment<br>[3095, 3204, 0]"]
44["Segment<br>[3212, 3262, 0]"]
45["Segment<br>[3270, 3366, 0]"]
46["Segment<br>[3374, 3423, 0]"]
47["Segment<br>[3431, 3480, 0]"]
48["Segment<br>[3488, 3522, 0]"]
49["Segment<br>[3530, 3599, 0]"]
50["Segment<br>[3607, 3640, 0]"]
51["Segment<br>[3648, 3717, 0]"]
52["Segment<br>[3725, 3788, 0]"]
53["Segment<br>[3829, 3898, 0]"]
54["Segment<br>[3906, 3939, 0]"]
55["Segment<br>[3947, 4016, 0]"]
56["Segment<br>[4024, 4073, 0]"]
57["Segment<br>[4081, 4130, 0]"]
58["Segment<br>[4138, 4187, 0]"]
59["Segment<br>[4195, 4295, 0]"]
60["Segment<br>[4303, 4353, 0]"]
61["Segment<br>[4361, 4450, 0]"]
62["Segment<br>[4458, 4507, 0]"]
63["Segment<br>[4515, 4565, 0]"]
64["Segment<br>[4573, 4607, 0]"]
65["Segment<br>[4615, 4684, 0]"]
66["Segment<br>[4692, 4725, 0]"]
67["Segment<br>[4733, 4802, 0]"]
68["Segment<br>[4810, 4817, 0]"]
2["Path<br>[367, 464, 0]"]
4["Segment<br>[472, 536, 0]"]
5["Segment<br>[544, 612, 0]"]
6["Segment<br>[620, 652, 0]"]
7["Segment<br>[660, 728, 0]"]
8["Segment<br>[736, 783, 0]"]
9["Segment<br>[791, 839, 0]"]
10["Segment<br>[847, 896, 0]"]
11["Segment<br>[904, 1002, 0]"]
12["Segment<br>[1010, 1058, 0]"]
13["Segment<br>[1066, 1155, 0]"]
14["Segment<br>[1163, 1212, 0]"]
15["Segment<br>[1220, 1269, 0]"]
16["Segment<br>[1277, 1310, 0]"]
17["Segment<br>[1318, 1386, 0]"]
18["Segment<br>[1394, 1426, 0]"]
19["Segment<br>[1434, 1502, 0]"]
20["Segment<br>[1510, 1572, 0]"]
21["Segment<br>[1613, 1682, 0]"]
22["Segment<br>[1690, 1722, 0]"]
23["Segment<br>[1730, 1799, 0]"]
24["Segment<br>[1807, 1854, 0]"]
25["Segment<br>[1862, 1912, 0]"]
26["Segment<br>[1920, 1970, 0]"]
27["Segment<br>[1988, 2098, 0]"]
28["Segment<br>[2116, 2165, 0]"]
29["Segment<br>[2179, 2274, 0]"]
30["Segment<br>[2288, 2338, 0]"]
31["Segment<br>[2352, 2401, 0]"]
32["Segment<br>[2409, 2442, 0]"]
33["Segment<br>[2450, 2519, 0]"]
34["Segment<br>[2527, 2559, 0]"]
35["Segment<br>[2567, 2636, 0]"]
36["Segment<br>[2677, 2738, 0]"]
37["Segment<br>[2746, 2815, 0]"]
38["Segment<br>[2823, 2856, 0]"]
39["Segment<br>[2864, 2933, 0]"]
40["Segment<br>[2941, 2990, 0]"]
41["Segment<br>[2998, 3048, 0]"]
42["Segment<br>[3056, 3105, 0]"]
43["Segment<br>[3113, 3222, 0]"]
44["Segment<br>[3230, 3280, 0]"]
45["Segment<br>[3288, 3384, 0]"]
46["Segment<br>[3392, 3441, 0]"]
47["Segment<br>[3449, 3498, 0]"]
48["Segment<br>[3506, 3540, 0]"]
49["Segment<br>[3548, 3617, 0]"]
50["Segment<br>[3625, 3658, 0]"]
51["Segment<br>[3666, 3735, 0]"]
52["Segment<br>[3743, 3806, 0]"]
53["Segment<br>[3847, 3916, 0]"]
54["Segment<br>[3924, 3957, 0]"]
55["Segment<br>[3965, 4034, 0]"]
56["Segment<br>[4042, 4091, 0]"]
57["Segment<br>[4099, 4148, 0]"]
58["Segment<br>[4156, 4205, 0]"]
59["Segment<br>[4213, 4313, 0]"]
60["Segment<br>[4321, 4371, 0]"]
61["Segment<br>[4379, 4468, 0]"]
62["Segment<br>[4476, 4525, 0]"]
63["Segment<br>[4533, 4583, 0]"]
64["Segment<br>[4591, 4625, 0]"]
65["Segment<br>[4633, 4702, 0]"]
66["Segment<br>[4710, 4743, 0]"]
67["Segment<br>[4751, 4820, 0]"]
68["Segment<br>[4828, 4835, 0]"]
71[Solid2d]
end
subgraph path3 [Path]
3["Path<br>[4881, 5059, 0]"]
69["Segment<br>[4881, 5059, 0]"]
3["Path<br>[4899, 5077, 0]"]
69["Segment<br>[4899, 5077, 0]"]
70[Solid2d]
end
1["Plane<br>[323, 341, 0]"]
72["Sweep Extrusion<br>[5068, 5096, 0]"]
1["Plane<br>[341, 359, 0]"]
72["Sweep Extrusion<br>[5086, 5114, 0]"]
73[Wall]
74[Wall]
75[Wall]
@ -270,38 +270,38 @@ flowchart LR
264["SweepEdge Adjacent"]
265["SweepEdge Adjacent"]
266["SweepEdge Adjacent"]
267["EdgeCut Fillet<br>[5104, 5809, 0]"]
268["EdgeCut Fillet<br>[5104, 5809, 0]"]
269["EdgeCut Fillet<br>[5104, 5809, 0]"]
270["EdgeCut Fillet<br>[5104, 5809, 0]"]
271["EdgeCut Fillet<br>[5104, 5809, 0]"]
272["EdgeCut Fillet<br>[5104, 5809, 0]"]
273["EdgeCut Fillet<br>[5104, 5809, 0]"]
274["EdgeCut Fillet<br>[5104, 5809, 0]"]
275["EdgeCut Fillet<br>[5104, 5809, 0]"]
276["EdgeCut Fillet<br>[5104, 5809, 0]"]
277["EdgeCut Fillet<br>[5104, 5809, 0]"]
278["EdgeCut Fillet<br>[5104, 5809, 0]"]
279["EdgeCut Fillet<br>[5104, 5809, 0]"]
280["EdgeCut Fillet<br>[5104, 5809, 0]"]
281["EdgeCut Fillet<br>[5104, 5809, 0]"]
282["EdgeCut Fillet<br>[5104, 5809, 0]"]
283["EdgeCut Fillet<br>[5817, 6521, 0]"]
284["EdgeCut Fillet<br>[5817, 6521, 0]"]
285["EdgeCut Fillet<br>[5817, 6521, 0]"]
286["EdgeCut Fillet<br>[5817, 6521, 0]"]
287["EdgeCut Fillet<br>[5817, 6521, 0]"]
288["EdgeCut Fillet<br>[5817, 6521, 0]"]
289["EdgeCut Fillet<br>[5817, 6521, 0]"]
290["EdgeCut Fillet<br>[5817, 6521, 0]"]
291["EdgeCut Fillet<br>[5817, 6521, 0]"]
292["EdgeCut Fillet<br>[5817, 6521, 0]"]
293["EdgeCut Fillet<br>[5817, 6521, 0]"]
294["EdgeCut Fillet<br>[5817, 6521, 0]"]
295["EdgeCut Fillet<br>[5817, 6521, 0]"]
296["EdgeCut Fillet<br>[5817, 6521, 0]"]
297["EdgeCut Fillet<br>[5817, 6521, 0]"]
298["EdgeCut Fillet<br>[5817, 6521, 0]"]
267["EdgeCut Fillet<br>[5122, 5827, 0]"]
268["EdgeCut Fillet<br>[5122, 5827, 0]"]
269["EdgeCut Fillet<br>[5122, 5827, 0]"]
270["EdgeCut Fillet<br>[5122, 5827, 0]"]
271["EdgeCut Fillet<br>[5122, 5827, 0]"]
272["EdgeCut Fillet<br>[5122, 5827, 0]"]
273["EdgeCut Fillet<br>[5122, 5827, 0]"]
274["EdgeCut Fillet<br>[5122, 5827, 0]"]
275["EdgeCut Fillet<br>[5122, 5827, 0]"]
276["EdgeCut Fillet<br>[5122, 5827, 0]"]
277["EdgeCut Fillet<br>[5122, 5827, 0]"]
278["EdgeCut Fillet<br>[5122, 5827, 0]"]
279["EdgeCut Fillet<br>[5122, 5827, 0]"]
280["EdgeCut Fillet<br>[5122, 5827, 0]"]
281["EdgeCut Fillet<br>[5122, 5827, 0]"]
282["EdgeCut Fillet<br>[5122, 5827, 0]"]
283["EdgeCut Fillet<br>[5835, 6539, 0]"]
284["EdgeCut Fillet<br>[5835, 6539, 0]"]
285["EdgeCut Fillet<br>[5835, 6539, 0]"]
286["EdgeCut Fillet<br>[5835, 6539, 0]"]
287["EdgeCut Fillet<br>[5835, 6539, 0]"]
288["EdgeCut Fillet<br>[5835, 6539, 0]"]
289["EdgeCut Fillet<br>[5835, 6539, 0]"]
290["EdgeCut Fillet<br>[5835, 6539, 0]"]
291["EdgeCut Fillet<br>[5835, 6539, 0]"]
292["EdgeCut Fillet<br>[5835, 6539, 0]"]
293["EdgeCut Fillet<br>[5835, 6539, 0]"]
294["EdgeCut Fillet<br>[5835, 6539, 0]"]
295["EdgeCut Fillet<br>[5835, 6539, 0]"]
296["EdgeCut Fillet<br>[5835, 6539, 0]"]
297["EdgeCut Fillet<br>[5835, 6539, 0]"]
298["EdgeCut Fillet<br>[5835, 6539, 0]"]
1 --- 2
1 --- 3
2 --- 4

View File

@ -9576,6 +9576,31 @@ description: Result of parsing 80-20-rail.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,183 +1,183 @@
```mermaid
flowchart LR
subgraph path8 [Path]
8["Path<br>[323, 370, 1]"]
31["Segment<br>[376, 444, 1]"]
32["Segment<br>[450, 550, 1]"]
33["Segment<br>[556, 673, 1]"]
34["Segment<br>[679, 764, 1]"]
35["Segment<br>[770, 777, 1]"]
8["Path<br>[341, 388, 1]"]
31["Segment<br>[394, 462, 1]"]
32["Segment<br>[468, 568, 1]"]
33["Segment<br>[574, 691, 1]"]
34["Segment<br>[697, 782, 1]"]
35["Segment<br>[788, 795, 1]"]
111[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[801, 836, 1]"]
36["Segment<br>[801, 836, 1]"]
9["Path<br>[819, 854, 1]"]
36["Segment<br>[819, 854, 1]"]
104[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[861, 1008, 1]"]
37["Segment<br>[861, 1008, 1]"]
10["Path<br>[879, 1026, 1]"]
37["Segment<br>[879, 1026, 1]"]
114[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[1033, 1181, 1]"]
38["Segment<br>[1033, 1181, 1]"]
11["Path<br>[1051, 1199, 1]"]
38["Segment<br>[1051, 1199, 1]"]
107[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[1206, 1354, 1]"]
39["Segment<br>[1206, 1354, 1]"]
12["Path<br>[1224, 1372, 1]"]
39["Segment<br>[1224, 1372, 1]"]
113[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[1379, 1528, 1]"]
40["Segment<br>[1379, 1528, 1]"]
13["Path<br>[1397, 1546, 1]"]
40["Segment<br>[1397, 1546, 1]"]
116[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[1696, 1752, 1]"]
41["Segment<br>[1758, 1823, 1]"]
42["Segment<br>[1829, 1881, 1]"]
43["Segment<br>[1887, 1938, 1]"]
44["Segment<br>[1944, 1996, 1]"]
45["Segment<br>[2002, 2068, 1]"]
46["Segment<br>[2074, 2126, 1]"]
47["Segment<br>[2132, 2164, 1]"]
48["Segment<br>[2170, 2235, 1]"]
49["Segment<br>[2241, 2248, 1]"]
14["Path<br>[1714, 1770, 1]"]
41["Segment<br>[1776, 1841, 1]"]
42["Segment<br>[1847, 1899, 1]"]
43["Segment<br>[1905, 1956, 1]"]
44["Segment<br>[1962, 2014, 1]"]
45["Segment<br>[2020, 2086, 1]"]
46["Segment<br>[2092, 2144, 1]"]
47["Segment<br>[2150, 2182, 1]"]
48["Segment<br>[2188, 2253, 1]"]
49["Segment<br>[2259, 2266, 1]"]
101[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[2597, 2710, 1]"]
50["Segment<br>[2716, 2771, 1]"]
51["Segment<br>[2777, 2812, 1]"]
52["Segment<br>[2818, 2873, 1]"]
53["Segment<br>[2879, 2915, 1]"]
54["Segment<br>[2921, 2976, 1]"]
55["Segment<br>[2982, 3018, 1]"]
56["Segment<br>[3024, 3079, 1]"]
57["Segment<br>[3085, 3141, 1]"]
15["Path<br>[2615, 2728, 1]"]
50["Segment<br>[2734, 2789, 1]"]
51["Segment<br>[2795, 2830, 1]"]
52["Segment<br>[2836, 2891, 1]"]
53["Segment<br>[2897, 2933, 1]"]
54["Segment<br>[2939, 2994, 1]"]
55["Segment<br>[3000, 3036, 1]"]
56["Segment<br>[3042, 3097, 1]"]
57["Segment<br>[3103, 3159, 1]"]
end
subgraph path16 [Path]
16["Path<br>[3290, 3341, 1]"]
58["Segment<br>[3290, 3341, 1]"]
16["Path<br>[3308, 3359, 1]"]
58["Segment<br>[3308, 3359, 1]"]
97[Solid2d]
end
subgraph path17 [Path]
17["Path<br>[3520, 3582, 1]"]
59["Segment<br>[3588, 3656, 1]"]
60["Segment<br>[3662, 3762, 1]"]
61["Segment<br>[3768, 3885, 1]"]
62["Segment<br>[3891, 3976, 1]"]
63["Segment<br>[3982, 3989, 1]"]
17["Path<br>[3538, 3600, 1]"]
59["Segment<br>[3606, 3674, 1]"]
60["Segment<br>[3680, 3780, 1]"]
61["Segment<br>[3786, 3903, 1]"]
62["Segment<br>[3909, 3994, 1]"]
63["Segment<br>[4000, 4007, 1]"]
115[Solid2d]
end
subgraph path18 [Path]
18["Path<br>[4013, 4064, 1]"]
64["Segment<br>[4013, 4064, 1]"]
18["Path<br>[4031, 4082, 1]"]
64["Segment<br>[4031, 4082, 1]"]
118[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[4089, 4236, 1]"]
65["Segment<br>[4089, 4236, 1]"]
19["Path<br>[4107, 4254, 1]"]
65["Segment<br>[4107, 4254, 1]"]
100[Solid2d]
end
subgraph path20 [Path]
20["Path<br>[4261, 4409, 1]"]
66["Segment<br>[4261, 4409, 1]"]
20["Path<br>[4279, 4427, 1]"]
66["Segment<br>[4279, 4427, 1]"]
98[Solid2d]
end
subgraph path21 [Path]
21["Path<br>[4434, 4582, 1]"]
67["Segment<br>[4434, 4582, 1]"]
21["Path<br>[4452, 4600, 1]"]
67["Segment<br>[4452, 4600, 1]"]
103[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[4607, 4756, 1]"]
68["Segment<br>[4607, 4756, 1]"]
22["Path<br>[4625, 4774, 1]"]
68["Segment<br>[4625, 4774, 1]"]
106[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[4898, 4936, 1]"]
69["Segment<br>[4898, 4936, 1]"]
23["Path<br>[4916, 4954, 1]"]
69["Segment<br>[4916, 4954, 1]"]
117[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[5009, 5045, 1]"]
70["Segment<br>[5009, 5045, 1]"]
24["Path<br>[5027, 5063, 1]"]
70["Segment<br>[5027, 5063, 1]"]
99[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[277, 327, 3]"]
71["Segment<br>[277, 327, 3]"]
25["Path<br>[295, 345, 3]"]
71["Segment<br>[295, 345, 3]"]
105[Solid2d]
end
subgraph path26 [Path]
26["Path<br>[502, 537, 3]"]
72["Segment<br>[502, 537, 3]"]
26["Path<br>[520, 555, 3]"]
72["Segment<br>[520, 555, 3]"]
102[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[216, 255, 4]"]
73["Segment<br>[261, 291, 4]"]
74["Segment<br>[297, 336, 4]"]
75["Segment<br>[342, 366, 4]"]
76["Segment<br>[372, 396, 4]"]
77["Segment<br>[402, 443, 4]"]
78["Segment<br>[449, 487, 4]"]
79["Segment<br>[493, 516, 4]"]
80["Segment<br>[522, 539, 4]"]
81["Segment<br>[545, 566, 4]"]
82["Segment<br>[572, 659, 4]"]
83["Segment<br>[665, 702, 4]"]
84["Segment<br>[708, 745, 4]"]
85["Segment<br>[751, 758, 4]"]
27["Path<br>[234, 273, 4]"]
73["Segment<br>[279, 309, 4]"]
74["Segment<br>[315, 354, 4]"]
75["Segment<br>[360, 384, 4]"]
76["Segment<br>[390, 414, 4]"]
77["Segment<br>[420, 461, 4]"]
78["Segment<br>[467, 505, 4]"]
79["Segment<br>[511, 534, 4]"]
80["Segment<br>[540, 557, 4]"]
81["Segment<br>[563, 584, 4]"]
82["Segment<br>[590, 677, 4]"]
83["Segment<br>[683, 720, 4]"]
84["Segment<br>[726, 763, 4]"]
85["Segment<br>[769, 776, 4]"]
112[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[1113, 1203, 4]"]
86["Segment<br>[1211, 1280, 4]"]
88["Segment<br>[1288, 1588, 4]"]
90["Segment<br>[1596, 1898, 4]"]
92["Segment<br>[1906, 2125, 4]"]
96["Segment<br>[2133, 2140, 4]"]
28["Path<br>[1131, 1221, 4]"]
86["Segment<br>[1229, 1298, 4]"]
88["Segment<br>[1306, 1606, 4]"]
90["Segment<br>[1614, 1916, 4]"]
92["Segment<br>[1924, 2143, 4]"]
96["Segment<br>[2151, 2158, 4]"]
108[Solid2d]
end
subgraph path29 [Path]
29["Path<br>[1113, 1203, 4]"]
95["Segment<br>[2133, 2140, 4]"]
29["Path<br>[1131, 1221, 4]"]
95["Segment<br>[2151, 2158, 4]"]
109[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[1113, 1203, 4]"]
87["Segment<br>[1211, 1280, 4]"]
89["Segment<br>[1288, 1588, 4]"]
91["Segment<br>[1596, 1898, 4]"]
93["Segment<br>[1906, 2125, 4]"]
94["Segment<br>[2133, 2140, 4]"]
30["Path<br>[1131, 1221, 4]"]
87["Segment<br>[1229, 1298, 4]"]
89["Segment<br>[1306, 1606, 4]"]
91["Segment<br>[1614, 1916, 4]"]
93["Segment<br>[1924, 2143, 4]"]
94["Segment<br>[2151, 2158, 4]"]
110[Solid2d]
end
1["Plane<br>[300, 317, 1]"]
2["Plane<br>[204, 231, 3]"]
3["Plane<br>[467, 495, 3]"]
4["Plane<br>[193, 210, 4]"]
5["Plane<br>[1066, 1104, 4]"]
6["Plane<br>[1066, 1104, 4]"]
7["Plane<br>[1066, 1104, 4]"]
119["Sweep Extrusion<br>[1535, 1554, 1]"]
120["Sweep Extrusion<br>[2388, 2408, 1]"]
121["Sweep Extrusion<br>[2388, 2408, 1]"]
122["Sweep Extrusion<br>[2388, 2408, 1]"]
123["Sweep Extrusion<br>[2388, 2408, 1]"]
124["Sweep Extrusion<br>[3147, 3182, 1]"]
125["Sweep Extrusion<br>[3347, 3385, 1]"]
126["Sweep Extrusion<br>[4763, 4782, 1]"]
127["Sweep Extrusion<br>[4942, 4962, 1]"]
128["Sweep Extrusion<br>[5051, 5072, 1]"]
129["Sweep Extrusion<br>[333, 353, 3]"]
130["Sweep Extrusion<br>[543, 564, 3]"]
131["Sweep Revolve<br>[764, 846, 4]"]
132["Sweep Loft<br>[2454, 2473, 4]"]
1["Plane<br>[318, 335, 1]"]
2["Plane<br>[222, 249, 3]"]
3["Plane<br>[485, 513, 3]"]
4["Plane<br>[211, 228, 4]"]
5["Plane<br>[1084, 1122, 4]"]
6["Plane<br>[1084, 1122, 4]"]
7["Plane<br>[1084, 1122, 4]"]
119["Sweep Extrusion<br>[1553, 1572, 1]"]
120["Sweep Extrusion<br>[2406, 2426, 1]"]
121["Sweep Extrusion<br>[2406, 2426, 1]"]
122["Sweep Extrusion<br>[2406, 2426, 1]"]
123["Sweep Extrusion<br>[2406, 2426, 1]"]
124["Sweep Extrusion<br>[3165, 3200, 1]"]
125["Sweep Extrusion<br>[3365, 3403, 1]"]
126["Sweep Extrusion<br>[4781, 4800, 1]"]
127["Sweep Extrusion<br>[4960, 4980, 1]"]
128["Sweep Extrusion<br>[5069, 5090, 1]"]
129["Sweep Extrusion<br>[351, 371, 3]"]
130["Sweep Extrusion<br>[561, 582, 3]"]
131["Sweep Revolve<br>[782, 864, 4]"]
132["Sweep Loft<br>[2472, 2491, 4]"]
133[Wall]
134[Wall]
135[Wall]
@ -313,16 +313,16 @@ flowchart LR
265["SweepEdge Adjacent"]
266["SweepEdge Adjacent"]
267["SweepEdge Adjacent"]
268["EdgeCut Fillet<br>[5113, 5624, 1]"]
269["EdgeCut Fillet<br>[5113, 5624, 1]"]
270["EdgeCut Fillet<br>[5113, 5624, 1]"]
271["EdgeCut Fillet<br>[5113, 5624, 1]"]
272["EdgeCut Fillet<br>[5113, 5624, 1]"]
273["EdgeCut Fillet<br>[5113, 5624, 1]"]
274["EdgeCut Fillet<br>[5113, 5624, 1]"]
275["EdgeCut Fillet<br>[5113, 5624, 1]"]
276["EdgeCut Fillet<br>[394, 452, 3]"]
277["EdgeCut Fillet<br>[394, 452, 3]"]
268["EdgeCut Fillet<br>[5131, 5642, 1]"]
269["EdgeCut Fillet<br>[5131, 5642, 1]"]
270["EdgeCut Fillet<br>[5131, 5642, 1]"]
271["EdgeCut Fillet<br>[5131, 5642, 1]"]
272["EdgeCut Fillet<br>[5131, 5642, 1]"]
273["EdgeCut Fillet<br>[5131, 5642, 1]"]
274["EdgeCut Fillet<br>[5131, 5642, 1]"]
275["EdgeCut Fillet<br>[5131, 5642, 1]"]
276["EdgeCut Fillet<br>[412, 470, 3]"]
277["EdgeCut Fillet<br>[412, 470, 3]"]
1 --- 8
1 --- 9
1 --- 10

View File

@ -195,6 +195,31 @@ description: Result of parsing axial-fan.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,56 +1,56 @@
```mermaid
flowchart LR
subgraph path8 [Path]
8["Path<br>[664, 726, 0]"]
15["Segment<br>[664, 726, 0]"]
8["Path<br>[682, 744, 0]"]
15["Segment<br>[682, 744, 0]"]
32[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[750, 796, 0]"]
16["Segment<br>[750, 796, 0]"]
9["Path<br>[768, 814, 0]"]
16["Segment<br>[768, 814, 0]"]
31[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[980, 1036, 0]"]
17["Segment<br>[1042, 1101, 0]"]
18["Segment<br>[1107, 1114, 0]"]
10["Path<br>[998, 1054, 0]"]
17["Segment<br>[1060, 1119, 0]"]
18["Segment<br>[1125, 1132, 0]"]
30[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[1484, 1606, 0]"]
19["Segment<br>[1612, 1672, 0]"]
20["Segment<br>[1678, 1709, 0]"]
21["Segment<br>[1715, 1743, 0]"]
22["Segment<br>[1749, 1756, 0]"]
11["Path<br>[1502, 1624, 0]"]
19["Segment<br>[1630, 1690, 0]"]
20["Segment<br>[1696, 1727, 0]"]
21["Segment<br>[1733, 1761, 0]"]
22["Segment<br>[1767, 1774, 0]"]
27[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[2090, 2232, 0]"]
23["Segment<br>[2090, 2232, 0]"]
12["Path<br>[2108, 2250, 0]"]
23["Segment<br>[2108, 2250, 0]"]
28[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[2626, 2679, 0]"]
24["Segment<br>[2626, 2679, 0]"]
13["Path<br>[2644, 2697, 0]"]
24["Segment<br>[2644, 2697, 0]"]
26[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[2703, 2777, 0]"]
25["Segment<br>[2703, 2777, 0]"]
14["Path<br>[2721, 2795, 0]"]
25["Segment<br>[2721, 2795, 0]"]
29[Solid2d]
end
1["Plane<br>[610, 657, 0]"]
2["Plane<br>[957, 974, 0]"]
3["Plane<br>[1461, 1478, 0]"]
4["Plane<br>[2067, 2084, 0]"]
5["Plane<br>[2572, 2619, 0]"]
6["StartSketchOnPlane<br>[2558, 2620, 0]"]
7["StartSketchOnPlane<br>[596, 658, 0]"]
33["Sweep Extrusion<br>[848, 900, 0]"]
34["Sweep Revolve<br>[1196, 1226, 0]"]
35["Sweep Revolve<br>[1798, 1828, 0]"]
36["Sweep Revolve<br>[2275, 2326, 0]"]
37["Sweep Extrusion<br>[2794, 2847, 0]"]
1["Plane<br>[628, 675, 0]"]
2["Plane<br>[975, 992, 0]"]
3["Plane<br>[1479, 1496, 0]"]
4["Plane<br>[2085, 2102, 0]"]
5["Plane<br>[2590, 2637, 0]"]
6["StartSketchOnPlane<br>[2576, 2638, 0]"]
7["StartSketchOnPlane<br>[614, 676, 0]"]
33["Sweep Extrusion<br>[866, 918, 0]"]
34["Sweep Revolve<br>[1214, 1244, 0]"]
35["Sweep Revolve<br>[1816, 1846, 0]"]
36["Sweep Revolve<br>[2293, 2344, 0]"]
37["Sweep Extrusion<br>[2812, 2865, 0]"]
38[Wall]
39[Wall]
40[Wall]

View File

@ -3800,6 +3800,31 @@ description: Result of parsing ball-bearing.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,275 +1,275 @@
```mermaid
flowchart LR
subgraph path24 [Path]
24["Path<br>[362, 395, 1]"]
44["Segment<br>[403, 429, 1]"]
49["Segment<br>[437, 499, 1]"]
57["Segment<br>[507, 569, 1]"]
62["Segment<br>[577, 640, 1]"]
69["Segment<br>[648, 673, 1]"]
70["Segment<br>[681, 701, 1]"]
79["Segment<br>[709, 733, 1]"]
84["Segment<br>[741, 803, 1]"]
88["Segment<br>[811, 836, 1]"]
98["Segment<br>[844, 864, 1]"]
104["Segment<br>[872, 896, 1]"]
107["Segment<br>[904, 965, 1]"]
112["Segment<br>[973, 1034, 1]"]
122["Segment<br>[1042, 1067, 1]"]
129["Segment<br>[1075, 1099, 1]"]
133["Segment<br>[1107, 1169, 1]"]
141["Segment<br>[1177, 1202, 1]"]
144["Segment<br>[1210, 1237, 1]"]
149["Segment<br>[1245, 1306, 1]"]
155["Segment<br>[1314, 1358, 1]"]
160["Segment<br>[1366, 1373, 1]"]
24["Path<br>[380, 413, 1]"]
44["Segment<br>[421, 447, 1]"]
49["Segment<br>[455, 517, 1]"]
57["Segment<br>[525, 587, 1]"]
62["Segment<br>[595, 658, 1]"]
69["Segment<br>[666, 691, 1]"]
70["Segment<br>[699, 719, 1]"]
79["Segment<br>[727, 751, 1]"]
84["Segment<br>[759, 821, 1]"]
88["Segment<br>[829, 854, 1]"]
98["Segment<br>[862, 882, 1]"]
104["Segment<br>[890, 914, 1]"]
107["Segment<br>[922, 983, 1]"]
112["Segment<br>[991, 1052, 1]"]
122["Segment<br>[1060, 1085, 1]"]
129["Segment<br>[1093, 1117, 1]"]
133["Segment<br>[1125, 1187, 1]"]
141["Segment<br>[1195, 1220, 1]"]
144["Segment<br>[1228, 1255, 1]"]
149["Segment<br>[1263, 1324, 1]"]
155["Segment<br>[1332, 1376, 1]"]
160["Segment<br>[1384, 1391, 1]"]
212[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[362, 395, 1]"]
40["Segment<br>[403, 429, 1]"]
51["Segment<br>[437, 499, 1]"]
56["Segment<br>[507, 569, 1]"]
59["Segment<br>[577, 640, 1]"]
67["Segment<br>[648, 673, 1]"]
74["Segment<br>[681, 701, 1]"]
81["Segment<br>[709, 733, 1]"]
82["Segment<br>[741, 803, 1]"]
90["Segment<br>[811, 836, 1]"]
99["Segment<br>[844, 864, 1]"]
105["Segment<br>[872, 896, 1]"]
109["Segment<br>[904, 965, 1]"]
113["Segment<br>[973, 1034, 1]"]
119["Segment<br>[1042, 1067, 1]"]
124["Segment<br>[1075, 1099, 1]"]
132["Segment<br>[1107, 1169, 1]"]
140["Segment<br>[1177, 1202, 1]"]
143["Segment<br>[1210, 1237, 1]"]
150["Segment<br>[1245, 1306, 1]"]
154["Segment<br>[1314, 1358, 1]"]
164["Segment<br>[1366, 1373, 1]"]
25["Path<br>[380, 413, 1]"]
40["Segment<br>[421, 447, 1]"]
51["Segment<br>[455, 517, 1]"]
56["Segment<br>[525, 587, 1]"]
59["Segment<br>[595, 658, 1]"]
67["Segment<br>[666, 691, 1]"]
74["Segment<br>[699, 719, 1]"]
81["Segment<br>[727, 751, 1]"]
82["Segment<br>[759, 821, 1]"]
90["Segment<br>[829, 854, 1]"]
99["Segment<br>[862, 882, 1]"]
105["Segment<br>[890, 914, 1]"]
109["Segment<br>[922, 983, 1]"]
113["Segment<br>[991, 1052, 1]"]
119["Segment<br>[1060, 1085, 1]"]
124["Segment<br>[1093, 1117, 1]"]
132["Segment<br>[1125, 1187, 1]"]
140["Segment<br>[1195, 1220, 1]"]
143["Segment<br>[1228, 1255, 1]"]
150["Segment<br>[1263, 1324, 1]"]
154["Segment<br>[1332, 1376, 1]"]
164["Segment<br>[1384, 1391, 1]"]
217[Solid2d]
end
subgraph path26 [Path]
26["Path<br>[362, 395, 1]"]
43["Segment<br>[403, 429, 1]"]
50["Segment<br>[437, 499, 1]"]
54["Segment<br>[507, 569, 1]"]
61["Segment<br>[577, 640, 1]"]
65["Segment<br>[648, 673, 1]"]
71["Segment<br>[681, 701, 1]"]
80["Segment<br>[709, 733, 1]"]
87["Segment<br>[741, 803, 1]"]
92["Segment<br>[811, 836, 1]"]
94["Segment<br>[844, 864, 1]"]
101["Segment<br>[872, 896, 1]"]
111["Segment<br>[904, 965, 1]"]
117["Segment<br>[973, 1034, 1]"]
123["Segment<br>[1042, 1067, 1]"]
125["Segment<br>[1075, 1099, 1]"]
134["Segment<br>[1107, 1169, 1]"]
136["Segment<br>[1177, 1202, 1]"]
147["Segment<br>[1210, 1237, 1]"]
148["Segment<br>[1245, 1306, 1]"]
156["Segment<br>[1314, 1358, 1]"]
165["Segment<br>[1366, 1373, 1]"]
26["Path<br>[380, 413, 1]"]
43["Segment<br>[421, 447, 1]"]
50["Segment<br>[455, 517, 1]"]
54["Segment<br>[525, 587, 1]"]
61["Segment<br>[595, 658, 1]"]
65["Segment<br>[666, 691, 1]"]
71["Segment<br>[699, 719, 1]"]
80["Segment<br>[727, 751, 1]"]
87["Segment<br>[759, 821, 1]"]
92["Segment<br>[829, 854, 1]"]
94["Segment<br>[862, 882, 1]"]
101["Segment<br>[890, 914, 1]"]
111["Segment<br>[922, 983, 1]"]
117["Segment<br>[991, 1052, 1]"]
123["Segment<br>[1060, 1085, 1]"]
125["Segment<br>[1093, 1117, 1]"]
134["Segment<br>[1125, 1187, 1]"]
136["Segment<br>[1195, 1220, 1]"]
147["Segment<br>[1228, 1255, 1]"]
148["Segment<br>[1263, 1324, 1]"]
156["Segment<br>[1332, 1376, 1]"]
165["Segment<br>[1384, 1391, 1]"]
218[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[362, 395, 1]"]
42["Segment<br>[403, 429, 1]"]
47["Segment<br>[437, 499, 1]"]
53["Segment<br>[507, 569, 1]"]
58["Segment<br>[577, 640, 1]"]
68["Segment<br>[648, 673, 1]"]
73["Segment<br>[681, 701, 1]"]
77["Segment<br>[709, 733, 1]"]
83["Segment<br>[741, 803, 1]"]
91["Segment<br>[811, 836, 1]"]
95["Segment<br>[844, 864, 1]"]
100["Segment<br>[872, 896, 1]"]
108["Segment<br>[904, 965, 1]"]
114["Segment<br>[973, 1034, 1]"]
120["Segment<br>[1042, 1067, 1]"]
126["Segment<br>[1075, 1099, 1]"]
135["Segment<br>[1107, 1169, 1]"]
139["Segment<br>[1177, 1202, 1]"]
142["Segment<br>[1210, 1237, 1]"]
151["Segment<br>[1245, 1306, 1]"]
157["Segment<br>[1314, 1358, 1]"]
161["Segment<br>[1366, 1373, 1]"]
27["Path<br>[380, 413, 1]"]
42["Segment<br>[421, 447, 1]"]
47["Segment<br>[455, 517, 1]"]
53["Segment<br>[525, 587, 1]"]
58["Segment<br>[595, 658, 1]"]
68["Segment<br>[666, 691, 1]"]
73["Segment<br>[699, 719, 1]"]
77["Segment<br>[727, 751, 1]"]
83["Segment<br>[759, 821, 1]"]
91["Segment<br>[829, 854, 1]"]
95["Segment<br>[862, 882, 1]"]
100["Segment<br>[890, 914, 1]"]
108["Segment<br>[922, 983, 1]"]
114["Segment<br>[991, 1052, 1]"]
120["Segment<br>[1060, 1085, 1]"]
126["Segment<br>[1093, 1117, 1]"]
135["Segment<br>[1125, 1187, 1]"]
139["Segment<br>[1195, 1220, 1]"]
142["Segment<br>[1228, 1255, 1]"]
151["Segment<br>[1263, 1324, 1]"]
157["Segment<br>[1332, 1376, 1]"]
161["Segment<br>[1384, 1391, 1]"]
219[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[362, 395, 1]"]
45["Segment<br>[403, 429, 1]"]
46["Segment<br>[437, 499, 1]"]
52["Segment<br>[507, 569, 1]"]
63["Segment<br>[577, 640, 1]"]
66["Segment<br>[648, 673, 1]"]
72["Segment<br>[681, 701, 1]"]
78["Segment<br>[709, 733, 1]"]
86["Segment<br>[741, 803, 1]"]
89["Segment<br>[811, 836, 1]"]
96["Segment<br>[844, 864, 1]"]
102["Segment<br>[872, 896, 1]"]
106["Segment<br>[904, 965, 1]"]
116["Segment<br>[973, 1034, 1]"]
118["Segment<br>[1042, 1067, 1]"]
128["Segment<br>[1075, 1099, 1]"]
130["Segment<br>[1107, 1169, 1]"]
137["Segment<br>[1177, 1202, 1]"]
145["Segment<br>[1210, 1237, 1]"]
152["Segment<br>[1245, 1306, 1]"]
158["Segment<br>[1314, 1358, 1]"]
162["Segment<br>[1366, 1373, 1]"]
28["Path<br>[380, 413, 1]"]
45["Segment<br>[421, 447, 1]"]
46["Segment<br>[455, 517, 1]"]
52["Segment<br>[525, 587, 1]"]
63["Segment<br>[595, 658, 1]"]
66["Segment<br>[666, 691, 1]"]
72["Segment<br>[699, 719, 1]"]
78["Segment<br>[727, 751, 1]"]
86["Segment<br>[759, 821, 1]"]
89["Segment<br>[829, 854, 1]"]
96["Segment<br>[862, 882, 1]"]
102["Segment<br>[890, 914, 1]"]
106["Segment<br>[922, 983, 1]"]
116["Segment<br>[991, 1052, 1]"]
118["Segment<br>[1060, 1085, 1]"]
128["Segment<br>[1093, 1117, 1]"]
130["Segment<br>[1125, 1187, 1]"]
137["Segment<br>[1195, 1220, 1]"]
145["Segment<br>[1228, 1255, 1]"]
152["Segment<br>[1263, 1324, 1]"]
158["Segment<br>[1332, 1376, 1]"]
162["Segment<br>[1384, 1391, 1]"]
220[Solid2d]
end
subgraph path29 [Path]
29["Path<br>[362, 395, 1]"]
41["Segment<br>[403, 429, 1]"]
48["Segment<br>[437, 499, 1]"]
55["Segment<br>[507, 569, 1]"]
60["Segment<br>[577, 640, 1]"]
64["Segment<br>[648, 673, 1]"]
75["Segment<br>[681, 701, 1]"]
76["Segment<br>[709, 733, 1]"]
85["Segment<br>[741, 803, 1]"]
93["Segment<br>[811, 836, 1]"]
97["Segment<br>[844, 864, 1]"]
103["Segment<br>[872, 896, 1]"]
110["Segment<br>[904, 965, 1]"]
115["Segment<br>[973, 1034, 1]"]
121["Segment<br>[1042, 1067, 1]"]
127["Segment<br>[1075, 1099, 1]"]
131["Segment<br>[1107, 1169, 1]"]
138["Segment<br>[1177, 1202, 1]"]
146["Segment<br>[1210, 1237, 1]"]
153["Segment<br>[1245, 1306, 1]"]
159["Segment<br>[1314, 1358, 1]"]
163["Segment<br>[1366, 1373, 1]"]
29["Path<br>[380, 413, 1]"]
41["Segment<br>[421, 447, 1]"]
48["Segment<br>[455, 517, 1]"]
55["Segment<br>[525, 587, 1]"]
60["Segment<br>[595, 658, 1]"]
64["Segment<br>[666, 691, 1]"]
75["Segment<br>[699, 719, 1]"]
76["Segment<br>[727, 751, 1]"]
85["Segment<br>[759, 821, 1]"]
93["Segment<br>[829, 854, 1]"]
97["Segment<br>[862, 882, 1]"]
103["Segment<br>[890, 914, 1]"]
110["Segment<br>[922, 983, 1]"]
115["Segment<br>[991, 1052, 1]"]
121["Segment<br>[1060, 1085, 1]"]
127["Segment<br>[1093, 1117, 1]"]
131["Segment<br>[1125, 1187, 1]"]
138["Segment<br>[1195, 1220, 1]"]
146["Segment<br>[1228, 1255, 1]"]
153["Segment<br>[1263, 1324, 1]"]
159["Segment<br>[1332, 1376, 1]"]
163["Segment<br>[1384, 1391, 1]"]
221[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[1765, 1789, 1]"]
30["Path<br>[1783, 1807, 1]"]
end
subgraph path31 [Path]
31["Path<br>[1765, 1789, 1]"]
31["Path<br>[1783, 1807, 1]"]
end
subgraph path32 [Path]
32["Path<br>[1797, 1923, 1]"]
169["Segment<br>[1797, 1923, 1]"]
170["Segment<br>[1797, 1923, 1]"]
171["Segment<br>[1797, 1923, 1]"]
172["Segment<br>[1797, 1923, 1]"]
176["Segment<br>[1797, 1923, 1]"]
178["Segment<br>[1797, 1923, 1]"]
179["Segment<br>[1797, 1923, 1]"]
32["Path<br>[1815, 1941, 1]"]
169["Segment<br>[1815, 1941, 1]"]
170["Segment<br>[1815, 1941, 1]"]
171["Segment<br>[1815, 1941, 1]"]
172["Segment<br>[1815, 1941, 1]"]
176["Segment<br>[1815, 1941, 1]"]
178["Segment<br>[1815, 1941, 1]"]
179["Segment<br>[1815, 1941, 1]"]
215[Solid2d]
end
subgraph path33 [Path]
33["Path<br>[1797, 1923, 1]"]
166["Segment<br>[1797, 1923, 1]"]
167["Segment<br>[1797, 1923, 1]"]
168["Segment<br>[1797, 1923, 1]"]
173["Segment<br>[1797, 1923, 1]"]
174["Segment<br>[1797, 1923, 1]"]
175["Segment<br>[1797, 1923, 1]"]
177["Segment<br>[1797, 1923, 1]"]
33["Path<br>[1815, 1941, 1]"]
166["Segment<br>[1815, 1941, 1]"]
167["Segment<br>[1815, 1941, 1]"]
168["Segment<br>[1815, 1941, 1]"]
173["Segment<br>[1815, 1941, 1]"]
174["Segment<br>[1815, 1941, 1]"]
175["Segment<br>[1815, 1941, 1]"]
177["Segment<br>[1815, 1941, 1]"]
222[Solid2d]
end
subgraph path34 [Path]
34["Path<br>[2217, 2244, 1]"]
180["Segment<br>[2252, 2274, 1]"]
181["Segment<br>[2282, 2304, 1]"]
182["Segment<br>[2312, 2334, 1]"]
183["Segment<br>[2342, 2365, 1]"]
184["Segment<br>[2373, 2396, 1]"]
185["Segment<br>[2404, 2439, 1]"]
186["Segment<br>[2447, 2454, 1]"]
34["Path<br>[2235, 2262, 1]"]
180["Segment<br>[2270, 2292, 1]"]
181["Segment<br>[2300, 2322, 1]"]
182["Segment<br>[2330, 2352, 1]"]
183["Segment<br>[2360, 2383, 1]"]
184["Segment<br>[2391, 2414, 1]"]
185["Segment<br>[2422, 2457, 1]"]
186["Segment<br>[2465, 2472, 1]"]
223[Solid2d]
end
subgraph path35 [Path]
35["Path<br>[2728, 2757, 1]"]
187["Segment<br>[2765, 2800, 1]"]
188["Segment<br>[2808, 2833, 1]"]
189["Segment<br>[2841, 2877, 1]"]
190["Segment<br>[2885, 2909, 1]"]
191["Segment<br>[2917, 2951, 1]"]
192["Segment<br>[2959, 2994, 1]"]
193["Segment<br>[3002, 3009, 1]"]
35["Path<br>[2746, 2775, 1]"]
187["Segment<br>[2783, 2818, 1]"]
188["Segment<br>[2826, 2851, 1]"]
189["Segment<br>[2859, 2895, 1]"]
190["Segment<br>[2903, 2927, 1]"]
191["Segment<br>[2935, 2969, 1]"]
192["Segment<br>[2977, 3012, 1]"]
193["Segment<br>[3020, 3027, 1]"]
214[Solid2d]
end
subgraph path36 [Path]
36["Path<br>[3286, 3313, 1]"]
195["Segment<br>[3321, 3340, 1]"]
197["Segment<br>[3348, 3397, 1]"]
36["Path<br>[3304, 3331, 1]"]
195["Segment<br>[3339, 3358, 1]"]
197["Segment<br>[3366, 3415, 1]"]
end
subgraph path37 [Path]
37["Path<br>[3286, 3313, 1]"]
194["Segment<br>[3321, 3340, 1]"]
196["Segment<br>[3348, 3397, 1]"]
37["Path<br>[3304, 3331, 1]"]
194["Segment<br>[3339, 3358, 1]"]
196["Segment<br>[3366, 3415, 1]"]
end
subgraph path38 [Path]
38["Path<br>[3498, 3531, 1]"]
199["Segment<br>[3539, 3558, 1]"]
200["Segment<br>[3566, 3588, 1]"]
202["Segment<br>[3596, 3619, 1]"]
204["Segment<br>[3627, 3647, 1]"]
206["Segment<br>[3655, 3679, 1]"]
209["Segment<br>[3687, 3710, 1]"]
211["Segment<br>[3718, 3725, 1]"]
38["Path<br>[3516, 3549, 1]"]
199["Segment<br>[3557, 3576, 1]"]
200["Segment<br>[3584, 3606, 1]"]
202["Segment<br>[3614, 3637, 1]"]
204["Segment<br>[3645, 3665, 1]"]
206["Segment<br>[3673, 3697, 1]"]
209["Segment<br>[3705, 3728, 1]"]
211["Segment<br>[3736, 3743, 1]"]
213[Solid2d]
end
subgraph path39 [Path]
39["Path<br>[3498, 3531, 1]"]
198["Segment<br>[3539, 3558, 1]"]
201["Segment<br>[3566, 3588, 1]"]
203["Segment<br>[3596, 3619, 1]"]
205["Segment<br>[3627, 3647, 1]"]
207["Segment<br>[3655, 3679, 1]"]
208["Segment<br>[3687, 3710, 1]"]
210["Segment<br>[3718, 3725, 1]"]
39["Path<br>[3516, 3549, 1]"]
198["Segment<br>[3557, 3576, 1]"]
201["Segment<br>[3584, 3606, 1]"]
203["Segment<br>[3614, 3637, 1]"]
205["Segment<br>[3645, 3665, 1]"]
207["Segment<br>[3673, 3697, 1]"]
208["Segment<br>[3705, 3728, 1]"]
210["Segment<br>[3736, 3743, 1]"]
216[Solid2d]
end
1["Plane<br>[823, 864, 0]"]
2["Plane<br>[874, 916, 0]"]
3["Plane<br>[975, 1017, 0]"]
4["Plane<br>[1077, 1144, 0]"]
5["Plane<br>[1223, 1290, 0]"]
6["Plane<br>[334, 354, 1]"]
7["Plane<br>[334, 354, 1]"]
8["Plane<br>[3805, 3840, 1]"]
9["Plane<br>[3805, 3840, 1]"]
10["Plane<br>[3869, 3898, 1]"]
11["Plane<br>[3869, 3898, 1]"]
12["StartSketchOnPlane<br>[2700, 2720, 1]"]
13["StartSketchOnPlane<br>[1737, 1757, 1]"]
14["StartSketchOnPlane<br>[3258, 3278, 1]"]
15["StartSketchOnPlane<br>[1737, 1757, 1]"]
16["StartSketchOnPlane<br>[334, 354, 1]"]
17["StartSketchOnPlane<br>[3470, 3490, 1]"]
18["StartSketchOnPlane<br>[3470, 3490, 1]"]
19["StartSketchOnPlane<br>[334, 354, 1]"]
20["StartSketchOnPlane<br>[334, 354, 1]"]
21["StartSketchOnPlane<br>[3258, 3278, 1]"]
22["StartSketchOnPlane<br>[334, 354, 1]"]
23["StartSketchOnPlane<br>[2189, 2209, 1]"]
224["Sweep Extrusion<br>[1462, 1500, 1]"]
225["Sweep Extrusion<br>[1462, 1500, 1]"]
226["Sweep Extrusion<br>[1462, 1500, 1]"]
227["Sweep Extrusion<br>[1538, 1577, 1]"]
228["Sweep Extrusion<br>[1538, 1577, 1]"]
229["Sweep Extrusion<br>[1538, 1577, 1]"]
230["Sweep Extrusion<br>[2034, 2058, 1]"]
231["Sweep Extrusion<br>[2108, 2132, 1]"]
232["Sweep Extrusion<br>[2618, 2642, 1]"]
233["Sweep Extrusion<br>[2618, 2642, 1]"]
234["Sweep Extrusion<br>[2618, 2642, 1]"]
235["Sweep Extrusion<br>[3180, 3204, 1]"]
236["Sweep Extrusion<br>[3180, 3204, 1]"]
237["Sweep Sweep<br>[3920, 3947, 1]"]
238["Sweep Sweep<br>[3920, 3947, 1]"]
1["Plane<br>[841, 882, 0]"]
2["Plane<br>[892, 934, 0]"]
3["Plane<br>[993, 1035, 0]"]
4["Plane<br>[1095, 1162, 0]"]
5["Plane<br>[1241, 1308, 0]"]
6["Plane<br>[352, 372, 1]"]
7["Plane<br>[352, 372, 1]"]
8["Plane<br>[3823, 3858, 1]"]
9["Plane<br>[3823, 3858, 1]"]
10["Plane<br>[3887, 3916, 1]"]
11["Plane<br>[3887, 3916, 1]"]
12["StartSketchOnPlane<br>[2718, 2738, 1]"]
13["StartSketchOnPlane<br>[1755, 1775, 1]"]
14["StartSketchOnPlane<br>[3276, 3296, 1]"]
15["StartSketchOnPlane<br>[1755, 1775, 1]"]
16["StartSketchOnPlane<br>[352, 372, 1]"]
17["StartSketchOnPlane<br>[3488, 3508, 1]"]
18["StartSketchOnPlane<br>[3488, 3508, 1]"]
19["StartSketchOnPlane<br>[352, 372, 1]"]
20["StartSketchOnPlane<br>[352, 372, 1]"]
21["StartSketchOnPlane<br>[3276, 3296, 1]"]
22["StartSketchOnPlane<br>[352, 372, 1]"]
23["StartSketchOnPlane<br>[2207, 2227, 1]"]
224["Sweep Extrusion<br>[1480, 1518, 1]"]
225["Sweep Extrusion<br>[1480, 1518, 1]"]
226["Sweep Extrusion<br>[1480, 1518, 1]"]
227["Sweep Extrusion<br>[1556, 1595, 1]"]
228["Sweep Extrusion<br>[1556, 1595, 1]"]
229["Sweep Extrusion<br>[1556, 1595, 1]"]
230["Sweep Extrusion<br>[2052, 2076, 1]"]
231["Sweep Extrusion<br>[2126, 2150, 1]"]
232["Sweep Extrusion<br>[2636, 2660, 1]"]
233["Sweep Extrusion<br>[2636, 2660, 1]"]
234["Sweep Extrusion<br>[2636, 2660, 1]"]
235["Sweep Extrusion<br>[3198, 3222, 1]"]
236["Sweep Extrusion<br>[3198, 3222, 1]"]
237["Sweep Sweep<br>[3938, 3965, 1]"]
238["Sweep Sweep<br>[3938, 3965, 1]"]
239[Wall]
240[Wall]
241[Wall]

View File

@ -1367,6 +1367,31 @@ description: Result of parsing bench.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,23 +1,23 @@
```mermaid
flowchart LR
subgraph path4 [Path]
4["Path<br>[337, 378, 0]"]
6["Segment<br>[384, 415, 0]"]
7["Segment<br>[421, 516, 0]"]
8["Segment<br>[522, 544, 0]"]
9["Segment<br>[574, 581, 0]"]
4["Path<br>[355, 396, 0]"]
6["Segment<br>[402, 433, 0]"]
7["Segment<br>[439, 534, 0]"]
8["Segment<br>[540, 562, 0]"]
9["Segment<br>[592, 599, 0]"]
11[Solid2d]
end
subgraph path5 [Path]
5["Path<br>[738, 788, 0]"]
10["Segment<br>[738, 788, 0]"]
5["Path<br>[756, 806, 0]"]
10["Segment<br>[756, 806, 0]"]
12[Solid2d]
end
1["Plane<br>[314, 331, 0]"]
2["Plane<br>[738, 788, 0]"]
3["StartSketchOnFace<br>[695, 732, 0]"]
13["Sweep Extrusion<br>[587, 629, 0]"]
14["Sweep Extrusion<br>[794, 821, 0]"]
1["Plane<br>[332, 349, 0]"]
2["Plane<br>[756, 806, 0]"]
3["StartSketchOnFace<br>[713, 750, 0]"]
13["Sweep Extrusion<br>[605, 647, 0]"]
14["Sweep Extrusion<br>[812, 839, 0]"]
15[Wall]
16["Cap End"]
17["SweepEdge Opposite"]

View File

@ -1357,6 +1357,31 @@ description: Result of parsing bottle.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,36 +1,36 @@
```mermaid
flowchart LR
subgraph path4 [Path]
4["Path<br>[2065, 2090, 0]"]
7["Segment<br>[2096, 2154, 0]"]
8["Segment<br>[2160, 2199, 0]"]
9["Segment<br>[2205, 2252, 0]"]
10["Segment<br>[2258, 2304, 0]"]
11["Segment<br>[2310, 2349, 0]"]
12["Segment<br>[2355, 2425, 0]"]
13["Segment<br>[2431, 2438, 0]"]
4["Path<br>[2083, 2108, 0]"]
7["Segment<br>[2114, 2172, 0]"]
8["Segment<br>[2178, 2217, 0]"]
9["Segment<br>[2223, 2270, 0]"]
10["Segment<br>[2276, 2322, 0]"]
11["Segment<br>[2328, 2367, 0]"]
12["Segment<br>[2373, 2443, 0]"]
13["Segment<br>[2449, 2456, 0]"]
17[Solid2d]
end
subgraph path5 [Path]
5["Path<br>[2583, 2773, 0]"]
14["Segment<br>[2583, 2773, 0]"]
5["Path<br>[2601, 2791, 0]"]
14["Segment<br>[2601, 2791, 0]"]
16[Solid2d]
end
subgraph path6 [Path]
6["Path<br>[3207, 3409, 0]"]
15["Segment<br>[3207, 3409, 0]"]
6["Path<br>[3225, 3427, 0]"]
15["Segment<br>[3225, 3427, 0]"]
18[Solid2d]
end
1["Plane<br>[2042, 2059, 0]"]
2["StartSketchOnFace<br>[3161, 3201, 0]"]
3["StartSketchOnFace<br>[2537, 2577, 0]"]
19["Sweep Extrusion<br>[2444, 2470, 0]"]
20["Sweep Extrusion<br>[3059, 3096, 0]"]
21["Sweep Extrusion<br>[3059, 3096, 0]"]
22["Sweep Extrusion<br>[3059, 3096, 0]"]
23["Sweep Extrusion<br>[3059, 3096, 0]"]
24["Sweep Extrusion<br>[3524, 3561, 0]"]
25["Sweep Extrusion<br>[3524, 3561, 0]"]
1["Plane<br>[2060, 2077, 0]"]
2["StartSketchOnFace<br>[3179, 3219, 0]"]
3["StartSketchOnFace<br>[2555, 2595, 0]"]
19["Sweep Extrusion<br>[2462, 2488, 0]"]
20["Sweep Extrusion<br>[3077, 3114, 0]"]
21["Sweep Extrusion<br>[3077, 3114, 0]"]
22["Sweep Extrusion<br>[3077, 3114, 0]"]
23["Sweep Extrusion<br>[3077, 3114, 0]"]
24["Sweep Extrusion<br>[3542, 3579, 0]"]
25["Sweep Extrusion<br>[3542, 3579, 0]"]
26[Wall]
27[Wall]
28[Wall]
@ -57,12 +57,12 @@ flowchart LR
49["SweepEdge Adjacent"]
50["SweepEdge Adjacent"]
51["SweepEdge Adjacent"]
52["EdgeCut Fillet<br>[3578, 3658, 0]"]
53["EdgeCut Fillet<br>[3659, 3736, 0]"]
54["EdgeCut Fillet<br>[3762, 3904, 0]"]
55["EdgeCut Fillet<br>[3762, 3904, 0]"]
56["EdgeCut Fillet<br>[3762, 3904, 0]"]
57["EdgeCut Fillet<br>[3762, 3904, 0]"]
52["EdgeCut Fillet<br>[3596, 3676, 0]"]
53["EdgeCut Fillet<br>[3677, 3754, 0]"]
54["EdgeCut Fillet<br>[3780, 3922, 0]"]
55["EdgeCut Fillet<br>[3780, 3922, 0]"]
56["EdgeCut Fillet<br>[3780, 3922, 0]"]
57["EdgeCut Fillet<br>[3780, 3922, 0]"]
1 --- 4
33 x--> 2
32 x--> 3

View File

@ -3721,6 +3721,31 @@ description: Result of parsing bracket.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

File diff suppressed because it is too large Load Diff

View File

@ -1,274 +1,274 @@
```mermaid
flowchart LR
subgraph path11 [Path]
11["Path<br>[354, 410, 1]"]
34["Segment<br>[354, 410, 1]"]
11["Path<br>[372, 428, 1]"]
34["Segment<br>[372, 428, 1]"]
153[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[434, 490, 1]"]
35["Segment<br>[434, 490, 1]"]
12["Path<br>[452, 508, 1]"]
35["Segment<br>[452, 508, 1]"]
143[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[657, 713, 1]"]
36["Segment<br>[657, 713, 1]"]
13["Path<br>[675, 731, 1]"]
36["Segment<br>[675, 731, 1]"]
149[Solid2d]
end
subgraph path14 [Path]
14["Path<br>[737, 793, 1]"]
37["Segment<br>[737, 793, 1]"]
14["Path<br>[755, 811, 1]"]
37["Segment<br>[755, 811, 1]"]
151[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[939, 993, 1]"]
38["Segment<br>[939, 993, 1]"]
15["Path<br>[957, 1011, 1]"]
38["Segment<br>[957, 1011, 1]"]
159[Solid2d]
end
subgraph path16 [Path]
16["Path<br>[1276, 1331, 1]"]
39["Segment<br>[1276, 1331, 1]"]
16["Path<br>[1294, 1349, 1]"]
39["Segment<br>[1294, 1349, 1]"]
161[Solid2d]
end
subgraph path17 [Path]
17["Path<br>[1689, 1735, 1]"]
40["Segment<br>[1741, 1793, 1]"]
41["Segment<br>[1799, 1872, 1]"]
42["Segment<br>[1878, 1900, 1]"]
43["Segment<br>[1906, 1962, 1]"]
44["Segment<br>[1968, 1975, 1]"]
17["Path<br>[1707, 1753, 1]"]
40["Segment<br>[1759, 1811, 1]"]
41["Segment<br>[1817, 1890, 1]"]
42["Segment<br>[1896, 1918, 1]"]
43["Segment<br>[1924, 1980, 1]"]
44["Segment<br>[1986, 1993, 1]"]
147[Solid2d]
end
subgraph path18 [Path]
18["Path<br>[2107, 2153, 1]"]
45["Segment<br>[2159, 2211, 1]"]
46["Segment<br>[2217, 2292, 1]"]
47["Segment<br>[2298, 2335, 1]"]
48["Segment<br>[2341, 2397, 1]"]
49["Segment<br>[2403, 2410, 1]"]
18["Path<br>[2125, 2171, 1]"]
45["Segment<br>[2177, 2229, 1]"]
46["Segment<br>[2235, 2310, 1]"]
47["Segment<br>[2316, 2353, 1]"]
48["Segment<br>[2359, 2415, 1]"]
49["Segment<br>[2421, 2428, 1]"]
150[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[2891, 2938, 1]"]
50["Segment<br>[2946, 3283, 1]"]
52["Segment<br>[3291, 3323, 1]"]
55["Segment<br>[3331, 3672, 1]"]
56["Segment<br>[3680, 3736, 1]"]
59["Segment<br>[3744, 3751, 1]"]
19["Path<br>[2909, 2956, 1]"]
50["Segment<br>[2964, 3301, 1]"]
52["Segment<br>[3309, 3341, 1]"]
55["Segment<br>[3349, 3690, 1]"]
56["Segment<br>[3698, 3754, 1]"]
59["Segment<br>[3762, 3769, 1]"]
144[Solid2d]
end
subgraph path20 [Path]
20["Path<br>[2891, 2938, 1]"]
51["Segment<br>[2946, 3283, 1]"]
53["Segment<br>[3291, 3323, 1]"]
54["Segment<br>[3331, 3672, 1]"]
57["Segment<br>[3680, 3736, 1]"]
58["Segment<br>[3744, 3751, 1]"]
20["Path<br>[2909, 2956, 1]"]
51["Segment<br>[2964, 3301, 1]"]
53["Segment<br>[3309, 3341, 1]"]
54["Segment<br>[3349, 3690, 1]"]
57["Segment<br>[3698, 3754, 1]"]
58["Segment<br>[3762, 3769, 1]"]
163[Solid2d]
end
subgraph path21 [Path]
21["Path<br>[4361, 4456, 1]"]
60["Segment<br>[4462, 4495, 1]"]
61["Segment<br>[4501, 4552, 1]"]
62["Segment<br>[4558, 4591, 1]"]
63["Segment<br>[4597, 4647, 1]"]
64["Segment<br>[4653, 4694, 1]"]
65["Segment<br>[4700, 4749, 1]"]
66["Segment<br>[4755, 4788, 1]"]
67["Segment<br>[4794, 4828, 1]"]
68["Segment<br>[4834, 4868, 1]"]
69["Segment<br>[4874, 4926, 1]"]
70["Segment<br>[4932, 4966, 1]"]
71["Segment<br>[4972, 5048, 1]"]
72["Segment<br>[5054, 5087, 1]"]
73["Segment<br>[5093, 5169, 1]"]
74["Segment<br>[5175, 5209, 1]"]
75["Segment<br>[5215, 5289, 1]"]
76["Segment<br>[5295, 5329, 1]"]
77["Segment<br>[5335, 5386, 1]"]
78["Segment<br>[5392, 5454, 1]"]
79["Segment<br>[5460, 5511, 1]"]
80["Segment<br>[5517, 5551, 1]"]
81["Segment<br>[5557, 5590, 1]"]
82["Segment<br>[5596, 5629, 1]"]
83["Segment<br>[5635, 5642, 1]"]
21["Path<br>[4379, 4474, 1]"]
60["Segment<br>[4480, 4513, 1]"]
61["Segment<br>[4519, 4570, 1]"]
62["Segment<br>[4576, 4609, 1]"]
63["Segment<br>[4615, 4665, 1]"]
64["Segment<br>[4671, 4712, 1]"]
65["Segment<br>[4718, 4767, 1]"]
66["Segment<br>[4773, 4806, 1]"]
67["Segment<br>[4812, 4846, 1]"]
68["Segment<br>[4852, 4886, 1]"]
69["Segment<br>[4892, 4944, 1]"]
70["Segment<br>[4950, 4984, 1]"]
71["Segment<br>[4990, 5066, 1]"]
72["Segment<br>[5072, 5105, 1]"]
73["Segment<br>[5111, 5187, 1]"]
74["Segment<br>[5193, 5227, 1]"]
75["Segment<br>[5233, 5307, 1]"]
76["Segment<br>[5313, 5347, 1]"]
77["Segment<br>[5353, 5404, 1]"]
78["Segment<br>[5410, 5472, 1]"]
79["Segment<br>[5478, 5529, 1]"]
80["Segment<br>[5535, 5569, 1]"]
81["Segment<br>[5575, 5608, 1]"]
82["Segment<br>[5614, 5647, 1]"]
83["Segment<br>[5653, 5660, 1]"]
148[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[571, 622, 3]"]
84["Segment<br>[571, 622, 3]"]
22["Path<br>[589, 640, 3]"]
84["Segment<br>[589, 640, 3]"]
146[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[812, 868, 3]"]
85["Segment<br>[812, 868, 3]"]
23["Path<br>[830, 886, 3]"]
85["Segment<br>[830, 886, 3]"]
155[Solid2d]
end
subgraph path24 [Path]
24["Path<br>[998, 1051, 3]"]
86["Segment<br>[998, 1051, 3]"]
24["Path<br>[1016, 1069, 3]"]
86["Segment<br>[1016, 1069, 3]"]
145[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[1439, 1479, 3]"]
87["Segment<br>[1439, 1479, 3]"]
25["Path<br>[1457, 1497, 3]"]
87["Segment<br>[1457, 1497, 3]"]
141[Solid2d]
end
subgraph path26 [Path]
26["Path<br>[1588, 1639, 3]"]
88["Segment<br>[1588, 1639, 3]"]
26["Path<br>[1606, 1657, 3]"]
88["Segment<br>[1606, 1657, 3]"]
154[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[1777, 1830, 3]"]
89["Segment<br>[1777, 1830, 3]"]
27["Path<br>[1795, 1848, 3]"]
89["Segment<br>[1795, 1848, 3]"]
142[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[2078, 2150, 3]"]
90["Segment<br>[2078, 2150, 3]"]
28["Path<br>[2096, 2168, 3]"]
90["Segment<br>[2096, 2168, 3]"]
158[Solid2d]
end
subgraph path29 [Path]
29["Path<br>[2412, 2443, 3]"]
91["Segment<br>[2449, 2469, 3]"]
92["Segment<br>[2475, 2495, 3]"]
93["Segment<br>[2501, 2522, 3]"]
94["Segment<br>[2528, 2584, 3]"]
95["Segment<br>[2590, 2597, 3]"]
29["Path<br>[2430, 2461, 3]"]
91["Segment<br>[2467, 2487, 3]"]
92["Segment<br>[2493, 2513, 3]"]
93["Segment<br>[2519, 2540, 3]"]
94["Segment<br>[2546, 2602, 3]"]
95["Segment<br>[2608, 2615, 3]"]
162[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[2904, 2936, 3]"]
96["Segment<br>[2942, 2963, 3]"]
97["Segment<br>[2969, 2989, 3]"]
98["Segment<br>[2995, 3015, 3]"]
99["Segment<br>[3021, 3077, 3]"]
100["Segment<br>[3083, 3090, 3]"]
30["Path<br>[2922, 2954, 3]"]
96["Segment<br>[2960, 2981, 3]"]
97["Segment<br>[2987, 3007, 3]"]
98["Segment<br>[3013, 3033, 3]"]
99["Segment<br>[3039, 3095, 3]"]
100["Segment<br>[3101, 3108, 3]"]
157[Solid2d]
end
subgraph path31 [Path]
31["Path<br>[511, 592, 4]"]
101["Segment<br>[598, 699, 4]"]
102["Segment<br>[705, 763, 4]"]
103["Segment<br>[769, 853, 4]"]
104["Segment<br>[859, 918, 4]"]
105["Segment<br>[924, 1009, 4]"]
106["Segment<br>[1015, 1074, 4]"]
107["Segment<br>[1080, 1203, 4]"]
108["Segment<br>[1209, 1268, 4]"]
109["Segment<br>[1274, 1409, 4]"]
110["Segment<br>[1415, 1474, 4]"]
111["Segment<br>[1480, 1604, 4]"]
112["Segment<br>[1610, 1669, 4]"]
113["Segment<br>[1675, 1760, 4]"]
114["Segment<br>[1766, 1825, 4]"]
115["Segment<br>[1831, 1916, 4]"]
116["Segment<br>[1922, 1980, 4]"]
117["Segment<br>[1986, 1993, 4]"]
31["Path<br>[529, 610, 4]"]
101["Segment<br>[616, 717, 4]"]
102["Segment<br>[723, 781, 4]"]
103["Segment<br>[787, 871, 4]"]
104["Segment<br>[877, 936, 4]"]
105["Segment<br>[942, 1027, 4]"]
106["Segment<br>[1033, 1092, 4]"]
107["Segment<br>[1098, 1221, 4]"]
108["Segment<br>[1227, 1286, 4]"]
109["Segment<br>[1292, 1427, 4]"]
110["Segment<br>[1433, 1492, 4]"]
111["Segment<br>[1498, 1622, 4]"]
112["Segment<br>[1628, 1687, 4]"]
113["Segment<br>[1693, 1778, 4]"]
114["Segment<br>[1784, 1843, 4]"]
115["Segment<br>[1849, 1934, 4]"]
116["Segment<br>[1940, 1998, 4]"]
117["Segment<br>[2004, 2011, 4]"]
156[Solid2d]
end
subgraph path32 [Path]
32["Path<br>[693, 733, 5]"]
118["Segment<br>[741, 788, 5]"]
119["Segment<br>[796, 832, 5]"]
120["Segment<br>[840, 870, 5]"]
121["Segment<br>[878, 917, 5]"]
122["Segment<br>[925, 965, 5]"]
123["Segment<br>[973, 1008, 5]"]
124["Segment<br>[1016, 1054, 5]"]
125["Segment<br>[1062, 1084, 5]"]
126["Segment<br>[1092, 1099, 5]"]
32["Path<br>[711, 751, 5]"]
118["Segment<br>[759, 806, 5]"]
119["Segment<br>[814, 850, 5]"]
120["Segment<br>[858, 888, 5]"]
121["Segment<br>[896, 935, 5]"]
122["Segment<br>[943, 983, 5]"]
123["Segment<br>[991, 1026, 5]"]
124["Segment<br>[1034, 1072, 5]"]
125["Segment<br>[1080, 1102, 5]"]
126["Segment<br>[1110, 1117, 5]"]
152[Solid2d]
end
subgraph path33 [Path]
33["Path<br>[487, 544, 6]"]
127["Segment<br>[550, 684, 6]"]
128["Segment<br>[690, 737, 6]"]
129["Segment<br>[743, 840, 6]"]
130["Segment<br>[846, 878, 6]"]
131["Segment<br>[884, 916, 6]"]
132["Segment<br>[922, 953, 6]"]
133["Segment<br>[959, 1074, 6]"]
134["Segment<br>[1080, 1112, 6]"]
135["Segment<br>[1118, 1150, 6]"]
136["Segment<br>[1156, 1187, 6]"]
137["Segment<br>[1193, 1286, 6]"]
138["Segment<br>[1292, 1339, 6]"]
139["Segment<br>[1345, 1418, 6]"]
140["Segment<br>[1424, 1431, 6]"]
33["Path<br>[505, 562, 6]"]
127["Segment<br>[568, 702, 6]"]
128["Segment<br>[708, 755, 6]"]
129["Segment<br>[761, 858, 6]"]
130["Segment<br>[864, 896, 6]"]
131["Segment<br>[902, 934, 6]"]
132["Segment<br>[940, 971, 6]"]
133["Segment<br>[977, 1092, 6]"]
134["Segment<br>[1098, 1130, 6]"]
135["Segment<br>[1136, 1168, 6]"]
136["Segment<br>[1174, 1205, 6]"]
137["Segment<br>[1211, 1304, 6]"]
138["Segment<br>[1310, 1357, 6]"]
139["Segment<br>[1363, 1436, 6]"]
140["Segment<br>[1442, 1449, 6]"]
160[Solid2d]
end
1["Plane<br>[331, 348, 1]"]
2["Plane<br>[1666, 1683, 1]"]
3["Plane<br>[2084, 2101, 1]"]
4["Plane<br>[2860, 2883, 1]"]
5["Plane<br>[2860, 2883, 1]"]
6["Plane<br>[4338, 4355, 1]"]
7["Plane<br>[548, 565, 3]"]
8["Plane<br>[488, 505, 4]"]
9["Plane<br>[659, 685, 5]"]
10["Plane<br>[464, 481, 6]"]
164["Sweep Extrusion<br>[497, 530, 1]"]
165["Sweep Extrusion<br>[800, 833, 1]"]
166["Sweep Extrusion<br>[1140, 1174, 1]"]
167["Sweep Extrusion<br>[1140, 1174, 1]"]
168["Sweep Extrusion<br>[1140, 1174, 1]"]
169["Sweep Extrusion<br>[1140, 1174, 1]"]
170["Sweep Extrusion<br>[1140, 1174, 1]"]
171["Sweep Extrusion<br>[1478, 1512, 1]"]
172["Sweep Extrusion<br>[1478, 1512, 1]"]
173["Sweep Extrusion<br>[1478, 1512, 1]"]
174["Sweep Extrusion<br>[1478, 1512, 1]"]
175["Sweep Extrusion<br>[1478, 1512, 1]"]
176["Sweep Revolve<br>[1981, 1998, 1]"]
177["Sweep Revolve<br>[2416, 2433, 1]"]
178["Sweep Extrusion<br>[3799, 3845, 1]"]
179["Sweep Extrusion<br>[3799, 3845, 1]"]
180["Sweep Revolve<br>[5648, 5665, 1]"]
181["Sweep Extrusion<br>[631, 687, 3]"]
182["Sweep Extrusion<br>[881, 943, 3]"]
183["Sweep Extrusion<br>[1198, 1277, 3]"]
184["Sweep Extrusion<br>[1198, 1277, 3]"]
185["Sweep Extrusion<br>[1198, 1277, 3]"]
186["Sweep Extrusion<br>[1198, 1277, 3]"]
187["Sweep Extrusion<br>[1198, 1277, 3]"]
188["Sweep Extrusion<br>[1485, 1518, 3]"]
189["Sweep Extrusion<br>[1654, 1719, 3]"]
190["Sweep Extrusion<br>[1977, 2021, 3]"]
191["Sweep Extrusion<br>[1977, 2021, 3]"]
192["Sweep Extrusion<br>[1977, 2021, 3]"]
193["Sweep Extrusion<br>[1977, 2021, 3]"]
194["Sweep Extrusion<br>[1977, 2021, 3]"]
195["Sweep Extrusion<br>[2305, 2349, 3]"]
196["Sweep Extrusion<br>[2305, 2349, 3]"]
197["Sweep Extrusion<br>[2305, 2349, 3]"]
198["Sweep Extrusion<br>[2305, 2349, 3]"]
199["Sweep Extrusion<br>[2305, 2349, 3]"]
200["Sweep Extrusion<br>[2305, 2349, 3]"]
201["Sweep Extrusion<br>[2305, 2349, 3]"]
202["Sweep Extrusion<br>[2305, 2349, 3]"]
203["Sweep Extrusion<br>[2305, 2349, 3]"]
204["Sweep Extrusion<br>[2305, 2349, 3]"]
205["Sweep Extrusion<br>[2305, 2349, 3]"]
206["Sweep Extrusion<br>[2305, 2349, 3]"]
207["Sweep Extrusion<br>[2305, 2349, 3]"]
208["Sweep Extrusion<br>[2305, 2349, 3]"]
209["Sweep Extrusion<br>[2305, 2349, 3]"]
210["Sweep Extrusion<br>[2305, 2349, 3]"]
211["Sweep Extrusion<br>[2763, 2831, 3]"]
212["Sweep Extrusion<br>[2763, 2831, 3]"]
213["Sweep Extrusion<br>[2763, 2831, 3]"]
214["Sweep Extrusion<br>[2763, 2831, 3]"]
215["Sweep Extrusion<br>[2763, 2831, 3]"]
216["Sweep Extrusion<br>[3253, 3327, 3]"]
217["Sweep Extrusion<br>[3253, 3327, 3]"]
218["Sweep Extrusion<br>[3253, 3327, 3]"]
219["Sweep Extrusion<br>[3253, 3327, 3]"]
220["Sweep Extrusion<br>[3253, 3327, 3]"]
221["Sweep Revolve<br>[2031, 2081, 4]"]
222["Sweep Revolve<br>[1107, 1124, 5]"]
223["Sweep Revolve<br>[1484, 1513, 6]"]
1["Plane<br>[349, 366, 1]"]
2["Plane<br>[1684, 1701, 1]"]
3["Plane<br>[2102, 2119, 1]"]
4["Plane<br>[2878, 2901, 1]"]
5["Plane<br>[2878, 2901, 1]"]
6["Plane<br>[4356, 4373, 1]"]
7["Plane<br>[566, 583, 3]"]
8["Plane<br>[506, 523, 4]"]
9["Plane<br>[677, 703, 5]"]
10["Plane<br>[482, 499, 6]"]
164["Sweep Extrusion<br>[515, 548, 1]"]
165["Sweep Extrusion<br>[818, 851, 1]"]
166["Sweep Extrusion<br>[1158, 1192, 1]"]
167["Sweep Extrusion<br>[1158, 1192, 1]"]
168["Sweep Extrusion<br>[1158, 1192, 1]"]
169["Sweep Extrusion<br>[1158, 1192, 1]"]
170["Sweep Extrusion<br>[1158, 1192, 1]"]
171["Sweep Extrusion<br>[1496, 1530, 1]"]
172["Sweep Extrusion<br>[1496, 1530, 1]"]
173["Sweep Extrusion<br>[1496, 1530, 1]"]
174["Sweep Extrusion<br>[1496, 1530, 1]"]
175["Sweep Extrusion<br>[1496, 1530, 1]"]
176["Sweep Revolve<br>[1999, 2016, 1]"]
177["Sweep Revolve<br>[2434, 2451, 1]"]
178["Sweep Extrusion<br>[3817, 3863, 1]"]
179["Sweep Extrusion<br>[3817, 3863, 1]"]
180["Sweep Revolve<br>[5666, 5683, 1]"]
181["Sweep Extrusion<br>[649, 705, 3]"]
182["Sweep Extrusion<br>[899, 961, 3]"]
183["Sweep Extrusion<br>[1216, 1295, 3]"]
184["Sweep Extrusion<br>[1216, 1295, 3]"]
185["Sweep Extrusion<br>[1216, 1295, 3]"]
186["Sweep Extrusion<br>[1216, 1295, 3]"]
187["Sweep Extrusion<br>[1216, 1295, 3]"]
188["Sweep Extrusion<br>[1503, 1536, 3]"]
189["Sweep Extrusion<br>[1672, 1737, 3]"]
190["Sweep Extrusion<br>[1995, 2039, 3]"]
191["Sweep Extrusion<br>[1995, 2039, 3]"]
192["Sweep Extrusion<br>[1995, 2039, 3]"]
193["Sweep Extrusion<br>[1995, 2039, 3]"]
194["Sweep Extrusion<br>[1995, 2039, 3]"]
195["Sweep Extrusion<br>[2323, 2367, 3]"]
196["Sweep Extrusion<br>[2323, 2367, 3]"]
197["Sweep Extrusion<br>[2323, 2367, 3]"]
198["Sweep Extrusion<br>[2323, 2367, 3]"]
199["Sweep Extrusion<br>[2323, 2367, 3]"]
200["Sweep Extrusion<br>[2323, 2367, 3]"]
201["Sweep Extrusion<br>[2323, 2367, 3]"]
202["Sweep Extrusion<br>[2323, 2367, 3]"]
203["Sweep Extrusion<br>[2323, 2367, 3]"]
204["Sweep Extrusion<br>[2323, 2367, 3]"]
205["Sweep Extrusion<br>[2323, 2367, 3]"]
206["Sweep Extrusion<br>[2323, 2367, 3]"]
207["Sweep Extrusion<br>[2323, 2367, 3]"]
208["Sweep Extrusion<br>[2323, 2367, 3]"]
209["Sweep Extrusion<br>[2323, 2367, 3]"]
210["Sweep Extrusion<br>[2323, 2367, 3]"]
211["Sweep Extrusion<br>[2781, 2849, 3]"]
212["Sweep Extrusion<br>[2781, 2849, 3]"]
213["Sweep Extrusion<br>[2781, 2849, 3]"]
214["Sweep Extrusion<br>[2781, 2849, 3]"]
215["Sweep Extrusion<br>[2781, 2849, 3]"]
216["Sweep Extrusion<br>[3271, 3345, 3]"]
217["Sweep Extrusion<br>[3271, 3345, 3]"]
218["Sweep Extrusion<br>[3271, 3345, 3]"]
219["Sweep Extrusion<br>[3271, 3345, 3]"]
220["Sweep Extrusion<br>[3271, 3345, 3]"]
221["Sweep Revolve<br>[2049, 2099, 4]"]
222["Sweep Revolve<br>[1125, 1142, 5]"]
223["Sweep Revolve<br>[1502, 1531, 6]"]
224[Wall]
225[Wall]
226[Wall]

View File

@ -775,6 +775,31 @@ description: Result of parsing car-wheel-assembly.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,71 +1,71 @@
```mermaid
flowchart LR
subgraph path7 [Path]
7["Path<br>[773, 813, 0]"]
16["Segment<br>[821, 886, 0]"]
21["Segment<br>[894, 991, 0]"]
25["Segment<br>[999, 1116, 0]"]
35["Segment<br>[1124, 1180, 0]"]
40["Segment<br>[1188, 1195, 0]"]
7["Path<br>[791, 831, 0]"]
16["Segment<br>[839, 904, 0]"]
21["Segment<br>[912, 1009, 0]"]
25["Segment<br>[1017, 1134, 0]"]
35["Segment<br>[1142, 1198, 0]"]
40["Segment<br>[1206, 1213, 0]"]
43[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[773, 813, 0]"]
15["Segment<br>[821, 886, 0]"]
19["Segment<br>[894, 991, 0]"]
30["Segment<br>[999, 1116, 0]"]
31["Segment<br>[1124, 1180, 0]"]
41["Segment<br>[1188, 1195, 0]"]
8["Path<br>[791, 831, 0]"]
15["Segment<br>[839, 904, 0]"]
19["Segment<br>[912, 1009, 0]"]
30["Segment<br>[1017, 1134, 0]"]
31["Segment<br>[1142, 1198, 0]"]
41["Segment<br>[1206, 1213, 0]"]
44[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[773, 813, 0]"]
18["Segment<br>[821, 886, 0]"]
23["Segment<br>[894, 991, 0]"]
26["Segment<br>[999, 1116, 0]"]
33["Segment<br>[1124, 1180, 0]"]
37["Segment<br>[1188, 1195, 0]"]
9["Path<br>[791, 831, 0]"]
18["Segment<br>[839, 904, 0]"]
23["Segment<br>[912, 1009, 0]"]
26["Segment<br>[1017, 1134, 0]"]
33["Segment<br>[1142, 1198, 0]"]
37["Segment<br>[1206, 1213, 0]"]
45[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[773, 813, 0]"]
14["Segment<br>[821, 886, 0]"]
24["Segment<br>[894, 991, 0]"]
28["Segment<br>[999, 1116, 0]"]
34["Segment<br>[1124, 1180, 0]"]
38["Segment<br>[1188, 1195, 0]"]
10["Path<br>[791, 831, 0]"]
14["Segment<br>[839, 904, 0]"]
24["Segment<br>[912, 1009, 0]"]
28["Segment<br>[1017, 1134, 0]"]
34["Segment<br>[1142, 1198, 0]"]
38["Segment<br>[1206, 1213, 0]"]
46[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[773, 813, 0]"]
13["Segment<br>[821, 886, 0]"]
22["Segment<br>[894, 991, 0]"]
27["Segment<br>[999, 1116, 0]"]
32["Segment<br>[1124, 1180, 0]"]
39["Segment<br>[1188, 1195, 0]"]
11["Path<br>[791, 831, 0]"]
13["Segment<br>[839, 904, 0]"]
22["Segment<br>[912, 1009, 0]"]
27["Segment<br>[1017, 1134, 0]"]
32["Segment<br>[1142, 1198, 0]"]
39["Segment<br>[1206, 1213, 0]"]
47[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[773, 813, 0]"]
17["Segment<br>[821, 886, 0]"]
20["Segment<br>[894, 991, 0]"]
29["Segment<br>[999, 1116, 0]"]
36["Segment<br>[1124, 1180, 0]"]
42["Segment<br>[1188, 1195, 0]"]
12["Path<br>[791, 831, 0]"]
17["Segment<br>[839, 904, 0]"]
20["Segment<br>[912, 1009, 0]"]
29["Segment<br>[1017, 1134, 0]"]
36["Segment<br>[1142, 1198, 0]"]
42["Segment<br>[1206, 1213, 0]"]
48[Solid2d]
end
1["Plane<br>[356, 390, 0]"]
2["Plane<br>[405, 440, 0]"]
3["Plane<br>[454, 489, 0]"]
4["Plane<br>[504, 540, 0]"]
5["Plane<br>[552, 602, 0]"]
6["Plane<br>[615, 650, 0]"]
49["Sweep Extrusion<br>[1203, 1234, 0]"]
50["Sweep Extrusion<br>[1203, 1234, 0]"]
51["Sweep Extrusion<br>[1203, 1234, 0]"]
52["Sweep Extrusion<br>[1203, 1234, 0]"]
53["Sweep Extrusion<br>[1203, 1234, 0]"]
54["Sweep Extrusion<br>[1203, 1234, 0]"]
1["Plane<br>[374, 408, 0]"]
2["Plane<br>[423, 458, 0]"]
3["Plane<br>[472, 507, 0]"]
4["Plane<br>[522, 558, 0]"]
5["Plane<br>[570, 620, 0]"]
6["Plane<br>[633, 668, 0]"]
49["Sweep Extrusion<br>[1221, 1252, 0]"]
50["Sweep Extrusion<br>[1221, 1252, 0]"]
51["Sweep Extrusion<br>[1221, 1252, 0]"]
52["Sweep Extrusion<br>[1221, 1252, 0]"]
53["Sweep Extrusion<br>[1221, 1252, 0]"]
54["Sweep Extrusion<br>[1221, 1252, 0]"]
55[Wall]
56[Wall]
57[Wall]

View File

@ -2137,6 +2137,31 @@ description: Result of parsing color-cube.kcl
"type": "Name",
"type": "Name"
}
},
{
"commentStart": 0,
"end": 0,
"key": {
"commentStart": 0,
"end": 0,
"name": "kclVersion",
"start": 0,
"type": "Identifier"
},
"start": 0,
"type": "ObjectProperty",
"value": {
"commentStart": 0,
"end": 0,
"raw": "1.0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
}
],
"start": 0,

View File

@ -1,54 +1,54 @@
```mermaid
flowchart LR
subgraph path7 [Path]
7["Path<br>[645, 835, 0]"]
13["Segment<br>[845, 929, 0]"]
16["Segment<br>[939, 991, 0]"]
17["Segment<br>[1001, 1048, 0]"]
19["Segment<br>[1058, 1110, 0]"]
21["Segment<br>[1120, 1167, 0]"]
23["Segment<br>[1177, 1242, 0]"]
27["Segment<br>[1252, 1260, 0]"]
7["Path<br>[663, 853, 0]"]
13["Segment<br>[863, 947, 0]"]
16["Segment<br>[957, 1009, 0]"]
17["Segment<br>[1019, 1066, 0]"]
19["Segment<br>[1076, 1128, 0]"]
21["Segment<br>[1138, 1185, 0]"]
23["Segment<br>[1195, 1260, 0]"]
27["Segment<br>[1270, 1278, 0]"]
31[Solid2d]
end
subgraph path8 [Path]
8["Path<br>[645, 835, 0]"]
26["Segment<br>[1252, 1260, 0]"]
8["Path<br>[663, 853, 0]"]
26["Segment<br>[1270, 1278, 0]"]
32[Solid2d]
end
subgraph path9 [Path]
9["Path<br>[645, 835, 0]"]
14["Segment<br>[845, 929, 0]"]
15["Segment<br>[939, 991, 0]"]
18["Segment<br>[1001, 1048, 0]"]
20["Segment<br>[1058, 1110, 0]"]
22["Segment<br>[1120, 1167, 0]"]
24["Segment<br>[1177, 1242, 0]"]
25["Segment<br>[1252, 1260, 0]"]
9["Path<br>[663, 853, 0]"]
14["Segment<br>[863, 947, 0]"]
15["Segment<br>[957, 1009, 0]"]
18["Segment<br>[1019, 1066, 0]"]
20["Segment<br>[1076, 1128, 0]"]
22["Segment<br>[1138, 1185, 0]"]
24["Segment<br>[1195, 1260, 0]"]
25["Segment<br>[1270, 1278, 0]"]
36[Solid2d]
end
subgraph path10 [Path]
10["Path<br>[1288, 1338, 0]"]
29["Segment<br>[1288, 1338, 0]"]
10["Path<br>[1306, 1356, 0]"]
29["Segment<br>[1306, 1356, 0]"]
33[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[1288, 1338, 0]"]
30["Segment<br>[1288, 1338, 0]"]
11["Path<br>[1306, 1356, 0]"]
30["Segment<br>[1306, 1356, 0]"]
34[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[1288, 1338, 0]"]
28["Segment<br>[1288, 1338, 0]"]
12["Path<br>[1306, 1356, 0]"]
28["Segment<br>[1306, 1356, 0]"]
35[Solid2d]
end
1["Plane<br>[601, 634, 0]"]
2["Plane<br>[601, 634, 0]"]
3["Plane<br>[601, 634, 0]"]
4["StartSketchOnPlane<br>[587, 635, 0]"]
5["StartSketchOnPlane<br>[587, 635, 0]"]
6["StartSketchOnPlane<br>[587, 635, 0]"]
37["Sweep Loft<br>[1465, 1554, 0]"]
1["Plane<br>[619, 652, 0]"]
2["Plane<br>[619, 652, 0]"]
3["Plane<br>[619, 652, 0]"]
4["StartSketchOnPlane<br>[605, 653, 0]"]
5["StartSketchOnPlane<br>[605, 653, 0]"]
6["StartSketchOnPlane<br>[605, 653, 0]"]
37["Sweep Loft<br>[1483, 1572, 0]"]
38[Wall]
39[Wall]
40[Wall]

Some files were not shown because too many files have changed in this diff Show More