Compare commits
1 Commits
jtran/plus
...
achalmers/
Author | SHA1 | Date | |
---|---|---|---|
081cf5f17c |
@ -16,3 +16,5 @@ export const ARG_END_ABSOLUTE_Y = 'endAbsoluteY'
|
|||||||
export const ARG_INTERSECT_TAG = 'intersectTag'
|
export const ARG_INTERSECT_TAG = 'intersectTag'
|
||||||
export const ARG_INTERIOR_ABSOLUTE = 'interiorAbsolute'
|
export const ARG_INTERIOR_ABSOLUTE = 'interiorAbsolute'
|
||||||
export const ARG_AT = 'at'
|
export const ARG_AT = 'at'
|
||||||
|
export const ARG_LEG = 'leg'
|
||||||
|
export const ARG_HYPOTENUSE = 'hypotenuse'
|
||||||
|
@ -318,8 +318,8 @@ part001 = startSketchOn(XY)
|
|||||||
|> angledLine(angle = myVar, length = segLen(seg01)) // ln-use segLen for second arg
|
|> angledLine(angle = myVar, length = segLen(seg01)) // ln-use segLen for second arg
|
||||||
|> angledLine(angle = 45, length = segLen(seg01)) // ln-segLen again
|
|> angledLine(angle = 45, length = segLen(seg01)) // ln-segLen again
|
||||||
|> angledLine(angle = 54, length = segLen(seg01)) // ln-should be transformed to angledLine
|
|> angledLine(angle = 54, length = segLen(seg01)) // ln-should be transformed to angledLine
|
||||||
|> angledLine(angle = legAngX(segLen(seg01), myVar), lengthX = min([segLen(seg01), myVar])) // ln-should use legAngX to calculate angle
|
|> angledLine(angle = legAngX(hypotenuse = segLen(seg01), leg = myVar), lengthX = min([segLen(seg01), myVar])) // ln-should use legAngX to calculate angle
|
||||||
|> angledLine(angle = 180 + legAngX(segLen(seg01), myVar), lengthX = min([segLen(seg01), myVar])) // ln-same as above but should have + 180 to match original quadrant
|
|> angledLine(angle = 180 + legAngX(hypotenuse = segLen(seg01), leg = myVar), lengthX = min([segLen(seg01), myVar])) // ln-same as above but should have + 180 to match original quadrant
|
||||||
|> line(end = [
|
|> line(end = [
|
||||||
legLen(hypotenuse = segLen(seg01), leg = myVar),
|
legLen(hypotenuse = segLen(seg01), leg = myVar),
|
||||||
min([segLen(seg01), myVar])
|
min([segLen(seg01), myVar])
|
||||||
@ -330,8 +330,8 @@ part001 = startSketchOn(XY)
|
|||||||
]) // ln-negative legLen yRelative
|
]) // ln-negative legLen yRelative
|
||||||
|> angledLine(angle = 58, length = segLen(seg01)) // ln-angledLineOfYLength-free should become angledLine
|
|> angledLine(angle = 58, length = segLen(seg01)) // ln-angledLineOfYLength-free should become angledLine
|
||||||
|> angledLine(angle = myAng, length = segLen(seg01)) // ln-angledLineOfYLength-angle should become angledLine
|
|> angledLine(angle = myAng, length = segLen(seg01)) // ln-angledLineOfYLength-angle should become angledLine
|
||||||
|> angledLine(angle = legAngY(segLen(seg01), myVar), lengthX = min([segLen(seg01), myVar])) // ln-angledLineOfYLength-yRelative use legAngY
|
|> angledLine(angle = legAngY(hypotenuse = segLen(seg01), leg = myVar), lengthX = min([segLen(seg01), myVar])) // ln-angledLineOfYLength-yRelative use legAngY
|
||||||
|> angledLine(angle = 270 + legAngY(segLen(seg01), myVar), lengthX = min([segLen(seg01), myVar])) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
|> angledLine(angle = 270 + legAngY(hypotenuse = segLen(seg01), leg = myVar), lengthX = min([segLen(seg01), myVar])) // ln-angledLineOfYLength-yRelative with angle > 90 use binExp
|
||||||
|> xLine(length = segLen(seg01)) // ln-xLine-free should sub in segLen
|
|> xLine(length = segLen(seg01)) // ln-xLine-free should sub in segLen
|
||||||
|> yLine(length = segLen(seg01)) // ln-yLine-free should sub in segLen
|
|> yLine(length = segLen(seg01)) // ln-yLine-free should sub in segLen
|
||||||
|> xLine(length = segLen(seg01)) // ln-xLineTo-free should convert to xLine
|
|> xLine(length = segLen(seg01)) // ln-xLineTo-free should convert to xLine
|
||||||
|
@ -6,6 +6,8 @@ import {
|
|||||||
ARG_END,
|
ARG_END,
|
||||||
ARG_END_ABSOLUTE,
|
ARG_END_ABSOLUTE,
|
||||||
ARG_END_ABSOLUTE_X,
|
ARG_END_ABSOLUTE_X,
|
||||||
|
ARG_LEG,
|
||||||
|
ARG_HYPOTENUSE,
|
||||||
ARG_END_ABSOLUTE_Y,
|
ARG_END_ABSOLUTE_Y,
|
||||||
ARG_INTERSECT_TAG,
|
ARG_INTERSECT_TAG,
|
||||||
ARG_LENGTH,
|
ARG_LENGTH,
|
||||||
@ -473,9 +475,9 @@ const getMinAndSegAngVals = (
|
|||||||
createArrayExpression([createSegLen(referenceSegName), varVal]),
|
createArrayExpression([createSegLen(referenceSegName), varVal]),
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
const legAngle = createCallExpression(fnName, [
|
const legAngle = createCallExpressionStdLibKw(fnName, null, [
|
||||||
createSegLen(referenceSegName),
|
createLabeledArg(ARG_HYPOTENUSE, createSegLen(referenceSegName)),
|
||||||
varVal,
|
createLabeledArg(ARG_LEG, varVal),
|
||||||
])
|
])
|
||||||
return [minVal, legAngle]
|
return [minVal, legAngle]
|
||||||
}
|
}
|
||||||
@ -2177,26 +2179,38 @@ export function transformAstSketchLines({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createSegLen(referenceSegName: string): BinaryPart {
|
function createSegLen(referenceSegName: string): BinaryPart {
|
||||||
return createCallExpression('segLen', [createLocalName(referenceSegName)])
|
return createCallExpressionStdLibKw(
|
||||||
|
'segLen',
|
||||||
|
createLocalName(referenceSegName),
|
||||||
|
[]
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function createSegAngle(referenceSegName: string): BinaryPart {
|
function createSegAngle(referenceSegName: string): BinaryPart {
|
||||||
return createCallExpression('segAng', [createLocalName(referenceSegName)])
|
return createCallExpressionStdLibKw(
|
||||||
|
'segAng',
|
||||||
|
createLocalName(referenceSegName),
|
||||||
|
[]
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function createSegEnd(
|
function createSegEnd(
|
||||||
referenceSegName: string,
|
referenceSegName: string,
|
||||||
isX: boolean
|
isX: boolean
|
||||||
): Node<CallExpression> {
|
): Node<CallExpressionKw> {
|
||||||
return createCallExpression(isX ? 'segEndX' : 'segEndY', [
|
return createCallExpressionStdLibKw(
|
||||||
|
isX ? 'segEndX' : 'segEndY',
|
||||||
createLocalName(referenceSegName),
|
createLocalName(referenceSegName),
|
||||||
])
|
[]
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function createLastSeg(isX: boolean): Node<CallExpression> {
|
function createLastSeg(isX: boolean): Node<CallExpressionKw> {
|
||||||
return createCallExpression(isX ? 'lastSegX' : 'lastSegY', [
|
return createCallExpressionStdLibKw(
|
||||||
|
isX ? 'lastSegX' : 'lastSegY',
|
||||||
createPipeSubstitution(),
|
createPipeSubstitution(),
|
||||||
])
|
[]
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ConstraintLevel = 'free' | 'partial' | 'full'
|
export type ConstraintLevel = 'free' | 'partial' | 'full'
|
||||||
|
Reference in New Issue
Block a user