# 草图模块

# 模块名称: Sketch

# 特征信息: {'instanceId':'', 'entityId':0, 'id':0, 'name':''}

# 创建草图


接口名称: createSketch
输入参数:

参数名称 参数含义 类型 必须 参数值说明
sketchName 草图的特征名 整型
planeId 绘制草图的平面ID 整型 默认前视基准面

返回值: 创建草图特征信息(KVObject)

//示例程序
 Sketch.createSketch('sketchName', 8);
1
2

# 编辑草图


接口名称: editSketch
输入参数:

参数名称 参数含义 类型 必须 参数值说明
sketchName 草图的特征名 整型

返回值: NULL

//示例程序
 Sketch.editSketch('sketchName');
1
2

# 退出草图


接口名称: exitSketch
输入参数: 空
返回值: NULL

//示例程序
 Sketch.exitSketch();
1
2

# 退出编辑草图


接口名称: exitEditSketch
输入参数:

参数名称 参数含义 类型 必须 参数值说明
sketchName 草图的特征名 整型

返回值: NULL

//示例程序
 Sketch.exitEditSketch('sketchName');
1
2

# 直线


  • 创建直线

接口名称: createLine
输入参数:

参数名称 参数含义 类型 必须 参数值说明
StartPnt 线的起点 点Point
EndPnt 线的终点 点Point
DimensionType 尺寸约束类型 整型 0 无尺寸约束 默认
1 添加长度约束

返回值: LineId(整数)

//示例程序
 Sketch.createLine(startPnt, endPnt);
1
2
  • 创建参考直线

接口名称: createReferenceLine
输入参数:

参数名称 参数含义 类型 必须 参数值说明
StartPnt 线的起点 点Point
EndPnt 线的终点 点Point

返回值: ReferenceLineId(整数)

//示例程序
 Sketch.createReferenceLine(startPnt, endPnt);
1
2

# 矩形


  • 拐角矩形: 根据两个边角点,创建矩形

接口名称: createRectangle
输入参数:

参数名称 参数含义 类型 必须 参数值说明
startPnt 矩形的起点 点Point
endPnt 矩形的终点 点Point
dimensionType 尺寸类型 整型 0 无 默认
1 水平线长度约束
2 竖直线距离约束
3 水平+竖直线约束

返回值: NULL

//示例程序
 Sketch.createRectangle(startPnt, endPnt, dimensionType);
1
2
  • 中心点矩形: 根据中心点,创建矩形

接口名称: createRectangleByCenter
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 矩形的中心点 点Point
endPnt 矩形的终点 点Point
dimensionType 尺寸类型 整型 0 无 默认
1 水平线长度约束
2 竖直线距离约束
3 水平+竖直线约束

返回值: NULL

//示例程序
 Sketch.createRectangleByCenter(centerPnt, endPnt, dimensionType);
1
2
  • 三点矩形: 根据三个边角点,创建矩形

接口名称: createThreePointRectangle
输入参数:

参数名称 参数含义 类型 必须 参数值说明
firstPnt 三点矩形的第一个点 点Point
secondPnt 三点矩形的第二个点 点Point
thirdPnt 三点矩形的第三个点 点Point
dimensionType 尺寸类型 整型 0 无 默认
1 水平线长度约束
2 竖直线距离约束
3 水平+竖直线约束

返回值: NULL

//示例程序
 Sketch. createThreePointRectangle (firstPnt, secondPnt, thirdPnt, dimensionType)
1
2
  • 平行四边形: 根据三个边角点,创建平行四边形

接口名称: createParallelogram
输入参数:

参数名称 参数含义 类型 必须 参数值说明
firstPnt 平行四边形的第一个点 点Point
secondPnt 平行四边形的第二个点 点Point
thirdPnt 平行四边形的第三个点 点Point
dimensionType 尺寸类型 整型 0 无 默认
1 水平线长度约束
2 竖直线距离约束
3 水平+竖直线约束

返回值: NULL

//示例程序
 Sketch. createParallelogram(firstPnt, secondPnt, thirdPnt, dimensionType)
1
2

#


  • 两点圆: 根据圆心和圆上一点绘制圆

接口名称: createCircle
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 圆的中心点 点Point
circlePnt 圆上一点 点Point
dimensionType 圆尺寸约束 整型 0 无尺寸约束 默认
1 半径约束

返回值: CircleId(整数)

//示例程序
 Sketch.createCircle(centerPnt, circlePnt, dimensionType);
1
2
  • 三点圆: 根据圆上三点创建圆

接口名称: createCircleByThreePoint
输入参数:

参数名称 参数含义 类型 必须 参数值说明
circlePnt1 圆上某点1 点Point
circlePnt 2 圆上某点2 点Point
circlePnt3 圆上某点3 点Point
dimensionType 圆弧尺寸约束 整型 0 无尺寸约束 默认
1 半径约束

返回值: CircleId(整数)

//示例程序
 Sketch.createCircleByThreePoint(circlePnt1,circlePnt2,circlePnt3);
1
2

# 圆弧


  • 中心圆弧: 根据圆心、圆弧起点、圆弧终点绘制圆弧

接口名称: createArcByCenter
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 圆心点坐标 点 Point
startPnt 圆弧起点点坐标 点 Point
endPnt 圆弧终点点坐标 点 Point
dimensionType 圆弧尺寸约束 整型 0 无尺寸约束 默认
1 半径约束

返回值: 圆弧Id(整数)

//示例程序
 Sketch.createArcByCenter(centerPnt, startPnt, endPnt, dimensionType);
1
2
  • 三点圆弧: 根据圆弧起点、圆弧终点、圆弧上一点绘制圆弧

接口名称: createArcByThreePoint
输入参数:

参数名称 参数含义 类型 必须 参数值说明
startPnt 圆弧起点点坐标 点 Point
endPnt 圆弧终点点坐标 点 Point
thirdPnt 圆弧上一点坐标 点 Point
DimensionType 圆弧尺寸约束 整型 0 无尺寸约束 默认
1 半径约束

返回值: 圆弧Id(整数)

//示例程序
 Sketch.createArcByThreePoint(startPnt, endPnt, thirdPnt, dimensionType);
1
2

#


  • 直口槽: 根据槽的起点、终点和半径点绘制直口槽

接口名称: createStraightSlot
输入参数:

参数名称 参数含义 类型 必须 参数值说明
startPnt 槽的起点坐标 点 Point
endPnt 槽的终点点坐标 点 Point
radiusPnt 槽的半径点坐标 点 Point

返回值: NULL

//示例程序
 Sketch.createStraightSlot(startPnt, endPnt, radiusPnt);
1
2
  • 中心点直口槽: 根据槽的中点、终点和半径点绘制直口槽

接口名称: createCenterStraightSlot
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 槽的中点坐标 点 Point
endPnt 槽的终点点坐标 点 Point
radiusPnt 槽的半径点坐标 点 Point

返回值: NULL

//示例程序
 Sketch.createCenterStraightSlot(centerPnt, endPnt, radiusPnt);
1
2
  • 三点圆弧槽: 根据槽中圆弧起点、终点、圆弧上一点和半径点绘制圆弧槽

接口名称: createThreeArcSlot
输入参数:

参数名称 参数含义 类型 必须 参数值说明
startPnt 圆弧槽的起点坐标 点 Point
endPnt 圆弧槽的终点坐标 点 Point
thirdPnt 圆弧槽圆弧上点的坐标 点 Point
radiusPnt 槽的半径点坐标 点 Point

返回值: NULL

//示例程序
 Sketch.createThreeArcSlot(startPnt, endPnt, thirdPnt , radiusPnt);
1
2
  • 中心点圆弧槽: 根据槽中圆弧的中心点、起点、终点和半径点绘制直口槽

接口名称: createCenterArcSlot
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 圆弧槽的中心点坐标 点 Point
startPnt 圆弧槽的起点坐标 点 Point
endPnt 圆弧槽的终点坐标 点 Point
radiusPnt 槽的半径点坐标 点 Point

返回值: NULL

//示例程序
 Sketch.createCenterArcSlot(centerPnt, startPnt, endPnt, radiusPnt);
1
2

# 正多边形


接口名称: createRegularPolygon
输入参数:

参数名称 参数含义 类型 必须 参数值说明
centerPnt 辅助圆心点坐标 点Point
startPnt 辅助圆起点点坐标 点Point
edgeNum 正多边形边数 整型
mode 模式 浮点型 0 内接 默认
1 外切

返回值: NULL

//示例程序
 Sketch.CreateRegularPolygon(centerPnt, startPnt, edgeNum, edgeNum);
1
2

# 平面点


接口名称: createPoint
输入参数:

参数名称 参数含义 类型 必须 参数值说明
x 平面点的x坐标 浮点型
y 平面点的y坐标 浮点型

返回值: PointId(整数)

//示例程序
 Sketch.createPoint(x, y);
1
2

# 样条曲线


接口名称: createInptCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
pickPnt 拾取点对象 Point List 由Point组成的list

返回值: InptCurveId(整数)

//示例程序
 Sketch.createInptCurve(pickPnts);
1
2

# 倒角


  • 距离/距离倒角

接口名称: createChamferCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
curveId1 倒角第一条边的ID 整型
curveId2 倒角第二条边的ID 整型
distance1 倒角第一条边的距离 浮点型
distance2 倒角第二条边的距离 浮点型

返回值: NULL

//示例程序
 Sketch.createChamferCurve(curveId1, curveId2, distance1, distance2);
1
2
  • 距离/角度倒角

接口名称: createChamferCurveByAngle
输入参数:

参数名称 参数含义 类型 必须 参数值说明
curveId1 倒角第一条边的ID 整型
curveId2 倒角第二条边的ID 整型
distance1 倒角距离 浮点型
angle 倒角角度 浮点型

返回值: NULL

//示例程序
 Sketch.createChamferCurveByAngle(curveId1, curveId2, distance1, angle);
1
2

# 分割


接口名称: createDivision
输入参数:

参数名称 参数含义 类型 必须 参数值说明
lineId 直线的ID 整型
pickPnt 拾取点对象 点Point

返回值: NULL

//示例程序
 Sketch.createDivision(lineId, pickPnt);
1
2

# 圆角


接口名称: createFilletCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
curveId1 圆角边1的ID 整型
curveId2 圆角边2的ID 整型
radius 圆角半径 浮点型

返回值: NULL

//示例程序
 Sketch.createFilletCurve(curveId1, curveId2, radius);
1
2

# 剪裁


接口名称: createAutoTrimCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
trimCurveId 剪裁线ID 整型
trimCurvePnt 剪裁线上的点 点 Point 端点除外

返回值: NULL

//示例程序
 Sketch.createAutoTrimCurve(trimCurveId,trimCurvePnt);
1
2

# 延伸曲线


接口名称: createExtendCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
firstCurveId 延伸线的ID 整型
secondCurveId 截至线的ID 整型

返回值: NULL

//示例程序
 Sketch.createExtendCurve(firstCurveId, secondCurveId);
1
2

# 偏移


接口名称: createOffsetCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
offsetOnPlane 是否在平面上偏移 整型 1 平面
offsetCurveIds 偏移线ID 整型List
offsetType 偏移类型 整型 0 按距离偏移
offsetDistance 偏移距离 浮点型

返回值: NULL

//示例程序
 Sketch.createOffsetCurve(offsetOnPlane, curveIds, offsetType, offsetDistance);
1
2

# 设置参考线


接口名称: setReference
输入参数:

参数名称 参数含义 类型 必须 参数值说明
curveIds 曲线Id数组 整型 List
reference 是否为参考线 整型 0 非参考线
1 参考线 默认

返回值: NULL

//示例程序
 Sketch.setReference(curveIds, reference);
1
2

# 镜像


接口名称: createMirror
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 镜像元素Id数组 整型 List
mirrorAxisId 镜像轴Id 整型
copy 是否复制 整型 0 删除镜像元素
1 复制生成 默认

返回值: NULL

//示例程序
 Sketch.createMirror(elementIds, mirrorAxisId, copy);
1
2

# 复制


接口名称: copyElements
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 镜像元素Id数组 整型 List
startPnt 相对起始点 点 Point
endPnt 相对终点 点 Point

返回值: NULL

//示例程序
 Sketch.copyElements(elementIds, startPnt,  endPnt);
1
2

# 移动图元


接口名称: moveElements
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 移动元素Id数组 整型 List
startPnt 相对起始点 点 Point
endPnt 相对终点 点 Point

返回值: NULL

//示例程序
 Sketch.moveElements({
   elementIds: [elementId],
   startPnt: startPnt,
   endPnt: endPnt,
 });
1
2
3
4
5
6

# 缩放图元


接口名称: createScaleElements
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 移动元素Id数组 整型 List
scalePnt 缩放中心点 点 Point
scaleRef 缩放比例 浮点型
copyFlag 是否复制 整型
copyNum 复制个数 整型

返回值: NULL

//示例程序
 Sketch.createScaleElements({
 elementIds: [elementId],
   scalePnt: scalePnt,
   scaleRef: 0.2,
   copyFlag: 0,
   copyNum: 1,
 });
1
2
3
4
5
6
7
8

# 旋转图元


接口名称: createRotateElements
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 旋转元素Id数组 整型 List
centerPnt 旋转中心点 点 Point
angle 旋转角度 浮点型

返回值: NULL

//示例程序
 Sketch.createRotateElements(elementIds, centerPnt, angle);
1
2

# 删除草图元素、草图约束


接口名称: deleteElements
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 删除元素、约束的Id数组 整型 List

返回值: NULL

//示例程序
 Sketch.deleteElements(elementIds);
1
2

# 创建草图尺寸约束


接口名称: createDimension
输入参数:

参数名称 参数含义 类型 必须 参数值说明
firstSnapId 第一个元素的Id 整型
firstPickPnt 第一个元素上的一点 点 Point
firstSnapType 第一个元素的上点的类型 整型 1: 点
2: 起点
3: 终点
4: 中点
7: 曲线点 (默认)
secondSnapId 第二个元素的Id 整型
secondPickPnt 第二个元素上的一点 点 Point
secondSnapType 第二个元素的上点的类型 整型 1: 点
2: 起点
3: 终点
4: 中点
7: 曲线点 (默认)
direction 约束方向 整型 约束方向 0: 水平, 1:竖直, 3:自动(默认)
dimPosition 约束添加的位置 点 Point 默认位置
dimVal 约束值 变量 Variable 约束值(需要>0, 0为添加当前实际值为约束)
changeDimVal 是否修改约束值 点 Point 0:不修改(默认), 1:修改
radiusOrDiameter 圆的尺寸类型 点 Point 0:直径(默认), 1:半径

返回值: 尺寸约束的Id(整数)

//示例程序
var dId = Sketch.createDimension({
  firstSnapId: 12,
  firstPickPnt: new Point(10,0.0),
  firstSnapType: 7,
  secondSnapId: 13,
  secondPickPnt: new Point(-10,0.0),
  secondSnapType: 7,
  direction: 3,
  dimPosition: new Point(-50,20,0.0),
  radiusOrDiameter: 0,
});
1
2
3
4
5
6
7
8
9
10
11
12

# 修改尺寸约束的值


接口名称: editDimensionValue
输入参数:

参数名称 参数含义 类型 必须 参数值说明
dimensionId 对应尺寸约束Id 整型
value 尺寸约束值 变量 Variable

返回值: NULL

//示例程序
Sketch.editDimensionValue(dimensionId,new Variable(100));
1
2

# 移动尺寸约束位置


接口名称: modifyDimensionPosition
输入参数:

参数名称 参数含义 类型 必须 参数值说明
dimensionId 对应尺寸约束Id 整型
newPosition 新的约束位置 点 Point

返回值: NULL

//示例程序
Sketch.modifyDimensionPosition(dimensionId,new Point(1,1,1));
1
2

# 线性草图阵列


接口名称: createSketchLinearPattern
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 移动元素Id数组 整型 List
direction1 阵列的方向1 方向 Direction 默认为X轴
spacing1 方向1阵列的距离 浮点型
reverse1 方向1是否反向 整型 0:不反向 默认
1:反向
copyNum1 方向1阵列的实例数 整型
XAngle1 方向1阵列与X轴的角度 浮点型 角度范围[0, 360)
disFlag1 是否标注方向1间距 整型 0:不标注 默认
1:标注
copyNumFlag1 是否标注方向1实例计数 整型 0:不标注 默认
1:标注
direction2 阵列的方向2 方向 Direction 默认为X轴
spacing2 方向2阵列的距离 浮点型
reverse2 方向2是否反向 整型 0:不反向 默认
1:反向
copyNum2 方向2阵列的实例数 整型
XAngle2 方向2阵列与X轴的角度 浮点型 角度范围[0, 360)
disFlag2 是否标注方向2间距 整型 0:不标注 默认
1:标注
copyNumFlag2 是否标注方向2实例计数 整型 0:不标注 默认
1:标注
angleFlag 方向2是否添加角度标识 整型 0:不添加 默认
1:添加
patternSeedFlag 是否只阵列源 整型 0:否 默认
1:是
skipInstance 跳过实例的数组 整型 List

返回值: NULL

# 圆周草图阵列


接口名称: createSketchCircularPattern
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 移动元素Id数组 整型 List
angle 圆周阵列的角度 浮点型 角度范围[-360, 360]
instanceNum 圆周阵列的实例数 整型
reverse 是否反向阵列 整型 0:不反向 默认
1:反向
equalDisFlag 是否相等间距 整型 0:否 默认
1:是
labelDisFlag 是否标注间距 整型 0:不标注 默认
1:标注
labelRadiusFlag 是否标注半径 整型 0:不标注 默认
1:标注
labelSolidNumFlag 是否标注实例计数 整型 0:不标注 默认
1:标注
pointX 阵列中心点X的值 浮点型
pointY 阵列中心点Y的值 浮点型
pointId 阵列中心点Id 整型
skipInstance 跳过实例的数组 整型 List

返回值: NULL

# 转换边界


接口名称: convertEdge
输入参数:

参数名称 参数含义 类型 必须 参数值说明
edgeIds 待转换边的id数组 整型 List

返回值: NULL

//示例程序
Sketch.convertEdge([edgeId1, edgeId2]);
1
2

# 交叉曲线


接口名称: createIntersectCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
elementIds 相交面的id数组 整型 List

返回值: NULL

//示例程序
Sketch.createIntersectCurve([faceId1, faceId2]);
1
2

# 方程式曲线


接口名称: createEquationCurve
输入参数:

参数名称 参数含义 类型 必须 参数值说明
equationType 方程式类型 整型 List 显性: 1 默认
参数性: 2(以 t 为自变量)
coordinateType 坐标系类型 整型 笛卡尔坐标系: 1 默认
极坐标系: 2(显性时自变量为: THETA)
equation1 方程式1 字符串
equation2 方程式2 字符串 仅在参数式方程中输入
startValue 起始值 浮点型
endValue 终止值 浮点型

返回值: NULL

//示例程序
Sketch.createEquationCurve({
  equationType: 2,
  coordinateType: 1,
  equation1: "2*sin(t)",
  equation2: "2*cos(t)",
  startValue: 10,
  endValue: 0,
});
1
2
3
4
5
6
7
8
9