@jlceda/pro-api-types 0.2.36 → 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 +1766 -1570
- 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 - 符号类型,默认为全部
|
|
@@ -547,8 +547,8 @@ declare global {
|
|
|
547
547
|
page: Array<IDMT_SchematicPageItem>;
|
|
548
548
|
/** 所属工程 UUID */
|
|
549
549
|
parentProjectUuid: string;
|
|
550
|
-
/**
|
|
551
|
-
|
|
550
|
+
/** 所属板子名称 */
|
|
551
|
+
parentBoardName?: string;
|
|
552
552
|
/** 复用模块原理图关联的模块符号 */
|
|
553
553
|
cbbSymbol?: ILIB_SymbolItem;
|
|
554
554
|
}
|
|
@@ -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
|
-
* 1. 当图元为顶层/底层贴片焊盘时,允许设置对应层的阻焊/助焊扩展,其余设置不生效
|
|
3222
|
-
*
|
|
3223
|
-
* 2. 当图元为通孔焊盘时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效
|
|
3224
|
-
*
|
|
3225
|
-
* 3. 当图元为过孔时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效,如若为盲孔,则视其暴露层生效其阻焊扩展设置
|
|
3226
|
-
*
|
|
3227
|
-
* 助焊扩展在一般情况下仅用于钢网生产等特定用途,不了解其作用请安心地忽略其参数设置
|
|
3375
|
+
* @remarks 此处为所有在编辑器图层菜单中可以选中并设置可见性的图层
|
|
3228
3376
|
*/
|
|
3229
|
-
|
|
3230
|
-
/** 顶层阻焊扩展 */
|
|
3231
|
-
topSolderMask?: number;
|
|
3232
|
-
/** 底层阻焊扩展 */
|
|
3233
|
-
bottomSolderMask?: number;
|
|
3234
|
-
/** 顶层助焊扩展 */
|
|
3235
|
-
topPasteMask?: number;
|
|
3236
|
-
/** 底层助焊扩展 */
|
|
3237
|
-
bottomPasteMask?: number;
|
|
3238
|
-
}
|
|
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;
|
|
3239
3378
|
/**
|
|
3240
|
-
*
|
|
3379
|
+
* 内层
|
|
3241
3380
|
*
|
|
3242
3381
|
* @public
|
|
3243
|
-
* @remarks 图元的统一操作
|
|
3244
3382
|
*/
|
|
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
|
-
|
|
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;
|
|
3384
|
+
/**
|
|
3385
|
+
* 自定义层
|
|
3386
|
+
*
|
|
3387
|
+
* @public
|
|
3388
|
+
*/
|
|
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
|
+
* 获取当前图层的详细属性
|
|
3549
|
+
*
|
|
3550
|
+
* @alpha
|
|
3551
|
+
* @returns 当前图层的详细属性
|
|
3552
|
+
*/
|
|
3553
|
+
getCurrentLayer(): IPCB_LayerItem | undefined;
|
|
3554
|
+
/**
|
|
3555
|
+
* 选中图层
|
|
3337
3556
|
*
|
|
3338
3557
|
* @public
|
|
3339
|
-
* @param
|
|
3340
|
-
* @returns
|
|
3558
|
+
* @param layer - 层
|
|
3559
|
+
* @returns 操作是否成功,不存在指定层将返回 `false`
|
|
3341
3560
|
*/
|
|
3342
|
-
|
|
3561
|
+
selectLayer(layer: TPCB_LayersInTheSelectable): Promise<boolean>;
|
|
3343
3562
|
/**
|
|
3344
|
-
*
|
|
3563
|
+
* 将层设置为可见
|
|
3345
3564
|
*
|
|
3346
3565
|
* @beta
|
|
3347
|
-
* @
|
|
3348
|
-
* @param
|
|
3349
|
-
* @returns
|
|
3566
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3567
|
+
* @param setOtherLayerInvisible - 是否将其它层设置为不可见
|
|
3568
|
+
* @returns 操作是否成功
|
|
3350
3569
|
*/
|
|
3351
|
-
|
|
3570
|
+
setLayerVisible(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>, setOtherLayerInvisible?: boolean): Promise<boolean>;
|
|
3352
3571
|
/**
|
|
3353
|
-
*
|
|
3572
|
+
* 将层设置为不可见
|
|
3354
3573
|
*
|
|
3355
3574
|
* @beta
|
|
3356
|
-
* @
|
|
3357
|
-
* @param
|
|
3358
|
-
* @returns
|
|
3575
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3576
|
+
* @param setOtherLayerVisible - 是否将其它层设置为可见
|
|
3577
|
+
* @returns 操作是否成功
|
|
3359
3578
|
*/
|
|
3360
|
-
|
|
3579
|
+
setLayerInvisible(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>, setOtherLayerVisible?: boolean): Promise<boolean>;
|
|
3361
3580
|
/**
|
|
3362
|
-
*
|
|
3581
|
+
* 锁定层
|
|
3363
3582
|
*
|
|
3364
3583
|
* @beta
|
|
3365
|
-
* @
|
|
3366
|
-
* @
|
|
3367
|
-
* @returns 导入操作是否成功
|
|
3584
|
+
* @param layer - 层,如若不指定任何层则默认为所有层
|
|
3585
|
+
* @returns 操作是否成功
|
|
3368
3586
|
*/
|
|
3369
|
-
|
|
3587
|
+
lockLayer(layer?: TPCB_LayersInTheSelectable | Array<TPCB_LayersInTheSelectable>): Promise<boolean>;
|
|
3370
3588
|
/**
|
|
3371
|
-
*
|
|
3589
|
+
* 取消锁定层
|
|
3372
3590
|
*
|
|
3373
|
-
* @
|
|
3374
|
-
* @
|
|
3375
|
-
|
|
3376
|
-
save(uuid: string): Promise<boolean>;
|
|
3377
|
-
/**
|
|
3378
|
-
* 获取当前飞线计算功能状态
|
|
3379
|
-
*
|
|
3380
|
-
* @public
|
|
3381
|
-
* @returns 功能状态
|
|
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
|
-
* @
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
}>>;
|
|
4021
|
+
* @public
|
|
4022
|
+
* @param complexPolygon - 复杂多边形数据
|
|
4023
|
+
* @returns 复杂多边形对象
|
|
4024
|
+
*/
|
|
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
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
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;
|
|
4466
|
+
}
|
|
4467
|
+
/**
|
|
4468
|
+
* 差分对属性
|
|
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
|
-
BOARD_OUTLINE = 11,
|
|
4208
|
-
/** 多层 */
|
|
4209
|
-
MULTI = 12,
|
|
4210
|
-
/** 文档层 */
|
|
4211
|
-
DOCUMENT = 13,
|
|
4212
|
-
/** 机械层 */
|
|
4213
|
-
MECHANICAL = 14,
|
|
4214
|
-
/** 飞线层 */
|
|
4215
|
-
RATLINE = 57,
|
|
4216
|
-
/** 内层 1 */
|
|
4217
|
-
INNER_1 = 15,
|
|
4218
|
-
/** 内层 2 */
|
|
4219
|
-
INNER_2 = 16,
|
|
4220
|
-
/** 内层 3 */
|
|
4221
|
-
INNER_3 = 17,
|
|
4222
|
-
/** 内层 4 */
|
|
4223
|
-
INNER_4 = 18,
|
|
4224
|
-
/** 内层 5 */
|
|
4225
|
-
INNER_5 = 19,
|
|
4226
|
-
/** 内层 6 */
|
|
4227
|
-
INNER_6 = 20,
|
|
4228
|
-
/** 内层 7 */
|
|
4229
|
-
INNER_7 = 21,
|
|
4230
|
-
/** 内层 8 */
|
|
4231
|
-
INNER_8 = 22,
|
|
4232
|
-
/** 内层 9 */
|
|
4233
|
-
INNER_9 = 23,
|
|
4234
|
-
/** 内层 10 */
|
|
4235
|
-
INNER_10 = 24,
|
|
4236
|
-
/** 内层 11 */
|
|
4237
|
-
INNER_11 = 25,
|
|
4238
|
-
/** 内层 12 */
|
|
4239
|
-
INNER_12 = 26,
|
|
4240
|
-
/** 内层 13 */
|
|
4241
|
-
INNER_13 = 27,
|
|
4242
|
-
/** 内层 14 */
|
|
4243
|
-
INNER_14 = 28,
|
|
4244
|
-
/** 内层 15 */
|
|
4245
|
-
INNER_15 = 29,
|
|
4246
|
-
/** 内层 16 */
|
|
4247
|
-
INNER_16 = 30,
|
|
4248
|
-
/** 内层 17 */
|
|
4249
|
-
INNER_17 = 31,
|
|
4250
|
-
/** 内层 18 */
|
|
4251
|
-
INNER_18 = 32,
|
|
4252
|
-
/** 内层 19 */
|
|
4253
|
-
INNER_19 = 33,
|
|
4254
|
-
/** 内层 20 */
|
|
4255
|
-
INNER_20 = 34,
|
|
4256
|
-
/** 内层 21 */
|
|
4257
|
-
INNER_21 = 35,
|
|
4258
|
-
/** 内层 22 */
|
|
4259
|
-
INNER_22 = 36,
|
|
4260
|
-
/** 内层 23 */
|
|
4261
|
-
INNER_23 = 37,
|
|
4262
|
-
/** 内层 24 */
|
|
4263
|
-
INNER_24 = 38,
|
|
4264
|
-
/** 内层 25 */
|
|
4265
|
-
INNER_25 = 39,
|
|
4266
|
-
/** 内层 26 */
|
|
4267
|
-
INNER_26 = 40,
|
|
4268
|
-
/** 内层 27 */
|
|
4269
|
-
INNER_27 = 41,
|
|
4270
|
-
/** 内层 28 */
|
|
4271
|
-
INNER_28 = 42,
|
|
4272
|
-
/** 内层 29 */
|
|
4273
|
-
INNER_29 = 43,
|
|
4274
|
-
/** 内层 30 */
|
|
4275
|
-
INNER_30 = 44,
|
|
4276
|
-
/** 内层 31 */
|
|
4277
|
-
/** 内层 32 */
|
|
4278
|
-
/** 自定义层 1 */
|
|
4279
|
-
CUSTOM_1 = 71,
|
|
4280
|
-
/** 自定义层 2 */
|
|
4281
|
-
CUSTOM_2 = 72,
|
|
4282
|
-
/** 自定义层 3 */
|
|
4283
|
-
CUSTOM_3 = 73,
|
|
4284
|
-
/** 自定义层 4 */
|
|
4285
|
-
CUSTOM_4 = 74,
|
|
4286
|
-
/** 自定义层 5 */
|
|
4287
|
-
CUSTOM_5 = 75,
|
|
4288
|
-
/** 自定义层 6 */
|
|
4289
|
-
CUSTOM_6 = 76,
|
|
4290
|
-
/** 自定义层 7 */
|
|
4291
|
-
CUSTOM_7 = 77,
|
|
4292
|
-
/** 自定义层 8 */
|
|
4293
|
-
CUSTOM_8 = 78,
|
|
4294
|
-
/** 自定义层 9 */
|
|
4295
|
-
CUSTOM_9 = 79,
|
|
4296
|
-
/** 自定义层 10 */
|
|
4297
|
-
CUSTOM_10 = 80,
|
|
4298
|
-
/** 自定义层 11 */
|
|
4299
|
-
CUSTOM_11 = 81,
|
|
4300
|
-
/** 自定义层 12 */
|
|
4301
|
-
CUSTOM_12 = 82,
|
|
4302
|
-
/** 自定义层 13 */
|
|
4303
|
-
CUSTOM_13 = 83,
|
|
4304
|
-
/** 自定义层 14 */
|
|
4305
|
-
CUSTOM_14 = 84,
|
|
4306
|
-
/** 自定义层 15 */
|
|
4307
|
-
CUSTOM_15 = 85,
|
|
4308
|
-
/** 自定义层 16 */
|
|
4309
|
-
CUSTOM_16 = 86,
|
|
4310
|
-
/** 自定义层 17 */
|
|
4311
|
-
CUSTOM_17 = 87,
|
|
4312
|
-
/** 自定义层 18 */
|
|
4313
|
-
CUSTOM_18 = 88,
|
|
4314
|
-
/** 自定义层 19 */
|
|
4315
|
-
CUSTOM_19 = 89,
|
|
4316
|
-
/** 自定义层 20 */
|
|
4317
|
-
CUSTOM_20 = 90,
|
|
4318
|
-
/** 自定义层 21 */
|
|
4319
|
-
CUSTOM_21 = 91,
|
|
4320
|
-
/** 自定义层 22 */
|
|
4321
|
-
CUSTOM_22 = 92,
|
|
4322
|
-
/** 自定义层 23 */
|
|
4323
|
-
CUSTOM_23 = 93,
|
|
4324
|
-
/** 自定义层 24 */
|
|
4325
|
-
CUSTOM_24 = 94,
|
|
4326
|
-
/** 自定义层 25 */
|
|
4327
|
-
CUSTOM_25 = 95,
|
|
4328
|
-
/** 自定义层 26 */
|
|
4329
|
-
CUSTOM_26 = 96,
|
|
4330
|
-
/** 自定义层 27 */
|
|
4331
|
-
CUSTOM_27 = 97,
|
|
4332
|
-
/** 自定义层 28 */
|
|
4333
|
-
CUSTOM_28 = 98,
|
|
4334
|
-
/** 自定义层 29 */
|
|
4335
|
-
CUSTOM_29 = 99,
|
|
4336
|
-
/** 自定义层 30 */
|
|
4337
|
-
CUSTOM_30 = 100,
|
|
4338
|
-
/** 夹层(介电基板)1 */
|
|
4339
|
-
SUBSTRATE_1 = 101,
|
|
4340
|
-
/** 孔层(焊盘、过孔的内孔) */
|
|
4341
|
-
HOLE = 47,
|
|
4342
|
-
/** 元件外形层 */
|
|
4343
|
-
COMPONENT_SHAPE = 48,
|
|
4344
|
-
/** 元件标识层 */
|
|
4345
|
-
COMPONENT_MARKING = 49,
|
|
4346
|
-
/** 引脚焊接层 */
|
|
4347
|
-
PIN_SOLDERING = 50,
|
|
4348
|
-
/** 引脚悬空层 */
|
|
4349
|
-
PIN_FLOATING = 51,
|
|
4350
|
-
/** 元件模型层 */
|
|
4351
|
-
COMPONENT_MODEL = 52,
|
|
4352
|
-
/** 3D 外壳边框层 */
|
|
4353
|
-
SHELL_3D_OUTLINE = 53,
|
|
4354
|
-
/** 3D 外壳顶层 */
|
|
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>;
|
|
4548
4705
|
/**
|
|
4549
|
-
*
|
|
4706
|
+
* 获取区域规则
|
|
4550
4707
|
*
|
|
4551
|
-
* @
|
|
4552
|
-
* @
|
|
4553
|
-
* @returns 操作是否成功,不存在指定层将返回 `false`
|
|
4708
|
+
* @beta
|
|
4709
|
+
* @returns - 当前 PCB 的所有区域规则
|
|
4554
4710
|
*/
|
|
4555
|
-
|
|
4711
|
+
getRegionRules(): Promise<Array<{
|
|
4712
|
+
[key: string]: any;
|
|
4713
|
+
}>>;
|
|
4556
4714
|
/**
|
|
4557
|
-
*
|
|
4715
|
+
* 覆写区域规则
|
|
4558
4716
|
*
|
|
4559
4717
|
* @beta
|
|
4560
|
-
* @
|
|
4561
|
-
* @param
|
|
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 - 网络类颜色
|
|
4562
4732
|
* @returns 操作是否成功
|
|
4563
4733
|
*/
|
|
4564
|
-
|
|
4734
|
+
createNetClass(netClassName: string, nets: Array<string>, color: IPCB_EqualLengthNetGroupItem['color']): Promise<boolean>;
|
|
4565
4735
|
/**
|
|
4566
|
-
*
|
|
4736
|
+
* 删除网络类
|
|
4567
4737
|
*
|
|
4568
4738
|
* @beta
|
|
4569
|
-
* @param
|
|
4570
|
-
* @param setOtherLayerVisible - 是否将其它层设置为可见
|
|
4739
|
+
* @param netClassName - 网络类名称
|
|
4571
4740
|
* @returns 操作是否成功
|
|
4572
4741
|
*/
|
|
4573
|
-
|
|
4742
|
+
deleteNetClass(netClassName: string): Promise<boolean>;
|
|
4574
4743
|
/**
|
|
4575
|
-
*
|
|
4744
|
+
* 修改网络类的名称
|
|
4576
4745
|
*
|
|
4577
4746
|
* @beta
|
|
4578
|
-
* @param
|
|
4747
|
+
* @param originalNetClassName - 原网络类名称
|
|
4748
|
+
* @param netClassName - 新网络类名称
|
|
4579
4749
|
* @returns 操作是否成功
|
|
4580
4750
|
*/
|
|
4581
|
-
|
|
4751
|
+
modifyNetClassName(originalNetClassName: string, netClassName: string): Promise<boolean>;
|
|
4582
4752
|
/**
|
|
4583
|
-
*
|
|
4753
|
+
* 将网络添加到网络类
|
|
4584
4754
|
*
|
|
4585
4755
|
* @beta
|
|
4586
|
-
* @param
|
|
4756
|
+
* @param netClassName - 网络类名称
|
|
4757
|
+
* @param net - 网络名称
|
|
4587
4758
|
* @returns 操作是否成功
|
|
4588
4759
|
*/
|
|
4589
|
-
|
|
4760
|
+
addNetToNetClass(netClassName: string, net: string | Array<string>): Promise<boolean>;
|
|
4590
4761
|
/**
|
|
4591
|
-
*
|
|
4762
|
+
* 从网络类中移除网络
|
|
4592
4763
|
*
|
|
4593
4764
|
* @beta
|
|
4594
|
-
* @
|
|
4595
|
-
* @param
|
|
4765
|
+
* @param netClassName - 网络类名称
|
|
4766
|
+
* @param net - 网络名称
|
|
4596
4767
|
* @returns 操作是否成功
|
|
4597
4768
|
*/
|
|
4598
|
-
|
|
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>;
|
|
4853
|
+
/**
|
|
4854
|
+
* 修改等长网络组的名称
|
|
4855
|
+
*
|
|
4856
|
+
* @beta
|
|
4857
|
+
* @param originalEqualLengthNetGroupName - 原等长网络组名称
|
|
4858
|
+
* @param equalLengthNetGroupName - 新等长网络组名称
|
|
4859
|
+
* @returns 操作是否成功
|
|
4860
|
+
*/
|
|
4861
|
+
modifyEqualLengthNetGroupName(originalEqualLengthNetGroupName: string, equalLengthNetGroupName: string): Promise<boolean>;
|
|
4862
|
+
/**
|
|
4863
|
+
* 将网络添加到等长网络组
|
|
4864
|
+
*
|
|
4865
|
+
* @beta
|
|
4866
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4867
|
+
* @param net - 网络名称
|
|
4868
|
+
* @returns 操作是否成功
|
|
4869
|
+
*/
|
|
4870
|
+
addNetToEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array<string>): Promise<boolean>;
|
|
4871
|
+
/**
|
|
4872
|
+
* 从等长网络组中移除网络
|
|
4873
|
+
*
|
|
4874
|
+
* @beta
|
|
4875
|
+
* @param equalLengthNetGroupName - 等长网络组名称
|
|
4876
|
+
* @param net - 网络名称
|
|
4877
|
+
* @returns 操作是否成功
|
|
4878
|
+
*/
|
|
4879
|
+
removeNetFromEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array<string>): Promise<boolean>;
|
|
4880
|
+
/**
|
|
4881
|
+
* 获取所有等长网络组的详细属性
|
|
4882
|
+
*
|
|
4883
|
+
* @beta
|
|
4884
|
+
* @returns 所有等长网络组的详细属性
|
|
4885
|
+
*/
|
|
4886
|
+
getAllEqualLengthNetGroups(): Promise<Array<IPCB_EqualLengthNetGroupItem>>;
|
|
4887
|
+
/**
|
|
4888
|
+
* 创建焊盘对组
|
|
4889
|
+
*
|
|
4890
|
+
* @beta
|
|
4891
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4892
|
+
* @param padPairs - 焊盘对数组
|
|
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']]) // 器件焊盘 - 游离焊盘
|
|
4898
|
+
*/
|
|
4899
|
+
createPadPairGroup(padPairGroupName: string, padPairs: Array<[string, string]>): Promise<boolean>;
|
|
4900
|
+
/**
|
|
4901
|
+
* 删除焊盘对组
|
|
4902
|
+
*
|
|
4903
|
+
* @beta
|
|
4904
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4905
|
+
* @returns 操作是否成功
|
|
4906
|
+
*/
|
|
4907
|
+
deletePadPairGroup(padPairGroupName: string): Promise<boolean>;
|
|
4908
|
+
/**
|
|
4909
|
+
* 修改焊盘对组的名称
|
|
4910
|
+
*
|
|
4911
|
+
* @beta
|
|
4912
|
+
* @param originalPadPairGroupName - 原焊盘对组名称
|
|
4913
|
+
* @param padPairGroupName - 新焊盘对组名称
|
|
4914
|
+
* @returns 操作是否成功
|
|
4915
|
+
*/
|
|
4916
|
+
modifyPadPairGroupName(originalPadPairGroupName: string, padPairGroupName: string): Promise<boolean>;
|
|
4917
|
+
/**
|
|
4918
|
+
* 将焊盘对添加到焊盘对组
|
|
4919
|
+
*
|
|
4920
|
+
* @beta
|
|
4921
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4922
|
+
* @param padPair - 焊盘对
|
|
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']) // 器件焊盘 - 游离焊盘
|
|
4928
|
+
*/
|
|
4929
|
+
addPadPairToPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>): Promise<boolean>;
|
|
4930
|
+
/**
|
|
4931
|
+
* 从焊盘对组中移除焊盘对
|
|
4932
|
+
*
|
|
4933
|
+
* @beta
|
|
4934
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4935
|
+
* @param padPair - 焊盘对
|
|
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']) // 器件焊盘 - 游离焊盘
|
|
4941
|
+
*/
|
|
4942
|
+
removePadPairFromPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>): Promise<boolean>;
|
|
4943
|
+
/**
|
|
4944
|
+
* 获取所有焊盘对组的详细属性
|
|
4945
|
+
*
|
|
4946
|
+
* @beta
|
|
4947
|
+
* @returns 所有焊盘对组的详细属性
|
|
4948
|
+
*/
|
|
4949
|
+
getAllPadPairGroups(): Promise<Array<IPCB_PadPairGroupItem>>;
|
|
4950
|
+
/**
|
|
4951
|
+
* 获取焊盘对组最短导线长度
|
|
4952
|
+
*
|
|
4953
|
+
* @beta
|
|
4954
|
+
* @param padPairGroupName - 焊盘对组名称
|
|
4955
|
+
* @returns 所有焊盘对的最短导线长度
|
|
4956
|
+
*/
|
|
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?;
|
|
4599
5008
|
/**
|
|
4600
|
-
*
|
|
4601
|
-
*
|
|
4602
|
-
* @alpha
|
|
4603
|
-
* @returns 层数
|
|
5009
|
+
* @internal
|
|
5010
|
+
* @param extensionUuid - 扩展 UUID
|
|
4604
5011
|
*/
|
|
4605
|
-
|
|
5012
|
+
constructor(extensionUuid?: string);
|
|
4606
5013
|
/**
|
|
4607
|
-
*
|
|
5014
|
+
* 新增鼠标事件监听
|
|
4608
5015
|
*
|
|
4609
5016
|
* @beta
|
|
4610
|
-
* @
|
|
4611
|
-
* @
|
|
5017
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5018
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5019
|
+
* @param eventType - 事件类型
|
|
5020
|
+
* @param callFn - 事件触发时的回调函数
|
|
5021
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4612
5022
|
*/
|
|
4613
|
-
|
|
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;
|
|
4614
5033
|
/**
|
|
4615
|
-
*
|
|
5034
|
+
* 新增图元事件监听
|
|
4616
5035
|
*
|
|
4617
5036
|
* @beta
|
|
4618
|
-
* @
|
|
4619
|
-
* @
|
|
5037
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5038
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5039
|
+
* @param eventType - 事件类型
|
|
5040
|
+
* @param callFn - 事件触发时的回调函数
|
|
5041
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4620
5042
|
*/
|
|
4621
|
-
|
|
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;
|
|
4622
5053
|
/**
|
|
4623
|
-
*
|
|
5054
|
+
* 新增网络事件监听
|
|
4624
5055
|
*
|
|
4625
5056
|
* @beta
|
|
4626
5057
|
* @remarks
|
|
4627
|
-
*
|
|
5058
|
+
* 网络选中事件仅
|
|
4628
5059
|
*
|
|
4629
|
-
*
|
|
5060
|
+
* ①在过滤面板选中网络选项并在画布选中网络时
|
|
4630
5061
|
*
|
|
4631
|
-
*
|
|
5062
|
+
* ②在工程设计 -\> 网络内选中网络时
|
|
4632
5063
|
*
|
|
4633
|
-
*
|
|
4634
|
-
* @param pcbType - PCB 类型
|
|
4635
|
-
* @returns 操作是否成功
|
|
4636
|
-
*/
|
|
4637
|
-
setPcbType(pcbType: EPCB_PcbPlateType): Promise<boolean>;
|
|
4638
|
-
/**
|
|
4639
|
-
* 新增自定义层
|
|
5064
|
+
* 会被触发
|
|
4640
5065
|
*
|
|
4641
|
-
*
|
|
4642
|
-
* @
|
|
5066
|
+
* 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5067
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5068
|
+
* @param eventType - 事件类型
|
|
5069
|
+
* @param callFn - 事件触发时的回调函数
|
|
5070
|
+
* @param onlyOnce - 是否仅监听一次
|
|
4643
5071
|
*/
|
|
4644
|
-
|
|
5072
|
+
addNetEventListener(id: string, eventType: 'all' | EPCB_NetEventType, callFn: (eventType: EPCB_NetEventType, props: [{
|
|
5073
|
+
net: string;
|
|
5074
|
+
}]) => void | Promise<void>, onlyOnce?: boolean): void;
|
|
4645
5075
|
/**
|
|
4646
|
-
*
|
|
5076
|
+
* 新增交叉选择事件监听
|
|
4647
5077
|
*
|
|
4648
5078
|
* @beta
|
|
4649
|
-
* @remarks
|
|
4650
|
-
* @param
|
|
4651
|
-
* @
|
|
5079
|
+
* @remarks 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5080
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5081
|
+
* @param callFn - 事件触发时的回调函数
|
|
4652
5082
|
*/
|
|
4653
|
-
|
|
5083
|
+
addCrossProbeSelectEventListener(id: string, callFn: (props: any) => void | Promise<void>): void;
|
|
4654
5084
|
/**
|
|
4655
|
-
*
|
|
5085
|
+
* 新增实时 DRC 结果事件监听
|
|
4656
5086
|
*
|
|
4657
|
-
* @
|
|
4658
|
-
* @remarks
|
|
4659
|
-
*
|
|
4660
|
-
* @param
|
|
4661
|
-
* @
|
|
5087
|
+
* @alpha
|
|
5088
|
+
* @remarks
|
|
5089
|
+
* 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 `throw Error`
|
|
5090
|
+
* @param id - 事件 ID,用以防止重复注册事件
|
|
5091
|
+
* @param eventType - 事件类型
|
|
5092
|
+
* @param callFn - 事件触发时的回调函数
|
|
4662
5093
|
*/
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
color?: string;
|
|
4667
|
-
transparency?: number;
|
|
4668
|
-
}): Promise<boolean>;
|
|
5094
|
+
addRealTimeDrcResultEventListener(id: string, eventType: 'all', callFn: (eventType: undefined, props: [{
|
|
5095
|
+
drcResult: any;
|
|
5096
|
+
}]) => void | Promise<void>): void;
|
|
4669
5097
|
/**
|
|
4670
|
-
*
|
|
5098
|
+
* 移除事件监听
|
|
4671
5099
|
*
|
|
4672
|
-
* @
|
|
4673
|
-
* @
|
|
5100
|
+
* @public
|
|
5101
|
+
* @param id - 事件 ID
|
|
5102
|
+
* @returns 是否移除指定事件监听
|
|
4674
5103
|
*/
|
|
4675
|
-
|
|
5104
|
+
removeEventListener(id: string): boolean;
|
|
4676
5105
|
/**
|
|
4677
|
-
*
|
|
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
|
*
|
|
@@ -5502,462 +5934,229 @@ declare global {
|
|
|
5502
5934
|
objectName: string;
|
|
5503
5935
|
}>): Promise<File | undefined>;
|
|
5504
5936
|
/**
|
|
5505
|
-
* 获取交互式 BOM 文件
|
|
5506
|
-
*
|
|
5507
|
-
* @internal
|
|
5508
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5509
|
-
* @param fileName - 文件名
|
|
5510
|
-
* @returns 交互式 BOM 文件数据
|
|
5511
|
-
*/
|
|
5512
|
-
getInteractiveBomFile(fileName?: string): Promise<File | undefined>;
|
|
5513
|
-
/**
|
|
5514
|
-
* 获取自动布线文件(DSN)
|
|
5515
|
-
*
|
|
5516
|
-
* @beta
|
|
5517
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5518
|
-
* @param fileName - 文件名
|
|
5519
|
-
* @returns 自动布线 DSN 文件数据
|
|
5520
|
-
* @example
|
|
5521
|
-
* ```javascript
|
|
5522
|
-
* const dsnFile = await eda.pcb_ManufactureData.getDsnFile('AutoRoute_DSN');
|
|
5523
|
-
* if (dsnFile) {
|
|
5524
|
-
* await eda.sys_FileSystem.saveFile(dsnFile);
|
|
5525
|
-
* }
|
|
5526
|
-
* ```
|
|
5527
|
-
*/
|
|
5528
|
-
getDsnFile(fileName?: string): Promise<File | undefined>;
|
|
5529
|
-
/**
|
|
5530
|
-
* 获取自动布线文件(JSON)
|
|
5531
|
-
*
|
|
5532
|
-
* @beta
|
|
5533
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5534
|
-
* @param fileName - 文件名
|
|
5535
|
-
* @returns 自动布线 JSON 文件数据
|
|
5536
|
-
* @example
|
|
5537
|
-
* ```javascript
|
|
5538
|
-
* const autoRouteJson = await eda.pcb_ManufactureData.getAutoRouteJsonFile('AutoRoute_Json');
|
|
5539
|
-
* if (autoRouteJson) {
|
|
5540
|
-
* await eda.sys_FileSystem.saveFile(autoRouteJson);
|
|
5541
|
-
* }
|
|
5542
|
-
* ```
|
|
5543
|
-
*/
|
|
5544
|
-
getAutoRouteJsonFile(fileName?: string): Promise<File | undefined>;
|
|
5545
|
-
/**
|
|
5546
|
-
* 获取 JRouter 专用自动布线文件(JSON)
|
|
5547
|
-
*
|
|
5548
|
-
* @beta
|
|
5549
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5550
|
-
* @param fileName - 文件名
|
|
5551
|
-
* @returns 自动布线 JSON 文件数据
|
|
5552
|
-
*/
|
|
5553
|
-
getAutoRouteJsonFileForJRouter(fileName?: string): Promise<File | undefined>;
|
|
5554
|
-
/**
|
|
5555
|
-
* 获取自动布局文件(JSON)
|
|
5556
|
-
*
|
|
5557
|
-
* @beta
|
|
5558
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5559
|
-
* @param fileName - 文件名
|
|
5560
|
-
* @returns 自动布局 JSON 文件数据
|
|
5561
|
-
* @example
|
|
5562
|
-
* ```javascript
|
|
5563
|
-
* const autoLayoutJson = await eda.pcb_ManufactureData.getAutoLayoutJsonFile('AutoLayout_Json');
|
|
5564
|
-
* if (autoLayoutJson) {
|
|
5565
|
-
* await eda.sys_FileSystem.saveFile(autoLayoutJson);
|
|
5566
|
-
* }
|
|
5567
|
-
* ```
|
|
5568
|
-
*/
|
|
5569
|
-
getAutoLayoutJsonFile(fileName?: string): Promise<File | undefined>;
|
|
5570
|
-
/**
|
|
5571
|
-
* 获取 Altium Designer 文件
|
|
5572
|
-
*
|
|
5573
|
-
* @beta
|
|
5574
|
-
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5575
|
-
* @param fileName - 文件名
|
|
5576
|
-
* @returns Altium Designer 文件数据
|
|
5577
|
-
* @example
|
|
5578
|
-
* ```javascript
|
|
5579
|
-
* //获取 Altium Designer 格式文件
|
|
5580
|
-
* const adFile = await eda.pcb_ManufactureData.getAltiumDesignerFile('Converted_To_AD');
|
|
5581
|
-
* if (adFile) {
|
|
5582
|
-
* await eda.sys_FileSystem.saveFile(adFile);
|
|
5583
|
-
* }
|
|
5584
|
-
* ```
|
|
5585
|
-
*/
|
|
5586
|
-
getAltiumDesignerFile(fileName?: string): Promise<File | undefined>;
|
|
5587
|
-
/**
|
|
5588
|
-
* 获取 PADS 文件
|
|
5937
|
+
* 获取交互式 BOM 文件
|
|
5589
5938
|
*
|
|
5590
|
-
* @
|
|
5939
|
+
* @internal
|
|
5591
5940
|
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5592
5941
|
* @param fileName - 文件名
|
|
5593
|
-
* @returns
|
|
5594
|
-
* @example
|
|
5595
|
-
* ```javascript
|
|
5596
|
-
* // 获取 PADS 格式文件
|
|
5597
|
-
* const padsFile = await eda.pcb_ManufactureData.getPadsFile('Converted_To_PADS');
|
|
5598
|
-
* if (padsFile) {
|
|
5599
|
-
* await eda.sys_FileSystem.saveFile(padsFile);
|
|
5600
|
-
* }
|
|
5601
|
-
* ```
|
|
5942
|
+
* @returns 交互式 BOM 文件数据
|
|
5602
5943
|
*/
|
|
5603
|
-
|
|
5944
|
+
getInteractiveBomFile(fileName?: string): Promise<File | undefined>;
|
|
5604
5945
|
/**
|
|
5605
|
-
*
|
|
5946
|
+
* 获取自动布线文件(DSN)
|
|
5606
5947
|
*
|
|
5607
5948
|
* @beta
|
|
5608
5949
|
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5609
5950
|
* @param fileName - 文件名
|
|
5610
|
-
* @returns
|
|
5951
|
+
* @returns 自动布线 DSN 文件数据
|
|
5611
5952
|
* @example
|
|
5612
5953
|
* ```javascript
|
|
5613
|
-
* const
|
|
5614
|
-
* if (
|
|
5615
|
-
* await eda.sys_FileSystem.saveFile(
|
|
5954
|
+
* const dsnFile = await eda.pcb_ManufactureData.getDsnFile('AutoRoute_DSN');
|
|
5955
|
+
* if (dsnFile) {
|
|
5956
|
+
* await eda.sys_FileSystem.saveFile(dsnFile);
|
|
5616
5957
|
* }
|
|
5617
5958
|
* ```
|
|
5618
5959
|
*/
|
|
5619
|
-
|
|
5960
|
+
getDsnFile(fileName?: string): Promise<File | undefined>;
|
|
5620
5961
|
/**
|
|
5621
|
-
*
|
|
5962
|
+
* 获取自动布线文件(JSON)
|
|
5622
5963
|
*
|
|
5623
5964
|
* @beta
|
|
5624
5965
|
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5625
|
-
* @
|
|
5966
|
+
* @param fileName - 文件名
|
|
5967
|
+
* @returns 自动布线 JSON 文件数据
|
|
5626
5968
|
* @example
|
|
5627
5969
|
* ```javascript
|
|
5628
|
-
* const
|
|
5629
|
-
* if (
|
|
5630
|
-
* await eda.sys_FileSystem.saveFile(
|
|
5970
|
+
* const autoRouteJson = await eda.pcb_ManufactureData.getAutoRouteJsonFile('AutoRoute_Json');
|
|
5971
|
+
* if (autoRouteJson) {
|
|
5972
|
+
* await eda.sys_FileSystem.saveFile(autoRouteJson);
|
|
5631
5973
|
* }
|
|
5632
5974
|
* ```
|
|
5633
5975
|
*/
|
|
5634
|
-
|
|
5635
|
-
/**
|
|
5636
|
-
* 元件下单
|
|
5637
|
-
*
|
|
5638
|
-
* @beta
|
|
5639
|
-
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
5640
|
-
* @param interactive - 是否启用交互式检查
|
|
5641
|
-
*
|
|
5642
|
-
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
5643
|
-
* 即 `ignoreWarning` 参数将被忽略;
|
|
5644
|
-
*
|
|
5645
|
-
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
5646
|
-
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
5647
|
-
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
5648
|
-
*
|
|
5649
|
-
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
5650
|
-
*
|
|
5651
|
-
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
5652
|
-
* @returns 是否通过下单检查
|
|
5653
|
-
*/
|
|
5654
|
-
placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5655
|
-
/**
|
|
5656
|
-
* SMT 元件下单
|
|
5657
|
-
*
|
|
5658
|
-
* @beta
|
|
5659
|
-
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
5660
|
-
* @param interactive - 是否启用交互式检查
|
|
5661
|
-
*
|
|
5662
|
-
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
5663
|
-
* 即 `ignoreWarning` 参数将被忽略;
|
|
5664
|
-
*
|
|
5665
|
-
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
5666
|
-
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
5667
|
-
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
5668
|
-
*
|
|
5669
|
-
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
5670
|
-
*
|
|
5671
|
-
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
5672
|
-
* @returns 是否通过下单检查
|
|
5673
|
-
*/
|
|
5674
|
-
placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5675
|
-
/**
|
|
5676
|
-
* PCB 下单
|
|
5677
|
-
*
|
|
5678
|
-
* @beta
|
|
5679
|
-
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
5680
|
-
* @param interactive - 是否启用交互式检查
|
|
5681
|
-
*
|
|
5682
|
-
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
5683
|
-
* 即 `ignoreWarning` 参数将被忽略;
|
|
5684
|
-
*
|
|
5685
|
-
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
5686
|
-
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
5687
|
-
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
5688
|
-
*
|
|
5689
|
-
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
5690
|
-
*
|
|
5691
|
-
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
5692
|
-
* @returns 是否通过下单检查
|
|
5693
|
-
*/
|
|
5694
|
-
placePcbOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5976
|
+
getAutoRouteJsonFile(fileName?: string): Promise<File | undefined>;
|
|
5695
5977
|
/**
|
|
5696
|
-
*
|
|
5978
|
+
* 获取 JRouter 专用自动布线文件(JSON)
|
|
5697
5979
|
*
|
|
5698
5980
|
* @beta
|
|
5699
|
-
* @remarks
|
|
5700
|
-
* @param
|
|
5701
|
-
*
|
|
5702
|
-
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
5703
|
-
* 即 `ignoreWarning` 参数将被忽略;
|
|
5704
|
-
*
|
|
5705
|
-
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
5706
|
-
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
5707
|
-
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
5708
|
-
*
|
|
5709
|
-
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
5710
|
-
*
|
|
5711
|
-
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
5712
|
-
* @returns 是否通过下单检查
|
|
5981
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5982
|
+
* @param fileName - 文件名
|
|
5983
|
+
* @returns 自动布线 JSON 文件数据
|
|
5713
5984
|
*/
|
|
5714
|
-
|
|
5985
|
+
getAutoRouteJsonFileForJRouter(fileName?: string): Promise<File | undefined>;
|
|
5715
5986
|
/**
|
|
5716
|
-
*
|
|
5987
|
+
* 获取自动布局文件(JSON)
|
|
5717
5988
|
*
|
|
5718
5989
|
* @beta
|
|
5719
|
-
* @remarks
|
|
5720
|
-
*
|
|
5721
|
-
*
|
|
5722
|
-
*
|
|
5723
|
-
*
|
|
5724
|
-
*
|
|
5725
|
-
*
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
|
|
5729
|
-
|
|
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 宽度
|
|
5990
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
5991
|
+
* @param fileName - 文件名
|
|
5992
|
+
* @returns 自动布局 JSON 文件数据
|
|
5993
|
+
* @example
|
|
5994
|
+
* ```javascript
|
|
5995
|
+
* const autoLayoutJson = await eda.pcb_ManufactureData.getAutoLayoutJsonFile('AutoLayout_Json');
|
|
5996
|
+
* if (autoLayoutJson) {
|
|
5997
|
+
* await eda.sys_FileSystem.saveFile(autoLayoutJson);
|
|
5998
|
+
* }
|
|
5999
|
+
* ```
|
|
5844
6000
|
*/
|
|
5845
|
-
|
|
5846
|
-
calculateBBoxWidth(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>): number;
|
|
6001
|
+
getAutoLayoutJsonFile(fileName?: string): Promise<File | undefined>;
|
|
5847
6002
|
/**
|
|
5848
|
-
*
|
|
6003
|
+
* 获取 Altium Designer 文件
|
|
5849
6004
|
*
|
|
5850
|
-
* @
|
|
5851
|
-
* @
|
|
5852
|
-
* @
|
|
6005
|
+
* @beta
|
|
6006
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
6007
|
+
* @param fileName - 文件名
|
|
6008
|
+
* @returns Altium Designer 文件数据
|
|
6009
|
+
* @example
|
|
6010
|
+
* ```javascript
|
|
6011
|
+
* //获取 Altium Designer 格式文件
|
|
6012
|
+
* const adFile = await eda.pcb_ManufactureData.getAltiumDesignerFile('Converted_To_AD');
|
|
6013
|
+
* if (adFile) {
|
|
6014
|
+
* await eda.sys_FileSystem.saveFile(adFile);
|
|
6015
|
+
* }
|
|
6016
|
+
* ```
|
|
5853
6017
|
*/
|
|
5854
|
-
|
|
5855
|
-
calculateBBoxHeight(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>): number;
|
|
6018
|
+
getAltiumDesignerFile(fileName?: string): Promise<File | undefined>;
|
|
5856
6019
|
/**
|
|
5857
|
-
*
|
|
6020
|
+
* 获取 PADS 文件
|
|
5858
6021
|
*
|
|
5859
6022
|
* @beta
|
|
5860
|
-
* @
|
|
5861
|
-
* @param
|
|
5862
|
-
* @
|
|
5863
|
-
* @
|
|
5864
|
-
*
|
|
5865
|
-
*
|
|
5866
|
-
*
|
|
5867
|
-
*
|
|
5868
|
-
*
|
|
5869
|
-
*
|
|
6023
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
6024
|
+
* @param fileName - 文件名
|
|
6025
|
+
* @returns PADS 文件数据
|
|
6026
|
+
* @example
|
|
6027
|
+
* ```javascript
|
|
6028
|
+
* // 获取 PADS 格式文件
|
|
6029
|
+
* const padsFile = await eda.pcb_ManufactureData.getPadsFile('Converted_To_PADS');
|
|
6030
|
+
* if (padsFile) {
|
|
6031
|
+
* await eda.sys_FileSystem.saveFile(padsFile);
|
|
6032
|
+
* }
|
|
6033
|
+
* ```
|
|
5870
6034
|
*/
|
|
5871
|
-
|
|
5872
|
-
}
|
|
5873
|
-
/**
|
|
5874
|
-
* 单多边形
|
|
5875
|
-
*
|
|
5876
|
-
* @public
|
|
5877
|
-
*/
|
|
5878
|
-
class IPCB_Polygon {
|
|
5879
|
-
private polygon;
|
|
5880
|
-
/** @internal */
|
|
5881
|
-
constructor(polygon: TPCB_PolygonSourceArray);
|
|
6035
|
+
getPadsFile(fileName?: string): Promise<File | undefined>;
|
|
5882
6036
|
/**
|
|
5883
|
-
*
|
|
6037
|
+
* 获取 PCB 信息文件
|
|
5884
6038
|
*
|
|
5885
|
-
* @
|
|
5886
|
-
* @
|
|
6039
|
+
* @beta
|
|
6040
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
6041
|
+
* @param fileName - 文件名
|
|
6042
|
+
* @returns PCB 信息文件
|
|
6043
|
+
* @example
|
|
6044
|
+
* ```javascript
|
|
6045
|
+
* const pcbInfoFile = await eda.pcb_ManufactureData.getPcbInfoFile('Board_Information');
|
|
6046
|
+
* if (pcbInfoFile) {
|
|
6047
|
+
* await eda.sys_FileSystem.saveFile(pcbInfoFile);
|
|
6048
|
+
* }
|
|
6049
|
+
* ```
|
|
5887
6050
|
*/
|
|
5888
|
-
|
|
6051
|
+
getPcbInfoFile(fileName?: string): Promise<File | undefined>;
|
|
5889
6052
|
/**
|
|
5890
|
-
*
|
|
6053
|
+
* 获取 IDX 文件
|
|
5891
6054
|
*
|
|
5892
|
-
* @
|
|
5893
|
-
* @
|
|
6055
|
+
* @beta
|
|
6056
|
+
* @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
|
|
6057
|
+
* @returns IDX 文件
|
|
6058
|
+
* @example
|
|
6059
|
+
* ```javascript
|
|
6060
|
+
* const idxFile = await eda.pcb_ManufactureData.getIdxFile('Design_Exchange');
|
|
6061
|
+
* if (idxFile) {
|
|
6062
|
+
* await eda.sys_FileSystem.saveFile(idxFile);
|
|
6063
|
+
* }
|
|
6064
|
+
* ```
|
|
5894
6065
|
*/
|
|
5895
|
-
|
|
5896
|
-
x: number;
|
|
5897
|
-
y: number;
|
|
5898
|
-
}>;
|
|
6066
|
+
getIdxFile(fileName?: string): Promise<File | undefined>;
|
|
5899
6067
|
/**
|
|
5900
|
-
*
|
|
6068
|
+
* 元件下单
|
|
5901
6069
|
*
|
|
5902
|
-
* @
|
|
5903
|
-
* @remarks
|
|
5904
|
-
* @
|
|
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
|
-
* 添加多边形数据
|
|
6070
|
+
* @beta
|
|
6071
|
+
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
6072
|
+
* @param interactive - 是否启用交互式检查
|
|
5922
6073
|
*
|
|
5923
|
-
*
|
|
5924
|
-
*
|
|
5925
|
-
*
|
|
6074
|
+
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
6075
|
+
* 即 `ignoreWarning` 参数将被忽略;
|
|
6076
|
+
*
|
|
6077
|
+
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
6078
|
+
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
6079
|
+
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
6080
|
+
*
|
|
6081
|
+
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
6082
|
+
*
|
|
6083
|
+
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
6084
|
+
* @returns 是否通过下单检查
|
|
5926
6085
|
*/
|
|
5927
|
-
|
|
6086
|
+
placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5928
6087
|
/**
|
|
5929
|
-
*
|
|
6088
|
+
* SMT 元件下单
|
|
5930
6089
|
*
|
|
5931
|
-
* @
|
|
5932
|
-
* @remarks
|
|
5933
|
-
* @
|
|
6090
|
+
* @beta
|
|
6091
|
+
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
6092
|
+
* @param interactive - 是否启用交互式检查
|
|
6093
|
+
*
|
|
6094
|
+
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
6095
|
+
* 即 `ignoreWarning` 参数将被忽略;
|
|
6096
|
+
*
|
|
6097
|
+
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
6098
|
+
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
6099
|
+
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
6100
|
+
*
|
|
6101
|
+
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
6102
|
+
*
|
|
6103
|
+
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
6104
|
+
* @returns 是否通过下单检查
|
|
5934
6105
|
*/
|
|
5935
|
-
|
|
6106
|
+
placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5936
6107
|
/**
|
|
5937
|
-
*
|
|
6108
|
+
* PCB 下单
|
|
5938
6109
|
*
|
|
5939
|
-
* @
|
|
5940
|
-
* @remarks
|
|
5941
|
-
* @
|
|
6110
|
+
* @beta
|
|
6111
|
+
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
6112
|
+
* @param interactive - 是否启用交互式检查
|
|
6113
|
+
*
|
|
6114
|
+
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
6115
|
+
* 即 `ignoreWarning` 参数将被忽略;
|
|
6116
|
+
*
|
|
6117
|
+
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
6118
|
+
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
6119
|
+
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
6120
|
+
*
|
|
6121
|
+
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
6122
|
+
*
|
|
6123
|
+
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
6124
|
+
* @returns 是否通过下单检查
|
|
5942
6125
|
*/
|
|
5943
|
-
|
|
6126
|
+
placePcbOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5944
6127
|
/**
|
|
5945
|
-
*
|
|
6128
|
+
* 3D 外壳下单
|
|
5946
6129
|
*
|
|
5947
|
-
* @
|
|
5948
|
-
* @
|
|
6130
|
+
* @beta
|
|
6131
|
+
* @remarks 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发
|
|
6132
|
+
* @param interactive - 是否启用交互式检查
|
|
6133
|
+
*
|
|
6134
|
+
* 如若启用,则会存在弹窗等待用户进行交互,且无法使用 `ignoreWarning` 参数忽略警告,
|
|
6135
|
+
* 即 `ignoreWarning` 参数将被忽略;
|
|
6136
|
+
*
|
|
6137
|
+
* 如若禁用,则在调用后不会有任何 EDA 内部弹窗,程序执行静默检查,
|
|
6138
|
+
* 如若达成下单条件,将返回 `true` 并在新标签页打开下单页面
|
|
6139
|
+
* @param ignoreWarning - 在非交互式检查时忽略警告
|
|
6140
|
+
*
|
|
6141
|
+
* 如果设置为 `true`,将会忽略所有检查警告项并尽可能生成下单资料;
|
|
6142
|
+
*
|
|
6143
|
+
* 如果设置为 `false`,存在任意警告将中断执行并返回 `false` 的结果
|
|
6144
|
+
* @returns 是否通过下单检查
|
|
5949
6145
|
*/
|
|
5950
|
-
|
|
5951
|
-
x: number;
|
|
5952
|
-
y: number;
|
|
5953
|
-
};
|
|
6146
|
+
place3DShellOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
5954
6147
|
/**
|
|
5955
|
-
*
|
|
6148
|
+
* 导出制造文件
|
|
5956
6149
|
*
|
|
5957
|
-
* @
|
|
5958
|
-
* @
|
|
6150
|
+
* @beta
|
|
6151
|
+
* @remarks
|
|
6152
|
+
* 本接口对应私有化部署版本一键导出制造文件功能
|
|
6153
|
+
*
|
|
6154
|
+
* 将根据前端一键导出制造文件弹窗的配置获取其文件数据
|
|
6155
|
+
*
|
|
6156
|
+
* 注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 `throw Error`
|
|
6157
|
+
* @returns 制造文件
|
|
5959
6158
|
*/
|
|
5960
|
-
|
|
6159
|
+
getManufactureData(): Promise<File | undefined>;
|
|
5961
6160
|
}
|
|
5962
6161
|
|
|
5963
6162
|
/**
|
|
@@ -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;
|
|
@@ -8869,7 +9068,7 @@ declare global {
|
|
|
8869
9068
|
*
|
|
8870
9069
|
* @beta
|
|
8871
9070
|
* @param primitiveId - 图元 ID
|
|
8872
|
-
* @param property -
|
|
9071
|
+
* @param property - 修改参数
|
|
8873
9072
|
* @returns 折线图元对象
|
|
8874
9073
|
*/
|
|
8875
9074
|
modify(primitiveId: string | IPCB_PrimitivePolyline, property: {
|
|
@@ -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 是否为异步图元
|
|
@@ -14881,7 +15080,7 @@ declare global {
|
|
|
14881
15080
|
* @param addIntoPcb - 是否转到 PCB
|
|
14882
15081
|
* @param designator - 位号
|
|
14883
15082
|
* @param name - 名称,`null` 表示留空
|
|
14884
|
-
* @param uniqueId - 唯一 ID,`null`
|
|
15083
|
+
* @param uniqueId - 唯一 ID,`null` 表示留空
|
|
14885
15084
|
* @param manufacturer - 制造商,`null` 表示留空
|
|
14886
15085
|
* @param manufacturerId - 制造商编号,`null` 表示留空
|
|
14887
15086
|
* @param supplier - 供应商,`null` 表示留空
|
|
@@ -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 制造商编号
|
|
@@ -15885,7 +16084,7 @@ declare global {
|
|
|
15885
16084
|
* 获取属性状态:图元 ID
|
|
15886
16085
|
*
|
|
15887
16086
|
* @public
|
|
15888
|
-
* @returns
|
|
16087
|
+
* @returns 图元 ID
|
|
15889
16088
|
*/
|
|
15890
16089
|
getState_PrimitiveId(): string;
|
|
15891
16090
|
/**
|
|
@@ -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
|
/**
|
|
@@ -16307,7 +16506,7 @@ declare global {
|
|
|
16307
16506
|
/**
|
|
16308
16507
|
* 创建二进制内嵌对象
|
|
16309
16508
|
*
|
|
16310
|
-
* @
|
|
16509
|
+
* @beta
|
|
16311
16510
|
* @param startX - 起点坐标 X
|
|
16312
16511
|
* @param startY - 起点坐标 Y
|
|
16313
16512
|
* @param width - 宽
|
|
@@ -16322,7 +16521,7 @@ declare global {
|
|
|
16322
16521
|
/**
|
|
16323
16522
|
* 删除二进制内嵌对象
|
|
16324
16523
|
*
|
|
16325
|
-
* @
|
|
16524
|
+
* @beta
|
|
16326
16525
|
* @param primitiveIds - 二进制内嵌对象的图元 ID 或二进制内嵌对象图元对象
|
|
16327
16526
|
* @returns 删除操作是否成功
|
|
16328
16527
|
*/
|
|
@@ -16330,7 +16529,7 @@ declare global {
|
|
|
16330
16529
|
/**
|
|
16331
16530
|
* 修改二进制内嵌对象
|
|
16332
16531
|
*
|
|
16333
|
-
* @
|
|
16532
|
+
* @beta
|
|
16334
16533
|
* @param primitiveId - 图元 ID
|
|
16335
16534
|
* @param property - 修改参数
|
|
16336
16535
|
* @returns 二进制内嵌对象图元对象,`undefined` 表示修改失败
|
|
@@ -16348,7 +16547,7 @@ declare global {
|
|
|
16348
16547
|
/**
|
|
16349
16548
|
* 获取二进制内嵌对象
|
|
16350
16549
|
*
|
|
16351
|
-
* @
|
|
16550
|
+
* @beta
|
|
16352
16551
|
* @param primitiveIds - 二进制内嵌对象的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
|
|
16353
16552
|
* @returns 二进制内嵌对象图元对象,`undefined` 表示获取失败
|
|
16354
16553
|
*/
|
|
@@ -16356,7 +16555,7 @@ declare global {
|
|
|
16356
16555
|
/**
|
|
16357
16556
|
* 获取二进制内嵌对象
|
|
16358
16557
|
*
|
|
16359
|
-
* @
|
|
16558
|
+
* @beta
|
|
16360
16559
|
* @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
|
|
16361
16560
|
* @param primitiveIds - 二进制内嵌对象的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
|
|
16362
16561
|
* @returns 二进制内嵌对象图元对象,空数组表示获取失败
|
|
@@ -16365,14 +16564,14 @@ declare global {
|
|
|
16365
16564
|
/**
|
|
16366
16565
|
* 获取所有二进制内嵌对象的图元 ID
|
|
16367
16566
|
*
|
|
16368
|
-
* @
|
|
16567
|
+
* @beta
|
|
16369
16568
|
* @returns 二进制内嵌对象的图元 ID 数组
|
|
16370
16569
|
*/
|
|
16371
16570
|
getAllPrimitiveId(): Promise<Array<string>>;
|
|
16372
16571
|
/**
|
|
16373
16572
|
* 获取所有二进制内嵌对象
|
|
16374
16573
|
*
|
|
16375
|
-
* @
|
|
16574
|
+
* @beta
|
|
16376
16575
|
* @returns 二进制内嵌对象图元对象数组
|
|
16377
16576
|
*/
|
|
16378
16577
|
getAll(): Promise<Array<ISCH_PrimitiveObject>>;
|
|
@@ -16414,14 +16613,6 @@ declare global {
|
|
|
16414
16613
|
* @returns 二进制内嵌对象图元对象
|
|
16415
16614
|
*/
|
|
16416
16615
|
create(): Promise<ISCH_PrimitiveObject>;
|
|
16417
|
-
/**
|
|
16418
|
-
* 将 File 对象转换为 base64 字符串
|
|
16419
|
-
*
|
|
16420
|
-
* @internal
|
|
16421
|
-
* @param file - File 对象
|
|
16422
|
-
* @returns base64 字符串
|
|
16423
|
-
*/
|
|
16424
|
-
private fileToBase64;
|
|
16425
16616
|
/**
|
|
16426
16617
|
* 获取属性状态:图元类型
|
|
16427
16618
|
*
|
|
@@ -16497,7 +16688,7 @@ declare global {
|
|
|
16497
16688
|
*
|
|
16498
16689
|
* @beta
|
|
16499
16690
|
* @param content - 对象内容
|
|
16500
|
-
* @returns
|
|
16691
|
+
* @returns 二进制内嵌对象图元对象
|
|
16501
16692
|
*/
|
|
16502
16693
|
setState_Content(content: File | string): ISCH_PrimitiveObject;
|
|
16503
16694
|
/**
|
|
@@ -16580,14 +16771,14 @@ declare global {
|
|
|
16580
16771
|
/**
|
|
16581
16772
|
* 将异步图元重置为当前画布状态
|
|
16582
16773
|
*
|
|
16583
|
-
* @
|
|
16774
|
+
* @beta
|
|
16584
16775
|
* @returns 二进制内嵌对象图元对象
|
|
16585
16776
|
*/
|
|
16586
16777
|
reset(): Promise<ISCH_PrimitiveObject>;
|
|
16587
16778
|
/**
|
|
16588
16779
|
* 将对图元的更改应用到画布
|
|
16589
16780
|
*
|
|
16590
|
-
* @
|
|
16781
|
+
* @beta
|
|
16591
16782
|
* @returns 二进制内嵌对象图元对象
|
|
16592
16783
|
*/
|
|
16593
16784
|
done(): Promise<ISCH_PrimitiveObject>;
|
|
@@ -17384,7 +17575,7 @@ declare global {
|
|
|
17384
17575
|
*/
|
|
17385
17576
|
toSync(): ISCH_PrimitiveWire;
|
|
17386
17577
|
/**
|
|
17387
|
-
*
|
|
17578
|
+
* 查询��元是否为异步图元
|
|
17388
17579
|
*
|
|
17389
17580
|
* @public
|
|
17390
17581
|
* @returns 是否为异步图元
|
|
@@ -17776,10 +17967,12 @@ declare global {
|
|
|
17776
17967
|
maxDragX?: number;
|
|
17777
17968
|
maxDragY?: number;
|
|
17778
17969
|
hide?: boolean;
|
|
17970
|
+
resizingX?: boolean;
|
|
17971
|
+
resizingY?: boolean;
|
|
17779
17972
|
children?: React$1.ReactNode;
|
|
17780
17973
|
onMoved?: (top: number, left: number) => void;
|
|
17781
17974
|
}
|
|
17782
|
-
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;
|
|
17783
17976
|
|
|
17784
17977
|
interface DialogProps {
|
|
17785
17978
|
title: string;
|
|
@@ -17791,9 +17984,12 @@ declare global {
|
|
|
17791
17984
|
overlay?: boolean;
|
|
17792
17985
|
maxDragY?: number;
|
|
17793
17986
|
modal?: boolean;
|
|
17987
|
+
resizingX?: boolean;
|
|
17988
|
+
resizingY?: boolean;
|
|
17794
17989
|
buttons?: ButtonProps[];
|
|
17795
17990
|
onClose?: () => void;
|
|
17796
17991
|
children?: React$1.ReactNode;
|
|
17992
|
+
footer?: React$1.ReactNode;
|
|
17797
17993
|
}
|
|
17798
17994
|
function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
|
|
17799
17995
|
|
|
@@ -18381,7 +18577,7 @@ declare global {
|
|
|
18381
18577
|
* 打开读入文件窗口
|
|
18382
18578
|
*
|
|
18383
18579
|
* @beta
|
|
18384
|
-
* @param filenameExtensions -
|
|
18580
|
+
* @param filenameExtensions - 文件��展名
|
|
18385
18581
|
* @param multiFiles - 是否允许读取多文件
|
|
18386
18582
|
* @returns File 格式文件
|
|
18387
18583
|
*/
|
|
@@ -18565,7 +18761,7 @@ declare global {
|
|
|
18565
18761
|
*/
|
|
18566
18762
|
convertAltiumDesignerLibrariesToEasyEDASingleFile(file: File | Array<File>): Promise<File | undefined>;
|
|
18567
18763
|
/**
|
|
18568
|
-
* 转换 Altium Designer
|
|
18764
|
+
* 转换 Altium Designer 库到多个嘉立创库文件(每个器件一个文件)
|
|
18569
18765
|
*
|
|
18570
18766
|
* @beta
|
|
18571
18767
|
* @param file - Altium Designer 库文件
|
|
@@ -19384,7 +19580,7 @@ declare global {
|
|
|
19384
19580
|
* @public
|
|
19385
19581
|
* @param message - 消息内容
|
|
19386
19582
|
* @param messageType - 消息类型
|
|
19387
|
-
* @param timer -
|
|
19583
|
+
* @param timer - 自动关闭���计时秒数,`0` 为不自动关闭
|
|
19388
19584
|
* @param bottomPanel - 展开底部信息面板
|
|
19389
19585
|
* @param buttonTitle - 回调按钮标题
|
|
19390
19586
|
* @param buttonCallbackFn - 回调函数内容,字符串形式,会被自动解析并执行
|
|
@@ -19889,7 +20085,7 @@ declare global {
|
|
|
19889
20085
|
* 系统 / 定时器类
|
|
19890
20086
|
*
|
|
19891
20087
|
* @public
|
|
19892
|
-
* @remarks
|
|
20088
|
+
* @remarks 设置���时器
|
|
19893
20089
|
*/
|
|
19894
20090
|
class SYS_Timer {
|
|
19895
20091
|
/** 扩展 UUID */
|
|
@@ -20066,7 +20262,7 @@ declare global {
|
|
|
20066
20262
|
* 关闭 WebSocket 连接
|
|
20067
20263
|
*
|
|
20068
20264
|
* @public
|
|
20069
|
-
* @remarks
|
|
20265
|
+
* @remarks 注意:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 `throw Error`
|
|
20070
20266
|
* @param id - 自定义的 WebSocket ID
|
|
20071
20267
|
* @param code - 数字状态码,对应 {@link https://developer.mozilla.org/docs/Web/API/CloseEvent/code | WebSocket.CloseEvent} 内允许的状态码
|
|
20072
20268
|
* @param reason - 一个人类可读的字符串,解释连接关闭的原因
|