@jlceda/pro-api-types 0.2.37 → 0.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1581 -1377
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -498,7 +498,7 @@ declare global {
|
|
|
498
498
|
* 搜索符号
|
|
499
499
|
*
|
|
500
500
|
* @beta
|
|
501
|
-
* @param key -
|
|
501
|
+
* @param key - 搜索���键字
|
|
502
502
|
* @param libraryUuid - 库 UUID,默认为系统库,可以使用 {@link LIB_LibrariesList} 内的接口获取
|
|
503
503
|
* @param classification - 分类,默认为全部
|
|
504
504
|
* @param symbolType - 符号类型,默认为全部
|
|
@@ -1880,7 +1880,7 @@ declare global {
|
|
|
1880
1880
|
* @param libraryUuid - 库 UUID,可以使用 {@link LIB_LibrariesList} 内的接口获取
|
|
1881
1881
|
* @param targetLibraryUuid - 目标库 UUID
|
|
1882
1882
|
* @param targetClassification - 目标库内的分类
|
|
1883
|
-
* @param newModelName - 新 3D
|
|
1883
|
+
* @param newModelName - 新 3D 模型名称,如若目标库内存在重名 3D 模型将导致复制失败
|
|
1884
1884
|
* @returns 目标库内新 3D 模型的 UUID
|
|
1885
1885
|
*/
|
|
1886
1886
|
copy(modelUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array<string>, newModelName?: string): Promise<string | undefined>;
|
|
@@ -3173,1514 +3173,1943 @@ declare global {
|
|
|
3173
3173
|
}
|
|
3174
3174
|
|
|
3175
3175
|
/**
|
|
3176
|
-
*
|
|
3176
|
+
* 图层 ID
|
|
3177
3177
|
*
|
|
3178
3178
|
* @public
|
|
3179
3179
|
*/
|
|
3180
|
-
enum
|
|
3181
|
-
/**
|
|
3182
|
-
|
|
3183
|
-
/**
|
|
3184
|
-
|
|
3185
|
-
/**
|
|
3186
|
-
|
|
3187
|
-
/**
|
|
3188
|
-
|
|
3189
|
-
/**
|
|
3190
|
-
|
|
3191
|
-
/**
|
|
3192
|
-
|
|
3193
|
-
/**
|
|
3194
|
-
|
|
3195
|
-
/**
|
|
3196
|
-
|
|
3197
|
-
/**
|
|
3198
|
-
|
|
3199
|
-
/**
|
|
3200
|
-
|
|
3201
|
-
/**
|
|
3202
|
-
|
|
3203
|
-
/**
|
|
3204
|
-
|
|
3205
|
-
/**
|
|
3206
|
-
|
|
3207
|
-
/**
|
|
3208
|
-
|
|
3209
|
-
/**
|
|
3210
|
-
|
|
3211
|
-
/**
|
|
3212
|
-
|
|
3180
|
+
enum EPCB_LayerId {
|
|
3181
|
+
/** 顶层 */
|
|
3182
|
+
TOP = 1,
|
|
3183
|
+
/** 顶层丝印层 */
|
|
3184
|
+
TOP_SILKSCREEN = 3,
|
|
3185
|
+
/** 顶层阻焊层 */
|
|
3186
|
+
TOP_SOLDER_MASK = 5,
|
|
3187
|
+
/** 顶层锡膏(助焊)层 */
|
|
3188
|
+
TOP_PASTE_MASK = 7,
|
|
3189
|
+
/** 顶层装配层 */
|
|
3190
|
+
TOP_ASSEMBLY = 9,
|
|
3191
|
+
/** 顶层 FPC 补强层 */
|
|
3192
|
+
TOP_STIFFENER = 58,
|
|
3193
|
+
/** 底层 */
|
|
3194
|
+
BOTTOM = 2,
|
|
3195
|
+
/** 底层丝印层 */
|
|
3196
|
+
BOTTOM_SILKSCREEN = 4,
|
|
3197
|
+
/** 底层阻焊层 */
|
|
3198
|
+
BOTTOM_SOLDER_MASK = 6,
|
|
3199
|
+
/** 底层锡膏(助焊)层 */
|
|
3200
|
+
BOTTOM_PASTE_MASK = 8,
|
|
3201
|
+
/** 底层装配层 */
|
|
3202
|
+
BOTTOM_ASSEMBLY = 10,
|
|
3203
|
+
/** 底层 FPC 补强层 */
|
|
3204
|
+
BOTTOM_STIFFENER = 59,
|
|
3205
|
+
/** 板框层 */
|
|
3206
|
+
BOARD_OUTLINE = 11,
|
|
3207
|
+
/** 多层 */
|
|
3208
|
+
MULTI = 12,
|
|
3209
|
+
/** 文档层 */
|
|
3210
|
+
DOCUMENT = 13,
|
|
3211
|
+
/** 机械层 */
|
|
3212
|
+
MECHANICAL = 14,
|
|
3213
|
+
/** 飞线层 */
|
|
3214
|
+
RATLINE = 57,
|
|
3215
|
+
/** 内层 1 */
|
|
3216
|
+
INNER_1 = 15,
|
|
3217
|
+
/** 内层 2 */
|
|
3218
|
+
INNER_2 = 16,
|
|
3219
|
+
/** 内层 3 */
|
|
3220
|
+
INNER_3 = 17,
|
|
3221
|
+
/** 内层 4 */
|
|
3222
|
+
INNER_4 = 18,
|
|
3223
|
+
/** 内层 5 */
|
|
3224
|
+
INNER_5 = 19,
|
|
3225
|
+
/** 内层 6 */
|
|
3226
|
+
INNER_6 = 20,
|
|
3227
|
+
/** 内层 7 */
|
|
3228
|
+
INNER_7 = 21,
|
|
3229
|
+
/** 内层 8 */
|
|
3230
|
+
INNER_8 = 22,
|
|
3231
|
+
/** 内层 9 */
|
|
3232
|
+
INNER_9 = 23,
|
|
3233
|
+
/** 内层 10 */
|
|
3234
|
+
INNER_10 = 24,
|
|
3235
|
+
/** 内层 11 */
|
|
3236
|
+
INNER_11 = 25,
|
|
3237
|
+
/** 内层 12 */
|
|
3238
|
+
INNER_12 = 26,
|
|
3239
|
+
/** 内层 13 */
|
|
3240
|
+
INNER_13 = 27,
|
|
3241
|
+
/** 内层 14 */
|
|
3242
|
+
INNER_14 = 28,
|
|
3243
|
+
/** 内层 15 */
|
|
3244
|
+
INNER_15 = 29,
|
|
3245
|
+
/** 内层 16 */
|
|
3246
|
+
INNER_16 = 30,
|
|
3247
|
+
/** 内层 17 */
|
|
3248
|
+
INNER_17 = 31,
|
|
3249
|
+
/** 内层 18 */
|
|
3250
|
+
INNER_18 = 32,
|
|
3251
|
+
/** 内层 19 */
|
|
3252
|
+
INNER_19 = 33,
|
|
3253
|
+
/** 内层 20 */
|
|
3254
|
+
INNER_20 = 34,
|
|
3255
|
+
/** 内层 21 */
|
|
3256
|
+
INNER_21 = 35,
|
|
3257
|
+
/** 内层 22 */
|
|
3258
|
+
INNER_22 = 36,
|
|
3259
|
+
/** 内层 23 */
|
|
3260
|
+
INNER_23 = 37,
|
|
3261
|
+
/** 内层 24 */
|
|
3262
|
+
INNER_24 = 38,
|
|
3263
|
+
/** 内层 25 */
|
|
3264
|
+
INNER_25 = 39,
|
|
3265
|
+
/** 内层 26 */
|
|
3266
|
+
INNER_26 = 40,
|
|
3267
|
+
/** 内层 27 */
|
|
3268
|
+
INNER_27 = 41,
|
|
3269
|
+
/** 内层 28 */
|
|
3270
|
+
INNER_28 = 42,
|
|
3271
|
+
/** 内层 29 */
|
|
3272
|
+
INNER_29 = 43,
|
|
3273
|
+
/** 内层 30 */
|
|
3274
|
+
INNER_30 = 44,
|
|
3275
|
+
/** 内层 31 */
|
|
3276
|
+
/** 内层 32 */
|
|
3277
|
+
/** 自定义层 1 */
|
|
3278
|
+
CUSTOM_1 = 71,
|
|
3279
|
+
/** 自定义层 2 */
|
|
3280
|
+
CUSTOM_2 = 72,
|
|
3281
|
+
/** 自定义层 3 */
|
|
3282
|
+
CUSTOM_3 = 73,
|
|
3283
|
+
/** 自定义层 4 */
|
|
3284
|
+
CUSTOM_4 = 74,
|
|
3285
|
+
/** 自定义层 5 */
|
|
3286
|
+
CUSTOM_5 = 75,
|
|
3287
|
+
/** 自定义层 6 */
|
|
3288
|
+
CUSTOM_6 = 76,
|
|
3289
|
+
/** 自定义层 7 */
|
|
3290
|
+
CUSTOM_7 = 77,
|
|
3291
|
+
/** 自定义层 8 */
|
|
3292
|
+
CUSTOM_8 = 78,
|
|
3293
|
+
/** 自定义层 9 */
|
|
3294
|
+
CUSTOM_9 = 79,
|
|
3295
|
+
/** 自定义层 10 */
|
|
3296
|
+
CUSTOM_10 = 80,
|
|
3297
|
+
/** 自定义层 11 */
|
|
3298
|
+
CUSTOM_11 = 81,
|
|
3299
|
+
/** 自定义层 12 */
|
|
3300
|
+
CUSTOM_12 = 82,
|
|
3301
|
+
/** 自定义层 13 */
|
|
3302
|
+
CUSTOM_13 = 83,
|
|
3303
|
+
/** 自定义层 14 */
|
|
3304
|
+
CUSTOM_14 = 84,
|
|
3305
|
+
/** 自定义层 15 */
|
|
3306
|
+
CUSTOM_15 = 85,
|
|
3307
|
+
/** 自定义层 16 */
|
|
3308
|
+
CUSTOM_16 = 86,
|
|
3309
|
+
/** 自定义层 17 */
|
|
3310
|
+
CUSTOM_17 = 87,
|
|
3311
|
+
/** 自定义层 18 */
|
|
3312
|
+
CUSTOM_18 = 88,
|
|
3313
|
+
/** 自定义层 19 */
|
|
3314
|
+
CUSTOM_19 = 89,
|
|
3315
|
+
/** 自定义层 20 */
|
|
3316
|
+
CUSTOM_20 = 90,
|
|
3317
|
+
/** 自定义层 21 */
|
|
3318
|
+
CUSTOM_21 = 91,
|
|
3319
|
+
/** 自定义层 22 */
|
|
3320
|
+
CUSTOM_22 = 92,
|
|
3321
|
+
/** 自定义层 23 */
|
|
3322
|
+
CUSTOM_23 = 93,
|
|
3323
|
+
/** 自定义层 24 */
|
|
3324
|
+
CUSTOM_24 = 94,
|
|
3325
|
+
/** 自定义层 25 */
|
|
3326
|
+
CUSTOM_25 = 95,
|
|
3327
|
+
/** 自定义层 26 */
|
|
3328
|
+
CUSTOM_26 = 96,
|
|
3329
|
+
/** 自定义层 27 */
|
|
3330
|
+
CUSTOM_27 = 97,
|
|
3331
|
+
/** 自定义层 28 */
|
|
3332
|
+
CUSTOM_28 = 98,
|
|
3333
|
+
/** 自定义层 29 */
|
|
3334
|
+
CUSTOM_29 = 99,
|
|
3335
|
+
/** 自定义层 30 */
|
|
3336
|
+
CUSTOM_30 = 100,
|
|
3337
|
+
/** 夹层(介电基板)1 */
|
|
3338
|
+
SUBSTRATE_1 = 101,
|
|
3339
|
+
/** 孔层(焊盘、过孔的内孔) */
|
|
3340
|
+
HOLE = 47,
|
|
3341
|
+
/** 元件外形层 */
|
|
3342
|
+
COMPONENT_SHAPE = 48,
|
|
3343
|
+
/** 元件标识层 */
|
|
3344
|
+
COMPONENT_MARKING = 49,
|
|
3345
|
+
/** 引脚焊接层 */
|
|
3346
|
+
PIN_SOLDERING = 50,
|
|
3347
|
+
/** 引脚悬空层 */
|
|
3348
|
+
PIN_FLOATING = 51,
|
|
3349
|
+
/** 元件模型层 */
|
|
3350
|
+
COMPONENT_MODEL = 52,
|
|
3351
|
+
/** 3D 外壳边框层 */
|
|
3352
|
+
SHELL_3D_OUTLINE = 53,
|
|
3353
|
+
/** 3D 外壳顶层 */
|
|
3354
|
+
SHELL_3D_TOP = 54,
|
|
3355
|
+
/** 3D 外壳底层 */
|
|
3356
|
+
SHELL_3D_BOTTOM = 55,
|
|
3357
|
+
/** 钻孔图层 */
|
|
3358
|
+
DRILL_DRAWING = 56
|
|
3213
3359
|
}
|
|
3214
3360
|
/**
|
|
3215
|
-
*
|
|
3361
|
+
* 层状态
|
|
3362
|
+
*/
|
|
3363
|
+
enum EPCB_LayerStatus {
|
|
3364
|
+
/** 不使用 */
|
|
3365
|
+
NOT_USED = 0,
|
|
3366
|
+
/** 使用并展示 */
|
|
3367
|
+
SHOW = 1,
|
|
3368
|
+
/** 使用但不展示 */
|
|
3369
|
+
HIDDEN = 2
|
|
3370
|
+
}
|
|
3371
|
+
/**
|
|
3372
|
+
* 可选中图层
|
|
3216
3373
|
*
|
|
3217
3374
|
* @public
|
|
3218
|
-
* @remarks
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
*
|
|
3223
|
-
* 2. 当图元为通孔焊盘时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效
|
|
3224
|
-
*
|
|
3225
|
-
* 3. 当图元为过孔时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效,如若为盲孔,则视其暴露层生效其阻焊扩展设置
|
|
3375
|
+
* @remarks 此处为所有在编辑器图层菜单中可以选中并设置可见性的图层
|
|
3376
|
+
*/
|
|
3377
|
+
type TPCB_LayersInTheSelectable = TPCB_LayersOfInner | TPCB_LayersOfCustom | EPCB_LayerId.TOP | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.TOP_STIFFENER | EPCB_LayerId.BOTTOM | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.BOTTOM_STIFFENER | EPCB_LayerId.BOARD_OUTLINE | EPCB_LayerId.MULTI | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING | EPCB_LayerId.RATLINE | EPCB_LayerId.COMPONENT_SHAPE | EPCB_LayerId.COMPONENT_MARKING | EPCB_LayerId.PIN_SOLDERING | EPCB_LayerId.PIN_FLOATING | EPCB_LayerId.SHELL_3D_OUTLINE | EPCB_LayerId.SHELL_3D_TOP | EPCB_LayerId.SHELL_3D_BOTTOM;
|
|
3378
|
+
/**
|
|
3379
|
+
* 内层
|
|
3226
3380
|
*
|
|
3227
|
-
*
|
|
3381
|
+
* @public
|
|
3228
3382
|
*/
|
|
3229
|
-
|
|
3230
|
-
/** 顶层阻焊扩展 */
|
|
3231
|
-
topSolderMask?: number;
|
|
3232
|
-
/** 底层阻焊扩展 */
|
|
3233
|
-
bottomSolderMask?: number;
|
|
3234
|
-
/** 顶层助焊扩展 */
|
|
3235
|
-
topPasteMask?: number;
|
|
3236
|
-
/** 底层助焊扩展 */
|
|
3237
|
-
bottomPasteMask?: number;
|
|
3238
|
-
}
|
|
3383
|
+
type TPCB_LayersOfInner = EPCB_LayerId.INNER_1 | EPCB_LayerId.INNER_2 | EPCB_LayerId.INNER_3 | EPCB_LayerId.INNER_4 | EPCB_LayerId.INNER_5 | EPCB_LayerId.INNER_6 | EPCB_LayerId.INNER_7 | EPCB_LayerId.INNER_8 | EPCB_LayerId.INNER_9 | EPCB_LayerId.INNER_10 | EPCB_LayerId.INNER_11 | EPCB_LayerId.INNER_12 | EPCB_LayerId.INNER_13 | EPCB_LayerId.INNER_14 | EPCB_LayerId.INNER_15 | EPCB_LayerId.INNER_16 | EPCB_LayerId.INNER_17 | EPCB_LayerId.INNER_18 | EPCB_LayerId.INNER_19 | EPCB_LayerId.INNER_20 | EPCB_LayerId.INNER_21 | EPCB_LayerId.INNER_22 | EPCB_LayerId.INNER_23 | EPCB_LayerId.INNER_24 | EPCB_LayerId.INNER_25 | EPCB_LayerId.INNER_26 | EPCB_LayerId.INNER_27 | EPCB_LayerId.INNER_28 | EPCB_LayerId.INNER_29 | EPCB_LayerId.INNER_30;
|
|
3239
3384
|
/**
|
|
3240
|
-
*
|
|
3385
|
+
* 自定义层
|
|
3241
3386
|
*
|
|
3242
3387
|
* @public
|
|
3243
|
-
* @remarks 图元的统一操作
|
|
3244
3388
|
*/
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3389
|
+
type TPCB_LayersOfCustom = EPCB_LayerId.CUSTOM_1 | EPCB_LayerId.CUSTOM_2 | EPCB_LayerId.CUSTOM_3 | EPCB_LayerId.CUSTOM_4 | EPCB_LayerId.CUSTOM_5 | EPCB_LayerId.CUSTOM_6 | EPCB_LayerId.CUSTOM_7 | EPCB_LayerId.CUSTOM_8 | EPCB_LayerId.CUSTOM_9 | EPCB_LayerId.CUSTOM_10 | EPCB_LayerId.CUSTOM_11 | EPCB_LayerId.CUSTOM_12 | EPCB_LayerId.CUSTOM_13 | EPCB_LayerId.CUSTOM_14 | EPCB_LayerId.CUSTOM_15 | EPCB_LayerId.CUSTOM_16 | EPCB_LayerId.CUSTOM_17 | EPCB_LayerId.CUSTOM_18 | EPCB_LayerId.CUSTOM_19 | EPCB_LayerId.CUSTOM_20 | EPCB_LayerId.CUSTOM_21 | EPCB_LayerId.CUSTOM_22 | EPCB_LayerId.CUSTOM_23 | EPCB_LayerId.CUSTOM_24 | EPCB_LayerId.CUSTOM_25 | EPCB_LayerId.CUSTOM_26 | EPCB_LayerId.CUSTOM_27 | EPCB_LayerId.CUSTOM_28 | EPCB_LayerId.CUSTOM_29 | EPCB_LayerId.CUSTOM_30;
|
|
3390
|
+
/**
|
|
3391
|
+
* 器件所属层
|
|
3392
|
+
*
|
|
3393
|
+
* @public
|
|
3394
|
+
*/
|
|
3395
|
+
type TPCB_LayersOfComponent = EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM;
|
|
3396
|
+
/**
|
|
3397
|
+
* 铜箔所属层
|
|
3398
|
+
*
|
|
3399
|
+
* @public
|
|
3400
|
+
* @remarks 此处为方便单层铜箔层设计,不包含 {@link EPCB_LayerId.MULTI}
|
|
3401
|
+
*/
|
|
3402
|
+
type TPCB_LayersOfCopper = TPCB_LayersOfInner | EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM;
|
|
3403
|
+
/**
|
|
3404
|
+
* 焊盘所属层
|
|
3405
|
+
*
|
|
3406
|
+
* @public
|
|
3407
|
+
*/
|
|
3408
|
+
type TPCB_LayersOfPad = EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM | EPCB_LayerId.MULTI;
|
|
3409
|
+
/**
|
|
3410
|
+
* 线所属层
|
|
3411
|
+
*
|
|
3412
|
+
* @public
|
|
3413
|
+
*/
|
|
3414
|
+
type TPCB_LayersOfLine = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.BOARD_OUTLINE | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING;
|
|
3415
|
+
/**
|
|
3416
|
+
* 尺寸标注所属层
|
|
3417
|
+
*
|
|
3418
|
+
* @public
|
|
3419
|
+
*/
|
|
3420
|
+
type TPCB_LayersOfDimension = TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL;
|
|
3421
|
+
/**
|
|
3422
|
+
* 复杂多边形图(SVG 图像、文本)所属层
|
|
3423
|
+
*
|
|
3424
|
+
* @public
|
|
3425
|
+
*/
|
|
3426
|
+
type TPCB_LayersOfImage = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING;
|
|
3427
|
+
/**
|
|
3428
|
+
* 填充所属层
|
|
3429
|
+
*
|
|
3430
|
+
* @public
|
|
3431
|
+
* @remarks 填充所属层为 {@link EPCB_LayerId.MULTI} 时代表挖槽区域
|
|
3432
|
+
*/
|
|
3433
|
+
type TPCB_LayersOfFill = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.MULTI;
|
|
3434
|
+
/**
|
|
3435
|
+
* 区域所属层
|
|
3436
|
+
*
|
|
3437
|
+
* @public
|
|
3438
|
+
*/
|
|
3439
|
+
type TPCB_LayersOfRegion = TPCB_LayersOfCopper | EPCB_LayerId.MULTI;
|
|
3440
|
+
/**
|
|
3441
|
+
* 二进制内嵌对象所属层
|
|
3442
|
+
*
|
|
3443
|
+
* @public
|
|
3444
|
+
*/
|
|
3445
|
+
type TPCB_LayersOfObject = EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.DOCUMENT;
|
|
3446
|
+
/**
|
|
3447
|
+
* 图层颜色配置
|
|
3448
|
+
*
|
|
3449
|
+
* @public
|
|
3450
|
+
*/
|
|
3451
|
+
enum EPCB_LayerColorConfiguration {
|
|
3452
|
+
/** 嘉立创 EDA */
|
|
3453
|
+
JLCEDA = 1,
|
|
3454
|
+
/** EasyEDA */
|
|
3455
|
+
EASYEDA = 1,
|
|
3456
|
+
/** Altium Designer */
|
|
3457
|
+
ALTIUM_DESIGNER = 2,
|
|
3458
|
+
/** PADS */
|
|
3459
|
+
PADS = 3,
|
|
3460
|
+
/** KiCAD */
|
|
3461
|
+
KICAD = 4
|
|
3283
3462
|
}
|
|
3284
|
-
|
|
3285
3463
|
/**
|
|
3286
|
-
* PCB
|
|
3464
|
+
* PCB 板材类型
|
|
3287
3465
|
*
|
|
3288
3466
|
* @public
|
|
3289
3467
|
*/
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
(primitiveIds: string): IPCB_Primitive | undefined | Promise<IPCB_Primitive | undefined>;
|
|
3296
|
-
(primitiveIds: Array<string>): Array<IPCB_Primitive> | Promise<Array<IPCB_Primitive>>;
|
|
3297
|
-
};
|
|
3298
|
-
getAllPrimitiveId: (...args: any[]) => Array<string> | Promise<Array<string>>;
|
|
3299
|
-
getAll: (...args: any[]) => Array<IPCB_Primitive> | Promise<Array<IPCB_Primitive>>;
|
|
3468
|
+
enum EPCB_PcbPlateType {
|
|
3469
|
+
/** 普通板材 */
|
|
3470
|
+
NORMAL = 1,
|
|
3471
|
+
/** FPC 软板 */
|
|
3472
|
+
FPC = 2
|
|
3300
3473
|
}
|
|
3301
3474
|
/**
|
|
3302
|
-
*
|
|
3475
|
+
* 图层类型
|
|
3303
3476
|
*
|
|
3304
3477
|
* @public
|
|
3305
3478
|
*/
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3479
|
+
enum EPCB_LayerType {
|
|
3480
|
+
/** 信号层 */
|
|
3481
|
+
SIGNAL = "SIGNAL",
|
|
3482
|
+
/** 内电层 */
|
|
3483
|
+
INTERNAL_ELECTRICAL = "PLANE",
|
|
3484
|
+
/** 丝印层 */
|
|
3485
|
+
SILKSCREEN = "SILKSCREEN",
|
|
3486
|
+
/** 阻焊层 */
|
|
3487
|
+
SOLDER_MASK = "SOLDER_MASK",
|
|
3488
|
+
/** 锡膏(助焊)层 */
|
|
3489
|
+
PASTE_MASK = "PASTE_MASK",
|
|
3490
|
+
/** 装配层 */
|
|
3491
|
+
ASSEMBLY = "ASSEMBLY",
|
|
3492
|
+
/** 其它 */
|
|
3493
|
+
OTHER = "OTHER",
|
|
3494
|
+
/** 自定义层 */
|
|
3495
|
+
CUSTOM = "CUSTOM"
|
|
3315
3496
|
}
|
|
3316
|
-
|
|
3317
3497
|
/**
|
|
3318
|
-
*
|
|
3498
|
+
* 内层允许设置的图层类型
|
|
3319
3499
|
*
|
|
3320
3500
|
* @public
|
|
3321
3501
|
*/
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3502
|
+
type TPCB_LayerTypesOfInnerLayer = EPCB_LayerType.SIGNAL | EPCB_LayerType.INTERNAL_ELECTRICAL;
|
|
3503
|
+
/**
|
|
3504
|
+
* 图层属性
|
|
3505
|
+
*
|
|
3506
|
+
* @public
|
|
3507
|
+
*/
|
|
3508
|
+
interface IPCB_LayerItem {
|
|
3509
|
+
/** 图层 ID */
|
|
3510
|
+
id: EPCB_LayerId;
|
|
3511
|
+
/** 名称 */
|
|
3512
|
+
name: string;
|
|
3513
|
+
/** 类型 */
|
|
3514
|
+
type: EPCB_LayerType;
|
|
3515
|
+
/** 颜色(RGB HEX 格式) */
|
|
3516
|
+
color: string;
|
|
3517
|
+
/** 透明度(%) */
|
|
3518
|
+
transparency: number;
|
|
3519
|
+
/** 非激活颜色(RGB HEX 格式) */
|
|
3520
|
+
inactiveColor: string;
|
|
3521
|
+
/** 非激活透明度(%) */
|
|
3522
|
+
inactiveTransparency: number;
|
|
3523
|
+
/** 层状态 */
|
|
3524
|
+
layerStatus: EPCB_LayerStatus;
|
|
3525
|
+
/** 是否锁定 */
|
|
3526
|
+
locked: boolean;
|
|
3327
3527
|
}
|
|
3328
3528
|
/**
|
|
3329
|
-
*
|
|
3529
|
+
* 非激活层展示模式
|
|
3330
3530
|
*
|
|
3331
3531
|
* @public
|
|
3332
|
-
* @remarks 对设计文档总体进行的操作
|
|
3333
3532
|
*/
|
|
3334
|
-
|
|
3533
|
+
enum EPCB_InactiveLayerDisplayMode {
|
|
3534
|
+
/** 正常亮度 */
|
|
3535
|
+
NORMAL_BRIGHTNESS = 0,
|
|
3536
|
+
/** 置灰 */
|
|
3537
|
+
TURN_GRAY = 1,
|
|
3538
|
+
/** 隐藏 */
|
|
3539
|
+
HIDE = 2
|
|
3540
|
+
}
|
|
3541
|
+
/**
|
|
3542
|
+
* PCB & 封装 / 图层操作类
|
|
3543
|
+
*
|
|
3544
|
+
* @public
|
|
3545
|
+
*/
|
|
3546
|
+
class PCB_Layer {
|
|
3335
3547
|
/**
|
|
3336
|
-
*
|
|
3548
|
+
* 获取当前图层的详细属性
|
|
3337
3549
|
*
|
|
3338
|
-
* @
|
|
3339
|
-
* @
|
|
3340
|
-
* @returns 导入操作是否成功,导入失败或未传入原理图 UUID 的游离 PCB 将返回 `false`
|
|
3550
|
+
* @alpha
|
|
3551
|
+
* @returns 当前图层的详细属性
|
|
3341
3552
|
*/
|
|
3342
|
-
|
|
3553
|
+
getCurrentLayer(): IPCB_LayerItem | undefined;
|
|
3343
3554
|
/**
|
|
3344
|
-
*
|
|
3555
|
+
* 选中图层
|
|
3345
3556
|
*
|
|
3346
|
-
* @
|
|
3347
|
-
* @
|
|
3348
|
-
* @
|
|
3349
|
-
* @returns 导入操作是否成功
|
|
3557
|
+
* @public
|
|
3558
|
+
* @param layer - 层
|
|
3559
|
+
* @returns 操作是否成功,不存在指定层将返回 `false`
|
|
3350
3560
|
*/
|
|
3351
|
-
|
|
3561
|
+
selectLayer(layer: TPCB_LayersInTheSelectable): Promise<boolean>;
|
|
3352
3562
|
/**
|
|
3353
|
-
*
|
|
3563
|
+
* 将层设置为可见
|
|
3354
3564
|
*
|
|
3355
3565
|
* @beta
|
|
3356
|
-
* @
|
|
3357
|
-
* @param
|
|
3358
|
-
* @returns
|
|
3566
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3567
|
+
* @param setOtherLayerInvisible - 是否将其它层设置为不可见
|
|
3568
|
+
* @returns 操作是否成功
|
|
3359
3569
|
*/
|
|
3360
|
-
|
|
3570
|
+
setLayerVisible(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>, setOtherLayerInvisible?: boolean): Promise<boolean>;
|
|
3361
3571
|
/**
|
|
3362
|
-
*
|
|
3572
|
+
* 将层设置为不可见
|
|
3363
3573
|
*
|
|
3364
3574
|
* @beta
|
|
3365
|
-
* @
|
|
3366
|
-
* @param
|
|
3367
|
-
* @returns
|
|
3575
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3576
|
+
* @param setOtherLayerVisible - 是否将其它层设置为可见
|
|
3577
|
+
* @returns 操作是否成功
|
|
3368
3578
|
*/
|
|
3369
|
-
|
|
3579
|
+
setLayerInvisible(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>, setOtherLayerVisible?: boolean): Promise<boolean>;
|
|
3370
3580
|
/**
|
|
3371
|
-
*
|
|
3581
|
+
* 锁定层
|
|
3372
3582
|
*
|
|
3373
|
-
* @
|
|
3374
|
-
* @
|
|
3583
|
+
* @beta
|
|
3584
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3585
|
+
* @returns 操作是否成功
|
|
3375
3586
|
*/
|
|
3376
|
-
|
|
3587
|
+
lockLayer(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>): Promise<boolean>;
|
|
3377
3588
|
/**
|
|
3378
|
-
*
|
|
3589
|
+
* 取消锁定层
|
|
3379
3590
|
*
|
|
3380
|
-
* @
|
|
3381
|
-
* @
|
|
3591
|
+
* @beta
|
|
3592
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3593
|
+
* @returns 操作是否成功
|
|
3382
3594
|
*/
|
|
3383
|
-
|
|
3595
|
+
unlockLayer(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>): Promise<boolean>;
|
|
3384
3596
|
/**
|
|
3385
|
-
*
|
|
3597
|
+
* 设置铜箔层数
|
|
3386
3598
|
*
|
|
3387
|
-
* @
|
|
3388
|
-
* @remarks
|
|
3599
|
+
* @beta
|
|
3600
|
+
* @remarks 新建的 PCB 文档默认拥有两层铜箔层
|
|
3601
|
+
* @param numberOfLayers - 层数
|
|
3389
3602
|
* @returns 操作是否成功
|
|
3390
3603
|
*/
|
|
3391
|
-
|
|
3604
|
+
setTheNumberOfCopperLayers(numberOfLayers: 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32): Promise<boolean>;
|
|
3392
3605
|
/**
|
|
3393
|
-
*
|
|
3606
|
+
* 获取铜箔层数
|
|
3394
3607
|
*
|
|
3395
|
-
* @
|
|
3396
|
-
* @returns
|
|
3608
|
+
* @alpha
|
|
3609
|
+
* @returns 层数
|
|
3397
3610
|
*/
|
|
3398
|
-
|
|
3611
|
+
getTheNumberOfCopperLayers(): Promise<number>;
|
|
3399
3612
|
/**
|
|
3400
|
-
*
|
|
3613
|
+
* 设置层颜色配置
|
|
3401
3614
|
*
|
|
3402
|
-
* @
|
|
3403
|
-
* @
|
|
3404
|
-
* @
|
|
3405
|
-
* @param canvasOriginY - 画布原点 Y
|
|
3406
|
-
* @returns 数据原点坐标
|
|
3615
|
+
* @beta
|
|
3616
|
+
* @param colorConfiguration - 颜色配置
|
|
3617
|
+
* @returns 操作是否成功
|
|
3407
3618
|
*/
|
|
3408
|
-
|
|
3409
|
-
x: number;
|
|
3410
|
-
y: number;
|
|
3411
|
-
}>;
|
|
3619
|
+
setLayerColorConfiguration(colorConfiguration: EPCB_LayerColorConfiguration): Promise<boolean>;
|
|
3412
3620
|
/**
|
|
3413
|
-
*
|
|
3621
|
+
* 设置非激活层透明度
|
|
3414
3622
|
*
|
|
3415
|
-
* @
|
|
3416
|
-
* @
|
|
3417
|
-
* @
|
|
3418
|
-
* @param y - 数据原点 Y
|
|
3419
|
-
* @returns 画布原点坐标
|
|
3623
|
+
* @beta
|
|
3624
|
+
* @param transparency - 透明度,范围 `0-100`
|
|
3625
|
+
* @returns 操作是否成功
|
|
3420
3626
|
*/
|
|
3421
|
-
|
|
3422
|
-
x: number;
|
|
3423
|
-
y: number;
|
|
3424
|
-
}>;
|
|
3627
|
+
setInactiveLayerTransparency(transparency: number): Promise<boolean>;
|
|
3425
3628
|
/**
|
|
3426
|
-
*
|
|
3629
|
+
* 设置 PCB 类型
|
|
3427
3630
|
*
|
|
3428
|
-
* @
|
|
3631
|
+
* @beta
|
|
3429
3632
|
* @remarks
|
|
3430
|
-
*
|
|
3633
|
+
* 此处主要是为了适配 FPC 软板的设计,如若将 PCB 类型设置为 FPC 软板,将会新增 FPC 补强层图层。
|
|
3431
3634
|
*
|
|
3432
|
-
*
|
|
3635
|
+
* 请注意:
|
|
3433
3636
|
*
|
|
3434
|
-
*
|
|
3435
|
-
* 则代表画布原点在数据原点的向右 100 单位且向上 200 单位的位置;
|
|
3637
|
+
* 1. 嘉立创暂不支持超过 2 层铜箔层的 FPC 软板生产;
|
|
3436
3638
|
*
|
|
3437
|
-
*
|
|
3438
|
-
* @
|
|
3639
|
+
* 2. 将 PCB 类型从 FPC 软板切换为普通板材时需要预先删除 FPC 补强层上的任何图元,否则将无法切换并返回 `false` 的结果。
|
|
3640
|
+
* @param pcbType - PCB 类型
|
|
3641
|
+
* @returns 操作是否成功
|
|
3439
3642
|
*/
|
|
3440
|
-
|
|
3441
|
-
offsetX: number;
|
|
3442
|
-
offsetY: number;
|
|
3443
|
-
}>;
|
|
3643
|
+
setPcbType(pcbType: EPCB_PcbPlateType): Promise<boolean>;
|
|
3444
3644
|
/**
|
|
3445
|
-
*
|
|
3446
|
-
*
|
|
3447
|
-
* @public
|
|
3448
|
-
* @remarks
|
|
3449
|
-
* 嘉立创 EDA 专业版前端显示的坐标均为画布原点;
|
|
3450
|
-
*
|
|
3451
|
-
* 嘉立创 EDA 专业版 API 使用的均为数据原点;
|
|
3645
|
+
* 新增自定义层
|
|
3452
3646
|
*
|
|
3453
|
-
*
|
|
3454
|
-
*
|
|
3455
|
-
|
|
3647
|
+
* @beta
|
|
3648
|
+
* @returns 新增的自定义层的图层 ID,如若为 `undefined` 则为新增失败,可能是自定义层数量已达到上限
|
|
3649
|
+
*/
|
|
3650
|
+
addCustomLayer(): Promise<TPCB_LayersOfCustom | undefined>;
|
|
3651
|
+
/**
|
|
3652
|
+
* 移除层
|
|
3456
3653
|
*
|
|
3457
|
-
*
|
|
3458
|
-
* @
|
|
3459
|
-
* @param
|
|
3654
|
+
* @beta
|
|
3655
|
+
* @remarks 当前仅支持移除自定义层
|
|
3656
|
+
* @param layer - 层
|
|
3460
3657
|
* @returns 操作是否成功
|
|
3461
3658
|
*/
|
|
3462
|
-
|
|
3659
|
+
removeLayer(layer: TPCB_LayersOfCustom): Promise<boolean>;
|
|
3463
3660
|
/**
|
|
3464
|
-
*
|
|
3465
|
-
*
|
|
3466
|
-
* @public
|
|
3467
|
-
* @remarks
|
|
3468
|
-
* 本接口在前端画布上定位到指定的数据层面坐标;
|
|
3661
|
+
* 修改图层属性
|
|
3469
3662
|
*
|
|
3470
|
-
*
|
|
3471
|
-
*
|
|
3663
|
+
* @beta
|
|
3664
|
+
* @remarks 仅内层和自定义层允许修改名称;仅内层允许修改类型, 透明度仅支持0-100之间的数
|
|
3665
|
+
* @param layer - 层
|
|
3666
|
+
* @param property - 属性
|
|
3667
|
+
* @returns 修改后的图层属性,如若为 `undefined` 则代表修改失败或图层不存在
|
|
3668
|
+
*/
|
|
3669
|
+
modifyLayer(layer: TPCB_LayersInTheSelectable, property: {
|
|
3670
|
+
name?: string;
|
|
3671
|
+
type?: TPCB_LayerTypesOfInnerLayer;
|
|
3672
|
+
color?: string;
|
|
3673
|
+
transparency?: number;
|
|
3674
|
+
}): Promise<boolean>;
|
|
3675
|
+
/**
|
|
3676
|
+
* 获取所有图层的详细属性
|
|
3472
3677
|
*
|
|
3473
|
-
*
|
|
3474
|
-
* @
|
|
3475
|
-
* @param y - 坐标 Y
|
|
3476
|
-
* @returns 操作是否成功
|
|
3678
|
+
* @beta
|
|
3679
|
+
* @returns 所有图层的详细属性
|
|
3477
3680
|
*/
|
|
3478
|
-
|
|
3681
|
+
getAllLayers(): Promise<Array<IPCB_LayerItem>>;
|
|
3479
3682
|
/**
|
|
3480
|
-
*
|
|
3683
|
+
* 设置非激活层展示模式
|
|
3481
3684
|
*
|
|
3482
3685
|
* @beta
|
|
3483
|
-
* @
|
|
3484
|
-
*
|
|
3686
|
+
* @param displayMode - 展示模式
|
|
3687
|
+
* @returns 是否设置成功
|
|
3688
|
+
*/
|
|
3689
|
+
setInactiveLayerDisplayMode(displayMode?: EPCB_InactiveLayerDisplayMode): Promise<boolean>;
|
|
3690
|
+
/**
|
|
3691
|
+
* 获取当前物理叠层配置名称
|
|
3485
3692
|
*
|
|
3486
|
-
*
|
|
3487
|
-
*
|
|
3693
|
+
* @alpha
|
|
3694
|
+
* @returns 当前物理叠层配置名称,`undefined` 为获取失败
|
|
3695
|
+
*/
|
|
3696
|
+
getCurrentPhysicalStackingConfigurationName(): Promise<string | undefined>;
|
|
3697
|
+
/**
|
|
3698
|
+
* 获取当前物理叠层配置
|
|
3488
3699
|
*
|
|
3489
|
-
*
|
|
3700
|
+
* @alpha
|
|
3701
|
+
* @returns 当前物理叠层配置,`undefined` 为获取失败
|
|
3702
|
+
*/
|
|
3703
|
+
getCurrentPhysicalStackingConfiguration(): {
|
|
3704
|
+
[key: string]: any;
|
|
3705
|
+
} | undefined;
|
|
3706
|
+
/**
|
|
3707
|
+
* 获取指定物理叠层配置
|
|
3490
3708
|
*
|
|
3491
|
-
*
|
|
3492
|
-
* @param
|
|
3493
|
-
* @
|
|
3494
|
-
* @param top - 矩形框第一 Y 坐标
|
|
3495
|
-
* @param bottom - 矩形框第二 Y 坐标
|
|
3496
|
-
* @returns 操作是否成功
|
|
3709
|
+
* @alpha
|
|
3710
|
+
* @param configurationName - 配置名称
|
|
3711
|
+
* @returns 物理叠层配置,`undefined` 为不存在该物理叠层
|
|
3497
3712
|
*/
|
|
3498
|
-
|
|
3713
|
+
getPhysicalStackingConfiguration(configurationName: string): Promise<{
|
|
3714
|
+
[key: string]: any;
|
|
3715
|
+
} | undefined>;
|
|
3499
3716
|
/**
|
|
3500
|
-
*
|
|
3717
|
+
* 获取所有物理叠层配置
|
|
3501
3718
|
*
|
|
3502
|
-
* @
|
|
3503
|
-
* @
|
|
3504
|
-
* @param x - 坐标点 X
|
|
3505
|
-
* @param y - 坐标点 Y
|
|
3506
|
-
* @returns 坐标点的图元,如若坐标点无法找到图元,将返回 `undefined`
|
|
3719
|
+
* @alpha
|
|
3720
|
+
* @returns 所有物理叠层配置
|
|
3507
3721
|
*/
|
|
3508
|
-
|
|
3722
|
+
getAllPhysicalStackingConfigurations(): Promise<Array<{
|
|
3723
|
+
[key: string]: any;
|
|
3724
|
+
}>>;
|
|
3509
3725
|
/**
|
|
3510
|
-
*
|
|
3726
|
+
* 保存物理叠层配置
|
|
3511
3727
|
*
|
|
3512
|
-
* @
|
|
3513
|
-
* @param
|
|
3514
|
-
* @param
|
|
3515
|
-
* @param
|
|
3516
|
-
* @
|
|
3517
|
-
* @param leftToRight - 是否仅获取完全框选的图元,`false` 则触碰即获取
|
|
3518
|
-
* @returns 区域内所有图元
|
|
3728
|
+
* @alpha
|
|
3729
|
+
* @param physicalStackingConfiguration - 物理叠层配置
|
|
3730
|
+
* @param configurationName - 配置名称
|
|
3731
|
+
* @param allowOverwrite - 是否允许覆写同名物理叠层配置,`false` 则将在遇到同名物理叠层配置时返回 `false`,请注意可能的数据丢失风险
|
|
3732
|
+
* @returns 保存是否成功
|
|
3519
3733
|
*/
|
|
3520
|
-
|
|
3734
|
+
savePhysicalStackingConfiguration(physicalStackingConfiguration: {
|
|
3735
|
+
[key: string]: any;
|
|
3736
|
+
}, configurationName: string, allowOverwrite?: boolean): Promise<boolean>;
|
|
3521
3737
|
/**
|
|
3522
|
-
*
|
|
3738
|
+
* 重命名物理叠层配置
|
|
3523
3739
|
*
|
|
3524
|
-
* @
|
|
3525
|
-
* @
|
|
3740
|
+
* @alpha
|
|
3741
|
+
* @param originalConfigurationName - 原物理叠层配置名称
|
|
3742
|
+
* @param configurationName - 新物理叠层配置名称
|
|
3743
|
+
* @returns 重命名是否成功
|
|
3526
3744
|
*/
|
|
3527
|
-
|
|
3745
|
+
renamePhysicalStackingConfiguration(originalConfigurationName: string, configurationName: string): Promise<boolean>;
|
|
3528
3746
|
/**
|
|
3529
|
-
*
|
|
3747
|
+
* 删除物理叠层配置
|
|
3530
3748
|
*
|
|
3531
|
-
* @
|
|
3532
|
-
* @
|
|
3749
|
+
* @alpha
|
|
3750
|
+
* @param configurationName - 配置名称
|
|
3751
|
+
* @returns 删除是否成功
|
|
3533
3752
|
*/
|
|
3534
|
-
|
|
3535
|
-
[key: string]: any;
|
|
3536
|
-
} | undefined>;
|
|
3753
|
+
deletePhysicalStackingConfiguration(configurationName: string): Promise<boolean>;
|
|
3537
3754
|
/**
|
|
3538
|
-
*
|
|
3755
|
+
* 获取新建 PCB 默认物理叠层配置的名称
|
|
3539
3756
|
*
|
|
3540
3757
|
* @alpha
|
|
3541
|
-
* @
|
|
3758
|
+
* @returns 默认物理叠层配置的名称,`undefined` 为获取失败
|
|
3542
3759
|
*/
|
|
3543
|
-
|
|
3760
|
+
getDefaultPhysicalStackingConfigurationName(): Promise<string | undefined>;
|
|
3761
|
+
/**
|
|
3762
|
+
* 设置为新建 PCB 默认物理叠层配置
|
|
3763
|
+
*
|
|
3764
|
+
* @alpha
|
|
3765
|
+
* @remarks 返回值为结果导向,重复设置相同的物理叠层为默认物理叠层也将返回 `true`
|
|
3766
|
+
* @param configurationName - 配置名称
|
|
3767
|
+
* @returns 设置是否成功
|
|
3768
|
+
*/
|
|
3769
|
+
setAsDefaultPhysicalStackingConfiguration(configurationName: string): Promise<boolean>;
|
|
3770
|
+
/**
|
|
3771
|
+
* 覆写当前物理叠层配置
|
|
3772
|
+
*
|
|
3773
|
+
* @alpha
|
|
3774
|
+
* @remarks 将会覆写 PCB 当前的物理叠层配置,请注意数据丢失风险
|
|
3775
|
+
* @param ruleConfiguration - 物理叠层配置
|
|
3776
|
+
* @returns 覆写是否成功
|
|
3777
|
+
*/
|
|
3778
|
+
overwriteCurrentPhysicalStackingConfiguration(physicalStackingConfiguration: {
|
|
3779
|
+
[key: string]: any;
|
|
3780
|
+
}): boolean;
|
|
3544
3781
|
}
|
|
3545
3782
|
|
|
3546
3783
|
/**
|
|
3547
|
-
*
|
|
3784
|
+
* 单多边形源数组
|
|
3548
3785
|
*
|
|
3549
3786
|
* @public
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
/** 网络类名称 */
|
|
3553
|
-
name: string;
|
|
3554
|
-
/** 网络名称数组 */
|
|
3555
|
-
nets: Array<string>;
|
|
3556
|
-
/** 网络类颜色 */
|
|
3557
|
-
color: {
|
|
3558
|
-
r: number;
|
|
3559
|
-
g: number;
|
|
3560
|
-
b: number;
|
|
3561
|
-
alpha: number;
|
|
3562
|
-
} | null;
|
|
3563
|
-
}
|
|
3564
|
-
/**
|
|
3565
|
-
* 差分对属性
|
|
3787
|
+
* @remarks
|
|
3788
|
+
* 单多边形为首尾重合的一条不间断的线所描述的区域,如果首尾不重合将会自动重合。
|
|
3566
3789
|
*
|
|
3567
|
-
*
|
|
3568
|
-
*/
|
|
3569
|
-
interface IPCB_DifferentialPairItem {
|
|
3570
|
-
/** 差分对名称 */
|
|
3571
|
-
name: string;
|
|
3572
|
-
/** 正网络 */
|
|
3573
|
-
positiveNet: string;
|
|
3574
|
-
/** 负网络 */
|
|
3575
|
-
negativeNet: string;
|
|
3576
|
-
}
|
|
3577
|
-
/**
|
|
3578
|
-
* 等长网络组属性
|
|
3790
|
+
* 单多边形的数据格式举例:
|
|
3579
3791
|
*
|
|
3580
|
-
*
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3792
|
+
* `[300, 200, 'L', 400, 200, 'ARC', 400, 220, 15, 'C', 200, 500, 400, 300, 100, 100]`
|
|
3793
|
+
*
|
|
3794
|
+
* `['R', 100, 200, 300, 300, 0, 0]`
|
|
3795
|
+
*
|
|
3796
|
+
* `['CIRCLE', 100, 200, 5]`
|
|
3797
|
+
*
|
|
3798
|
+
* 单多边形的数据由以下几种模式组合而成:
|
|
3799
|
+
*
|
|
3800
|
+
* ① L 直线模式
|
|
3801
|
+
*
|
|
3802
|
+
* `x1 y1 L x2 y3 x3 y3 ...`
|
|
3803
|
+
*
|
|
3804
|
+
* - `{number}` `x` - 直线点的 X 坐标
|
|
3805
|
+
*
|
|
3806
|
+
* - `{number}` `y` - 直线点的 Y 坐标
|
|
3807
|
+
*
|
|
3808
|
+
* ② ARC/CARC 圆弧模式
|
|
3809
|
+
*
|
|
3810
|
+
* `ARC` 为两点交互,`CARC` 为中心圆弧交互
|
|
3811
|
+
*
|
|
3812
|
+
* `startX startY ARC arcAngle endX endY`
|
|
3813
|
+
*
|
|
3814
|
+
* `startX startY CARC arcAngle endX endY`
|
|
3815
|
+
*
|
|
3816
|
+
* - `{number}` `startX` - 起始 X
|
|
3817
|
+
*
|
|
3818
|
+
* - `{number}` `startY` - 起始 Y
|
|
3819
|
+
*
|
|
3820
|
+
* - `{number}` `arcAngle` - 圆弧角(负值为顺时针旋转;角度制)
|
|
3821
|
+
*
|
|
3822
|
+
* - `{number}` `endX` - 终止 X
|
|
3823
|
+
*
|
|
3824
|
+
* - `{number}` `endY` - 终止 Y
|
|
3825
|
+
*
|
|
3826
|
+
* ③ C 三阶贝塞尔模式
|
|
3827
|
+
*
|
|
3828
|
+
* `x1 y1 C x2 y2 x3 y3 x4 y4 ...`
|
|
3829
|
+
*
|
|
3830
|
+
* - `{number}` `x` - 控制点 X
|
|
3831
|
+
*
|
|
3832
|
+
* - `{number}` `y` - 控制点 Y
|
|
3833
|
+
*
|
|
3834
|
+
* ④ R 矩形模式
|
|
3835
|
+
*
|
|
3836
|
+
* `R x y width height rot round`
|
|
3837
|
+
*
|
|
3838
|
+
* - `{number}` `x` - 左上点 X
|
|
3839
|
+
*
|
|
3840
|
+
* - `{number}` `y` - 左上点 Y
|
|
3841
|
+
*
|
|
3842
|
+
* - `{number}` `width` - 宽
|
|
3843
|
+
*
|
|
3844
|
+
* - `{number}` `height` - 高
|
|
3845
|
+
*
|
|
3846
|
+
* - `{number}` `rotation` - 旋转角度
|
|
3847
|
+
*
|
|
3848
|
+
* - `{number}` `round` - 圆角半径
|
|
3849
|
+
*
|
|
3850
|
+
* ⑤ CIRCLE 圆形模式
|
|
3851
|
+
*
|
|
3852
|
+
* `CIRCLE cx cy radius`
|
|
3853
|
+
*
|
|
3854
|
+
* - `{number}` `cx` - 中心点 X
|
|
3855
|
+
*
|
|
3856
|
+
* - `{number}` `xy` - 中心点 Y
|
|
3857
|
+
*
|
|
3858
|
+
* - `{number}` `radius` - 半径
|
|
3859
|
+
*/
|
|
3860
|
+
type TPCB_PolygonSourceArray = Array<'L' | 'ARC' | 'CARC' | 'C' | 'R' | 'CIRCLE' | number>;
|
|
3595
3861
|
/**
|
|
3596
|
-
*
|
|
3862
|
+
* 离散化点
|
|
3597
3863
|
*
|
|
3598
3864
|
* @public
|
|
3599
3865
|
*/
|
|
3600
|
-
interface
|
|
3601
|
-
/**
|
|
3602
|
-
|
|
3603
|
-
/**
|
|
3604
|
-
|
|
3866
|
+
interface IPCB_DiscretizedPoint {
|
|
3867
|
+
/** X 坐标 */
|
|
3868
|
+
x: number;
|
|
3869
|
+
/** Y 坐标 */
|
|
3870
|
+
y: number;
|
|
3605
3871
|
}
|
|
3606
3872
|
/**
|
|
3607
|
-
*
|
|
3873
|
+
* 离散化选项
|
|
3608
3874
|
*
|
|
3609
3875
|
* @public
|
|
3610
3876
|
*/
|
|
3611
|
-
interface
|
|
3612
|
-
/**
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3877
|
+
interface IPCB_DiscretizeOptions {
|
|
3878
|
+
/**
|
|
3879
|
+
* 离散步长,即相邻离散点之间的最大距离
|
|
3880
|
+
*
|
|
3881
|
+
* @remarks 步长越小,离散点越密集,精度越高;步长单位与多边形坐标单位一致
|
|
3882
|
+
*/
|
|
3883
|
+
step?: number;
|
|
3616
3884
|
}
|
|
3617
3885
|
/**
|
|
3618
|
-
* PCB & 封装 /
|
|
3886
|
+
* PCB & 封装 / 多边形数学类
|
|
3619
3887
|
*
|
|
3620
3888
|
* @public
|
|
3621
|
-
* @remarks 检查、设定 DRC 规则
|
|
3622
3889
|
*/
|
|
3623
|
-
class
|
|
3890
|
+
class PCB_MathPolygon {
|
|
3624
3891
|
/**
|
|
3625
|
-
*
|
|
3892
|
+
* 创建单多边形
|
|
3626
3893
|
*
|
|
3627
|
-
* @
|
|
3628
|
-
* @param
|
|
3629
|
-
* @
|
|
3630
|
-
* @param includeVerboseError - 是否在返回值中包含详细错误信息,如若为 `true`,则返回值将始终为数组
|
|
3631
|
-
* @returns DRC 检查是否通过
|
|
3894
|
+
* @public
|
|
3895
|
+
* @param polygon - 单多边形数据
|
|
3896
|
+
* @returns 单多边形对象,`undefined` 表示数据不合法
|
|
3632
3897
|
*/
|
|
3633
|
-
|
|
3898
|
+
createPolygon(polygon: TPCB_PolygonSourceArray): IPCB_Polygon | undefined;
|
|
3634
3899
|
/**
|
|
3635
|
-
*
|
|
3900
|
+
* 创建复杂多边形
|
|
3636
3901
|
*
|
|
3637
|
-
* @
|
|
3638
|
-
* @param
|
|
3639
|
-
* @
|
|
3640
|
-
* @param includeVerboseError - 是否在返回值中包含详细错误信息,如若为 `true`,则返回值将始终为数组
|
|
3641
|
-
* @returns DRC 检查的详细结果
|
|
3902
|
+
* @public
|
|
3903
|
+
* @param complexPolygon - 复杂多边形数据
|
|
3904
|
+
* @returns 复杂多边形对象,`undefined` 表示数据不合法
|
|
3642
3905
|
*/
|
|
3643
|
-
|
|
3906
|
+
createComplexPolygon(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>): IPCB_ComplexPolygon | undefined;
|
|
3644
3907
|
/**
|
|
3645
|
-
*
|
|
3908
|
+
* 拆分单多边形
|
|
3646
3909
|
*
|
|
3647
3910
|
* @public
|
|
3648
|
-
* @
|
|
3911
|
+
* @param complexPolygons - 复杂多边形
|
|
3912
|
+
* @returns 单多边形数组
|
|
3649
3913
|
*/
|
|
3650
|
-
|
|
3914
|
+
splitPolygon(...complexPolygons: Array<IPCB_ComplexPolygon>): Array<IPCB_Polygon>;
|
|
3651
3915
|
/**
|
|
3652
|
-
*
|
|
3916
|
+
* 将单多边形离散化为点数据
|
|
3653
3917
|
*
|
|
3654
|
-
* @
|
|
3655
|
-
* @
|
|
3656
|
-
*/
|
|
3657
|
-
getCurrentRuleConfiguration(): Promise<{
|
|
3658
|
-
[key: string]: any;
|
|
3659
|
-
} | undefined>;
|
|
3660
|
-
/**
|
|
3661
|
-
* 获取指定设计规则配置
|
|
3918
|
+
* @alpha
|
|
3919
|
+
* @remarks 将单多边形的边界离散化为一系列点
|
|
3662
3920
|
*
|
|
3663
|
-
* @
|
|
3664
|
-
* @param
|
|
3665
|
-
* @returns
|
|
3921
|
+
* @param polygon - 单多边形对象
|
|
3922
|
+
* @param options - 离散化选项
|
|
3923
|
+
* @returns 离散化点数据
|
|
3666
3924
|
*/
|
|
3667
|
-
|
|
3668
|
-
[key: string]: any;
|
|
3669
|
-
} | undefined>;
|
|
3925
|
+
discretize(polygon: IPCB_Polygon | TPCB_PolygonSourceArray, options?: IPCB_DiscretizeOptions): Array<IPCB_DiscretizedPoint>;
|
|
3670
3926
|
/**
|
|
3671
|
-
*
|
|
3927
|
+
* 计算复杂多边形 BBox 宽度
|
|
3672
3928
|
*
|
|
3673
3929
|
* @beta
|
|
3674
|
-
* @param
|
|
3675
|
-
* @returns
|
|
3930
|
+
* @param complexPolygon - 复杂多边形
|
|
3931
|
+
* @returns BBox 宽度
|
|
3676
3932
|
*/
|
|
3677
|
-
|
|
3678
|
-
[key: string]: any;
|
|
3679
|
-
}>>;
|
|
3933
|
+
calculateWidth(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | IPCB_ComplexPolygon): number;
|
|
3680
3934
|
/**
|
|
3681
|
-
*
|
|
3935
|
+
* 计算复杂多边形 BBox 高度
|
|
3682
3936
|
*
|
|
3683
3937
|
* @beta
|
|
3684
|
-
* @
|
|
3685
|
-
* @
|
|
3686
|
-
* @param configurationName - 配置名称
|
|
3687
|
-
* @param allowOverwrite - 是否允许覆写同名设计规则配置,`false` 则将在遇到同名设计规则配置时返回 `false`,请注意可能的数据丢失风险
|
|
3688
|
-
* @returns 保存是否成功
|
|
3938
|
+
* @param complexPolygon - 复杂多边形
|
|
3939
|
+
* @returns BBox 高度
|
|
3689
3940
|
*/
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
}, configurationName: string, allowOverwrite?: boolean): Promise<boolean>;
|
|
3941
|
+
calculateHeight(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | IPCB_ComplexPolygon): number;
|
|
3942
|
+
calculateBBoxHeight(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>): number;
|
|
3693
3943
|
/**
|
|
3694
|
-
*
|
|
3944
|
+
* 将图像转换为复杂多边形对象
|
|
3695
3945
|
*
|
|
3696
3946
|
* @beta
|
|
3697
|
-
* @
|
|
3698
|
-
* @param
|
|
3699
|
-
* @param
|
|
3700
|
-
* @
|
|
3947
|
+
* @param imageBlob - 图像 Blob 文件,可以使用 {@link SYS_FileSystem.openReadFileDialog} 方法从文件系统读取文件
|
|
3948
|
+
* @param imageWidth - 图像宽度
|
|
3949
|
+
* @param imageHeight - 图像高度
|
|
3950
|
+
* @param tolerance - 容差,取值范围 `0`-`1`
|
|
3951
|
+
* @param simplification - 简化,取值范围 `0`-`1`
|
|
3952
|
+
* @param smoothing - 平滑,取值范围 `0`-`1.33`
|
|
3953
|
+
* @param despeckling - 去斑,取值范围 `0`-`5`
|
|
3954
|
+
* @param whiteAsBackgroundColor - 是否白色作为背景色
|
|
3955
|
+
* @param inversion - 是否反相
|
|
3956
|
+
* @returns 复杂多边形对象
|
|
3701
3957
|
*/
|
|
3702
|
-
|
|
3958
|
+
convertImageToComplexPolygon(imageBlob: Blob, imageWidth: number, imageHeight: number, tolerance?: number, simplification?: number, smoothing?: number, despeckling?: number, whiteAsBackgroundColor?: boolean, inversion?: boolean): Promise<IPCB_ComplexPolygon | undefined>;
|
|
3959
|
+
private calculateBBoxWidth;
|
|
3960
|
+
}
|
|
3961
|
+
/**
|
|
3962
|
+
* 单多边形
|
|
3963
|
+
*
|
|
3964
|
+
* @public
|
|
3965
|
+
*/
|
|
3966
|
+
class IPCB_Polygon {
|
|
3967
|
+
private polygon;
|
|
3968
|
+
/** @internal */
|
|
3969
|
+
constructor(polygon: TPCB_PolygonSourceArray);
|
|
3703
3970
|
/**
|
|
3704
|
-
*
|
|
3971
|
+
* 获取单多边形数据
|
|
3705
3972
|
*
|
|
3706
|
-
* @
|
|
3707
|
-
* @
|
|
3708
|
-
* @param configurationName - 配置名称
|
|
3709
|
-
* @returns 删除是否成功
|
|
3973
|
+
* @public
|
|
3974
|
+
* @returns 单多边形数据
|
|
3710
3975
|
*/
|
|
3711
|
-
|
|
3976
|
+
getSource(): TPCB_PolygonSourceArray;
|
|
3712
3977
|
/**
|
|
3713
|
-
*
|
|
3978
|
+
* 获取单多边形中心点
|
|
3714
3979
|
*
|
|
3715
3980
|
* @beta
|
|
3716
|
-
* @returns
|
|
3981
|
+
* @returns 单多边形中心点
|
|
3717
3982
|
*/
|
|
3718
|
-
|
|
3983
|
+
getCenter(): Promise<{
|
|
3984
|
+
x: number;
|
|
3985
|
+
y: number;
|
|
3986
|
+
}>;
|
|
3719
3987
|
/**
|
|
3720
|
-
*
|
|
3988
|
+
* 将单多边形离散化为点数据
|
|
3721
3989
|
*
|
|
3722
|
-
* @
|
|
3723
|
-
* @remarks
|
|
3724
|
-
*
|
|
3725
|
-
* @
|
|
3990
|
+
* @alpha
|
|
3991
|
+
* @remarks 将单多边形的边界离散化为一系列点
|
|
3992
|
+
*
|
|
3993
|
+
* @param options - 离散化选项
|
|
3994
|
+
* @returns 离散化点数据
|
|
3726
3995
|
*/
|
|
3727
|
-
|
|
3996
|
+
discretize(options?: IPCB_DiscretizeOptions): Array<IPCB_DiscretizedPoint>;
|
|
3728
3997
|
/**
|
|
3729
|
-
*
|
|
3998
|
+
* 校验单多边形
|
|
3730
3999
|
*
|
|
3731
4000
|
* @beta
|
|
3732
|
-
* @remarks
|
|
3733
|
-
* @
|
|
3734
|
-
* @returns 覆写是否成功
|
|
4001
|
+
* @remarks 校验并整理输入数据,如数据有误,则抛出错误
|
|
4002
|
+
* @returns 单多边形数据
|
|
3735
4003
|
*/
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
4004
|
+
private validateSource;
|
|
4005
|
+
}
|
|
4006
|
+
/**
|
|
4007
|
+
* 复杂多边形
|
|
4008
|
+
*
|
|
4009
|
+
* @public
|
|
4010
|
+
* @remarks
|
|
4011
|
+
* 复杂多边形可以包含多个单多边形,通过 {@link https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule | fill-rule} 将其组合,以实现多边形的布尔运算。
|
|
4012
|
+
* 目前嘉立创 EDA 专业版固定使用 {@link https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule#nonzero | nonzero} 这个 fill-rule。
|
|
4013
|
+
*/
|
|
4014
|
+
class IPCB_ComplexPolygon {
|
|
4015
|
+
private complexPolygon;
|
|
4016
|
+
/** @internal */
|
|
4017
|
+
constructor(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>);
|
|
3739
4018
|
/**
|
|
3740
|
-
*
|
|
4019
|
+
* 添加多边形数据
|
|
3741
4020
|
*
|
|
3742
|
-
* @
|
|
3743
|
-
* @
|
|
4021
|
+
* @public
|
|
4022
|
+
* @param complexPolygon - 复杂多边形数据
|
|
4023
|
+
* @returns 复杂多边形对象
|
|
3744
4024
|
*/
|
|
3745
|
-
|
|
3746
|
-
[key: string]: any;
|
|
3747
|
-
}>>;
|
|
4025
|
+
addSource(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>): IPCB_ComplexPolygon;
|
|
3748
4026
|
/**
|
|
3749
|
-
*
|
|
4027
|
+
* 获取多边形数据
|
|
3750
4028
|
*
|
|
3751
|
-
* @
|
|
3752
|
-
* @remarks
|
|
3753
|
-
* @
|
|
3754
|
-
* @returns 覆写是否成功
|
|
4029
|
+
* @public
|
|
4030
|
+
* @remarks 如遇仅包含单一的单多边形,将会化简最外层的数组
|
|
4031
|
+
* @returns 单多边形或复杂多边形数据
|
|
3755
4032
|
*/
|
|
3756
|
-
|
|
3757
|
-
[key: string]: any;
|
|
3758
|
-
}>): Promise<boolean>;
|
|
4033
|
+
getSource(): TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>;
|
|
3759
4034
|
/**
|
|
3760
|
-
*
|
|
4035
|
+
* 获取复杂多边形数据
|
|
3761
4036
|
*
|
|
3762
|
-
* @
|
|
3763
|
-
* @
|
|
4037
|
+
* @public
|
|
4038
|
+
* @remarks 强制返回复杂多边形格式数据,即使它仅包含单一的单多边形
|
|
4039
|
+
* @returns 复杂多边形数据
|
|
3764
4040
|
*/
|
|
3765
|
-
|
|
3766
|
-
[key: string]: any;
|
|
3767
|
-
}>;
|
|
4041
|
+
getSourceStrictComplex(): Array<TPCB_PolygonSourceArray>;
|
|
3768
4042
|
/**
|
|
3769
|
-
*
|
|
4043
|
+
* 获取复杂多边形中心点
|
|
3770
4044
|
*
|
|
3771
|
-
* @
|
|
3772
|
-
* @
|
|
3773
|
-
* @param netByNetRules - 网络-网络规则
|
|
3774
|
-
* @returns 覆写是否成功
|
|
4045
|
+
* @alpha
|
|
4046
|
+
* @returns 复杂多边形中心点
|
|
3775
4047
|
*/
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
4048
|
+
getCenter(): {
|
|
4049
|
+
x: number;
|
|
4050
|
+
y: number;
|
|
4051
|
+
};
|
|
3779
4052
|
/**
|
|
3780
|
-
*
|
|
4053
|
+
* 拆分为单多边形数组
|
|
3781
4054
|
*
|
|
3782
|
-
* @
|
|
3783
|
-
* @
|
|
4055
|
+
* @public
|
|
4056
|
+
* @remarks 将复杂多边形拆分为单多边形对象数组
|
|
4057
|
+
* @returns 单多边形数组
|
|
3784
4058
|
*/
|
|
3785
|
-
|
|
3786
|
-
[key: string]: any;
|
|
3787
|
-
}>>;
|
|
4059
|
+
toPolygon(): Array<IPCB_Polygon>;
|
|
3788
4060
|
/**
|
|
3789
|
-
*
|
|
4061
|
+
* 校验复杂多边形
|
|
3790
4062
|
*
|
|
3791
4063
|
* @beta
|
|
3792
|
-
* @
|
|
3793
|
-
* @param regionRules - 区域规则
|
|
3794
|
-
* @returns 覆写是否成功
|
|
4064
|
+
* @returns 复杂多边形数据
|
|
3795
4065
|
*/
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
4066
|
+
private validateSource;
|
|
4067
|
+
}
|
|
4068
|
+
|
|
4069
|
+
/**
|
|
4070
|
+
* 图元类型
|
|
4071
|
+
*
|
|
4072
|
+
* @public
|
|
4073
|
+
*/
|
|
4074
|
+
enum EPCB_PrimitiveType {
|
|
4075
|
+
/** 圆弧线 */
|
|
4076
|
+
ARC = "Arc",
|
|
4077
|
+
/** 器件 */
|
|
4078
|
+
COMPONENT = "Component",
|
|
4079
|
+
/** 焊盘 */
|
|
4080
|
+
PAD = "Pad",
|
|
4081
|
+
/** 器件焊盘 */
|
|
4082
|
+
COMPONENT_PAD = "ComponentPad",
|
|
4083
|
+
/** 折线 */
|
|
4084
|
+
POLYLINE = "Polyline",
|
|
4085
|
+
/** 覆铜边框 */
|
|
4086
|
+
POUR = "Pour",
|
|
4087
|
+
/** 填充 */
|
|
4088
|
+
FILL = "Fill",
|
|
4089
|
+
/** 区域 */
|
|
4090
|
+
REGION = "Region",
|
|
4091
|
+
/** 直线 */
|
|
4092
|
+
LINE = "Line",
|
|
4093
|
+
/** 过孔 */
|
|
4094
|
+
VIA = "Via",
|
|
4095
|
+
/** 尺寸标注 */
|
|
4096
|
+
DIMENSION = "Dimension",
|
|
4097
|
+
/** 图像 */
|
|
4098
|
+
IMAGE = "Image",
|
|
4099
|
+
/** 二进制内嵌对象 */
|
|
4100
|
+
OBJECT = "Object",
|
|
4101
|
+
/** 覆铜填充 */
|
|
4102
|
+
POURED = "Poured",
|
|
4103
|
+
/** 文本 */
|
|
4104
|
+
STRING = "String",
|
|
4105
|
+
/** 属性 */
|
|
4106
|
+
ATTRIBUTE = "Attribute"
|
|
4107
|
+
}
|
|
4108
|
+
/**
|
|
4109
|
+
* 阻焊/助焊扩展
|
|
4110
|
+
*
|
|
4111
|
+
* @public
|
|
4112
|
+
* @remarks
|
|
4113
|
+
* 本参数设置包含以下三类情况:
|
|
4114
|
+
*
|
|
4115
|
+
* 1. 当图元为顶层/底层贴片焊盘时,允许设置对应层的阻焊/助焊扩展,其余设置不生效
|
|
4116
|
+
*
|
|
4117
|
+
* 2. 当图元为通孔焊盘时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效
|
|
4118
|
+
*
|
|
4119
|
+
* 3. 当图元为过孔时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效,如若为盲孔,则视其暴露层生效其阻焊扩展设置
|
|
4120
|
+
*
|
|
4121
|
+
* 助焊扩展在一般情况下仅用于钢网生产等特定用途,不了解其作用请安心地忽略其参数设置
|
|
4122
|
+
*/
|
|
4123
|
+
interface IPCB_PrimitiveSolderMaskAndPasteMaskExpansion {
|
|
4124
|
+
/** 顶层阻焊扩展 */
|
|
4125
|
+
topSolderMask?: number;
|
|
4126
|
+
/** 底层阻焊扩展 */
|
|
4127
|
+
bottomSolderMask?: number;
|
|
4128
|
+
/** 顶层助焊扩展 */
|
|
4129
|
+
topPasteMask?: number;
|
|
4130
|
+
/** 底层助焊扩展 */
|
|
4131
|
+
bottomPasteMask?: number;
|
|
4132
|
+
}
|
|
4133
|
+
/**
|
|
4134
|
+
* PCB & 封装 / 图元类
|
|
4135
|
+
*
|
|
4136
|
+
* @public
|
|
4137
|
+
* @remarks 图元的统一操作
|
|
4138
|
+
*/
|
|
4139
|
+
class PCB_Primitive {
|
|
3799
4140
|
/**
|
|
3800
|
-
*
|
|
4141
|
+
* 获取指定 ID 的图元的图元类型
|
|
3801
4142
|
*
|
|
3802
|
-
* @
|
|
3803
|
-
* @param
|
|
3804
|
-
* @
|
|
3805
|
-
* @param color - 网络类颜色
|
|
3806
|
-
* @returns 操作是否成功
|
|
4143
|
+
* @alpha
|
|
4144
|
+
* @param id - 图元 ID
|
|
4145
|
+
* @returns 图元类型
|
|
3807
4146
|
*/
|
|
3808
|
-
|
|
4147
|
+
getPrimitiveTypeByPrimitiveId(id: string): Promise<EPCB_PrimitiveType | undefined>;
|
|
3809
4148
|
/**
|
|
3810
|
-
*
|
|
4149
|
+
* 获取指定 ID 的图元的所有属性
|
|
3811
4150
|
*
|
|
3812
|
-
* @
|
|
3813
|
-
* @param
|
|
3814
|
-
* @returns
|
|
4151
|
+
* @alpha
|
|
4152
|
+
* @param id - 图元 ID
|
|
4153
|
+
* @returns 图元的所有属性
|
|
3815
4154
|
*/
|
|
3816
|
-
|
|
4155
|
+
getPrimitiveByPrimitiveId(id: string): Promise<IPCB_Primitive | undefined>;
|
|
3817
4156
|
/**
|
|
3818
|
-
*
|
|
4157
|
+
* 获取指定所有 ID 的图元的所有属性
|
|
3819
4158
|
*
|
|
3820
|
-
* @
|
|
3821
|
-
* @param
|
|
3822
|
-
* @
|
|
3823
|
-
* @returns 操作是否成功
|
|
4159
|
+
* @alpha
|
|
4160
|
+
* @param ids - 图元 ID 数组
|
|
4161
|
+
* @returns 所有图元的所有属性
|
|
3824
4162
|
*/
|
|
3825
|
-
|
|
4163
|
+
getPrimitivesByPrimitiveId(ids: Array<string>): Promise<Array<IPCB_Primitive>>;
|
|
3826
4164
|
/**
|
|
3827
|
-
*
|
|
4165
|
+
* 获取图元的 BBox
|
|
3828
4166
|
*
|
|
3829
4167
|
* @beta
|
|
3830
|
-
* @param
|
|
3831
|
-
* @
|
|
3832
|
-
* @returns 操作是否成功
|
|
4168
|
+
* @param primitiveIds - 图元 ID 数组或图元对象数组
|
|
4169
|
+
* @returns 图元的 BBox,如若图元不存在或没有 BBox,将会返回 `undefined` 的结果
|
|
3833
4170
|
*/
|
|
3834
|
-
|
|
4171
|
+
getPrimitivesBBox(primitiveIds: Array<string | IPCB_Primitive>): Promise<{
|
|
4172
|
+
minX: number;
|
|
4173
|
+
minY: number;
|
|
4174
|
+
maxX: number;
|
|
4175
|
+
maxY: number;
|
|
4176
|
+
} | undefined>;
|
|
3835
4177
|
/**
|
|
3836
|
-
*
|
|
4178
|
+
* 获取图元的边框线
|
|
3837
4179
|
*
|
|
3838
|
-
* @
|
|
3839
|
-
* @param
|
|
3840
|
-
* @param
|
|
3841
|
-
* @returns
|
|
4180
|
+
* @alpha
|
|
4181
|
+
* @param primitiveId - 图元 ID
|
|
4182
|
+
* @param layers - 需要计算的层,在计算器件、焊盘、过孔时能够精确计算指定多个层的边框线的并集
|
|
4183
|
+
* @returns 复杂多边形,如果图元 ID 未匹配或图元在指定层上不存在,则返回 `undefined`
|
|
3842
4184
|
*/
|
|
3843
|
-
|
|
4185
|
+
getPrimitiveBoardLine(primitiveId: string, layers?: Array<EPCB_LayerId>): IPCB_ComplexPolygon | undefined;
|
|
4186
|
+
}
|
|
4187
|
+
|
|
4188
|
+
/**
|
|
4189
|
+
* PCB 图元接口
|
|
4190
|
+
*
|
|
4191
|
+
* @public
|
|
4192
|
+
*/
|
|
4193
|
+
interface IPCB_PrimitiveAPI {
|
|
4194
|
+
create: (...args: any[]) => IPCB_Primitive | undefined | Promise<IPCB_Primitive> | Promise<IPCB_Primitive | undefined>;
|
|
4195
|
+
delete: (primitiveIds: string | any | Array<string> | Array<any>) => boolean | Promise<boolean>;
|
|
4196
|
+
modify: (primitiveId: string | any, ...args: any[]) => IPCB_Primitive | undefined | Promise<IPCB_Primitive> | Promise<IPCB_Primitive | undefined>;
|
|
4197
|
+
get: {
|
|
4198
|
+
(primitiveIds: string): IPCB_Primitive | undefined | Promise<IPCB_Primitive | undefined>;
|
|
4199
|
+
(primitiveIds: Array<string>): Array<IPCB_Primitive> | Promise<Array<IPCB_Primitive>>;
|
|
4200
|
+
};
|
|
4201
|
+
getAllPrimitiveId: (...args: any[]) => Array<string> | Promise<Array<string>>;
|
|
4202
|
+
getAll: (...args: any[]) => Array<IPCB_Primitive> | Promise<Array<IPCB_Primitive>>;
|
|
4203
|
+
}
|
|
4204
|
+
/**
|
|
4205
|
+
* PCB 图元
|
|
4206
|
+
*
|
|
4207
|
+
* @public
|
|
4208
|
+
*/
|
|
4209
|
+
interface IPCB_Primitive {
|
|
4210
|
+
getState_PrimitiveType: () => EPCB_PrimitiveType;
|
|
4211
|
+
getState_PrimitiveId: () => string;
|
|
4212
|
+
create: () => IPCB_Primitive | Promise<IPCB_Primitive>;
|
|
4213
|
+
toAsync: () => IPCB_Primitive;
|
|
4214
|
+
toSync: () => IPCB_Primitive;
|
|
4215
|
+
isAsync: () => boolean;
|
|
4216
|
+
reset: () => IPCB_Primitive | Promise<IPCB_Primitive>;
|
|
4217
|
+
done: () => IPCB_Primitive | Promise<IPCB_Primitive>;
|
|
4218
|
+
}
|
|
4219
|
+
|
|
4220
|
+
/**
|
|
4221
|
+
* 文档飞线计算功能状态
|
|
4222
|
+
*
|
|
4223
|
+
* @public
|
|
4224
|
+
*/
|
|
4225
|
+
enum EPCB_DocumentRatlineCalculatingActiveStatus {
|
|
4226
|
+
/** 启用 */
|
|
4227
|
+
ACTIVE = "active",
|
|
4228
|
+
/** 停用 */
|
|
4229
|
+
INACTIVE = "inactive"
|
|
4230
|
+
}
|
|
4231
|
+
/**
|
|
4232
|
+
* PCB & 封装 / 文档操作类
|
|
4233
|
+
*
|
|
4234
|
+
* @public
|
|
4235
|
+
* @remarks 对设计文档总体进行的操作
|
|
4236
|
+
*/
|
|
4237
|
+
class PCB_Document {
|
|
3844
4238
|
/**
|
|
3845
|
-
*
|
|
4239
|
+
* 从原理图导入变更
|
|
3846
4240
|
*
|
|
3847
|
-
* @
|
|
3848
|
-
* @
|
|
4241
|
+
* @public
|
|
4242
|
+
* @param uuid - 原理图 UUID,默认为关联在同一个 Board 下的原理图
|
|
4243
|
+
* @returns 导入操作是否成功,导入失败或未传入原理图 UUID 的游离 PCB 将返回 `false`
|
|
3849
4244
|
*/
|
|
3850
|
-
|
|
4245
|
+
importChanges(uuid?: string): Promise<boolean>;
|
|
3851
4246
|
/**
|
|
3852
|
-
*
|
|
4247
|
+
* 导入自动布线文件(JSON)
|
|
3853
4248
|
*
|
|
3854
4249
|
* @beta
|
|
3855
|
-
* @
|
|
3856
|
-
* @param
|
|
3857
|
-
* @
|
|
3858
|
-
* @returns 操作是否成功
|
|
4250
|
+
* @remarks 可以使用 {@link SYS_FileSystem.openReadFileDialog} 读入文件
|
|
4251
|
+
* @param autoRouteFile - 欲导入的 JSON 文件
|
|
4252
|
+
* @returns 导入操作是否成功
|
|
3859
4253
|
*/
|
|
3860
|
-
|
|
4254
|
+
importAutoRouteJsonFile(autoRouteFile: File): Promise<boolean>;
|
|
3861
4255
|
/**
|
|
3862
|
-
*
|
|
4256
|
+
* 导入自动布线文件(SES)
|
|
3863
4257
|
*
|
|
3864
4258
|
* @beta
|
|
3865
|
-
* @
|
|
3866
|
-
* @
|
|
4259
|
+
* @remarks 可以使用 {@link SYS_FileSystem.openReadFileDialog} 读入文件
|
|
4260
|
+
* @param autoRouteFile - 欲导入的 SES 文件
|
|
4261
|
+
* @returns 导入操作是否成功
|
|
3867
4262
|
*/
|
|
3868
|
-
|
|
4263
|
+
importAutoRouteSesFile(autoRouteFile: File): Promise<boolean>;
|
|
3869
4264
|
/**
|
|
3870
|
-
*
|
|
4265
|
+
* 导入自动布局文件(JSON)
|
|
3871
4266
|
*
|
|
3872
4267
|
* @beta
|
|
3873
|
-
* @
|
|
3874
|
-
* @param
|
|
3875
|
-
* @returns
|
|
4268
|
+
* @remarks 可以使用 {@link SYS_FileSystem.openReadFileDialog} 读入文件
|
|
4269
|
+
* @param autoLayoutFile - 欲导入的 JSON 文件
|
|
4270
|
+
* @returns 导入操作是否成功
|
|
3876
4271
|
*/
|
|
3877
|
-
|
|
4272
|
+
importAutoLayoutJsonFile(autoLayoutFile: File): Promise<boolean>;
|
|
3878
4273
|
/**
|
|
3879
|
-
*
|
|
4274
|
+
* 保存文档
|
|
3880
4275
|
*
|
|
3881
|
-
* @
|
|
3882
|
-
* @
|
|
3883
|
-
* @param positiveNet - 正网络名称
|
|
3884
|
-
* @returns 操作是否成功
|
|
4276
|
+
* @public
|
|
4277
|
+
* @returns 保存操作是否成功,保存失败、上传失败等错误均返回 `false`
|
|
3885
4278
|
*/
|
|
3886
|
-
|
|
4279
|
+
save(uuid: string): Promise<boolean>;
|
|
3887
4280
|
/**
|
|
3888
|
-
*
|
|
4281
|
+
* 获取当前飞线计算功能状态
|
|
3889
4282
|
*
|
|
3890
|
-
* @
|
|
3891
|
-
* @
|
|
3892
|
-
* @param negativeNet - 负网络名称
|
|
3893
|
-
* @returns 操作是否成功
|
|
4283
|
+
* @public
|
|
4284
|
+
* @returns 功能状态
|
|
3894
4285
|
*/
|
|
3895
|
-
|
|
4286
|
+
getCalculatingRatlineStatus(): Promise<EPCB_DocumentRatlineCalculatingActiveStatus>;
|
|
3896
4287
|
/**
|
|
3897
|
-
*
|
|
3898
|
-
*
|
|
3899
|
-
* @beta
|
|
3900
|
-
* @remarks
|
|
3901
|
-
* BREAKING CHANGE since EDA v3.4
|
|
4288
|
+
* 启动飞线计算功能
|
|
3902
4289
|
*
|
|
3903
|
-
*
|
|
3904
|
-
* @
|
|
4290
|
+
* @public
|
|
4291
|
+
* @remarks 在启动时将会触发一次飞线计算
|
|
4292
|
+
* @returns 操作是否成功
|
|
3905
4293
|
*/
|
|
3906
|
-
|
|
3907
|
-
[key: string]: any;
|
|
3908
|
-
}>;
|
|
4294
|
+
startCalculatingRatline(): Promise<boolean>;
|
|
3909
4295
|
/**
|
|
3910
|
-
*
|
|
4296
|
+
* 停止飞线计算功能
|
|
3911
4297
|
*
|
|
3912
|
-
* @
|
|
3913
|
-
* @param equalLengthNetGroupName - 等长网络组名称
|
|
3914
|
-
* @param nets - 网络名称数组
|
|
3915
|
-
* @param color - 等长网络组颜色
|
|
4298
|
+
* @public
|
|
3916
4299
|
* @returns 操作是否成功
|
|
3917
4300
|
*/
|
|
3918
|
-
|
|
4301
|
+
stopCalculatingRatline(): Promise<boolean>;
|
|
3919
4302
|
/**
|
|
3920
|
-
*
|
|
4303
|
+
* 输入画布坐标返回该坐标对应的数据坐标
|
|
3921
4304
|
*
|
|
3922
|
-
* @
|
|
3923
|
-
* @
|
|
3924
|
-
* @
|
|
4305
|
+
* @public
|
|
4306
|
+
* @remarks 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点
|
|
4307
|
+
* @param canvasOriginX - 画布原点 X
|
|
4308
|
+
* @param canvasOriginY - 画布原点 Y
|
|
4309
|
+
* @returns 数据原点坐标
|
|
3925
4310
|
*/
|
|
3926
|
-
|
|
4311
|
+
convertCanvasOriginToDataOrigin(x: number, y: number): Promise<{
|
|
4312
|
+
x: number;
|
|
4313
|
+
y: number;
|
|
4314
|
+
}>;
|
|
3927
4315
|
/**
|
|
3928
|
-
*
|
|
4316
|
+
* 输入数据坐标返回该坐标对应的画布坐标
|
|
3929
4317
|
*
|
|
3930
|
-
* @
|
|
3931
|
-
* @
|
|
3932
|
-
* @param
|
|
3933
|
-
* @
|
|
4318
|
+
* @public
|
|
4319
|
+
* @remarks 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点
|
|
4320
|
+
* @param x - 数据原点 X
|
|
4321
|
+
* @param y - 数据原点 Y
|
|
4322
|
+
* @returns 画布原点坐标
|
|
3934
4323
|
*/
|
|
3935
|
-
|
|
4324
|
+
convertDataOriginToCanvasOrigin(x: number, y: number): Promise<{
|
|
4325
|
+
x: number;
|
|
4326
|
+
y: number;
|
|
4327
|
+
}>;
|
|
3936
4328
|
/**
|
|
3937
|
-
*
|
|
4329
|
+
* 获取画布原点相对于数据原点的偏移坐标
|
|
3938
4330
|
*
|
|
3939
|
-
* @
|
|
3940
|
-
* @
|
|
3941
|
-
*
|
|
3942
|
-
*
|
|
4331
|
+
* @public
|
|
4332
|
+
* @remarks
|
|
4333
|
+
* 嘉立创 EDA 专业版前端显示的坐标均为画布原点;
|
|
4334
|
+
*
|
|
4335
|
+
* 嘉立创 EDA 专业版 API 使用的均为数据原点;
|
|
4336
|
+
*
|
|
4337
|
+
* 如果返回的数据为 `{ canvasOriginOffsetX: 100, canvasOriginOffsetY: 200 }`,
|
|
4338
|
+
* 则代表画布原点在数据原点的向右 100 单位且向上 200 单位的位置;
|
|
4339
|
+
*
|
|
4340
|
+
* 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil
|
|
4341
|
+
* @returns 画布原点相对于数据原点的偏移坐标
|
|
3943
4342
|
*/
|
|
3944
|
-
|
|
4343
|
+
getCanvasOrigin(): Promise<{
|
|
4344
|
+
offsetX: number;
|
|
4345
|
+
offsetY: number;
|
|
4346
|
+
}>;
|
|
3945
4347
|
/**
|
|
3946
|
-
*
|
|
4348
|
+
* 设置画布原点相对于数据原点的偏移坐标
|
|
3947
4349
|
*
|
|
3948
|
-
* @
|
|
3949
|
-
* @
|
|
3950
|
-
*
|
|
4350
|
+
* @public
|
|
4351
|
+
* @remarks
|
|
4352
|
+
* 嘉立创 EDA 专业版前端显示的坐标均为画布原点;
|
|
4353
|
+
*
|
|
4354
|
+
* 嘉立创 EDA 专业版 API 使用的均为数据原点;
|
|
4355
|
+
*
|
|
4356
|
+
* 如果希望在 API 操作时前端画布坐标能与数据一致,
|
|
4357
|
+
* 建议调用本方法并设置偏移量为零,
|
|
4358
|
+
* 即 `setCanvasOrigin(0, 0)`;
|
|
4359
|
+
*
|
|
4360
|
+
* 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil
|
|
4361
|
+
* @param offsetX - 画布原点相对于数据原点的 X 坐标偏移
|
|
4362
|
+
* @param offsetY - 画布原点相对于数据原点的 Y 坐标偏移
|
|
3951
4363
|
* @returns 操作是否成功
|
|
3952
4364
|
*/
|
|
3953
|
-
|
|
4365
|
+
setCanvasOrigin(offsetX: number, offsetY: number): Promise<boolean>;
|
|
3954
4366
|
/**
|
|
3955
|
-
*
|
|
4367
|
+
* 定位到画布坐标
|
|
3956
4368
|
*
|
|
3957
|
-
* @
|
|
3958
|
-
* @
|
|
3959
|
-
|
|
3960
|
-
getAllEqualLengthNetGroups(): Promise<Array<IPCB_EqualLengthNetGroupItem>>;
|
|
3961
|
-
/**
|
|
3962
|
-
* 创建焊盘对组
|
|
4369
|
+
* @public
|
|
4370
|
+
* @remarks
|
|
4371
|
+
* 本接口在前端画布上定位到指定的数据层面坐标;
|
|
3963
4372
|
*
|
|
3964
|
-
*
|
|
3965
|
-
* @
|
|
3966
|
-
*
|
|
4373
|
+
* 如果希望在进行本操作时前端画布坐标能与传入数据一致,
|
|
4374
|
+
* 建议调用 {@link PCB_Document.setCanvasOrigin} 方法并设置偏移量为零;
|
|
4375
|
+
*
|
|
4376
|
+
* 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil
|
|
4377
|
+
* @param x - 坐标 X
|
|
4378
|
+
* @param y - 坐标 Y
|
|
3967
4379
|
* @returns 操作是否成功
|
|
3968
|
-
* @example 有三种不同的用法,确保画布上已有对应的焊盘。 分别是 一,游离焊盘-游离焊盘;二,器件焊盘 - 器件焊盘;三,器件焊盘 - 游离焊盘
|
|
3969
|
-
* await eda.pcb_Drc.createPadPairGroup('test',[['e0','e1']]) // 游离焊盘-游离焊盘
|
|
3970
|
-
* await eda.pcb_Drc.createPadPairGroup('test',[['R1:1','R1:2'],['R2:1','R2:2']]) // 器件焊盘 - 器件焊盘
|
|
3971
|
-
* await eda.pcb_Drc.createPadPairGroup('test',[['R1:1','e0'],['R1:2','e1']]) // 器件焊盘 - 游离焊盘
|
|
3972
4380
|
*/
|
|
3973
|
-
|
|
4381
|
+
navigateToCoordinates(x: number, y: number): Promise<boolean>;
|
|
3974
4382
|
/**
|
|
3975
|
-
*
|
|
4383
|
+
* 定位到画布区域
|
|
3976
4384
|
*
|
|
3977
4385
|
* @beta
|
|
3978
|
-
* @
|
|
4386
|
+
* @remarks
|
|
4387
|
+
* 本接口在前端画布上定位到指定的区域,区域数据为相对于数据原点的偏移;
|
|
4388
|
+
*
|
|
4389
|
+
* 例如:传入数据为 `{left: 0, right: 60, top: 100, bottom: -20}` =\> `navigateToRegion(0, 60, 100, -20)`,
|
|
4390
|
+
* 则画布将会定位到以 `[30, 40]` 为中心的,`x` 轴方向长度为 `60`,`y` 轴方向长度为 `120` 的矩形范围;
|
|
4391
|
+
*
|
|
4392
|
+
* 本接口不进行缩放操作,但会生成指示定位中心及表示区域范围的矩形框;
|
|
4393
|
+
*
|
|
4394
|
+
* 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil
|
|
4395
|
+
* @param left - 矩形框第一 X 坐标
|
|
4396
|
+
* @param right - 矩形框第二 X 坐标
|
|
4397
|
+
* @param top - 矩形框第一 Y 坐标
|
|
4398
|
+
* @param bottom - 矩形框第二 Y 坐标
|
|
3979
4399
|
* @returns 操作是否成功
|
|
3980
4400
|
*/
|
|
3981
|
-
|
|
4401
|
+
navigateToRegion(left: number, right: number, top: number, bottom: number): Promise<boolean>;
|
|
3982
4402
|
/**
|
|
3983
|
-
*
|
|
4403
|
+
* 获取坐标点的图元
|
|
3984
4404
|
*
|
|
3985
4405
|
* @beta
|
|
3986
|
-
* @
|
|
3987
|
-
* @param
|
|
3988
|
-
* @
|
|
4406
|
+
* @remarks 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元
|
|
4407
|
+
* @param x - 坐标点 X
|
|
4408
|
+
* @param y - 坐标点 Y
|
|
4409
|
+
* @returns 坐标点的图元,如若坐标点无法找到图元,将返回 `undefined`
|
|
3989
4410
|
*/
|
|
3990
|
-
|
|
4411
|
+
getPrimitiveAtPoint(x: number, y: number): Promise<IPCB_Primitive | undefined>;
|
|
3991
4412
|
/**
|
|
3992
|
-
*
|
|
4413
|
+
* 获取区域内所有图元
|
|
3993
4414
|
*
|
|
3994
4415
|
* @beta
|
|
3995
|
-
* @param
|
|
3996
|
-
* @param
|
|
3997
|
-
* @
|
|
3998
|
-
* @
|
|
3999
|
-
*
|
|
4000
|
-
*
|
|
4001
|
-
* await eda.pcb_Drc.addPadPairToPadPairGroup('test',['R1:1','e1']) // 器件焊盘 - 游离焊盘
|
|
4416
|
+
* @param left - 矩形框第一 X 坐标
|
|
4417
|
+
* @param right - 矩形框第二 X 坐标
|
|
4418
|
+
* @param top - 矩形框第一 Y 坐标
|
|
4419
|
+
* @param bottom - 矩形框第二 Y 坐标
|
|
4420
|
+
* @param leftToRight - 是否仅获取完全框选的图元,`false` 则触碰即获取
|
|
4421
|
+
* @returns 区域内所有图元
|
|
4002
4422
|
*/
|
|
4003
|
-
|
|
4423
|
+
getPrimitivesInRegion(left: number, right: number, top: number, bottom: number, leftToRight?: boolean): Promise<Array<IPCB_Primitive>>;
|
|
4004
4424
|
/**
|
|
4005
|
-
*
|
|
4425
|
+
* 缩放到板框(适应板框)
|
|
4006
4426
|
*
|
|
4007
4427
|
* @beta
|
|
4008
|
-
* @param padPairGroupName - 焊盘对组名称
|
|
4009
|
-
* @param padPair - 焊盘对
|
|
4010
4428
|
* @returns 操作是否成功
|
|
4011
|
-
* @example 有三种不同的用法,确保画布上已有对应的焊盘。 分别是 一,游离焊盘-游离焊盘;二,器件焊盘 - 器件焊盘;三,器件焊盘 - 游离焊盘
|
|
4012
|
-
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['e0','e1']) // 游离焊盘-游离焊盘
|
|
4013
|
-
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['R1:1','R1:2']) // 器件焊盘 - 器件焊盘
|
|
4014
|
-
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['R1:2','e1']) // 器件焊盘 - 游离焊盘
|
|
4015
4429
|
*/
|
|
4016
|
-
|
|
4430
|
+
zoomToBoardOutline(): Promise<boolean>;
|
|
4017
4431
|
/**
|
|
4018
|
-
*
|
|
4432
|
+
* 获取当前画布过滤器配置
|
|
4019
4433
|
*
|
|
4020
4434
|
* @beta
|
|
4021
|
-
* @returns
|
|
4435
|
+
* @returns 当前画布过滤器配置,`undefined` 为获取失败
|
|
4022
4436
|
*/
|
|
4023
|
-
|
|
4437
|
+
getCurrentFilterConfiguration(): Promise<{
|
|
4438
|
+
[key: string]: any;
|
|
4439
|
+
} | undefined>;
|
|
4024
4440
|
/**
|
|
4025
|
-
*
|
|
4441
|
+
* 清除布线
|
|
4026
4442
|
*
|
|
4027
|
-
* @
|
|
4028
|
-
* @param
|
|
4029
|
-
* @returns 所有焊盘对的最短导线长度
|
|
4443
|
+
* @alpha
|
|
4444
|
+
* @param type - 清除类型,如若需要指定清除类型,请提前选择指定图元
|
|
4030
4445
|
*/
|
|
4031
|
-
|
|
4446
|
+
clearRouting(type?: 'all' | 'net' | 'connection'): Promise<boolean>;
|
|
4032
4447
|
}
|
|
4033
4448
|
|
|
4034
4449
|
/**
|
|
4035
|
-
*
|
|
4450
|
+
* 网络类属性
|
|
4036
4451
|
*
|
|
4037
4452
|
* @public
|
|
4038
4453
|
*/
|
|
4039
|
-
|
|
4040
|
-
/**
|
|
4041
|
-
|
|
4042
|
-
/**
|
|
4043
|
-
|
|
4044
|
-
/**
|
|
4045
|
-
|
|
4454
|
+
interface IPCB_NetClassItem {
|
|
4455
|
+
/** 网络类名称 */
|
|
4456
|
+
name: string;
|
|
4457
|
+
/** 网络名称数组 */
|
|
4458
|
+
nets: Array<string>;
|
|
4459
|
+
/** 网络类颜色 */
|
|
4460
|
+
color: {
|
|
4461
|
+
r: number;
|
|
4462
|
+
g: number;
|
|
4463
|
+
b: number;
|
|
4464
|
+
alpha: number;
|
|
4465
|
+
} | null;
|
|
4046
4466
|
}
|
|
4047
4467
|
/**
|
|
4048
|
-
*
|
|
4468
|
+
* 差分对属性
|
|
4049
4469
|
*
|
|
4050
4470
|
* @public
|
|
4051
4471
|
*/
|
|
4052
|
-
|
|
4053
|
-
/**
|
|
4054
|
-
|
|
4055
|
-
/**
|
|
4056
|
-
|
|
4057
|
-
/**
|
|
4058
|
-
|
|
4472
|
+
interface IPCB_DifferentialPairItem {
|
|
4473
|
+
/** 差分对名称 */
|
|
4474
|
+
name: string;
|
|
4475
|
+
/** 正网络 */
|
|
4476
|
+
positiveNet: string;
|
|
4477
|
+
/** 负网络 */
|
|
4478
|
+
negativeNet: string;
|
|
4059
4479
|
}
|
|
4060
4480
|
/**
|
|
4061
|
-
*
|
|
4481
|
+
* 等长网络组属性
|
|
4062
4482
|
*
|
|
4063
4483
|
* @public
|
|
4064
4484
|
*/
|
|
4065
|
-
|
|
4066
|
-
/**
|
|
4067
|
-
|
|
4068
|
-
/**
|
|
4069
|
-
|
|
4070
|
-
/**
|
|
4071
|
-
|
|
4485
|
+
interface IPCB_EqualLengthNetGroupItem {
|
|
4486
|
+
/** 等长网络组名称 */
|
|
4487
|
+
name: string;
|
|
4488
|
+
/** 网络名称数组 */
|
|
4489
|
+
nets: Array<string>;
|
|
4490
|
+
/** 等长网络组颜色 */
|
|
4491
|
+
color: {
|
|
4492
|
+
r: number;
|
|
4493
|
+
g: number;
|
|
4494
|
+
b: number;
|
|
4495
|
+
alpha: number;
|
|
4496
|
+
} | null;
|
|
4072
4497
|
}
|
|
4073
4498
|
/**
|
|
4074
|
-
*
|
|
4499
|
+
* 焊盘对组属性
|
|
4075
4500
|
*
|
|
4076
4501
|
* @public
|
|
4077
|
-
* @remarks 注册事件回调
|
|
4078
4502
|
*/
|
|
4079
|
-
|
|
4080
|
-
/**
|
|
4081
|
-
|
|
4503
|
+
interface IPCB_PadPairGroupItem {
|
|
4504
|
+
/** 焊盘对组名称 */
|
|
4505
|
+
name: string;
|
|
4506
|
+
/** 焊盘对数组 */
|
|
4507
|
+
padPairs: Array<[string, string]>;
|
|
4508
|
+
}
|
|
4509
|
+
/**
|
|
4510
|
+
* 焊盘对最短导线长度属性
|
|
4511
|
+
*
|
|
4512
|
+
* @public
|
|
4513
|
+
*/
|
|
4514
|
+
interface IPCB_PadPairMinWireLengthItem {
|
|
4515
|
+
/** 焊盘对数组 */
|
|
4516
|
+
padPair: [string, string];
|
|
4517
|
+
/** 最短导线长度 */
|
|
4518
|
+
minWireLength: number;
|
|
4519
|
+
}
|
|
4520
|
+
/**
|
|
4521
|
+
* PCB & 封装 / 设计规则检查(DRC)类
|
|
4522
|
+
*
|
|
4523
|
+
* @public
|
|
4524
|
+
* @remarks 检查、设定 DRC 规则
|
|
4525
|
+
*/
|
|
4526
|
+
class PCB_Drc {
|
|
4082
4527
|
/**
|
|
4083
|
-
*
|
|
4084
|
-
*
|
|
4528
|
+
* 检查 DRC
|
|
4529
|
+
*
|
|
4530
|
+
* @beta
|
|
4531
|
+
* @param strict - 是否严格检查,当前 PCB 统一为严格检查模式
|
|
4532
|
+
* @param userInterface - 是否显示 UI(呼出底部 DRC 窗口)
|
|
4533
|
+
* @param includeVerboseError - 是否在返回值中包含详细错误信息,如若为 `true`,则返回值将始终为数组
|
|
4534
|
+
* @returns DRC 检查是否通过
|
|
4085
4535
|
*/
|
|
4086
|
-
|
|
4536
|
+
check(strict: boolean, userInterface: boolean, includeVerboseError: false): Promise<boolean>;
|
|
4087
4537
|
/**
|
|
4088
|
-
*
|
|
4538
|
+
* 检查 DRC
|
|
4089
4539
|
*
|
|
4090
4540
|
* @beta
|
|
4091
|
-
* @
|
|
4092
|
-
* @param
|
|
4093
|
-
* @param
|
|
4094
|
-
* @
|
|
4095
|
-
* @param onlyOnce - 是否仅监听一次
|
|
4541
|
+
* @param strict - 是否严格检查,当前 PCB 统一为严格检查模式
|
|
4542
|
+
* @param userInterface - 是否显示 UI(呼出底部 DRC 窗口)
|
|
4543
|
+
* @param includeVerboseError - 是否在返回值中包含详细错误信息,如若为 `true`,则返回值将始终为数组
|
|
4544
|
+
* @returns DRC 检查的详细结果
|
|
4096
4545
|
*/
|
|
4097
|
-
|
|
4098
|
-
{
|
|
4099
|
-
primitiveId: string;
|
|
4100
|
-
primitiveType: EPCB_PrimitiveType;
|
|
4101
|
-
net?: string;
|
|
4102
|
-
designator?: string;
|
|
4103
|
-
parentComponentPrimitiveId?: string;
|
|
4104
|
-
parentComponentDesignator?: string;
|
|
4105
|
-
}
|
|
4106
|
-
]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4546
|
+
check(strict: boolean, userInterface: boolean, includeVerboseError: true): Promise<Array<any>>;
|
|
4107
4547
|
/**
|
|
4108
|
-
*
|
|
4548
|
+
* 获取实时 DRC 检查状态
|
|
4549
|
+
*
|
|
4550
|
+
* @alpha
|
|
4551
|
+
* @returns 实时 DRC 检查状态,实时 DRC 已停止、不处于 PCB 或获取失败均返回 `false`
|
|
4552
|
+
*/
|
|
4553
|
+
getRealTimeDrcStatus(): boolean;
|
|
4554
|
+
/**
|
|
4555
|
+
* 开始实时 DRC 检查
|
|
4556
|
+
*
|
|
4557
|
+
* @alpha
|
|
4558
|
+
* @remarks 本接口返回值为结果导向,调用本接口前已启用实时 DRC 检查也将返回 `true`
|
|
4559
|
+
* @returns 是否成功启用实时 DRC 检查
|
|
4560
|
+
*/
|
|
4561
|
+
startRealTimeDrc(): boolean;
|
|
4562
|
+
/**
|
|
4563
|
+
* 停止实时 DRC 检查
|
|
4564
|
+
*
|
|
4565
|
+
* @alpha
|
|
4566
|
+
* @remarks 本接口返回值为结果导向,调用本接口前已停用实时 DRC 检查也将返回 `true`
|
|
4567
|
+
* @returns 是否成功停用实时 DRC 检查
|
|
4568
|
+
*/
|
|
4569
|
+
stopRealTimeDrc(): boolean;
|
|
4570
|
+
/**
|
|
4571
|
+
* 获取当前设计规则配置名称
|
|
4572
|
+
*
|
|
4573
|
+
* @public
|
|
4574
|
+
* @returns 当前设计规则配置名称,`undefined` 为获取失败
|
|
4575
|
+
*/
|
|
4576
|
+
getCurrentRuleConfigurationName(): Promise<string | undefined>;
|
|
4577
|
+
/**
|
|
4578
|
+
* 获取当前设计规则配置
|
|
4109
4579
|
*
|
|
4110
4580
|
* @beta
|
|
4111
|
-
* @
|
|
4112
|
-
* @param id - 事件 ID,用以防止重复注册事件
|
|
4113
|
-
* @param eventType - 事件类型
|
|
4114
|
-
* @param callFn - 事件触发时的回调函数
|
|
4115
|
-
* @param onlyOnce - 是否仅监听一次
|
|
4581
|
+
* @returns 当前设计规则配置,`undefined` 为获取失败
|
|
4116
4582
|
*/
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
primitiveType: EPCB_PrimitiveType;
|
|
4121
|
-
net?: string;
|
|
4122
|
-
designator?: string;
|
|
4123
|
-
parentComponentPrimitiveId?: string;
|
|
4124
|
-
parentComponentDesignator?: string;
|
|
4125
|
-
}
|
|
4126
|
-
]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4583
|
+
getCurrentRuleConfiguration(): Promise<{
|
|
4584
|
+
[key: string]: any;
|
|
4585
|
+
} | undefined>;
|
|
4127
4586
|
/**
|
|
4128
|
-
*
|
|
4587
|
+
* 获取指定设计规则配置
|
|
4588
|
+
*
|
|
4589
|
+
* @public
|
|
4590
|
+
* @param configurationName - 配置名称
|
|
4591
|
+
* @returns 设计规则配置,`undefined` 为不存在该设计规则
|
|
4592
|
+
*/
|
|
4593
|
+
getRuleConfiguration(configurationName: string): Promise<{
|
|
4594
|
+
[key: string]: any;
|
|
4595
|
+
} | undefined>;
|
|
4596
|
+
/**
|
|
4597
|
+
* 获取所有设计规则配置
|
|
4129
4598
|
*
|
|
4130
4599
|
* @beta
|
|
4131
|
-
* @
|
|
4132
|
-
*
|
|
4600
|
+
* @param includeSystem - 是否获取系统设计规则配置
|
|
4601
|
+
* @returns 所有设计规则配置
|
|
4602
|
+
*/
|
|
4603
|
+
getAllRuleConfigurations(includeSystem?: boolean): Promise<Array<{
|
|
4604
|
+
[key: string]: any;
|
|
4605
|
+
}>>;
|
|
4606
|
+
/**
|
|
4607
|
+
* 保存设计规则配置
|
|
4133
4608
|
*
|
|
4134
|
-
*
|
|
4609
|
+
* @beta
|
|
4610
|
+
* @remarks 只有自定义配置可以覆盖保存,系统配置不允许修改和覆盖
|
|
4611
|
+
* @param ruleConfiguration - 设计规则配置
|
|
4612
|
+
* @param configurationName - 配置名称
|
|
4613
|
+
* @param allowOverwrite - 是否允许覆写同名设计规则配置,`false` 则将在遇到同名设计规则配置时返回 `false`,请注意可能的数据丢失风险
|
|
4614
|
+
* @returns 保存是否成功
|
|
4615
|
+
*/
|
|
4616
|
+
saveRuleConfiguration(ruleConfiguration: {
|
|
4617
|
+
[key: string]: any;
|
|
4618
|
+
}, configurationName: string, allowOverwrite?: boolean): Promise<boolean>;
|
|
4619
|
+
/**
|
|
4620
|
+
* 重命名设计规则配置
|
|
4135
4621
|
*
|
|
4136
|
-
*
|
|
4622
|
+
* @beta
|
|
4623
|
+
* @remarks 只有自定义配置可以重命名,系统配置不允许重命名
|
|
4624
|
+
* @param originalConfigurationName - 原设计规则配置名称
|
|
4625
|
+
* @param configurationName - 新设计规则配置名称
|
|
4626
|
+
* @returns 重命名是否成功
|
|
4627
|
+
*/
|
|
4628
|
+
renameRuleConfiguration(originalConfigurationName: string, configurationName: string): Promise<boolean>;
|
|
4629
|
+
/**
|
|
4630
|
+
* 删除设计规则配置
|
|
4137
4631
|
*
|
|
4138
|
-
*
|
|
4632
|
+
* @beta
|
|
4633
|
+
* @remarks 系统配置不允许删除
|
|
4634
|
+
* @param configurationName - 配置名称
|
|
4635
|
+
* @returns 删除是否成功
|
|
4636
|
+
*/
|
|
4637
|
+
deleteRuleConfiguration(configurationName: string): Promise<boolean>;
|
|
4638
|
+
/**
|
|
4639
|
+
* 获取新建 PCB 默认设计规则配置的名称
|
|
4139
4640
|
*
|
|
4140
|
-
*
|
|
4141
|
-
* @
|
|
4142
|
-
* @param eventType - 事件类型
|
|
4143
|
-
* @param callFn - 事件触发时的回调函数
|
|
4144
|
-
* @param onlyOnce - 是否仅监听一次
|
|
4641
|
+
* @beta
|
|
4642
|
+
* @returns 默认设计规则配置的名称,`undefined` 为获取失败
|
|
4145
4643
|
*/
|
|
4146
|
-
|
|
4147
|
-
net: string;
|
|
4148
|
-
}]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4644
|
+
getDefaultRuleConfigurationName(): Promise<string | undefined>;
|
|
4149
4645
|
/**
|
|
4150
|
-
*
|
|
4646
|
+
* 设置为新建 PCB 默认设计规则配置
|
|
4151
4647
|
*
|
|
4152
4648
|
* @beta
|
|
4153
|
-
* @remarks
|
|
4154
|
-
* @param
|
|
4155
|
-
* @
|
|
4649
|
+
* @remarks 返回值为结果导向,重复设置相同的设计规则为默认设计规则也将返回 `true`
|
|
4650
|
+
* @param configurationName - 配置名称
|
|
4651
|
+
* @returns 设置是否成功
|
|
4156
4652
|
*/
|
|
4157
|
-
|
|
4653
|
+
setAsDefaultRuleConfiguration(configurationName: string): Promise<boolean>;
|
|
4158
4654
|
/**
|
|
4159
|
-
*
|
|
4655
|
+
* 覆写当前设计规则配置
|
|
4160
4656
|
*
|
|
4161
|
-
* @
|
|
4162
|
-
* @
|
|
4163
|
-
* @
|
|
4657
|
+
* @beta
|
|
4658
|
+
* @remarks 将会覆写 PCB 当前的设计规则配置,请注意数据丢失风险
|
|
4659
|
+
* @param ruleConfiguration - 设计规则配置
|
|
4660
|
+
* @returns 覆写是否成功
|
|
4164
4661
|
*/
|
|
4165
|
-
|
|
4662
|
+
overwriteCurrentRuleConfiguration(ruleConfiguration: {
|
|
4663
|
+
[key: string]: any;
|
|
4664
|
+
}): Promise<boolean>;
|
|
4166
4665
|
/**
|
|
4167
|
-
*
|
|
4666
|
+
* 获取网络规则
|
|
4168
4667
|
*
|
|
4169
|
-
* @
|
|
4170
|
-
* @
|
|
4171
|
-
* @returns 事件监听是否存在
|
|
4668
|
+
* @beta
|
|
4669
|
+
* @returns 当前 PCB 的所有网络规则
|
|
4172
4670
|
*/
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
/**
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
/**
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
/**
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
/**
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
/**
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
/**
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
SHELL_3D_TOP = 54,
|
|
4356
|
-
/** 3D 外壳底层 */
|
|
4357
|
-
SHELL_3D_BOTTOM = 55,
|
|
4358
|
-
/** 钻孔图层 */
|
|
4359
|
-
DRILL_DRAWING = 56
|
|
4360
|
-
}
|
|
4361
|
-
/**
|
|
4362
|
-
* 层状态
|
|
4363
|
-
*/
|
|
4364
|
-
enum EPCB_LayerStatus {
|
|
4365
|
-
/** 不使用 */
|
|
4366
|
-
NOT_USED = 0,
|
|
4367
|
-
/** 使用并展示 */
|
|
4368
|
-
SHOW = 1,
|
|
4369
|
-
/** 使用但不展示 */
|
|
4370
|
-
HIDDEN = 2
|
|
4371
|
-
}
|
|
4372
|
-
/**
|
|
4373
|
-
* 可选中图层
|
|
4374
|
-
*
|
|
4375
|
-
* @public
|
|
4376
|
-
* @remarks 此处为所有在编辑器图层菜单中可以选中并设置可见性的图层
|
|
4377
|
-
*/
|
|
4378
|
-
type TPCB_LayersInTheSelectable = TPCB_LayersOfInner | TPCB_LayersOfCustom | EPCB_LayerId.TOP | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.TOP_STIFFENER | EPCB_LayerId.BOTTOM | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.BOTTOM_STIFFENER | EPCB_LayerId.BOARD_OUTLINE | EPCB_LayerId.MULTI | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING | EPCB_LayerId.RATLINE | EPCB_LayerId.COMPONENT_SHAPE | EPCB_LayerId.COMPONENT_MARKING | EPCB_LayerId.PIN_SOLDERING | EPCB_LayerId.PIN_FLOATING | EPCB_LayerId.SHELL_3D_OUTLINE | EPCB_LayerId.SHELL_3D_TOP | EPCB_LayerId.SHELL_3D_BOTTOM;
|
|
4379
|
-
/**
|
|
4380
|
-
* 内层
|
|
4381
|
-
*
|
|
4382
|
-
* @public
|
|
4383
|
-
*/
|
|
4384
|
-
type TPCB_LayersOfInner = EPCB_LayerId.INNER_1 | EPCB_LayerId.INNER_2 | EPCB_LayerId.INNER_3 | EPCB_LayerId.INNER_4 | EPCB_LayerId.INNER_5 | EPCB_LayerId.INNER_6 | EPCB_LayerId.INNER_7 | EPCB_LayerId.INNER_8 | EPCB_LayerId.INNER_9 | EPCB_LayerId.INNER_10 | EPCB_LayerId.INNER_11 | EPCB_LayerId.INNER_12 | EPCB_LayerId.INNER_13 | EPCB_LayerId.INNER_14 | EPCB_LayerId.INNER_15 | EPCB_LayerId.INNER_16 | EPCB_LayerId.INNER_17 | EPCB_LayerId.INNER_18 | EPCB_LayerId.INNER_19 | EPCB_LayerId.INNER_20 | EPCB_LayerId.INNER_21 | EPCB_LayerId.INNER_22 | EPCB_LayerId.INNER_23 | EPCB_LayerId.INNER_24 | EPCB_LayerId.INNER_25 | EPCB_LayerId.INNER_26 | EPCB_LayerId.INNER_27 | EPCB_LayerId.INNER_28 | EPCB_LayerId.INNER_29 | EPCB_LayerId.INNER_30;
|
|
4385
|
-
/**
|
|
4386
|
-
* 自定义层
|
|
4387
|
-
*
|
|
4388
|
-
* @public
|
|
4389
|
-
*/
|
|
4390
|
-
type TPCB_LayersOfCustom = EPCB_LayerId.CUSTOM_1 | EPCB_LayerId.CUSTOM_2 | EPCB_LayerId.CUSTOM_3 | EPCB_LayerId.CUSTOM_4 | EPCB_LayerId.CUSTOM_5 | EPCB_LayerId.CUSTOM_6 | EPCB_LayerId.CUSTOM_7 | EPCB_LayerId.CUSTOM_8 | EPCB_LayerId.CUSTOM_9 | EPCB_LayerId.CUSTOM_10 | EPCB_LayerId.CUSTOM_11 | EPCB_LayerId.CUSTOM_12 | EPCB_LayerId.CUSTOM_13 | EPCB_LayerId.CUSTOM_14 | EPCB_LayerId.CUSTOM_15 | EPCB_LayerId.CUSTOM_16 | EPCB_LayerId.CUSTOM_17 | EPCB_LayerId.CUSTOM_18 | EPCB_LayerId.CUSTOM_19 | EPCB_LayerId.CUSTOM_20 | EPCB_LayerId.CUSTOM_21 | EPCB_LayerId.CUSTOM_22 | EPCB_LayerId.CUSTOM_23 | EPCB_LayerId.CUSTOM_24 | EPCB_LayerId.CUSTOM_25 | EPCB_LayerId.CUSTOM_26 | EPCB_LayerId.CUSTOM_27 | EPCB_LayerId.CUSTOM_28 | EPCB_LayerId.CUSTOM_29 | EPCB_LayerId.CUSTOM_30;
|
|
4391
|
-
/**
|
|
4392
|
-
* 器件所属层
|
|
4393
|
-
*
|
|
4394
|
-
* @public
|
|
4395
|
-
*/
|
|
4396
|
-
type TPCB_LayersOfComponent = EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM;
|
|
4397
|
-
/**
|
|
4398
|
-
* 铜箔所属层
|
|
4399
|
-
*
|
|
4400
|
-
* @public
|
|
4401
|
-
* @remarks 此处为方便单层铜箔层设计,不包含 {@link EPCB_LayerId.MULTI}
|
|
4402
|
-
*/
|
|
4403
|
-
type TPCB_LayersOfCopper = TPCB_LayersOfInner | EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM;
|
|
4404
|
-
/**
|
|
4405
|
-
* 焊盘所属层
|
|
4406
|
-
*
|
|
4407
|
-
* @public
|
|
4408
|
-
*/
|
|
4409
|
-
type TPCB_LayersOfPad = EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM | EPCB_LayerId.MULTI;
|
|
4410
|
-
/**
|
|
4411
|
-
* 线所属层
|
|
4412
|
-
*
|
|
4413
|
-
* @public
|
|
4414
|
-
*/
|
|
4415
|
-
type TPCB_LayersOfLine = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.BOARD_OUTLINE | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING;
|
|
4416
|
-
/**
|
|
4417
|
-
* 尺寸标注所属层
|
|
4418
|
-
*
|
|
4419
|
-
* @public
|
|
4420
|
-
*/
|
|
4421
|
-
type TPCB_LayersOfDimension = TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL;
|
|
4422
|
-
/**
|
|
4423
|
-
* 复杂多边形图(SVG 图像、文本)所属层
|
|
4424
|
-
*
|
|
4425
|
-
* @public
|
|
4426
|
-
*/
|
|
4427
|
-
type TPCB_LayersOfImage = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.DRILL_DRAWING;
|
|
4428
|
-
/**
|
|
4429
|
-
* 填充所属层
|
|
4430
|
-
*
|
|
4431
|
-
* @public
|
|
4432
|
-
* @remarks 填充所属层为 {@link EPCB_LayerId.MULTI} 时代表挖槽区域
|
|
4433
|
-
*/
|
|
4434
|
-
type TPCB_LayersOfFill = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.TOP_SOLDER_MASK | EPCB_LayerId.TOP_PASTE_MASK | EPCB_LayerId.TOP_ASSEMBLY | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.BOTTOM_SOLDER_MASK | EPCB_LayerId.BOTTOM_PASTE_MASK | EPCB_LayerId.BOTTOM_ASSEMBLY | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL | EPCB_LayerId.MULTI;
|
|
4435
|
-
/**
|
|
4436
|
-
* 区域所属层
|
|
4437
|
-
*
|
|
4438
|
-
* @public
|
|
4439
|
-
*/
|
|
4440
|
-
type TPCB_LayersOfRegion = TPCB_LayersOfCopper | EPCB_LayerId.MULTI;
|
|
4441
|
-
/**
|
|
4442
|
-
* 二进制内嵌对象所属层
|
|
4443
|
-
*
|
|
4444
|
-
* @public
|
|
4445
|
-
*/
|
|
4446
|
-
type TPCB_LayersOfObject = EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.DOCUMENT;
|
|
4447
|
-
/**
|
|
4448
|
-
* 图层颜色配置
|
|
4449
|
-
*
|
|
4450
|
-
* @public
|
|
4451
|
-
*/
|
|
4452
|
-
enum EPCB_LayerColorConfiguration {
|
|
4453
|
-
/** 嘉立创 EDA */
|
|
4454
|
-
JLCEDA = 1,
|
|
4455
|
-
/** EasyEDA */
|
|
4456
|
-
EASYEDA = 1,
|
|
4457
|
-
/** Altium Designer */
|
|
4458
|
-
ALTIUM_DESIGNER = 2,
|
|
4459
|
-
/** PADS */
|
|
4460
|
-
PADS = 3,
|
|
4461
|
-
/** KiCAD */
|
|
4462
|
-
KICAD = 4
|
|
4463
|
-
}
|
|
4464
|
-
/**
|
|
4465
|
-
* PCB 板材类型
|
|
4466
|
-
*
|
|
4467
|
-
* @public
|
|
4468
|
-
*/
|
|
4469
|
-
enum EPCB_PcbPlateType {
|
|
4470
|
-
/** 普通板材 */
|
|
4471
|
-
NORMAL = 1,
|
|
4472
|
-
/** FPC 软板 */
|
|
4473
|
-
FPC = 2
|
|
4474
|
-
}
|
|
4475
|
-
/**
|
|
4476
|
-
* 图层类型
|
|
4477
|
-
*
|
|
4478
|
-
* @public
|
|
4479
|
-
*/
|
|
4480
|
-
enum EPCB_LayerType {
|
|
4481
|
-
/** 信号层 */
|
|
4482
|
-
SIGNAL = "SIGNAL",
|
|
4483
|
-
/** 内电层 */
|
|
4484
|
-
INTERNAL_ELECTRICAL = "PLANE",
|
|
4485
|
-
/** 丝印层 */
|
|
4486
|
-
SILKSCREEN = "SILKSCREEN",
|
|
4487
|
-
/** 阻焊层 */
|
|
4488
|
-
SOLDER_MASK = "SOLDER_MASK",
|
|
4489
|
-
/** 锡膏(助焊)层 */
|
|
4490
|
-
PASTE_MASK = "PASTE_MASK",
|
|
4491
|
-
/** 装配层 */
|
|
4492
|
-
ASSEMBLY = "ASSEMBLY",
|
|
4493
|
-
/** 其它 */
|
|
4494
|
-
OTHER = "OTHER",
|
|
4495
|
-
/** 自定义层 */
|
|
4496
|
-
CUSTOM = "CUSTOM"
|
|
4497
|
-
}
|
|
4498
|
-
/**
|
|
4499
|
-
* 内层允许设置的图层类型
|
|
4500
|
-
*
|
|
4501
|
-
* @public
|
|
4502
|
-
*/
|
|
4503
|
-
type TPCB_LayerTypesOfInnerLayer = EPCB_LayerType.SIGNAL | EPCB_LayerType.INTERNAL_ELECTRICAL;
|
|
4504
|
-
/**
|
|
4505
|
-
* 图层属性
|
|
4506
|
-
*
|
|
4507
|
-
* @public
|
|
4508
|
-
*/
|
|
4509
|
-
interface IPCB_LayerItem {
|
|
4510
|
-
/** 图层 ID */
|
|
4511
|
-
id: EPCB_LayerId;
|
|
4512
|
-
/** 名称 */
|
|
4513
|
-
name: string;
|
|
4514
|
-
/** 类型 */
|
|
4515
|
-
type: EPCB_LayerType;
|
|
4516
|
-
/** 颜色(RGB HEX 格式) */
|
|
4517
|
-
color: string;
|
|
4518
|
-
/** 透明度(%) */
|
|
4519
|
-
transparency: number;
|
|
4520
|
-
/** 非激活颜色(RGB HEX 格式) */
|
|
4521
|
-
inactiveColor: string;
|
|
4522
|
-
/** 非激活透明度(%) */
|
|
4523
|
-
inactiveTransparency: number;
|
|
4524
|
-
/** 层状态 */
|
|
4525
|
-
layerStatus: EPCB_LayerStatus;
|
|
4526
|
-
/** 是否锁定 */
|
|
4527
|
-
locked: boolean;
|
|
4528
|
-
}
|
|
4529
|
-
/**
|
|
4530
|
-
* 非激活层展示模式
|
|
4531
|
-
*
|
|
4532
|
-
* @public
|
|
4533
|
-
*/
|
|
4534
|
-
enum EPCB_InactiveLayerDisplayMode {
|
|
4535
|
-
/** 正常亮度 */
|
|
4536
|
-
NORMAL_BRIGHTNESS = 0,
|
|
4537
|
-
/** 置灰 */
|
|
4538
|
-
TURN_GRAY = 1,
|
|
4539
|
-
/** 隐藏 */
|
|
4540
|
-
HIDE = 2
|
|
4541
|
-
}
|
|
4542
|
-
/**
|
|
4543
|
-
* PCB & 封装 / 图层操作类
|
|
4544
|
-
*
|
|
4545
|
-
* @public
|
|
4546
|
-
*/
|
|
4547
|
-
class PCB_Layer {
|
|
4671
|
+
getNetRules(): Promise<Array<{
|
|
4672
|
+
[key: string]: any;
|
|
4673
|
+
}>>;
|
|
4674
|
+
/**
|
|
4675
|
+
* 覆写网络规则
|
|
4676
|
+
*
|
|
4677
|
+
* @beta
|
|
4678
|
+
* @remarks 将会覆写当前 PCB 的所有网络规则,请注意数据丢失风险
|
|
4679
|
+
* @param netRules - 网络规则
|
|
4680
|
+
* @returns 覆写是否成功
|
|
4681
|
+
*/
|
|
4682
|
+
overwriteNetRules(netRules: Array<{
|
|
4683
|
+
[key: string]: any;
|
|
4684
|
+
}>): Promise<boolean>;
|
|
4685
|
+
/**
|
|
4686
|
+
* 获取网络-网络规则
|
|
4687
|
+
*
|
|
4688
|
+
* @beta
|
|
4689
|
+
* @returns 当前 PCB 的所有网络-网络规则
|
|
4690
|
+
*/
|
|
4691
|
+
getNetByNetRules(): Promise<{
|
|
4692
|
+
[key: string]: any;
|
|
4693
|
+
}>;
|
|
4694
|
+
/**
|
|
4695
|
+
* 覆写网络-网络规则
|
|
4696
|
+
*
|
|
4697
|
+
* @beta
|
|
4698
|
+
* @remarks 将会覆写当前 PCB 的所有网络-网络规则,请注意数据丢失风险
|
|
4699
|
+
* @param netByNetRules - 网络-网络规则
|
|
4700
|
+
* @returns 覆写是否成功
|
|
4701
|
+
*/
|
|
4702
|
+
overwriteNetByNetRules(netByNetRules: {
|
|
4703
|
+
[key: string]: any;
|
|
4704
|
+
}): Promise<boolean>;
|
|
4705
|
+
/**
|
|
4706
|
+
* 获取区域规则
|
|
4707
|
+
*
|
|
4708
|
+
* @beta
|
|
4709
|
+
* @returns - 当前 PCB 的所有区域规则
|
|
4710
|
+
*/
|
|
4711
|
+
getRegionRules(): Promise<Array<{
|
|
4712
|
+
[key: string]: any;
|
|
4713
|
+
}>>;
|
|
4714
|
+
/**
|
|
4715
|
+
* 覆写区域规则
|
|
4716
|
+
*
|
|
4717
|
+
* @beta
|
|
4718
|
+
* @remarks 将会覆写当前 PCB 的所有区域规则,请注意数据丢失风险
|
|
4719
|
+
* @param regionRules - 区域规则
|
|
4720
|
+
* @returns 覆写是否成功
|
|
4721
|
+
*/
|
|
4722
|
+
overwriteRegionRules(regionRules: Array<{
|
|
4723
|
+
[key: string]: any;
|
|
4724
|
+
}>): Promise<boolean>;
|
|
4725
|
+
/**
|
|
4726
|
+
* 创建网络类
|
|
4727
|
+
*
|
|
4728
|
+
* @beta
|
|
4729
|
+
* @param netClassName - 网络类名称
|
|
4730
|
+
* @param nets - 网络名称数组
|
|
4731
|
+
* @param color - 网络类颜色
|
|
4732
|
+
* @returns 操作是否成功
|
|
4733
|
+
*/
|
|
4734
|
+
createNetClass(netClassName: string, nets: Array<string>, color: IPCB_EqualLengthNetGroupItem['color']): Promise<boolean>;
|
|
4735
|
+
/**
|
|
4736
|
+
* 删除网络类
|
|
4737
|
+
*
|
|
4738
|
+
* @beta
|
|
4739
|
+
* @param netClassName - 网络类名称
|
|
4740
|
+
* @returns 操作是否成功
|
|
4741
|
+
*/
|
|
4742
|
+
deleteNetClass(netClassName: string): Promise<boolean>;
|
|
4743
|
+
/**
|
|
4744
|
+
* 修改网络类的名称
|
|
4745
|
+
*
|
|
4746
|
+
* @beta
|
|
4747
|
+
* @param originalNetClassName - 原网络类名称
|
|
4748
|
+
* @param netClassName - 新网络类名称
|
|
4749
|
+
* @returns 操作是否成功
|
|
4750
|
+
*/
|
|
4751
|
+
modifyNetClassName(originalNetClassName: string, netClassName: string): Promise<boolean>;
|
|
4752
|
+
/**
|
|
4753
|
+
* 将网络添加到网络类
|
|
4754
|
+
*
|
|
4755
|
+
* @beta
|
|
4756
|
+
* @param netClassName - 网络类名称
|
|
4757
|
+
* @param net - 网络名称
|
|
4758
|
+
* @returns 操作是否成功
|
|
4759
|
+
*/
|
|
4760
|
+
addNetToNetClass(netClassName: string, net: string | Array<string>): Promise<boolean>;
|
|
4761
|
+
/**
|
|
4762
|
+
* 从网络类中移除网络
|
|
4763
|
+
*
|
|
4764
|
+
* @beta
|
|
4765
|
+
* @param netClassName - 网络类名称
|
|
4766
|
+
* @param net - 网络名称
|
|
4767
|
+
* @returns 操作是否成功
|
|
4768
|
+
*/
|
|
4769
|
+
removeNetFromNetClass(netClassName: string, net: string | Array<string>): Promise<boolean>;
|
|
4770
|
+
/**
|
|
4771
|
+
* 获取所有网络类的详细属性
|
|
4772
|
+
*
|
|
4773
|
+
* @beta
|
|
4774
|
+
* @returns 所有网络类的详细属性
|
|
4775
|
+
*/
|
|
4776
|
+
getAllNetClasses(): Promise<Array<IPCB_NetClassItem>>;
|
|
4777
|
+
/**
|
|
4778
|
+
* 创建差分对
|
|
4779
|
+
*
|
|
4780
|
+
* @beta
|
|
4781
|
+
* @param differentialPairName - 差分对名称
|
|
4782
|
+
* @param positiveNet - 正网络名称
|
|
4783
|
+
* @param negativeNet - 负网络名称
|
|
4784
|
+
* @returns 操作是否成功
|
|
4785
|
+
*/
|
|
4786
|
+
createDifferentialPair(differentialPairName: string, positiveNet: string, negativeNet: string): Promise<boolean>;
|
|
4787
|
+
/**
|
|
4788
|
+
* 删除差分对
|
|
4789
|
+
*
|
|
4790
|
+
* @beta
|
|
4791
|
+
* @param differentialPairName - 差分对名称
|
|
4792
|
+
* @returns 操作是否成功
|
|
4793
|
+
*/
|
|
4794
|
+
deleteDifferentialPair(differentialPairName: string): Promise<boolean>;
|
|
4795
|
+
/**
|
|
4796
|
+
* 修改差分对的名称
|
|
4797
|
+
*
|
|
4798
|
+
* @beta
|
|
4799
|
+
* @param originalDifferentialPairName - 原差分对名称
|
|
4800
|
+
* @param differentialPairName - 新差分对名称
|
|
4801
|
+
* @returns 操作是否成功
|
|
4802
|
+
*/
|
|
4803
|
+
modifyDifferentialPairName(originalDifferentialPairName: string, differentialPairName: string): Promise<boolean>;
|
|
4804
|
+
/**
|
|
4805
|
+
* 修改差分对正网络
|
|
4806
|
+
*
|
|
4807
|
+
* @beta
|
|
4808
|
+
* @param differentialPairName - 差分对名称
|
|
4809
|
+
* @param positiveNet - 正网络名称
|
|
4810
|
+
* @returns 操作是否成功
|
|
4811
|
+
*/
|
|
4812
|
+
modifyDifferentialPairPositiveNet(differentialPairName: string, positiveNet: string): Promise<boolean>;
|
|
4813
|
+
/**
|
|
4814
|
+
* 修改差分对负网络
|
|
4815
|
+
*
|
|
4816
|
+
* @beta
|
|
4817
|
+
* @param differentialPairName - 差分对名称
|
|
4818
|
+
* @param negativeNet - 负网络名称
|
|
4819
|
+
* @returns 操作是否成功
|
|
4820
|
+
*/
|
|
4821
|
+
modifyDifferentialPairNegativeNet(differentialPairName: string, negativeNet: string): Promise<boolean>;
|
|
4822
|
+
/**
|
|
4823
|
+
* 获取所有差分对的详细属性
|
|
4824
|
+
*
|
|
4825
|
+
* @beta
|
|
4826
|
+
* @remarks
|
|
4827
|
+
* BREAKING CHANGE since EDA v3.4
|
|
4828
|
+
*
|
|
4829
|
+
* - 返回值类型更改为对象
|
|
4830
|
+
* @returns 所有差分对的详细属性
|
|
4831
|
+
*/
|
|
4832
|
+
getAllDifferentialPairs(): Promise<Array<IPCB_DifferentialPairItem> | {
|
|
4833
|
+
[key: string]: any;
|
|
4834
|
+
}>;
|
|
4835
|
+
/**
|
|
4836
|
+
* 创建等长网络组
|
|
4837
|
+
*
|
|
4838
|
+
* @beta
|
|
4839
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4840
|
+
* @param nets - 网络名称数组
|
|
4841
|
+
* @param color - 等长网络组颜色
|
|
4842
|
+
* @returns 操作是否成功
|
|
4843
|
+
*/
|
|
4844
|
+
createEqualLengthNetGroup(equalLengthNetGroupName: string, nets: Array<string>, color: IPCB_EqualLengthNetGroupItem['color']): Promise<boolean>;
|
|
4845
|
+
/**
|
|
4846
|
+
* 删除等长网络组
|
|
4847
|
+
*
|
|
4848
|
+
* @beta
|
|
4849
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4850
|
+
* @returns 操作是否成功
|
|
4851
|
+
*/
|
|
4852
|
+
deleteEqualLengthNetGroup(equalLengthNetGroupName: string): Promise<boolean>;
|
|
4548
4853
|
/**
|
|
4549
|
-
*
|
|
4854
|
+
* 修改等长网络组的名称
|
|
4550
4855
|
*
|
|
4551
|
-
* @
|
|
4552
|
-
* @param
|
|
4553
|
-
* @
|
|
4856
|
+
* @beta
|
|
4857
|
+
* @param originalEqualLengthNetGroupName - 原等长网络组名称
|
|
4858
|
+
* @param equalLengthNetGroupName - 新等长网络组名称
|
|
4859
|
+
* @returns 操作是否成功
|
|
4554
4860
|
*/
|
|
4555
|
-
|
|
4861
|
+
modifyEqualLengthNetGroupName(originalEqualLengthNetGroupName: string, equalLengthNetGroupName: string): Promise<boolean>;
|
|
4556
4862
|
/**
|
|
4557
|
-
*
|
|
4863
|
+
* 将网络添加到等长网络组
|
|
4558
4864
|
*
|
|
4559
4865
|
* @beta
|
|
4560
|
-
* @param
|
|
4561
|
-
* @param
|
|
4866
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4867
|
+
* @param net - 网络名称
|
|
4562
4868
|
* @returns 操作是否成功
|
|
4563
4869
|
*/
|
|
4564
|
-
|
|
4870
|
+
addNetToEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array<string>): Promise<boolean>;
|
|
4565
4871
|
/**
|
|
4566
|
-
*
|
|
4872
|
+
* 从等长网络组中移除网络
|
|
4567
4873
|
*
|
|
4568
4874
|
* @beta
|
|
4569
|
-
* @param
|
|
4570
|
-
* @param
|
|
4875
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4876
|
+
* @param net - 网络名称
|
|
4571
4877
|
* @returns 操作是否成功
|
|
4572
4878
|
*/
|
|
4573
|
-
|
|
4879
|
+
removeNetFromEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array<string>): Promise<boolean>;
|
|
4574
4880
|
/**
|
|
4575
|
-
*
|
|
4881
|
+
* 获取所有等长网络组的详细属性
|
|
4576
4882
|
*
|
|
4577
4883
|
* @beta
|
|
4578
|
-
* @
|
|
4579
|
-
* @returns 操作是否成功
|
|
4884
|
+
* @returns 所有等长网络组的详细属性
|
|
4580
4885
|
*/
|
|
4581
|
-
|
|
4886
|
+
getAllEqualLengthNetGroups(): Promise<Array<IPCB_EqualLengthNetGroupItem>>;
|
|
4582
4887
|
/**
|
|
4583
|
-
*
|
|
4888
|
+
* 创建焊盘对组
|
|
4584
4889
|
*
|
|
4585
4890
|
* @beta
|
|
4586
|
-
* @param
|
|
4891
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4892
|
+
* @param padPairs - 焊盘对数组
|
|
4587
4893
|
* @returns 操作是否成功
|
|
4894
|
+
* @example 有三种不同的用法,确保画布上已有对应的焊盘。 分别是 一,游离焊盘-游离焊盘;二,器件焊盘 - 器件焊盘;三,器件焊盘 - 游离焊盘
|
|
4895
|
+
* await eda.pcb_Drc.createPadPairGroup('test',[['e0','e1']]) // 游离焊盘-游离焊盘
|
|
4896
|
+
* await eda.pcb_Drc.createPadPairGroup('test',[['R1:1','R1:2'],['R2:1','R2:2']]) // 器件焊盘 - 器件焊盘
|
|
4897
|
+
* await eda.pcb_Drc.createPadPairGroup('test',[['R1:1','e0'],['R1:2','e1']]) // 器件焊盘 - 游离焊盘
|
|
4588
4898
|
*/
|
|
4589
|
-
|
|
4899
|
+
createPadPairGroup(padPairGroupName: string, padPairs: Array<[string, string]>): Promise<boolean>;
|
|
4590
4900
|
/**
|
|
4591
|
-
*
|
|
4901
|
+
* 删除焊盘对组
|
|
4592
4902
|
*
|
|
4593
4903
|
* @beta
|
|
4594
|
-
* @
|
|
4595
|
-
* @param numberOfLayers - 层数
|
|
4904
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4596
4905
|
* @returns 操作是否成功
|
|
4597
4906
|
*/
|
|
4598
|
-
|
|
4907
|
+
deletePadPairGroup(padPairGroupName: string): Promise<boolean>;
|
|
4599
4908
|
/**
|
|
4600
|
-
*
|
|
4909
|
+
* 修改焊盘对组的名称
|
|
4601
4910
|
*
|
|
4602
|
-
* @
|
|
4603
|
-
* @
|
|
4911
|
+
* @beta
|
|
4912
|
+
* @param originalPadPairGroupName - 原焊盘对组名称
|
|
4913
|
+
* @param padPairGroupName - 新焊盘对组名称
|
|
4914
|
+
* @returns 操作是否成功
|
|
4604
4915
|
*/
|
|
4605
|
-
|
|
4916
|
+
modifyPadPairGroupName(originalPadPairGroupName: string, padPairGroupName: string): Promise<boolean>;
|
|
4606
4917
|
/**
|
|
4607
|
-
*
|
|
4918
|
+
* 将焊盘对添加到焊盘对组
|
|
4608
4919
|
*
|
|
4609
4920
|
* @beta
|
|
4610
|
-
* @param
|
|
4921
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4922
|
+
* @param padPair - 焊盘对
|
|
4611
4923
|
* @returns 操作是否成功
|
|
4924
|
+
* @example 有三种不同的用法,确保画布上已有对应的焊盘。 分别是 一,游离焊盘-游离焊盘;二,器件焊盘 - 器件焊盘;三,器件焊盘 - 游离焊盘
|
|
4925
|
+
* await eda.pcb_Drc.addPadPairToPadPairGroup('test',['e0','e1']) // 游离焊盘-游离焊盘
|
|
4926
|
+
* await eda.pcb_Drc.addPadPairToPadPairGroup('test',['R1:1','R1:2']) // 器件焊盘 - 器件焊盘
|
|
4927
|
+
* await eda.pcb_Drc.addPadPairToPadPairGroup('test',['R1:1','e1']) // 器件焊盘 - 游离焊盘
|
|
4612
4928
|
*/
|
|
4613
|
-
|
|
4929
|
+
addPadPairToPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>): Promise<boolean>;
|
|
4614
4930
|
/**
|
|
4615
|
-
*
|
|
4931
|
+
* 从焊盘对组中移除焊盘对
|
|
4616
4932
|
*
|
|
4617
4933
|
* @beta
|
|
4618
|
-
* @param
|
|
4934
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4935
|
+
* @param padPair - 焊盘对
|
|
4619
4936
|
* @returns 操作是否成功
|
|
4937
|
+
* @example 有三种不同的用法,确保画布上已有对应的焊盘。 分别是 一,游离焊盘-游离焊盘;二,器件焊盘 - 器件焊盘;三,器件焊盘 - 游离焊盘
|
|
4938
|
+
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['e0','e1']) // 游离焊盘-游离焊盘
|
|
4939
|
+
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['R1:1','R1:2']) // 器件焊盘 - 器件焊盘
|
|
4940
|
+
* await eda.pcb_Drc.removePadPairFromPadPairGroup('test',['R1:2','e1']) // 器件焊盘 - 游离焊盘
|
|
4620
4941
|
*/
|
|
4621
|
-
|
|
4942
|
+
removePadPairFromPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>): Promise<boolean>;
|
|
4622
4943
|
/**
|
|
4623
|
-
*
|
|
4944
|
+
* 获取所有焊盘对组的详细属性
|
|
4624
4945
|
*
|
|
4625
4946
|
* @beta
|
|
4626
|
-
* @
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
*
|
|
4631
|
-
* 1. 嘉立创暂不支持超过 2 层铜箔层的 FPC 软板生产;
|
|
4947
|
+
* @returns 所有焊盘对组的详细属性
|
|
4948
|
+
*/
|
|
4949
|
+
getAllPadPairGroups(): Promise<Array<IPCB_PadPairGroupItem>>;
|
|
4950
|
+
/**
|
|
4951
|
+
* 获取焊盘对组最短导线长度
|
|
4632
4952
|
*
|
|
4633
|
-
*
|
|
4634
|
-
* @param
|
|
4635
|
-
* @returns
|
|
4953
|
+
* @beta
|
|
4954
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4955
|
+
* @returns 所有焊盘对的最短导线长度
|
|
4636
4956
|
*/
|
|
4637
|
-
|
|
4957
|
+
getPadPairGroupMinWireLength(padPairGroupName: string): Promise<Array<IPCB_PadPairMinWireLengthItem>>;
|
|
4958
|
+
}
|
|
4959
|
+
|
|
4960
|
+
/**
|
|
4961
|
+
* 鼠标事件类型
|
|
4962
|
+
*
|
|
4963
|
+
* @public
|
|
4964
|
+
*/
|
|
4965
|
+
enum EPCB_MouseEventType {
|
|
4966
|
+
/** 选中 */
|
|
4967
|
+
SELECTED = "selected",
|
|
4968
|
+
/** 取消选中 */
|
|
4969
|
+
CLEAR_SELECTED = "clearSelected",
|
|
4970
|
+
/** 移动 */
|
|
4971
|
+
MOVE = "move"
|
|
4972
|
+
}
|
|
4973
|
+
/**
|
|
4974
|
+
* 图元事件类型
|
|
4975
|
+
*
|
|
4976
|
+
* @public
|
|
4977
|
+
*/
|
|
4978
|
+
enum EPCB_PrimitiveEventType {
|
|
4979
|
+
/** 删除 */
|
|
4980
|
+
DELETE = "delete",
|
|
4981
|
+
/** 创建 */
|
|
4982
|
+
CREATE = "add",
|
|
4983
|
+
/** 属性变更 */
|
|
4984
|
+
MODIFY = "modify"
|
|
4985
|
+
}
|
|
4986
|
+
/**
|
|
4987
|
+
* 网络事件类型
|
|
4988
|
+
*
|
|
4989
|
+
* @public
|
|
4990
|
+
*/
|
|
4991
|
+
enum EPCB_NetEventType {
|
|
4992
|
+
/** 新增 */
|
|
4993
|
+
ADD = "add",
|
|
4994
|
+
/** 移除 */
|
|
4995
|
+
REMOVE = "remove",
|
|
4996
|
+
/** 选中(仅当选中整个网络时触发) */
|
|
4997
|
+
SELECTED = "selected"
|
|
4998
|
+
}
|
|
4999
|
+
/**
|
|
5000
|
+
* PCB & 封装 / 事件类
|
|
5001
|
+
*
|
|
5002
|
+
* @public
|
|
5003
|
+
* @remarks 注册事件回调
|
|
5004
|
+
*/
|
|
5005
|
+
class PCB_Event {
|
|
5006
|
+
/** 扩展 UUID */
|
|
5007
|
+
private extensionUuid?;
|
|
4638
5008
|
/**
|
|
4639
|
-
*
|
|
5009
|
+
* @internal
|
|
5010
|
+
* @param extensionUuid - 扩展 UUID
|
|
5011
|
+
*/
|
|
5012
|
+
constructor(extensionUuid?: string);
|
|
5013
|
+
/**
|
|
5014
|
+
* 新增鼠标事件监听
|
|
4640
5015
|
*
|
|
4641
5016
|
* @beta
|
|
4642
|
-
* @
|
|
5017
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5018
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5019
|
+
* @param eventType - 事件类型
|
|
5020
|
+
* @param callFn - 事件触发时的回调函数
|
|
5021
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4643
5022
|
*/
|
|
4644
|
-
|
|
5023
|
+
addMouseEventListener(id: string, eventType: 'all' | EPCB_MouseEventType, callFn: (eventType: EPCB_MouseEventType, props: [
|
|
5024
|
+
{
|
|
5025
|
+
primitiveId: string;
|
|
5026
|
+
primitiveType: EPCB_PrimitiveType;
|
|
5027
|
+
net?: string;
|
|
5028
|
+
designator?: string;
|
|
5029
|
+
parentComponentPrimitiveId?: string;
|
|
5030
|
+
parentComponentDesignator?: string;
|
|
5031
|
+
}
|
|
5032
|
+
]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4645
5033
|
/**
|
|
4646
|
-
*
|
|
5034
|
+
* 新增图元事件监听
|
|
4647
5035
|
*
|
|
4648
5036
|
* @beta
|
|
4649
|
-
* @remarks
|
|
4650
|
-
* @param
|
|
4651
|
-
* @
|
|
5037
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5038
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5039
|
+
* @param eventType - 事件类型
|
|
5040
|
+
* @param callFn - 事件触发时的回调函数
|
|
5041
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4652
5042
|
*/
|
|
4653
|
-
|
|
5043
|
+
addPrimitiveEventListener(id: string, eventType: 'all' | EPCB_PrimitiveEventType, callFn: (eventType: EPCB_PrimitiveEventType, props: [
|
|
5044
|
+
{
|
|
5045
|
+
primitiveId: string;
|
|
5046
|
+
primitiveType: EPCB_PrimitiveType;
|
|
5047
|
+
net?: string;
|
|
5048
|
+
designator?: string;
|
|
5049
|
+
parentComponentPrimitiveId?: string;
|
|
5050
|
+
parentComponentDesignator?: string;
|
|
5051
|
+
}
|
|
5052
|
+
]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4654
5053
|
/**
|
|
4655
|
-
*
|
|
5054
|
+
* 新增网络事件监听
|
|
4656
5055
|
*
|
|
4657
5056
|
* @beta
|
|
4658
|
-
* @remarks
|
|
4659
|
-
*
|
|
4660
|
-
*
|
|
4661
|
-
*
|
|
5057
|
+
* @remarks
|
|
5058
|
+
* 网络选中事件仅
|
|
5059
|
+
*
|
|
5060
|
+
* ①在过滤面板选中网络选项并在画布选中网络时
|
|
5061
|
+
*
|
|
5062
|
+
* ②在工程设计 -\> 网络内选中网络时
|
|
5063
|
+
*
|
|
5064
|
+
* 会被触发
|
|
5065
|
+
*
|
|
5066
|
+
* 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5067
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5068
|
+
* @param eventType - 事件类型
|
|
5069
|
+
* @param callFn - 事件触发时的回调函数
|
|
5070
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4662
5071
|
*/
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
color?: string;
|
|
4667
|
-
transparency?: number;
|
|
4668
|
-
}): Promise<boolean>;
|
|
5072
|
+
addNetEventListener(id: string, eventType: 'all' | EPCB_NetEventType, callFn: (eventType: EPCB_NetEventType, props: [{
|
|
5073
|
+
net: string;
|
|
5074
|
+
}]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4669
5075
|
/**
|
|
4670
|
-
*
|
|
5076
|
+
* 新增交叉选择事件监听
|
|
4671
5077
|
*
|
|
4672
5078
|
* @beta
|
|
4673
|
-
* @
|
|
5079
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5080
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5081
|
+
* @param callFn - 事件触发时的回调函数
|
|
4674
5082
|
*/
|
|
4675
|
-
|
|
5083
|
+
addCrossProbeSelectEventListener(id: string, callFn: (props: any) => void | Promise<void>): void;
|
|
4676
5084
|
/**
|
|
4677
|
-
*
|
|
5085
|
+
* 新增实时 DRC 结果事件监听
|
|
5086
|
+
*
|
|
5087
|
+
* @alpha
|
|
5088
|
+
* @remarks
|
|
5089
|
+
* 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5090
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5091
|
+
* @param eventType - 事件类型
|
|
5092
|
+
* @param callFn - 事件触发时的回调函数
|
|
5093
|
+
*/
|
|
5094
|
+
addRealTimeDrcResultEventListener(id: string, eventType: 'all', callFn: (eventType: undefined, props: [{
|
|
5095
|
+
drcResult: any;
|
|
5096
|
+
}]) => void | Promise<void>): void;
|
|
5097
|
+
/**
|
|
5098
|
+
* 移除事件监听
|
|
5099
|
+
*
|
|
5100
|
+
* @public
|
|
5101
|
+
* @param id - 事件 ID
|
|
5102
|
+
* @returns 是否移除指定事件监听
|
|
5103
|
+
*/
|
|
5104
|
+
removeEventListener(id: string): boolean;
|
|
5105
|
+
/**
|
|
5106
|
+
* 查询事件监听是否存在
|
|
4678
5107
|
*
|
|
4679
|
-
* @
|
|
4680
|
-
* @param
|
|
4681
|
-
* @returns
|
|
5108
|
+
* @public
|
|
5109
|
+
* @param id - 事件 ID
|
|
5110
|
+
* @returns 事件监听是否存在
|
|
4682
5111
|
*/
|
|
4683
|
-
|
|
5112
|
+
isEventListenerAlreadyExist(id: string): boolean;
|
|
4684
5113
|
}
|
|
4685
5114
|
|
|
4686
5115
|
/**
|
|
@@ -5398,11 +5827,12 @@ declare global {
|
|
|
5398
5827
|
* @remarks
|
|
5399
5828
|
* 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5400
5829
|
*
|
|
5401
|
-
* `outputMethod`、`contentConfig`、`watermark` 参数暂不可用,等待后期规划
|
|
5830
|
+
* `outputMethod`、`contentConfig`、`watermark`、`graphPageConfig` 参数暂不可用,等待后期规划
|
|
5402
5831
|
* @param fileName - 文件名
|
|
5403
5832
|
* @param outputMethod - 输出方式
|
|
5404
5833
|
* @param contentConfig - 内容配置
|
|
5405
5834
|
* @param watermark - 水印
|
|
5835
|
+
* @param graphPageConfig - 图页配置
|
|
5406
5836
|
* @returns PDF 文件数据(或压缩包)
|
|
5407
5837
|
* @example
|
|
5408
5838
|
* ```javascript
|
|
@@ -5435,7 +5865,9 @@ declare global {
|
|
|
5435
5865
|
slope: 0 | 45 | 90;
|
|
5436
5866
|
denseness: 'Single' | 'Sparse' | 'Std' | 'Dense';
|
|
5437
5867
|
};
|
|
5438
|
-
}
|
|
5868
|
+
}, graphPageConfig?: Array<{
|
|
5869
|
+
[key: string]: any;
|
|
5870
|
+
}>): Promise<File | undefined>;
|
|
5439
5871
|
/**
|
|
5440
5872
|
* 获取 IPC-D-356A 文件
|
|
5441
5873
|
*
|
|
@@ -5546,7 +5978,7 @@ declare global {
|
|
|
5546
5978
|
* 获取 JRouter 专用自动布线文件(JSON)
|
|
5547
5979
|
*
|
|
5548
5980
|
* @beta
|
|
5549
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile}
|
|
5981
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5550
5982
|
* @param fileName - 文件名
|
|
5551
5983
|
* @returns 自动布线 JSON 文件数据
|
|
5552
5984
|
*/
|
|
@@ -5727,239 +6159,6 @@ declare global {
|
|
|
5727
6159
|
getManufactureData(): Promise<File | undefined>;
|
|
5728
6160
|
}
|
|
5729
6161
|
|
|
5730
|
-
/**
|
|
5731
|
-
* 单多边形源数组
|
|
5732
|
-
*
|
|
5733
|
-
* @public
|
|
5734
|
-
* @remarks
|
|
5735
|
-
* 单多边形为首尾重合的一条不间断的线所描述的区域,如果首尾不重合将会自动重合。
|
|
5736
|
-
*
|
|
5737
|
-
* 单多边形的数据格式举例:
|
|
5738
|
-
*
|
|
5739
|
-
* `[300, 200, 'L', 400, 200, 'ARC', 400, 220, 15, 'C', 200, 500, 400, 300, 100, 100]`
|
|
5740
|
-
*
|
|
5741
|
-
* `['R', 100, 200, 300, 300, 0, 0]`
|
|
5742
|
-
*
|
|
5743
|
-
* `['CIRCLE', 100, 200, 5]`
|
|
5744
|
-
*
|
|
5745
|
-
* 单多边形的数据由以下几种模式组合而成:
|
|
5746
|
-
*
|
|
5747
|
-
* ① L 直线模式
|
|
5748
|
-
*
|
|
5749
|
-
* `x1 y1 L x2 y3 x3 y3 ...`
|
|
5750
|
-
*
|
|
5751
|
-
* - `{number}` `x` - 直线点的 X 坐标
|
|
5752
|
-
*
|
|
5753
|
-
* - `{number}` `y` - 直线点的 Y 坐标
|
|
5754
|
-
*
|
|
5755
|
-
* ② ARC/CARC 圆弧模式
|
|
5756
|
-
*
|
|
5757
|
-
* `ARC` 为两点交互,`CARC` 为中心圆弧交互
|
|
5758
|
-
*
|
|
5759
|
-
* `startX startY ARC arcAngle endX endY`
|
|
5760
|
-
*
|
|
5761
|
-
* `startX startY CARC arcAngle endX endY`
|
|
5762
|
-
*
|
|
5763
|
-
* - `{number}` `startX` - 起始 X
|
|
5764
|
-
*
|
|
5765
|
-
* - `{number}` `startY` - 起始 Y
|
|
5766
|
-
*
|
|
5767
|
-
* - `{number}` `arcAngle` - 圆弧角(负值为顺时针旋转;角度制)
|
|
5768
|
-
*
|
|
5769
|
-
* - `{number}` `endX` - 终止 X
|
|
5770
|
-
*
|
|
5771
|
-
* - `{number}` `endY` - 终止 Y
|
|
5772
|
-
*
|
|
5773
|
-
* ③ C 三阶贝塞尔模式
|
|
5774
|
-
*
|
|
5775
|
-
* `x1 y1 C x2 y2 x3 y3 x4 y4 ...`
|
|
5776
|
-
*
|
|
5777
|
-
* - `{number}` `x` - 控制点 X
|
|
5778
|
-
*
|
|
5779
|
-
* - `{number}` `y` - 控制点 Y
|
|
5780
|
-
*
|
|
5781
|
-
* ④ R 矩形模式
|
|
5782
|
-
*
|
|
5783
|
-
* `R x y width height rot round`
|
|
5784
|
-
*
|
|
5785
|
-
* - `{number}` `x` - 左上点 X
|
|
5786
|
-
*
|
|
5787
|
-
* - `{number}` `y` - 左上点 Y
|
|
5788
|
-
*
|
|
5789
|
-
* - `{number}` `width` - 宽
|
|
5790
|
-
*
|
|
5791
|
-
* - `{number}` `height` - 高
|
|
5792
|
-
*
|
|
5793
|
-
* - `{number}` `rotation` - 旋转角度
|
|
5794
|
-
*
|
|
5795
|
-
* - `{number}` `round` - 圆角半径
|
|
5796
|
-
*
|
|
5797
|
-
* ⑤ CIRCLE 圆形模式
|
|
5798
|
-
*
|
|
5799
|
-
* `CIRCLE cx cy radius`
|
|
5800
|
-
*
|
|
5801
|
-
* - `{number}` `cx` - 中心点 X
|
|
5802
|
-
*
|
|
5803
|
-
* - `{number}` `xy` - 中心点 Y
|
|
5804
|
-
*
|
|
5805
|
-
* - `{number}` `radius` - 半径
|
|
5806
|
-
*/
|
|
5807
|
-
type TPCB_PolygonSourceArray = Array<'L' | 'ARC' | 'CARC' | 'C' | 'R' | 'CIRCLE' | number>;
|
|
5808
|
-
/**
|
|
5809
|
-
* PCB & 封装 / 多边形数学类
|
|
5810
|
-
*
|
|
5811
|
-
* @public
|
|
5812
|
-
*/
|
|
5813
|
-
class PCB_MathPolygon {
|
|
5814
|
-
/**
|
|
5815
|
-
* 创建单多边形
|
|
5816
|
-
*
|
|
5817
|
-
* @public
|
|
5818
|
-
* @param polygon - 单多边形数据
|
|
5819
|
-
* @returns 单多边形对象,`undefined` 表示数据不合法
|
|
5820
|
-
*/
|
|
5821
|
-
createPolygon(polygon: TPCB_PolygonSourceArray): IPCB_Polygon | undefined;
|
|
5822
|
-
/**
|
|
5823
|
-
* 创建复杂多边形
|
|
5824
|
-
*
|
|
5825
|
-
* @public
|
|
5826
|
-
* @param complexPolygon - 复杂多边形数据
|
|
5827
|
-
* @returns 复杂多边形对象,`undefined` 表示数据不合法
|
|
5828
|
-
*/
|
|
5829
|
-
createComplexPolygon(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>): IPCB_ComplexPolygon | undefined;
|
|
5830
|
-
/**
|
|
5831
|
-
* 拆分单多边形
|
|
5832
|
-
*
|
|
5833
|
-
* @public
|
|
5834
|
-
* @param complexPolygons - 复杂多边形
|
|
5835
|
-
* @returns 单多边形数组
|
|
5836
|
-
*/
|
|
5837
|
-
splitPolygon(...complexPolygons: Array<IPCB_ComplexPolygon>): Array<IPCB_Polygon>;
|
|
5838
|
-
/**
|
|
5839
|
-
* 计算复杂多边形 BBox 宽度
|
|
5840
|
-
*
|
|
5841
|
-
* @alpha
|
|
5842
|
-
* @param complexPolygon - 复杂多边形
|
|
5843
|
-
* @returns BBox 宽度
|
|
5844
|
-
*/
|
|
5845
|
-
calculateWidth(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | IPCB_ComplexPolygon): number;
|
|
5846
|
-
calculateBBoxWidth(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>): number;
|
|
5847
|
-
/**
|
|
5848
|
-
* 计算复杂多边形 BBox 高度
|
|
5849
|
-
*
|
|
5850
|
-
* @alpha
|
|
5851
|
-
* @param complexPolygon - 复杂多边形
|
|
5852
|
-
* @returns BBox 高度
|
|
5853
|
-
*/
|
|
5854
|
-
calculateHeight(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | IPCB_ComplexPolygon): number;
|
|
5855
|
-
calculateBBoxHeight(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>): number;
|
|
5856
|
-
/**
|
|
5857
|
-
* 将图像转换为复杂多边形对象
|
|
5858
|
-
*
|
|
5859
|
-
* @beta
|
|
5860
|
-
* @param imageBlob - 图像 Blob 文件,可以使用 {@link SYS_FileSystem.openReadFileDialog} 方法从文件系统读取文件
|
|
5861
|
-
* @param imageWidth - 图像宽度
|
|
5862
|
-
* @param imageHeight - 图像高度
|
|
5863
|
-
* @param tolerance - 容差,取值范围 `0`-`1`
|
|
5864
|
-
* @param simplification - 简化,取值范围 `0`-`1`
|
|
5865
|
-
* @param smoothing - 平滑,取值范围 `0`-`1.33`
|
|
5866
|
-
* @param despeckling - 去斑,取值范围 `0`-`5`
|
|
5867
|
-
* @param whiteAsBackgroundColor - 是否白色作为背景色
|
|
5868
|
-
* @param inversion - 是否反相
|
|
5869
|
-
* @returns 复杂多边形对象
|
|
5870
|
-
*/
|
|
5871
|
-
convertImageToComplexPolygon(imageBlob: Blob, imageWidth: number, imageHeight: number, tolerance?: number, simplification?: number, smoothing?: number, despeckling?: number, whiteAsBackgroundColor?: boolean, inversion?: boolean): Promise<IPCB_ComplexPolygon | undefined>;
|
|
5872
|
-
}
|
|
5873
|
-
/**
|
|
5874
|
-
* 单多边形
|
|
5875
|
-
*
|
|
5876
|
-
* @public
|
|
5877
|
-
*/
|
|
5878
|
-
class IPCB_Polygon {
|
|
5879
|
-
private polygon;
|
|
5880
|
-
/** @internal */
|
|
5881
|
-
constructor(polygon: TPCB_PolygonSourceArray);
|
|
5882
|
-
/**
|
|
5883
|
-
* 获取单多边形数据
|
|
5884
|
-
*
|
|
5885
|
-
* @public
|
|
5886
|
-
* @returns 单多边形数据
|
|
5887
|
-
*/
|
|
5888
|
-
getSource(): TPCB_PolygonSourceArray;
|
|
5889
|
-
/**
|
|
5890
|
-
* 获取单多边形中心点
|
|
5891
|
-
*
|
|
5892
|
-
* @alpha
|
|
5893
|
-
* @returns 单多边形中心点
|
|
5894
|
-
*/
|
|
5895
|
-
getCenter(): Promise<{
|
|
5896
|
-
x: number;
|
|
5897
|
-
y: number;
|
|
5898
|
-
}>;
|
|
5899
|
-
/**
|
|
5900
|
-
* 校验单多边形
|
|
5901
|
-
*
|
|
5902
|
-
* @alpha
|
|
5903
|
-
* @remarks 校验并整理输入数据,如数据有误,则抛出错误
|
|
5904
|
-
* @returns 单多边形数据
|
|
5905
|
-
*/
|
|
5906
|
-
private validateSource;
|
|
5907
|
-
}
|
|
5908
|
-
/**
|
|
5909
|
-
* 复杂多边形
|
|
5910
|
-
*
|
|
5911
|
-
* @public
|
|
5912
|
-
* @remarks
|
|
5913
|
-
* 复杂多边形可以包含多个单多边形,通过 {@link https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule | fill-rule} 将其组合,以实现多边形的布尔运算。
|
|
5914
|
-
* 目前嘉立创 EDA 专业版固定使用 {@link https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule#nonzero | nonzero} 这个 fill-rule。
|
|
5915
|
-
*/
|
|
5916
|
-
class IPCB_ComplexPolygon {
|
|
5917
|
-
private complexPolygon;
|
|
5918
|
-
/** @internal */
|
|
5919
|
-
constructor(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>);
|
|
5920
|
-
/**
|
|
5921
|
-
* 添加多边形数据
|
|
5922
|
-
*
|
|
5923
|
-
* @public
|
|
5924
|
-
* @param complexPolygon - 复杂多边形数据
|
|
5925
|
-
* @returns 复杂多边形对象
|
|
5926
|
-
*/
|
|
5927
|
-
addSource(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>): IPCB_ComplexPolygon;
|
|
5928
|
-
/**
|
|
5929
|
-
* 获取多边形数据
|
|
5930
|
-
*
|
|
5931
|
-
* @public
|
|
5932
|
-
* @remarks 如遇仅包含单一的单多边形,将会化简最外层的数组
|
|
5933
|
-
* @returns 单多边形或复杂多边形数据
|
|
5934
|
-
*/
|
|
5935
|
-
getSource(): TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>;
|
|
5936
|
-
/**
|
|
5937
|
-
* 获取复杂多边形数据
|
|
5938
|
-
*
|
|
5939
|
-
* @public
|
|
5940
|
-
* @remarks 强制返回复杂多边形格式数据,即使它仅包含单一的单多边形
|
|
5941
|
-
* @returns 复杂多边形数据
|
|
5942
|
-
*/
|
|
5943
|
-
getSourceStrictComplex(): Array<TPCB_PolygonSourceArray>;
|
|
5944
|
-
/**
|
|
5945
|
-
* 获取复杂多边形中心点
|
|
5946
|
-
*
|
|
5947
|
-
* @alpha
|
|
5948
|
-
* @returns 复杂多边形中心点
|
|
5949
|
-
*/
|
|
5950
|
-
getCenter(): {
|
|
5951
|
-
x: number;
|
|
5952
|
-
y: number;
|
|
5953
|
-
};
|
|
5954
|
-
/**
|
|
5955
|
-
* 校验复杂多边形
|
|
5956
|
-
*
|
|
5957
|
-
* @alpha
|
|
5958
|
-
* @returns 复杂多边形数据
|
|
5959
|
-
*/
|
|
5960
|
-
private validateSource;
|
|
5961
|
-
}
|
|
5962
|
-
|
|
5963
6162
|
/**
|
|
5964
6163
|
* 网络属性
|
|
5965
6164
|
*
|
|
@@ -6849,7 +7048,7 @@ declare global {
|
|
|
6849
7048
|
* 获取所有圆弧线的图元 ID
|
|
6850
7049
|
*
|
|
6851
7050
|
* @beta
|
|
6852
|
-
* @param net -
|
|
7051
|
+
* @param net - ���络名称
|
|
6853
7052
|
* @param layer - 层
|
|
6854
7053
|
* @param primitiveLock - 是否锁定
|
|
6855
7054
|
* @returns 圆弧线的图元 ID 数组
|
|
@@ -8081,7 +8280,7 @@ declare global {
|
|
|
8081
8280
|
* 在 PCB 画布中创建图元
|
|
8082
8281
|
*
|
|
8083
8282
|
* @internal
|
|
8084
|
-
* @remarks
|
|
8283
|
+
* @remarks 覆��填充图元不支持新建,本接口调用将不会有任何效果
|
|
8085
8284
|
* @returns 覆铜填充图元对象
|
|
8086
8285
|
*/
|
|
8087
8286
|
create(): IPCB_PrimitivePoured;
|
|
@@ -10226,7 +10425,7 @@ declare global {
|
|
|
10226
10425
|
*
|
|
10227
10426
|
* @beta
|
|
10228
10427
|
* @remarks
|
|
10229
|
-
*
|
|
10428
|
+
* 本接口模拟前端点击放置按钮,指定的器件将绑定到当前鼠标,并在用户后续点击时���置于画布
|
|
10230
10429
|
*
|
|
10231
10430
|
* 本接口的返回时机并不会等待用户的放置操作,一旦器件被绑定到鼠标,本接口将立即返回 `true` 的结果
|
|
10232
10431
|
* @param component - 关联库器件
|
|
@@ -11636,7 +11835,7 @@ declare global {
|
|
|
11636
11835
|
* 将图元转换为异步图元
|
|
11637
11836
|
*
|
|
11638
11837
|
* @public
|
|
11639
|
-
* @returns
|
|
11838
|
+
* @returns 二进制内嵌对象图元对象
|
|
11640
11839
|
*/
|
|
11641
11840
|
toAsync(): IPCB_PrimitiveObject;
|
|
11642
11841
|
/**
|
|
@@ -12395,7 +12594,7 @@ declare global {
|
|
|
12395
12594
|
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
12396
12595
|
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
12397
12596
|
*
|
|
12398
|
-
* 如果设置为 `true
|
|
12597
|
+
* 如果设置为 `true`,将会忽���所有检查警告项并尽可能生成下单资料;
|
|
12399
12598
|
*
|
|
12400
12599
|
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
12401
12600
|
* @returns 是否通过下单检查
|
|
@@ -14147,7 +14346,7 @@ declare global {
|
|
|
14147
14346
|
*/
|
|
14148
14347
|
toSync(): ISCH_PrimitiveCircle;
|
|
14149
14348
|
/**
|
|
14150
|
-
*
|
|
14349
|
+
* 查询图元是否为异��图元
|
|
14151
14350
|
*
|
|
14152
14351
|
* @public
|
|
14153
14352
|
* @returns 是否为异步图元
|
|
@@ -15201,7 +15400,7 @@ declare global {
|
|
|
15201
15400
|
*/
|
|
15202
15401
|
getState_Manufacturer(): string | undefined;
|
|
15203
15402
|
/**
|
|
15204
|
-
*
|
|
15403
|
+
* 获取属性���态:制造商编号
|
|
15205
15404
|
*
|
|
15206
15405
|
* @public
|
|
15207
15406
|
* @returns 制造商编号
|
|
@@ -16250,7 +16449,7 @@ declare global {
|
|
|
16250
16449
|
* 在原理图画布中创建图元
|
|
16251
16450
|
*
|
|
16252
16451
|
* @internal
|
|
16253
|
-
* @returns
|
|
16452
|
+
* @returns 器件图���对象
|
|
16254
16453
|
*/
|
|
16255
16454
|
create(): Promise<ISCH_PrimitiveCbbSymbolComponent>;
|
|
16256
16455
|
/**
|
|
@@ -17070,7 +17269,7 @@ declare global {
|
|
|
17070
17269
|
* 设置属性状态:圆角半径
|
|
17071
17270
|
*
|
|
17072
17271
|
* @beta
|
|
17073
|
-
* @param cornerRadius -
|
|
17272
|
+
* @param cornerRadius - 圆角半径
|
|
17074
17273
|
* @returns 矩形图元对象
|
|
17075
17274
|
*/
|
|
17076
17275
|
setState_CornerRadius(cornerRadius: number): ISCH_PrimitiveRectangle;
|
|
@@ -17376,7 +17575,7 @@ declare global {
|
|
|
17376
17575
|
*/
|
|
17377
17576
|
toSync(): ISCH_PrimitiveWire;
|
|
17378
17577
|
/**
|
|
17379
|
-
*
|
|
17578
|
+
* 查询��元是否为异步图元
|
|
17380
17579
|
*
|
|
17381
17580
|
* @public
|
|
17382
17581
|
* @returns 是否为异步图元
|
|
@@ -17768,10 +17967,12 @@ declare global {
|
|
|
17768
17967
|
maxDragX?: number;
|
|
17769
17968
|
maxDragY?: number;
|
|
17770
17969
|
hide?: boolean;
|
|
17970
|
+
resizingX?: boolean;
|
|
17971
|
+
resizingY?: boolean;
|
|
17771
17972
|
children?: React$1.ReactNode;
|
|
17772
17973
|
onMoved?: (top: number, left: number) => void;
|
|
17773
17974
|
}
|
|
17774
|
-
function Modal({ top, left, width, height, maxDragX, maxDragY, hide, overlay, children, onMoved, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
17975
|
+
function Modal({ top, left, width, height, maxDragX, maxDragY, hide, overlay, resizingX, resizingY, children, onMoved, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
17775
17976
|
|
|
17776
17977
|
interface DialogProps {
|
|
17777
17978
|
title: string;
|
|
@@ -17783,9 +17984,12 @@ declare global {
|
|
|
17783
17984
|
overlay?: boolean;
|
|
17784
17985
|
maxDragY?: number;
|
|
17785
17986
|
modal?: boolean;
|
|
17987
|
+
resizingX?: boolean;
|
|
17988
|
+
resizingY?: boolean;
|
|
17786
17989
|
buttons?: ButtonProps[];
|
|
17787
17990
|
onClose?: () => void;
|
|
17788
17991
|
children?: React$1.ReactNode;
|
|
17992
|
+
footer?: React$1.ReactNode;
|
|
17789
17993
|
}
|
|
17790
17994
|
function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
|
|
17791
17995
|
|
|
@@ -18135,7 +18339,7 @@ declare global {
|
|
|
18135
18339
|
* 弹出确认窗口
|
|
18136
18340
|
*
|
|
18137
18341
|
* @public
|
|
18138
|
-
* @remarks
|
|
18342
|
+
* @remarks 显示一个拥有确认和取消按钮的窗口
|
|
18139
18343
|
* @param content - 消息文本,支持使用 `\n` 换行
|
|
18140
18344
|
* @param title - 弹出窗口标题
|
|
18141
18345
|
* @param mainButtonTitle - 主要按钮标题
|
|
@@ -18373,7 +18577,7 @@ declare global {
|
|
|
18373
18577
|
* 打开读入文件窗口
|
|
18374
18578
|
*
|
|
18375
18579
|
* @beta
|
|
18376
|
-
* @param filenameExtensions -
|
|
18580
|
+
* @param filenameExtensions - 文件��展名
|
|
18377
18581
|
* @param multiFiles - 是否允许读取多文件
|
|
18378
18582
|
* @returns File 格式文件
|
|
18379
18583
|
*/
|
|
@@ -19001,7 +19205,7 @@ declare global {
|
|
|
19001
19205
|
*
|
|
19002
19206
|
* @beta
|
|
19003
19207
|
* @remarks
|
|
19004
|
-
*
|
|
19208
|
+
* 关闭指定 ID 的内联框架窗口
|
|
19005
19209
|
*
|
|
19006
19210
|
* 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
19007
19211
|
* @param id - 内联框架窗口 ID,如若传入 `undefined`,将关闭由本扩展打开的所有内联框架窗口
|
|
@@ -19376,7 +19580,7 @@ declare global {
|
|
|
19376
19580
|
* @public
|
|
19377
19581
|
* @param message - 消息内容
|
|
19378
19582
|
* @param messageType - 消息类型
|
|
19379
|
-
* @param timer -
|
|
19583
|
+
* @param timer - 自动关闭���计时秒数,`0` 为不自动关闭
|
|
19380
19584
|
* @param bottomPanel - 展开底部信息面板
|
|
19381
19585
|
* @param buttonTitle - 回调按钮标题
|
|
19382
19586
|
* @param buttonCallbackFn - 回调函数内容,字符串形式,会被自动解析并执行
|
|
@@ -19881,7 +20085,7 @@ declare global {
|
|
|
19881
20085
|
* 系统 / 定时器类
|
|
19882
20086
|
*
|
|
19883
20087
|
* @public
|
|
19884
|
-
* @remarks
|
|
20088
|
+
* @remarks 设置���时器
|
|
19885
20089
|
*/
|
|
19886
20090
|
class SYS_Timer {
|
|
19887
20091
|
/** 扩展 UUID */
|