@jlceda/pro-api-types 0.1.79 → 0.1.81

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.
Files changed (2) hide show
  1. package/index.d.ts +1945 -515
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -744,11 +744,14 @@ declare class EDA {
744
744
  pcb_Primitive: PCB_Primitive;
745
745
  pcb_PrimitiveArc: PCB_PrimitiveArc;
746
746
  pcb_PrimitiveComponent: PCB_PrimitiveComponent;
747
+ pcb_PrimitiveFill: PCB_PrimitiveFill;
747
748
  pcb_PrimitiveDimension: PCB_PrimitiveDimension;
748
749
  pcb_PrimitiveImage: PCB_PrimitiveImage;
749
750
  pcb_PrimitiveLine: PCB_PrimitiveLine;
750
751
  pcb_PrimitivePad: PCB_PrimitivePad;
751
752
  pcb_PrimitivePolyline: PCB_PrimitivePolyline;
753
+ pcb_PrimitivePour: PCB_PrimitivePour;
754
+ pcb_PrimitiveRegion: PCB_PrimitiveRegion;
752
755
  pcb_PrimitiveVia: PCB_PrimitiveVia;
753
756
  pcb_SelectControl: PCB_SelectControl;
754
757
  pnl_Document: PNL_Document;
@@ -956,11 +959,17 @@ declare enum ELIB_SymbolType {
956
959
  * @public
957
960
  */
958
961
  declare enum ENetlistType {
962
+ /** Allegro */
959
963
  ALLEGRO = "Allegro",
964
+ /** PADS */
960
965
  PADS = "PADS",
966
+ /** Protel 2 */
961
967
  PROTEL2 = "Protel2",
968
+ /** 嘉立创 EDA 专业版 */
962
969
  JLCEDA_PRO = "JLCEDA",
970
+ /** EasyEDA Pro Edition */
963
971
  EASYEDA_PRO = "EasyEDA",
972
+ /** Altium Designer */
964
973
  ALTIUM_DESIGNER = "AltiumDesigner"
965
974
  }
966
975
 
@@ -1237,11 +1246,26 @@ declare enum EPCB_PrimitiveArcInteractiveMode {
1237
1246
  */
1238
1247
  declare enum EPCB_PrimitiveDimensionType {
1239
1248
  /** 半径 */
1240
- RADIUS = "RADIUS",
1249
+ RADIUS = "Radius Dimension",
1241
1250
  /** 长度 */
1242
- LENGTH = "LENGTH",
1251
+ LENGTH = "Length Dimension",
1243
1252
  /** 角度 */
1244
- ANGLE = "ANGLE"
1253
+ ANGLE = "Protractor Dimension"
1254
+ }
1255
+
1256
+ /**
1257
+ * 填充图元填充模式
1258
+ *
1259
+ * @public
1260
+ * @remarks 网格填充和内电层填充为预留配置
1261
+ */
1262
+ declare enum EPCB_PrimitiveFillMode {
1263
+ /** 实心填充 */
1264
+ SOLID = 0,
1265
+ /** 网格填充 */
1266
+ MESH = 1,
1267
+ /** 内电层填充 */
1268
+ INNER_ELECTRICAL_LAYER = 2
1245
1269
  }
1246
1270
 
1247
1271
  /**
@@ -1302,6 +1326,29 @@ declare enum EPCB_PrimitivePadShapeType {
1302
1326
  POLYLINE_COMPLEX_POLYGON = "POLYGON"
1303
1327
  }
1304
1328
 
1329
+ /**
1330
+ * 区域图元区域规则类型
1331
+ *
1332
+ * @public
1333
+ * @remarks {@link EPCB_PrimitiveRegionRuleType.FOLLOW_REGION_RULE | FOLLOW_REGION_RULE} 即为约束区域
1334
+ */
1335
+ declare enum EPCB_PrimitiveRegionRuleType {
1336
+ /** 禁止元件 */
1337
+ NO_COMPONENTS = 2,
1338
+ /** 禁止过孔 */
1339
+ NO_VIAS = 3,
1340
+ /** 禁止布线 */
1341
+ NO_WIRES = 5,
1342
+ /** 禁止填充 */
1343
+ NO_FILLS = 6,
1344
+ /** 禁止覆铜 */
1345
+ NO_POURS = 7,
1346
+ /** 禁止内电层 */
1347
+ NO_INNER_ELECTRICAL_LAYERS = 8,
1348
+ /** 约束区域 */
1349
+ FOLLOW_REGION_RULE = 9
1350
+ }
1351
+
1305
1352
  /**
1306
1353
  * 图元类型
1307
1354
  *
@@ -1316,6 +1363,12 @@ declare enum EPCB_PrimitiveType {
1316
1363
  PAD = "Pad",
1317
1364
  /** 折线 */
1318
1365
  POLYLINE = "Polyline",
1366
+ /** 覆铜边框 */
1367
+ POUR = "Pour",
1368
+ /** 填充 */
1369
+ FILL = "Fill",
1370
+ /** 区域 */
1371
+ REGION = "Region",
1319
1372
  /** 直线 */
1320
1373
  LINE = "Line",
1321
1374
  /** 过孔 */
@@ -1323,9 +1376,7 @@ declare enum EPCB_PrimitiveType {
1323
1376
  /** 尺寸标注 */
1324
1377
  DIMENSION = "Dimension",
1325
1378
  /** 图像 */
1326
- IMAGE = "Image",
1327
- /** 图像 */
1328
- PICTURE = "Picture"
1379
+ IMAGE = "Image"
1329
1380
  }
1330
1381
 
1331
1382
  /**
@@ -2382,51 +2433,204 @@ declare class IPCB_PrimitiveArc implements IPCB_Primitive {
2382
2433
  /** 是否锁定 */
2383
2434
  private primitiveLock;
2384
2435
  /* Excluded from this release type: __constructor */
2436
+ /* Excluded from this release type: create */
2385
2437
  /**
2386
- * 在 PCB 画布中创建图元
2438
+ * 获取属性状态:图元类型
2439
+ *
2440
+ * @public
2441
+ * @returns 图元类型
2442
+ */
2443
+ getState_PrimitiveType(): EPCB_PrimitiveType;
2444
+ /**
2445
+ * 获取属性状态:图元 ID
2446
+ *
2447
+ * @public
2448
+ * @returns 图元 ID
2449
+ */
2450
+ getState_PrimitiveId(): string;
2451
+ /**
2452
+ * 获取属性状态:网络名称
2453
+ *
2454
+ * @public
2455
+ * @returns 网络名称
2456
+ */
2457
+ getState_Net(): string;
2458
+ /**
2459
+ * 获取属性状态:层
2460
+ *
2461
+ * @public
2462
+ * @returns 层
2463
+ */
2464
+ getState_Layer(): TPCB_LayersOfLine;
2465
+ /**
2466
+ * 获取属性状态:起始位置 X
2467
+ *
2468
+ * @public
2469
+ * @returns 起始位置 X
2470
+ */
2471
+ getState_StartX(): number;
2472
+ /**
2473
+ * 获取属性状态:起始位置 Y
2474
+ *
2475
+ * @public
2476
+ * @returns 起始位置 Y
2477
+ */
2478
+ getState_StartY(): number;
2479
+ /**
2480
+ * 获取属性状态:终止位置 X
2481
+ *
2482
+ * @public
2483
+ * @returns 终止位置 X
2484
+ */
2485
+ getState_EndX(): number;
2486
+ /**
2487
+ * 获取属性状态:终止位置 Y
2488
+ *
2489
+ * @public
2490
+ * @returns 终止位置 Y
2491
+ */
2492
+ getState_EndY(): number;
2493
+ /**
2494
+ * 获取属性状态:圆弧角度
2495
+ *
2496
+ * @public
2497
+ * @returns 圆弧角度
2498
+ */
2499
+ getState_ArcAngle(): number;
2500
+ /**
2501
+ * 获取属性状态:线宽
2502
+ *
2503
+ * @public
2504
+ * @returns 线宽
2505
+ */
2506
+ getState_LineWidth(): number;
2507
+ /**
2508
+ * 获取属性状态:交互模式
2509
+ *
2510
+ * @public
2511
+ * @returns 交互模式
2512
+ */
2513
+ getState_InteractiveMode(): EPCB_PrimitiveArcInteractiveMode;
2514
+ /**
2515
+ * 获取属性状态:是否锁定
2516
+ *
2517
+ * @public
2518
+ * @returns 是否锁定
2519
+ */
2520
+ getState_PrimitiveLock(): boolean;
2521
+ /**
2522
+ * 设置属性状态:网络名称
2387
2523
  *
2388
2524
  * @beta
2525
+ * @param net - 网络名称
2389
2526
  * @returns 圆弧线图元对象
2390
2527
  */
2391
- create(): Promise<IPCB_PrimitiveArc>;
2528
+ setState_Net(net: string): IPCB_PrimitiveArc;
2392
2529
  /**
2393
- * 获取对象的图元 ID
2530
+ * 设置属性状态:层
2394
2531
  *
2395
- * @returns
2532
+ * @beta
2533
+ * @param layer - 层
2534
+ * @returns 圆弧线图元对象
2396
2535
  */
2397
- getState_PrimitiveId(): string;
2398
- /* Excluded from this release type: setState_Net */
2399
- /* Excluded from this release type: setState_Layer */
2400
- /* Excluded from this release type: setState_StartX */
2401
- /* Excluded from this release type: setState_StartY */
2402
- /* Excluded from this release type: setState_EndX */
2403
- /* Excluded from this release type: setState_EndY */
2404
- /* Excluded from this release type: setState_ArcAngle */
2405
- /* Excluded from this release type: setState_LineWidth */
2406
- /* Excluded from this release type: setState_InteractiveMode */
2407
- /* Excluded from this release type: setState_PrimitiveLock */
2536
+ setState_Layer(layer: TPCB_LayersOfLine): IPCB_PrimitiveArc;
2537
+ /**
2538
+ * 设置属性状态:起始位置 X
2539
+ *
2540
+ * @beta
2541
+ * @param startX - 起始位置 X
2542
+ * @returns 圆弧线图元对象
2543
+ */
2544
+ setState_StartX(startX: number): IPCB_PrimitiveArc;
2545
+ /**
2546
+ * 设置属性状态:起始位置 Y
2547
+ *
2548
+ * @beta
2549
+ * @param startY - 起始位置 Y
2550
+ * @returns 圆弧线图元对象
2551
+ */
2552
+ setState_StartY(startY: number): IPCB_PrimitiveArc;
2553
+ /**
2554
+ * 设置属性状态:终止位置 X
2555
+ *
2556
+ * @beta
2557
+ * @param endX - 终止位置 X
2558
+ * @returns 圆弧线图元对象
2559
+ */
2560
+ setState_EndX(endX: number): IPCB_PrimitiveArc;
2561
+ /**
2562
+ * 设置属性状态:终止位置 Y
2563
+ *
2564
+ * @beta
2565
+ * @param endY - 终止位置 Y
2566
+ * @returns 圆弧线图元对象
2567
+ */
2568
+ setState_EndY(endY: number): IPCB_PrimitiveArc;
2569
+ /**
2570
+ * 设置属性状态:圆弧角度
2571
+ *
2572
+ * @beta
2573
+ * @param arcAngle - 圆弧角度
2574
+ * @returns 圆弧线图元对象
2575
+ */
2576
+ setState_ArcAngle(arcAngle: number): IPCB_PrimitiveArc;
2577
+ /**
2578
+ * 设置属性状态:线宽
2579
+ *
2580
+ * @beta
2581
+ * @param lineWidth - 线宽
2582
+ * @returns 圆弧线图元对象
2583
+ */
2584
+ setState_LineWidth(lineWidth: number): IPCB_PrimitiveArc;
2585
+ /**
2586
+ * 设置属性状态:交互模式
2587
+ *
2588
+ * @beta
2589
+ * @param interactiveMode - 交互模式
2590
+ * @returns 圆弧线图元对象
2591
+ */
2592
+ setState_InteractiveMode(interactiveMode: EPCB_PrimitiveArcInteractiveMode): IPCB_PrimitiveArc;
2593
+ /**
2594
+ * 设置属性状态:是否锁定
2595
+ *
2596
+ * @beta
2597
+ * @param primitiveLock - 是否锁定
2598
+ * @returns 圆弧线图元对象
2599
+ */
2600
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveArc;
2408
2601
  /**
2409
2602
  * 将图元转换为异步图元
2603
+ *
2604
+ * @public
2605
+ * @returns 圆弧线图元对象
2410
2606
  */
2411
2607
  toAsync(): IPCB_PrimitiveArc;
2412
2608
  /**
2413
2609
  * 将图元转换为同步图元
2610
+ *
2611
+ * @public
2612
+ * @returns 圆弧线图元对象
2414
2613
  */
2415
2614
  toSync(): IPCB_PrimitiveArc;
2416
2615
  /**
2417
2616
  * 查询图元是否为异步图元
2617
+ *
2618
+ * @public
2619
+ * @returns 是否为异步图元
2418
2620
  */
2419
2621
  isAsync(): boolean;
2420
2622
  /**
2421
2623
  * 将异步图元重置为当前画布状态
2422
2624
  *
2423
2625
  * @beta
2626
+ * @returns 圆弧线图元对象
2424
2627
  */
2425
2628
  reset(): Promise<IPCB_PrimitiveArc>;
2426
2629
  /**
2427
2630
  * 将对图元的更改应用到画布
2428
2631
  *
2429
2632
  * @beta
2633
+ * @returns 圆弧线图元对象
2430
2634
  */
2431
2635
  done(): Promise<IPCB_PrimitiveArc>;
2432
2636
  }
@@ -2567,21 +2771,77 @@ declare class IPCB_PrimitiveDimension implements IPCB_Primitive {
2567
2771
  /** 是否锁定 */
2568
2772
  private primitiveLock;
2569
2773
  /* Excluded from this release type: __constructor */
2774
+ /* Excluded from this release type: create */
2570
2775
  /**
2571
- * 在 PCB 画布中创建图元
2776
+ * 获取属性状态:图元类型
2572
2777
  *
2573
- * @beta
2574
- * @returns 尺寸标注图元对象
2778
+ * @public
2779
+ * @returns 图元类型
2575
2780
  */
2576
- create(): Promise<IPCB_PrimitiveDimension>;
2577
- /** @alpha 定义 getState_* 函数 × 10 */
2781
+ getState_PrimitiveType(): EPCB_PrimitiveType;
2578
2782
  /**
2579
- * 获取对象的图元 ID
2783
+ * 获取属性状态:图元 ID
2580
2784
  *
2581
- * @returns
2785
+ * @public
2786
+ * @returns 图元 ID
2582
2787
  */
2583
2788
  getState_PrimitiveId(): string;
2584
- /** @alpha 所有的 setState_* 方法都需要对数据进行基本的格式校验 */
2789
+ /**
2790
+ * 获取属性状态:尺寸标注类型
2791
+ *
2792
+ * @public
2793
+ * @returns 尺寸标注类型
2794
+ */
2795
+ getState_DimensionType(): EPCB_PrimitiveDimensionType;
2796
+ /**
2797
+ * 获取属性状态:坐标集
2798
+ *
2799
+ * @public
2800
+ * @returns 坐标集
2801
+ */
2802
+ getState_CoordinateSet(): TPCB_PrimitiveDimensionCoordinateSet;
2803
+ /**
2804
+ * 获取属性状态:层
2805
+ *
2806
+ * @public
2807
+ * @returns 层
2808
+ */
2809
+ getState_Layer(): TPCB_LayersOfDimension;
2810
+ /**
2811
+ * 获取属性状态:单位
2812
+ *
2813
+ * @public
2814
+ * @returns 单位
2815
+ */
2816
+ getState_Unit(): ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL;
2817
+ /**
2818
+ * 获取属性状态:线宽
2819
+ *
2820
+ * @public
2821
+ * @returns 线宽
2822
+ */
2823
+ getState_LineWidth(): number;
2824
+ /**
2825
+ * 获取属性状态:精度
2826
+ *
2827
+ * @public
2828
+ * @returns 精度
2829
+ */
2830
+ getState_Precision(): number;
2831
+ /**
2832
+ * 获取属性状态:文字跟随
2833
+ *
2834
+ * @public
2835
+ * @returns 文字跟随
2836
+ */
2837
+ getState_TextFollow(): 0 | 1;
2838
+ /**
2839
+ * 获取属性状态:是否锁定
2840
+ *
2841
+ * @public
2842
+ * @returns 是否锁定
2843
+ */
2844
+ getState_PrimitiveLock(): boolean;
2585
2845
  /**
2586
2846
  * 设置属性状态:尺寸标注类型
2587
2847
  *
@@ -2676,479 +2936,1494 @@ declare class IPCB_PrimitiveDimension implements IPCB_Primitive {
2676
2936
  }
2677
2937
 
2678
2938
  /**
2679
- * 图像图元
2939
+ * 填充图元
2680
2940
  *
2681
2941
  * @public
2682
2942
  */
2683
- declare class IPCB_PrimitiveImage implements IPCB_Primitive {
2943
+ declare class IPCB_PrimitiveFill implements IPCB_Primitive {
2684
2944
  /** 异步 */
2685
2945
  private async;
2686
2946
  /** 图元类型 */
2687
2947
  private readonly primitiveType;
2688
2948
  /** 图元 ID */
2689
2949
  private primitiveId?;
2690
- /** BBox 左上点坐标 X */
2691
- private x;
2692
- /** BBox 左上点坐标 Y */
2693
- private y;
2694
- /** 图像源数据(复杂多边形) */
2695
- private complexPolygon;
2950
+ /** 网络名称 */
2951
+ private net;
2696
2952
  /** 层 */
2697
2953
  private layer;
2698
- /** */
2699
- private width;
2700
- /** */
2701
- private height;
2702
- /** 旋转角度 */
2703
- private rotation;
2704
- /** 是否水平镜像 */
2705
- private horizonMirror;
2954
+ /** 复杂多边形 */
2955
+ private complexPolygon;
2956
+ /** 填充模式 */
2957
+ private fillMode;
2958
+ /** 线宽 */
2959
+ private lineWidth?;
2706
2960
  /** 是否锁定 */
2707
2961
  private primitiveLock;
2708
2962
  /* Excluded from this release type: __constructor */
2963
+ /* Excluded from this release type: create */
2709
2964
  /**
2710
- * 在 PCB 画布中创建图元
2965
+ * 获取属性状态:图元类型
2711
2966
  *
2712
- * @beta
2713
- * @returns 图像图元对象
2967
+ * @public
2968
+ * @returns 图元类型
2714
2969
  */
2715
- create(): Promise<IPCB_PrimitiveImage>;
2716
- /** @alpha 定义 getState_* 函数 × 11 */
2970
+ getState_PrimitiveType(): EPCB_PrimitiveType;
2717
2971
  /**
2718
- * 获取对象���图元 ID
2972
+ * 获取属性状态:图元 ID
2719
2973
  *
2720
- * @returns
2974
+ * @public
2975
+ * @returns 图元 ID
2721
2976
  */
2722
2977
  getState_PrimitiveId(): string;
2723
- /** @alpha 所有的 setState_* 方法都需要对数据进行基本的格式校验 */
2724
2978
  /**
2725
- * 设置属性状态:BBox 左上点坐标 X
2979
+ * 获取属性状态:网络名称
2726
2980
  *
2727
- * @beta
2728
- * @param x - BBox 左上点坐标 X
2729
- * @returns 图像图元对象
2981
+ * @public
2982
+ * @returns 网络名称
2730
2983
  */
2731
- setState_X(x: number): IPCB_PrimitiveImage;
2984
+ getState_Net(): string;
2732
2985
  /**
2733
- * 设置属性状态:BBox 左上点坐标 Y
2986
+ * 获取属性状态:层
2734
2987
  *
2735
- * @beta
2736
- * @param y - BBox 左上点坐标 Y
2737
- * @returns 图像图元对象
2988
+ * @public
2989
+ * @returns
2738
2990
  */
2739
- setState_Y(y: number): IPCB_PrimitiveImage;
2991
+ getState_Layer(): TPCB_LayersOfFill;
2740
2992
  /**
2741
- * 设置属性状态:层
2993
+ * 获取属性状态:复杂多边形
2742
2994
  *
2743
- * @beta
2744
- * @param layer - 层
2745
- * @returns 图像图元对象
2995
+ * @public
2996
+ * @returns 复杂多边形
2746
2997
  */
2747
- setState_Layer(layer: TPCB_LayersOfImage): IPCB_PrimitiveImage;
2998
+ getState_ComplexPolygon(): IPCB_ComplexPolygon;
2748
2999
  /**
2749
- * 设置属性状态:宽
3000
+ * 获取属性状态:填充模式
2750
3001
  *
2751
- * @beta
2752
- * @param width - 宽
2753
- * @returns 图像图元对象
3002
+ * @public
3003
+ * @returns 填充模式
2754
3004
  */
2755
- setState_Width(width: number): IPCB_PrimitiveImage;
3005
+ getState_FillMode(): EPCB_PrimitiveFillMode;
2756
3006
  /**
2757
- * 设置属性状态:高
3007
+ * 获取属性状态:线宽
2758
3008
  *
2759
- * @beta
2760
- * @param height - 高
2761
- * @returns 图像图元对象
3009
+ * @public
3010
+ * @returns 线宽
2762
3011
  */
2763
- setState_Height(height: number): IPCB_PrimitiveImage;
3012
+ getState_LineWidth(): number;
2764
3013
  /**
2765
- * 设置属性状态:旋转角度
3014
+ * 获取属性状态:是否锁定
2766
3015
  *
2767
- * @beta
2768
- * @param rotation - 旋转角度
2769
- * @returns 图像图元对象
3016
+ * @public
3017
+ * @returns 是否锁定
2770
3018
  */
2771
- setState_Rotation(rotation: number): IPCB_PrimitiveImage;
3019
+ getState_PrimitiveLock(): boolean;
2772
3020
  /**
2773
- * 设置属性状态:是否水平镜像
3021
+ * 设置属性状态:网络名称
2774
3022
  *
2775
3023
  * @beta
2776
- * @param horizonMirror - 是否水平镜像
2777
- * @returns 图像图元对象
3024
+ * @param net - 网络名称
3025
+ * @returns 填充图元对象
2778
3026
  */
2779
- setState_HorizonMirror(horizonMirror: boolean): IPCB_PrimitiveImage;
3027
+ setState_Net(net: string): IPCB_PrimitiveFill;
2780
3028
  /**
2781
- * 设置属性状态:是否锁定
3029
+ * 设置属性状态:层
2782
3030
  *
2783
3031
  * @beta
2784
- * @param primitiveLock - 是否锁定
2785
- * @returns 图像图元对象
3032
+ * @param layer -
3033
+ * @returns 填充图元对象
2786
3034
  */
2787
- setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveImage;
3035
+ setState_Layer(layer: TPCB_LayersOfFill): IPCB_PrimitiveFill;
2788
3036
  /**
2789
- * 将图元转换为异步图元
3037
+ * 设置属性状态:复杂多边形
3038
+ *
3039
+ * @beta
3040
+ * @param complexPolygon - 复杂多边形
3041
+ * @returns 填充图元对象
3042
+ */
3043
+ setState_ComplexPolygon(complexPolygon: IPCB_ComplexPolygon): IPCB_PrimitiveFill;
3044
+ /**
3045
+ * 设置属性状态:填充模式
3046
+ *
3047
+ * @beta
3048
+ * @param fillMode - 填充模式
3049
+ * @returns 填充图元对象
3050
+ */
3051
+ setState_FillMode(fillMode: EPCB_PrimitiveFillMode): IPCB_PrimitiveFill;
3052
+ /**
3053
+ * 设置属性状态:线宽
3054
+ *
3055
+ * @beta
3056
+ * @param lineWidth - 线宽
3057
+ * @returns 填充图元对象
3058
+ */
3059
+ setState_LineWidth(lineWidth: number): IPCB_PrimitiveFill;
3060
+ /**
3061
+ * 设置属性状态:是否锁定
3062
+ *
3063
+ * @beta
3064
+ * @param primitiveLock - 是否锁定
3065
+ * @returns 填充图元对象
3066
+ */
3067
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveFill;
3068
+ /**
3069
+ * 将图元转换为异步图元
3070
+ *
3071
+ * @public
3072
+ * @returns 填充图元对象
3073
+ */
3074
+ toAsync(): IPCB_PrimitiveFill;
3075
+ /**
3076
+ * 将图元转换为同步图元
3077
+ *
3078
+ * @public
3079
+ * @returns 填充图元对象
3080
+ */
3081
+ toSync(): IPCB_PrimitiveFill;
3082
+ /**
3083
+ * 查询图元是否为异步图元
3084
+ *
3085
+ * @public
3086
+ * @returns 是否为异步图元
3087
+ */
3088
+ isAsync(): boolean;
3089
+ /* Excluded from this release type: reset */
3090
+ /* Excluded from this release type: done */
3091
+ /* Excluded from this release type: convertToPolyline */
3092
+ /* Excluded from this release type: convertToPour */
3093
+ /* Excluded from this release type: convertToRegion */
3094
+ }
3095
+
3096
+ /**
3097
+ * 图像图元
3098
+ *
3099
+ * @public
3100
+ */
3101
+ declare class IPCB_PrimitiveImage implements IPCB_Primitive {
3102
+ /** 异步 */
3103
+ private async;
3104
+ /** 图元类型 */
3105
+ private readonly primitiveType;
3106
+ /** 图元 ID */
3107
+ private primitiveId?;
3108
+ /** BBox 左上点坐标 X */
3109
+ private x;
3110
+ /** BBox 左上点坐标 Y */
3111
+ private y;
3112
+ /** 图像源数据(复杂多边形) */
3113
+ private complexPolygon;
3114
+ /** 层 */
3115
+ private layer;
3116
+ /** 宽 */
3117
+ private width;
3118
+ /** 高 */
3119
+ private height;
3120
+ /** 旋转角度 */
3121
+ private rotation;
3122
+ /** 是否水平镜像 */
3123
+ private horizonMirror;
3124
+ /** 是否锁定 */
3125
+ private primitiveLock;
3126
+ /* Excluded from this release type: __constructor */
3127
+ /* Excluded from this release type: create */
3128
+ /**
3129
+ * 获取属性状态:图元类型
3130
+ *
3131
+ * @public
3132
+ * @returns 图元类型
3133
+ */
3134
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3135
+ /**
3136
+ * 获取属性状态:图元 ID
3137
+ *
3138
+ * @public
3139
+ * @returns 图元 ID
3140
+ */
3141
+ getState_PrimitiveId(): string;
3142
+ /**
3143
+ * 获取属性状态:BBox 左上点坐标 X
3144
+ *
3145
+ * @public
3146
+ * @returns BBox 左上点坐标 X
3147
+ */
3148
+ getState_X(): number;
3149
+ /**
3150
+ * 获取属性状态:BBox 左上点坐标 Y
3151
+ *
3152
+ * @public
3153
+ * @returns BBox 左上点坐标 Y
3154
+ */
3155
+ getState_Y(): number;
3156
+ /**
3157
+ * 获取属性状态:图像源数据(复杂多边形)
3158
+ *
3159
+ * @public
3160
+ * @returns 图像源数据(复杂多边形)
3161
+ */
3162
+ getState_ComplexPolygon(): TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>;
3163
+ /**
3164
+ * 获取属性状态:层
3165
+ *
3166
+ * @public
3167
+ * @returns 层
3168
+ */
3169
+ getState_Layer(): TPCB_LayersOfImage;
3170
+ /**
3171
+ * 获取属性状态:宽
3172
+ *
3173
+ * @public
3174
+ * @returns 宽
3175
+ */
3176
+ getState_Width(): number;
3177
+ /**
3178
+ * 获取属性状态:高
3179
+ *
3180
+ * @public
3181
+ * @returns 高
3182
+ */
3183
+ getState_Height(): number;
3184
+ /**
3185
+ * 获取属性状态:旋转角度
3186
+ *
3187
+ * @public
3188
+ * @returns 旋转角度
3189
+ */
3190
+ getState_Rotation(): number;
3191
+ /**
3192
+ * 获取属性状态:是否水平镜像
3193
+ *
3194
+ * @public
3195
+ * @returns 是否水平镜像
3196
+ */
3197
+ getState_HorizonMirror(): boolean;
3198
+ /**
3199
+ * 获取属性状态:是否锁定
3200
+ *
3201
+ * @public
3202
+ * @returns 是否锁定
3203
+ */
3204
+ getState_PrimitiveLock(): boolean;
3205
+ /**
3206
+ * 设置属性状态:BBox 左上点坐标 X
3207
+ *
3208
+ * @beta
3209
+ * @param x - BBox 左上点坐标 X
3210
+ * @returns 图像图元对象
3211
+ */
3212
+ setState_X(x: number): IPCB_PrimitiveImage;
3213
+ /**
3214
+ * 设置属性状态:BBox 左上点坐标 Y
3215
+ *
3216
+ * @beta
3217
+ * @param y - BBox 左上点坐标 Y
3218
+ * @returns 图像图元对象
3219
+ */
3220
+ setState_Y(y: number): IPCB_PrimitiveImage;
3221
+ /**
3222
+ * 设置属性状态:层
3223
+ *
3224
+ * @beta
3225
+ * @param layer - 层
3226
+ * @returns 图像图元对象
3227
+ */
3228
+ setState_Layer(layer: TPCB_LayersOfImage): IPCB_PrimitiveImage;
3229
+ /**
3230
+ * 设置属性状态:宽
3231
+ *
3232
+ * @beta
3233
+ * @param width - 宽
3234
+ * @returns 图像图元对象
3235
+ */
3236
+ setState_Width(width: number): IPCB_PrimitiveImage;
3237
+ /**
3238
+ * 设置属性状态:高
3239
+ *
3240
+ * @beta
3241
+ * @param height - 高
3242
+ * @returns 图像图元对象
3243
+ */
3244
+ setState_Height(height: number): IPCB_PrimitiveImage;
3245
+ /**
3246
+ * 设置属性状态:旋转角度
3247
+ *
3248
+ * @beta
3249
+ * @param rotation - 旋转角度
3250
+ * @returns 图像图元对象
3251
+ */
3252
+ setState_Rotation(rotation: number): IPCB_PrimitiveImage;
3253
+ /**
3254
+ * 设置属性状态:是否水平镜像
3255
+ *
3256
+ * @beta
3257
+ * @param horizonMirror - 是否水平镜像
3258
+ * @returns 图像图元对象
3259
+ */
3260
+ setState_HorizonMirror(horizonMirror: boolean): IPCB_PrimitiveImage;
3261
+ /**
3262
+ * 设置属性状态:是否锁定
3263
+ *
3264
+ * @beta
3265
+ * @param primitiveLock - 是否锁定
3266
+ * @returns 图像图元对象
3267
+ */
3268
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveImage;
3269
+ /**
3270
+ * 将图元转换为异步图元
3271
+ *
3272
+ * @public
3273
+ * @returns 图像图元对象
3274
+ */
3275
+ toAsync(): IPCB_PrimitiveImage;
3276
+ /**
3277
+ * 将图元转换为同步图元
3278
+ *
3279
+ * @public
3280
+ * @returns 图像图元对象
3281
+ */
3282
+ toSync(): IPCB_PrimitiveImage;
3283
+ /**
3284
+ * 查询图元是否为异步图元
3285
+ *
3286
+ * @public
3287
+ * @returns 是否为异步图元
3288
+ */
3289
+ isAsync(): boolean;
3290
+ /**
3291
+ * 将异步图元重置为当前画布状态
3292
+ *
3293
+ * @beta
3294
+ * @returns 图像图元对象
3295
+ */
3296
+ reset(): Promise<IPCB_PrimitiveImage>;
3297
+ /**
3298
+ * 将对图元的更改应用到画布
3299
+ *
3300
+ * @beta
3301
+ * @returns 图像图元对象
3302
+ */
3303
+ done(): Promise<IPCB_PrimitiveImage>;
3304
+ /* Excluded from this release type: setState_ComplexPolygon */
3305
+ }
3306
+
3307
+ /**
3308
+ * 导线图元
3309
+ *
3310
+ * @public
3311
+ */
3312
+ declare class IPCB_PrimitiveLine implements IPCB_Primitive {
3313
+ /** 异步 */
3314
+ private async;
3315
+ /** 图元类型 */
3316
+ private readonly primitiveType;
3317
+ /** 图元 ID */
3318
+ private primitiveId?;
3319
+ /** 网络名称 */
3320
+ private net;
3321
+ /** 层 */
3322
+ private layer;
3323
+ /** 起始位置 X */
3324
+ private startX;
3325
+ /** 起始位置 Y */
3326
+ private startY;
3327
+ /** 终止位置 X */
3328
+ private endX;
3329
+ /** 终止位置 Y */
3330
+ private endY;
3331
+ /** 线宽 */
3332
+ private lineWidth;
3333
+ /** 是否锁定 */
3334
+ private primitiveLock;
3335
+ /* Excluded from this release type: __constructor */
3336
+ /* Excluded from this release type: create */
3337
+ /**
3338
+ * 获取属性状态:图元类型
3339
+ *
3340
+ * @public
3341
+ * @returns 图元类型
3342
+ */
3343
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3344
+ /**
3345
+ * 获取属性状态:图元 ID
3346
+ *
3347
+ * @public
3348
+ * @returns 图元 ID
3349
+ */
3350
+ getState_PrimitiveId(): string;
3351
+ /**
3352
+ * 获取属性状态:网络名称
3353
+ *
3354
+ * @public
3355
+ * @returns 网络名称
3356
+ */
3357
+ getState_Net(): string;
3358
+ /**
3359
+ * 获取属性状态:层
3360
+ *
3361
+ * @public
3362
+ * @returns 层
3363
+ */
3364
+ getState_Layer(): TPCB_LayersOfLine;
3365
+ /**
3366
+ * 获取属性状态:起始位置 X
3367
+ *
3368
+ * @public
3369
+ * @returns 起始位置 X
3370
+ */
3371
+ getState_StartX(): number;
3372
+ /**
3373
+ * 获取属性状态:起始位置 Y
3374
+ *
3375
+ * @public
3376
+ * @returns 起始位置 Y
3377
+ */
3378
+ getState_StartY(): number;
3379
+ /**
3380
+ * 获取属性状态:终止位置 X
3381
+ *
3382
+ * @public
3383
+ * @returns 终止位置 X
3384
+ */
3385
+ getState_EndX(): number;
3386
+ /**
3387
+ * 获取属性状态:终止位置 Y
3388
+ *
3389
+ * @public
3390
+ * @returns 终止位置 Y
3391
+ */
3392
+ getState_EndY(): number;
3393
+ /**
3394
+ * 获取属性状态:线宽
3395
+ *
3396
+ * @public
3397
+ * @returns 线宽
3398
+ */
3399
+ getState_LineWidth(): number;
3400
+ /**
3401
+ * 获取属性状态:是否锁定
3402
+ *
3403
+ * @public
3404
+ * @returns 是否锁定
3405
+ */
3406
+ getState_PrimitiveLock(): boolean;
3407
+ /**
3408
+ * 设置属性状态:网络名称
3409
+ *
3410
+ * @beta
3411
+ * @param net - 网络名称
3412
+ * @returns 导线图元对象
3413
+ */
3414
+ setState_Net(net: string): IPCB_PrimitiveLine;
3415
+ /**
3416
+ * 设置属性状态:层
3417
+ *
3418
+ * @beta
3419
+ * @param layer - 层
3420
+ * @returns 导线图元对象
3421
+ */
3422
+ setState_Layer(layer: TPCB_LayersOfLine): IPCB_PrimitiveLine;
3423
+ /**
3424
+ * 设置属性状态:起始位置 X
3425
+ *
3426
+ * @beta
3427
+ * @param startX - 起始位置 X
3428
+ * @returns 导线图元对象
3429
+ */
3430
+ setState_StartX(startX: number): IPCB_PrimitiveLine;
3431
+ /**
3432
+ * 设置属性状态:起始位置 Y
3433
+ *
3434
+ * @beta
3435
+ * @param startY - 起始位置 Y
3436
+ * @returns 导线图元对象
3437
+ */
3438
+ setState_StartY(startY: number): IPCB_PrimitiveLine;
3439
+ /**
3440
+ * 设置属性状态:终止位置 X
3441
+ *
3442
+ * @beta
3443
+ * @param endX - 终止位置 X
3444
+ * @returns 导线图元对象
3445
+ */
3446
+ setState_EndX(endX: number): IPCB_PrimitiveLine;
3447
+ /**
3448
+ * 设置属性状态:终止位置 Y
3449
+ *
3450
+ * @beta
3451
+ * @param endY - 终止位置 Y
3452
+ * @returns 导线图元对象
3453
+ */
3454
+ setState_EndY(endY: number): IPCB_PrimitiveLine;
3455
+ /**
3456
+ * 设置属性状态:线宽
3457
+ *
3458
+ * @beta
3459
+ * @param lineWidth - 线宽
3460
+ * @returns 导线图元对象
3461
+ */
3462
+ setState_LineWidth(lineWidth: number): IPCB_PrimitiveLine;
3463
+ /**
3464
+ * 设置属性状态:是否锁定
3465
+ *
3466
+ * @beta
3467
+ * @param primitiveLock - 是否锁定
3468
+ * @returns 导线图元对象
3469
+ */
3470
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveLine;
3471
+ /**
3472
+ * 将图元转换为异步图元
3473
+ *
3474
+ * @public
3475
+ * @returns 导线图元对象
3476
+ */
3477
+ toAsync(): IPCB_PrimitiveLine;
3478
+ /**
3479
+ * 将图元转换为同步图元
3480
+ *
3481
+ * @public
3482
+ * @returns 导线图元对象
3483
+ */
3484
+ toSync(): IPCB_PrimitiveLine;
3485
+ /**
3486
+ * 查询图元是否为异步图元
3487
+ *
3488
+ * @public
3489
+ * @returns 是否为异步图元
3490
+ */
3491
+ isAsync(): boolean;
3492
+ /**
3493
+ * 将异步图元重置为当前画布状态
3494
+ *
3495
+ * @beta
3496
+ * @returns 导线图元对象
3497
+ */
3498
+ reset(): Promise<IPCB_PrimitiveLine>;
3499
+ /**
3500
+ * 将对图元的更改应用到画布
3501
+ *
3502
+ * @beta
3503
+ * @returns 导线图元对象
3504
+ */
3505
+ done(): Promise<IPCB_PrimitiveLine>;
3506
+ }
3507
+
3508
+ /**
3509
+ * 焊盘图元
3510
+ *
3511
+ * @public
3512
+ */
3513
+ declare class IPCB_PrimitivePad implements IPCB_Primitive {
3514
+ /** 异步 */
3515
+ private async;
3516
+ /** 图元类型 */
3517
+ private readonly primitiveType;
3518
+ /** 图元 ID */
3519
+ private primitiveId?;
3520
+ /** 层 */
3521
+ private layer;
3522
+ /** 焊盘编号 */
3523
+ private padNumber;
3524
+ /** 位置 X */
3525
+ private x;
3526
+ /** 位置 Y */
3527
+ private y;
3528
+ /** 旋转角度 */
3529
+ private rotation;
3530
+ /** 焊盘外形 */
3531
+ private pad?;
3532
+ /** 网络名称 */
3533
+ private net?;
3534
+ /** 孔 */
3535
+ private hole;
3536
+ /** 孔偏移 X */
3537
+ private holeOffsetX;
3538
+ /** 孔偏移 Y */
3539
+ private holeOffsetY;
3540
+ /** 孔相对于焊盘的旋转角度 */
3541
+ private holeRotation;
3542
+ /** 是否金属化孔壁 */
3543
+ private metallization;
3544
+ /** 焊盘功能 */
3545
+ private padFunction;
3546
+ /** 特殊焊盘外形 */
3547
+ private specialPad?;
3548
+ /** 阻焊/助焊扩展 */
3549
+ private solderMaskAndPasteMaskExpansion;
3550
+ /** 热焊优化参数 */
3551
+ private heatWelding;
3552
+ /** 是否锁定 */
3553
+ private primitiveLock;
3554
+ /* Excluded from this release type: __constructor */
3555
+ /**
3556
+ * 在 PCB 画布中创建图元
3557
+ *
3558
+ * @beta
3559
+ * @returns 焊盘图元对象
3560
+ */
3561
+ create(): Promise<IPCB_PrimitivePad>;
3562
+ /**
3563
+ * 获取属性状态:图元类型
3564
+ *
3565
+ * @public
3566
+ * @returns 图元类型
3567
+ */
3568
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3569
+ /**
3570
+ * 获取属性状态:图元 ID
3571
+ *
3572
+ * @public
3573
+ * @returns 图元 ID
3574
+ */
3575
+ getState_PrimitiveId(): string;
3576
+ /**
3577
+ * 获取属性状态:层
3578
+ *
3579
+ * @public
3580
+ * @returns 层
3581
+ */
3582
+ getState_Layer(): TPCB_LayersOfPad;
3583
+ /**
3584
+ * 获取属性状态:焊盘编号
3585
+ *
3586
+ * @public
3587
+ * @returns 焊盘编号
3588
+ */
3589
+ getState_PadNumber(): string;
3590
+ /**
3591
+ * 获取属性状态:位置 X
3592
+ *
3593
+ * @public
3594
+ * @returns 位置 X
3595
+ */
3596
+ getState_X(): number;
3597
+ /**
3598
+ * 获取属性状态:位置 Y
3599
+ *
3600
+ * @public
3601
+ * @returns 位置 Y
3602
+ */
3603
+ getState_Y(): number;
3604
+ /**
3605
+ * 获取属性状态:旋转角度
3606
+ *
3607
+ * @public
3608
+ * @returns 旋转角度
3609
+ */
3610
+ getState_Rotation(): number;
3611
+ /**
3612
+ * 获取属性状态:焊盘外形
3613
+ *
3614
+ * @public
3615
+ * @returns 焊盘外形
3616
+ */
3617
+ getState_Pad(): TPCB_PrimitivePadShape | undefined;
3618
+ /**
3619
+ * 获取属性状态:网络名称
3620
+ *
3621
+ * @public
3622
+ * @returns 网络名称
3623
+ */
3624
+ getState_Net(): string | undefined;
3625
+ /**
3626
+ * 获取属性状态:孔
3627
+ *
3628
+ * @public
3629
+ * @returns 孔
3630
+ */
3631
+ getState_Hole(): TPCB_PrimitivePadHole | null;
3632
+ /**
3633
+ * 获取属性状态:孔偏移 X
3634
+ *
3635
+ * @public
3636
+ * @returns 孔偏移 X
3637
+ */
3638
+ getState_HoleOffsetX(): number;
3639
+ /**
3640
+ * 获取属性状态:孔偏移 Y
3641
+ *
3642
+ * @public
3643
+ * @returns 孔偏移 Y
3644
+ */
3645
+ getState_HoleOffsetY(): number;
3646
+ /**
3647
+ * 获取属性状态:孔相对于焊盘的旋转角度
3648
+ *
3649
+ * @public
3650
+ * @returns 孔相对于焊盘的旋转角度
3651
+ */
3652
+ getState_HoleRotation(): number;
3653
+ /**
3654
+ * 获取属性状态:是否金属化孔壁
3655
+ *
3656
+ * @public
3657
+ * @returns 是否金属化孔壁
3658
+ */
3659
+ getState_Metallization(): boolean;
3660
+ /**
3661
+ * 获取属性状态:焊盘功能
3662
+ *
3663
+ * @public
3664
+ * @returns 焊盘功能
3665
+ */
3666
+ getState_PadFunction(): EPCB_PrimitivePadFunction;
3667
+ /**
3668
+ * 获取属性状态:特殊焊盘外形
3669
+ *
3670
+ * @public
3671
+ * @returns 特殊焊盘外形
3672
+ */
3673
+ getState_SpecialPad(): TPCB_PrimitiveSpecialPadShape | undefined;
3674
+ /**
3675
+ * 获取属性状态:阻焊/助焊扩展
3676
+ *
3677
+ * @public
3678
+ * @returns 阻焊/助焊扩展
3679
+ */
3680
+ getState_SolderMaskAndPasteMaskExpansion(): IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null;
3681
+ /**
3682
+ * 获取属性状态:热焊优化参数
3683
+ *
3684
+ * @public
3685
+ * @returns 热焊优化参数
3686
+ */
3687
+ getState_HeatWelding(): IPCB_PrimitivePadHeatWelding | null;
3688
+ /**
3689
+ * 获取属性状态:是否锁定
3690
+ *
3691
+ * @public
3692
+ * @returns 是否锁定
3693
+ */
3694
+ getState_PrimitiveLock(): boolean;
3695
+ /**
3696
+ * 设置属性状态:层
3697
+ *
3698
+ * @beta
3699
+ * @remarks
3700
+ * 设置层时将会联动设置部分其它属性状态:
3701
+ *
3702
+ * 1. 顶层与底层切换时:阻焊/助焊扩展属性将会跟随切换,数据值不变
3703
+ *
3704
+ * 2. 多层切换到单层时:判断切换到顶层还是底层,阻焊/助焊扩展属性将只保留指定层对应的数据;如若存在特殊焊盘,将转换为普通焊盘属性,并且只保留指定层对应的数据;与孔有关的属性将被重置到默认值
3705
+ *
3706
+ * 3. 单层切换到多层时:阻焊/助焊扩展属性将只保留阻焊扩展,并复制原数据应用于顶层和底层;焊盘钻孔属性将被赋指定值,长宽均为焊盘直径(焊盘为长圆形或正多边形)、宽(焊盘为矩形)的 60% 的长圆形(数据层面上是长圆形,实则是正圆形),如若焊盘为折线复杂多边形,则通过专用算法计算得出数据(通常比较抽象,建议后期修改)
3707
+ *
3708
+ * @param layer - 层
3709
+ * @returns 焊盘图元对象
3710
+ */
3711
+ setState_Layer(layer: TPCB_LayersOfPad): IPCB_PrimitivePad;
3712
+ /**
3713
+ * 设置属性状态:焊盘编号
3714
+ *
3715
+ * @beta
3716
+ * @param padNumber - 焊盘编号
3717
+ * @returns 焊盘图元对象
3718
+ */
3719
+ setState_PadNumber(padNumber: string): IPCB_PrimitivePad;
3720
+ /**
3721
+ * 设置属性状态:位置 X
3722
+ *
3723
+ * @beta
3724
+ * @param x - 位置 X
3725
+ * @returns 焊盘图元对象
3726
+ */
3727
+ setState_X(x: number): IPCB_PrimitivePad;
3728
+ /**
3729
+ * 设置属性状态:位置 Y
3730
+ *
3731
+ * @beta
3732
+ * @param y - 位置 Y
3733
+ * @returns 焊盘图元对象
3734
+ */
3735
+ setState_Y(y: number): IPCB_PrimitivePad;
3736
+ /**
3737
+ * 设置属性状态:旋转角度
3738
+ *
3739
+ * @beta
3740
+ * @param rotation - 旋转角度
3741
+ * @returns 焊盘图元对象
3742
+ */
3743
+ setState_Rotation(rotation: number): IPCB_PrimitivePad;
3744
+ /**
3745
+ * 设置属性状态:焊盘外形
3746
+ *
3747
+ * @beta
3748
+ * @remarks
3749
+ * 设置焊盘外形时将会联动设置部分其它属性状态:
3750
+ *
3751
+ * 1. 特殊焊盘外形属性将被清空
3752
+ *
3753
+ * @param pad - 焊盘外形
3754
+ * @returns 焊盘图元对象
3755
+ */
3756
+ setState_Pad(pad: TPCB_PrimitivePadShape): IPCB_PrimitivePad;
3757
+ /**
3758
+ * 设置属性状态:网络
3759
+ *
3760
+ * @beta
3761
+ * @remarks 本接口仅在 PCB 编辑器可用,空字符串与 `undefined` 均被视为空网络
3762
+ * @param net - 网络名称
3763
+ * @returns 焊盘图元对象
3764
+ */
3765
+ setState_Net(net?: string): IPCB_PrimitivePad;
3766
+ /**
3767
+ * 设置属性状态:孔
3768
+ *
3769
+ * @beta
3770
+ * @remarks
3771
+ * 设置孔时将会联动设置部分其它属性状态:
3772
+ *
3773
+ * 1. 层将会强制切换到多层
3774
+ *
3775
+ * 本接口无法将孔设置为 `null`,如果想要移除孔属性,请使用 {@link IPCB_PrimitivePad.setState_Layer | setState_Layer} 方法切换层为顶层或底层
3776
+ *
3777
+ * @param hole - 焊盘钻孔
3778
+ * @returns 焊盘图元对象
3779
+ */
3780
+ setState_Hole(hole: TPCB_PrimitivePadHole): IPCB_PrimitivePad;
3781
+ /**
3782
+ * 设置属性状态:孔偏移 X
3783
+ *
3784
+ * @beta
3785
+ * @remarks 如若孔不存在,则属性将不会被修改
3786
+ * @param holeOffsetX - 孔偏移 X
3787
+ * @returns 焊盘图元对象
3788
+ */
3789
+ setState_HoleOffsetX(holeOffsetX: number): IPCB_PrimitivePad;
3790
+ /**
3791
+ * 设置属性状态:孔偏移 Y
3792
+ *
3793
+ * @beta
3794
+ * @remarks 如若孔不存在,则属性将不会被修改
3795
+ * @param holeOffsetY - 孔偏移 Y
3796
+ * @returns 焊盘图元对象
3797
+ */
3798
+ setState_HoleOffsetY(holeOffsetY: number): IPCB_PrimitivePad;
3799
+ /**
3800
+ * 设置属性状态:孔相对于焊盘的旋转角度
3801
+ *
3802
+ * @beta
3803
+ * @remarks 如若孔不存在,则属性将不会被修改
3804
+ * @param holeRotation - 孔相对于焊盘的旋转角度
3805
+ * @returns 焊盘图元对象
3806
+ */
3807
+ setState_HoleRotation(holeRotation: number): IPCB_PrimitivePad;
3808
+ /**
3809
+ * 设置属性状态:是否金属化孔壁
3810
+ *
3811
+ * @beta
3812
+ * @remarks 如若孔不存在,则属性将不会被修改
3813
+ * @param metallization - 是否金属化孔壁
3814
+ * @returns 焊盘图元对象
3815
+ */
3816
+ setState_Metallization(metallization: boolean): IPCB_PrimitivePad;
3817
+ /**
3818
+ * 设置属性状态:焊盘功能
3819
+ *
3820
+ * @beta
3821
+ * @param padFunction - 焊盘功能
3822
+ * @returns 焊盘图元对象
3823
+ */
3824
+ setState_PadFunction(padFunction: EPCB_PrimitivePadFunction): IPCB_PrimitivePad;
3825
+ /**
3826
+ * 设置属性状态:特殊焊盘外形
3827
+ *
3828
+ * @beta
3829
+ * @remarks
3830
+ * 设置特殊焊盘外形时将会联动设置部分其它属性状态:
3831
+ *
3832
+ * 1. 焊盘外形属性将被清空
3833
+ *
3834
+ * @param pad - 特殊焊盘外形
3835
+ * @returns 焊盘图元对象
3836
+ */
3837
+ setState_SpecialPad(specialPad: TPCB_PrimitiveSpecialPadShape): IPCB_PrimitivePad;
3838
+ /**
3839
+ * 设置属性状态:阻焊/助焊扩展
3840
+ *
3841
+ * @beta
3842
+ * @param solderMaskAndPasteMaskExpansion - 阻焊/助焊扩展
3843
+ * @returns 焊盘图元对象
3844
+ */
3845
+ setState_SolderMaskAndPasteMaskExpansion(solderMaskAndPasteMaskExpansion: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null): IPCB_PrimitivePad;
3846
+ /**
3847
+ * 设置属性状态:热焊优化参数
3848
+ *
3849
+ * @beta
3850
+ * @param heatWelding - 热焊优化参数
3851
+ * @returns 焊盘图元对象
3852
+ */
3853
+ setState_HeatWelding(heatWelding: IPCB_PrimitivePadHeatWelding | null): IPCB_PrimitivePad;
3854
+ /**
3855
+ * 设置属性状态:是否锁定
3856
+ *
3857
+ * @beta
3858
+ * @param primitiveLock - 是否锁定
3859
+ * @returns 焊盘图元对象
3860
+ */
3861
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitivePad;
3862
+ /**
3863
+ * 将图元转换为异步图元
3864
+ *
3865
+ * @public
3866
+ * @returns 焊盘图元对象
3867
+ */
3868
+ toAsync(): IPCB_PrimitivePad;
3869
+ /**
3870
+ * 将图元转换为同步图元
3871
+ *
3872
+ * @public
3873
+ * @returns 焊盘图元对象
3874
+ */
3875
+ toSync(): IPCB_PrimitivePad;
3876
+ /**
3877
+ * 查询图元是否为异步图元
3878
+ *
3879
+ * @public
3880
+ * @returns 是否为异步图元
3881
+ */
3882
+ isAsync(): boolean;
3883
+ /**
3884
+ * 将异步图元重置为当前画布状态
3885
+ *
3886
+ * @beta
3887
+ * @returns 焊盘图元对象
3888
+ */
3889
+ reset(): Promise<IPCB_PrimitivePad>;
3890
+ /**
3891
+ * 将对图元的更改应用到画布
3892
+ *
3893
+ * @beta
3894
+ * @returns 尺寸标注图元对象
3895
+ */
3896
+ done(): Promise<IPCB_PrimitivePad>;
3897
+ }
3898
+
3899
+ /**
3900
+ * 焊盘热焊优化参数
3901
+ *
3902
+ * @public
3903
+ * @remarks
3904
+ * 当连接方式({@link IPCB_PrimitivePadHeatWelding.connectionMethod | connectionMethod})为直连({@link EPCB_PrimitivePadHeatWeldingConnectionMethod.DIRECT_CONNECTED | DIRECT_CONNECTED})、无连接({@link EPCB_PrimitivePadHeatWeldingConnectionMethod.NON_CONNECTED | NON_CONNECTED})时,发散间距、发散线宽、发散角度的设置将被忽略
3905
+ */
3906
+ declare interface IPCB_PrimitivePadHeatWelding {
3907
+ /** 连接方式 */
3908
+ connectionMethod: EPCB_PrimitivePadHeatWeldingConnectionMethod;
3909
+ /** 发散间距 */
3910
+ divergenceSpacing?: number;
3911
+ /** 发散线宽 */
3912
+ divergenceLineWidth?: number;
3913
+ /** 发散角度 */
3914
+ divergenceAngle?: number;
3915
+ }
3916
+
3917
+ /**
3918
+ * 折线图元
3919
+ *
3920
+ * @public
3921
+ */
3922
+ declare class IPCB_PrimitivePolyline implements IPCB_Primitive {
3923
+ /** 异步 */
3924
+ private async;
3925
+ /** 图元类型 */
3926
+ private readonly primitiveType;
3927
+ /** 图元 ID */
3928
+ private primitiveId?;
3929
+ /** 网络名称 */
3930
+ private net;
3931
+ /** 层 */
3932
+ private layer;
3933
+ /** 单多边形 */
3934
+ private polygon;
3935
+ /** 线宽 */
3936
+ private lineWidth;
3937
+ /** 是否锁定 */
3938
+ private primitiveLock;
3939
+ /* Excluded from this release type: __constructor */
3940
+ /* Excluded from this release type: create */
3941
+ /**
3942
+ * 获取属性状态:图元类型
3943
+ *
3944
+ * @public
3945
+ * @returns 图元类型
3946
+ */
3947
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3948
+ /**
3949
+ * 获取属性状态:图元 ID
2790
3950
  *
2791
3951
  * @public
2792
- * @returns 图像图元对象
3952
+ * @returns 图元 ID
2793
3953
  */
2794
- toAsync(): IPCB_PrimitiveImage;
3954
+ getState_PrimitiveId(): string;
2795
3955
  /**
2796
- * 将图元转换为同步图元
3956
+ * 获取属性状态:网络名称
2797
3957
  *
2798
3958
  * @public
2799
- * @returns 图像图元对象
3959
+ * @returns 网络名称
2800
3960
  */
2801
- toSync(): IPCB_PrimitiveImage;
3961
+ getState_Net(): string;
2802
3962
  /**
2803
- * 查询图元是否为异步图元
3963
+ * 获取属性状态:层
2804
3964
  *
2805
3965
  * @public
2806
- * @returns 是否为异步图元
3966
+ * @returns
2807
3967
  */
2808
- isAsync(): boolean;
3968
+ getState_Layer(): TPCB_LayersOfLine;
2809
3969
  /**
2810
- * 将异步图元重置为当前画布状态
3970
+ * 获取属性状态:单多边形
3971
+ *
3972
+ * @public
3973
+ * @returns 单多边形
3974
+ */
3975
+ getState_Polygon(): IPCB_Polygon;
3976
+ /**
3977
+ * 获取属性状态:线宽
3978
+ *
3979
+ * @public
3980
+ * @returns 线宽
3981
+ */
3982
+ getState_LineWidth(): number;
3983
+ /**
3984
+ * 获取属性状态:是否锁定
3985
+ *
3986
+ * @public
3987
+ * @returns 是否锁定
3988
+ */
3989
+ getState_PrimitiveLock(): boolean;
3990
+ /**
3991
+ * 设置属性状态:网络名称
2811
3992
  *
2812
3993
  * @beta
2813
- * @returns 图像图元对象
3994
+ * @param net - 网络名称
3995
+ * @returns 折线图元对象
2814
3996
  */
2815
- reset(): Promise<IPCB_PrimitiveImage>;
3997
+ setState_Net(net: string): IPCB_PrimitivePolyline;
2816
3998
  /**
2817
- * 将对图元的更改应用到画布
3999
+ * 设置属性状态:层
2818
4000
  *
2819
4001
  * @beta
2820
- * @returns 图像图元对象
4002
+ * @param layer - 层
4003
+ * @returns 折线图元对象
2821
4004
  */
2822
- done(): Promise<IPCB_PrimitiveImage>;
4005
+ setState_Layer(layer: TPCB_LayersOfLine): IPCB_PrimitivePolyline;
2823
4006
  /**
2824
- * 设置属性状态:图像源数据
4007
+ * 设置属性���态:单多边形
2825
4008
  *
2826
4009
  * @beta
2827
- * @param complexPolygon - 图像源数据
2828
- * @returns 图像图元对象
4010
+ * @param polygon - 单多边形
4011
+ * @returns 折线图元对象
2829
4012
  */
2830
- private setState_ComplexPolygon;
2831
- }
2832
-
2833
- /**
2834
- * 导线图元
2835
- *
2836
- * @public
2837
- */
2838
- declare class IPCB_PrimitiveLine implements IPCB_Primitive {
2839
- /** 异步 */
2840
- private async;
2841
- /** 图元类型 */
2842
- private readonly primitiveType;
2843
- /** 图元 ID */
2844
- private primitiveId?;
2845
- /** 网络名称 */
2846
- private net;
2847
- /** 层 */
2848
- private layer;
2849
- /** 起始位置 X */
2850
- private startX;
2851
- /** 起始位置 Y */
2852
- private startY;
2853
- /** 终止位置 X */
2854
- private endX;
2855
- /** 终止位置 Y */
2856
- private endY;
2857
- /** 线宽 */
2858
- private lineWidth;
2859
- /** 是否锁定 */
2860
- private primitiveLock;
2861
- /* Excluded from this release type: __constructor */
4013
+ setState_Polygon(polygon: IPCB_Polygon): IPCB_PrimitivePolyline;
2862
4014
  /**
2863
- * 在 PCB 画布中创建图元
4015
+ * 设置属性状态:线宽
2864
4016
  *
2865
4017
  * @beta
2866
- * @returns 导线图元对象
4018
+ * @param lineWidth - 线宽
4019
+ * @returns 折线图元对象
2867
4020
  */
2868
- create(): Promise<IPCB_PrimitiveLine>;
4021
+ setState_LineWidth(lineWidth: number): IPCB_PrimitivePolyline;
2869
4022
  /**
2870
- * 获取对象的图元 ID
4023
+ * 设置属性状态:是否锁定
2871
4024
  *
2872
- * @returns
4025
+ * @beta
4026
+ * @param primitiveLock - 是否锁定
4027
+ * @returns 折线图元对象
2873
4028
  */
2874
- getState_PrimitiveId(): string;
2875
- /* Excluded from this release type: setState_Net */
2876
- /* Excluded from this release type: setState_Layer */
2877
- /* Excluded from this release type: setState_StartX */
2878
- /* Excluded from this release type: setState_StartY */
2879
- /* Excluded from this release type: setState_EndX */
2880
- /* Excluded from this release type: setState_EndY */
2881
- /* Excluded from this release type: setState_LineWidth */
2882
- /* Excluded from this release type: setState_PrimitiveLock */
4029
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitivePolyline;
2883
4030
  /**
2884
4031
  * 将图元转换为异步图元
4032
+ *
4033
+ * @public
4034
+ * @returns 折线图元对象
2885
4035
  */
2886
- toAsync(): IPCB_PrimitiveLine;
4036
+ toAsync(): IPCB_PrimitivePolyline;
2887
4037
  /**
2888
4038
  * 将图元转换为同步图元
4039
+ *
4040
+ * @public
4041
+ * @returns 折线图元对象
2889
4042
  */
2890
- toSync(): IPCB_PrimitiveLine;
4043
+ toSync(): IPCB_PrimitivePolyline;
2891
4044
  /**
2892
4045
  * 查询图元是否为异步图元
4046
+ *
4047
+ * @public
4048
+ * @returns 是否为异步图元
2893
4049
  */
2894
4050
  isAsync(): boolean;
2895
4051
  /**
2896
4052
  * 将异步图元重置为当前画布状态
2897
4053
  *
2898
4054
  * @beta
4055
+ * @returns 折线图元对象
2899
4056
  */
2900
- reset(): Promise<IPCB_PrimitiveLine>;
4057
+ reset(): Promise<IPCB_PrimitivePolyline>;
2901
4058
  /**
2902
4059
  * 将对图元的更改应用到画布
2903
4060
  *
2904
4061
  * @beta
4062
+ * @returns 折线图元对象
2905
4063
  */
2906
- done(): Promise<IPCB_PrimitiveLine>;
4064
+ done(): Promise<IPCB_PrimitivePolyline>;
4065
+ /* Excluded from this release type: convertToFill */
4066
+ /* Excluded from this release type: convertToPour */
4067
+ /* Excluded from this release type: convertToRegion */
2907
4068
  }
2908
4069
 
2909
4070
  /**
2910
- * 焊盘图元
4071
+ * 覆铜边框图元
2911
4072
  *
2912
4073
  * @public
2913
4074
  */
2914
- declare class IPCB_PrimitivePad implements IPCB_Primitive {
4075
+ declare class IPCB_PrimitivePour implements IPCB_Primitive {
2915
4076
  /** 异步 */
2916
4077
  private async;
2917
4078
  /** 图元类型 */
2918
4079
  private readonly primitiveType;
2919
4080
  /** 图元 ID */
2920
4081
  private primitiveId?;
4082
+ /** 网络名称 */
4083
+ private net;
2921
4084
  /** 层 */
2922
4085
  private layer;
2923
- /** 焊盘编号 */
2924
- private padNumber;
2925
- /** 位置 X */
2926
- private x;
2927
- /** 位置 Y */
2928
- private y;
2929
- /** 旋转角度 */
2930
- private rotation;
2931
- /** 焊盘外形 */
2932
- private pad?;
2933
- /** 网络名称 */
2934
- private net?;
2935
- /** 孔 */
2936
- private hole;
2937
- /** 孔偏移 X */
2938
- private holeOffsetX;
2939
- /** 孔偏移 Y */
2940
- private holeOffsetY;
2941
- /** 孔相对于焊盘的旋转角度 */
2942
- private holeRotation;
2943
- /** 是否金属化孔壁 */
2944
- private metallization;
2945
- /** 焊盘功能 */
2946
- private padFunction;
2947
- /** 特殊焊盘外形 */
2948
- private specialPad?;
2949
- /** 阻焊/助焊扩展 */
2950
- private solderMaskAndPasteMaskExpansion;
2951
- /** 热焊优化参数 */
2952
- private heatWelding;
4086
+ /** 复杂多边形 */
4087
+ private complexPolygon;
4088
+ /** 覆铜填充方法 */
4089
+ private pourFillMethod;
4090
+ /** 是否保留孤岛 */
4091
+ private preserveSilos;
4092
+ /** 覆铜边框名称 */
4093
+ private pourName?;
4094
+ /** 覆铜优先级 */
4095
+ private pourPriority?;
4096
+ /** 线宽 */
4097
+ private lineWidth?;
2953
4098
  /** 是否锁定 */
2954
4099
  private primitiveLock;
2955
4100
  /* Excluded from this release type: __constructor */
4101
+ /* Excluded from this release type: create */
2956
4102
  /**
2957
- * 在 PCB 画布中创建图元
4103
+ * 获取属性状态:图元类型
2958
4104
  *
2959
- * @beta
2960
- * @returns 焊盘图元对象
4105
+ * @public
4106
+ * @returns 图元类型
2961
4107
  */
2962
- create(): Promise<IPCB_PrimitivePad>;
4108
+ getState_PrimitiveType(): EPCB_PrimitiveType;
2963
4109
  /**
2964
- * 获取对象的图元 ID
4110
+ * 获取属性状态:图元 ID
2965
4111
  *
2966
- * @returns
4112
+ * @public
4113
+ * @returns 图元 ID
2967
4114
  */
2968
4115
  getState_PrimitiveId(): string;
2969
- /** @alpha 定义 getState_* 函数 × 19 */
2970
- /** @alpha 所有的 setState_* 方法都需要对数据进行基本的格式校验 */
4116
+ /**
4117
+ * 获取属性状态:网络名称
4118
+ *
4119
+ * @public
4120
+ * @returns 网络名称
4121
+ */
4122
+ getState_Net(): string;
4123
+ /**
4124
+ * 获取属性状态:层
4125
+ *
4126
+ * @public
4127
+ * @returns 层
4128
+ */
4129
+ getState_Layer(): TPCB_LayersOfCopper;
4130
+ /**
4131
+ * 获取属性状态:复杂多边形
4132
+ *
4133
+ * @public
4134
+ * @returns 复杂多边形
4135
+ */
4136
+ getState_ComplexPolygon(): IPCB_ComplexPolygon;
4137
+ /**
4138
+ * 获取属性状态:覆铜填充方法
4139
+ *
4140
+ * @public
4141
+ * @returns 覆铜填充方法
4142
+ */
4143
+ getState_PourFillMethod(): any;
4144
+ /**
4145
+ * 获取属性状态:是否保留孤岛
4146
+ *
4147
+ * @public
4148
+ * @returns 是否保留孤岛
4149
+ */
4150
+ getState_PreserveSilos(): boolean;
4151
+ /**
4152
+ * 获取属性状态:覆铜边框名称
4153
+ *
4154
+ * @public
4155
+ * @returns 覆铜边框名称
4156
+ */
4157
+ getState_PourName(): string;
4158
+ /**
4159
+ * 获取属性状态:覆铜优先级
4160
+ *
4161
+ * @public
4162
+ * @returns 覆铜优先级
4163
+ */
4164
+ getState_PourPriority(): number;
4165
+ /**
4166
+ * 获取属性状态:线宽
4167
+ *
4168
+ * @public
4169
+ * @returns 线宽
4170
+ */
4171
+ getState_LineWidth(): number;
4172
+ /**
4173
+ * 获取属性状态:是否锁定
4174
+ *
4175
+ * @public
4176
+ * @returns 是否锁定
4177
+ */
4178
+ getState_PrimitiveLock(): boolean;
4179
+ /**
4180
+ * 设置属性状态:网络名称
4181
+ *
4182
+ * @beta
4183
+ * @param net - 网络名称
4184
+ * @returns 覆铜边框图元对象
4185
+ */
4186
+ setState_Net(net: string): IPCB_PrimitivePour;
2971
4187
  /**
2972
4188
  * 设置属性状态:层
2973
4189
  *
2974
4190
  * @beta
2975
- * @remarks
2976
- * 设置层时将会联动设置部分其它属性状态:
4191
+ * @param layer - 层
4192
+ * @returns 覆铜边框图元对象
4193
+ */
4194
+ setState_Layer(layer: TPCB_LayersOfCopper): IPCB_PrimitivePour;
4195
+ /**
4196
+ * 设置属性状态:复杂多边形
2977
4197
  *
2978
- * 1. 顶层与底层切换时:阻焊/助焊扩展属性将会跟随切换,数据值不变
4198
+ * @beta
4199
+ * @param complexPolygon - 复杂多边形
4200
+ * @returns 覆铜边框图元对象
4201
+ */
4202
+ setState_ComplexPolygon(complexPolygon: IPCB_ComplexPolygon): IPCB_PrimitivePour;
4203
+ /**
4204
+ * 设置属性状态:覆铜填充方法
2979
4205
  *
2980
- * 2. 多层切换到单层时:判断切换到顶层还是底层,阻焊/助焊扩展属性将只保留指定层对应的数据;如若存在特殊焊盘,将转换为普通焊盘属性,并且只保留指定层对应的数据;与孔有关的属性将被重置到默认值
4206
+ * @beta
4207
+ * @param pourFillMethod - 覆铜填充方法
4208
+ * @returns 覆铜边框图元对象
4209
+ */
4210
+ setState_PourFillMethod(pourFillMethod: any): IPCB_PrimitivePour;
4211
+ /**
4212
+ * 设置属性状态:是否保留孤岛
2981
4213
  *
2982
- * 3. 单层切换到多层时:阻焊/助焊扩展属性将只保留阻焊扩展,并复制原数据应用于顶层和底层;焊盘钻孔属性将被赋指定值,长宽均为焊盘直径(焊盘为长圆形或正多边形)、宽(焊盘为矩形)的 60% 的长圆形(数据层面上是长圆形,实则是正圆形),如若焊盘为折线复杂多边形,则通过专用算法计算得出数据(通常比较抽象,建议后期修改)
4214
+ * @beta
4215
+ * @param preserveSilos - 是否保留孤岛
4216
+ * @returns 覆铜边框图元对象
4217
+ */
4218
+ setState_PreserveSilos(preserveSilos: boolean): IPCB_PrimitivePour;
4219
+ /**
4220
+ * 设置属性状态:覆铜边框名称
2983
4221
  *
2984
- * @param layer - 层
2985
- * @returns 焊盘图元对象
4222
+ * @beta
4223
+ * @param pourName - 覆铜边框名称
4224
+ * @returns 覆铜边框图元对象
2986
4225
  */
2987
- setState_Layer(layer: TPCB_LayersOfPad): IPCB_PrimitivePad;
4226
+ setState_PourName(pourName: string): IPCB_PrimitivePour;
2988
4227
  /**
2989
- * 设置属性状态:焊盘编号
4228
+ * 设置属性状态:覆铜优先级
2990
4229
  *
2991
4230
  * @beta
2992
- * @param padNumber - 焊盘编号
2993
- * @returns 焊盘图元对象
4231
+ * @param pourPriority - 覆铜优先级
4232
+ * @returns 覆铜边框图元对象
2994
4233
  */
2995
- setState_PadNumber(padNumber: string): IPCB_PrimitivePad;
4234
+ setState_PourPriority(pourPriority: number): IPCB_PrimitivePour;
2996
4235
  /**
2997
- * 设置属性状态:位置 X
4236
+ * 设置属性状态:线宽
2998
4237
  *
2999
4238
  * @beta
3000
- * @param x - 位置 X
3001
- * @returns 焊盘图元对象
4239
+ * @param lineWidth - 线宽
4240
+ * @returns 覆铜边框图元对象
3002
4241
  */
3003
- setState_X(x: number): IPCB_PrimitivePad;
4242
+ setState_LineWidth(lineWidth: number): IPCB_PrimitivePour;
4243
+ /**
4244
+ * 设置属性状态:是否锁定
4245
+ *
4246
+ * @beta
4247
+ * @param primitiveLock - 是否锁定
4248
+ * @returns 覆铜边框图元对象
4249
+ */
4250
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitivePour;
4251
+ /**
4252
+ * 将图元转换为异步图元
4253
+ *
4254
+ * @public
4255
+ * @returns 覆铜边框图元对象
4256
+ */
4257
+ toAsync(): IPCB_PrimitivePour;
4258
+ /**
4259
+ * 将图元转换为同步图元
4260
+ *
4261
+ * @public
4262
+ * @returns 覆铜边框图元对象
4263
+ */
4264
+ toSync(): IPCB_PrimitivePour;
4265
+ /**
4266
+ * 查询图元是否为异步图元
4267
+ *
4268
+ * @public
4269
+ * @returns 是否为异步图元
4270
+ */
4271
+ isAsync(): boolean;
4272
+ /* Excluded from this release type: reset */
4273
+ /* Excluded from this release type: done */
4274
+ /* Excluded from this release type: convertToFill */
4275
+ /* Excluded from this release type: convertToPolyline */
4276
+ /* Excluded from this release type: convertToRegion */
4277
+ }
4278
+
4279
+ /**
4280
+ * 区域图元
4281
+ *
4282
+ * @public
4283
+ */
4284
+ declare class IPCB_PrimitiveRegion implements IPCB_Primitive {
4285
+ /** 异步 */
4286
+ private async;
4287
+ /** 图元类型 */
4288
+ private readonly primitiveType;
4289
+ /** 图元 ID */
4290
+ private primitiveId?;
4291
+ /** 层 */
4292
+ private layer;
4293
+ /** 复杂多边形 */
4294
+ private complexPolygon;
4295
+ /** 区域规则类型 */
4296
+ private ruleType;
4297
+ /** 区域名称 */
4298
+ private regionName?;
4299
+ /** 线宽 */
4300
+ private lineWidth?;
4301
+ /** 是否锁定 */
4302
+ private primitiveLock;
4303
+ /* Excluded from this release type: __constructor */
4304
+ /* Excluded from this release type: create */
3004
4305
  /**
3005
- * 设置属性状态:位置 Y
4306
+ * 获取属性状态:图元类型
3006
4307
  *
3007
- * @beta
3008
- * @param y - 位置 Y
3009
- * @returns 焊盘图元对象
4308
+ * @public
4309
+ * @returns 图元类型
3010
4310
  */
3011
- setState_Y(y: number): IPCB_PrimitivePad;
4311
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3012
4312
  /**
3013
- * 设置属性状态:旋转角度
4313
+ * 获取属性状态:图元 ID
3014
4314
  *
3015
- * @beta
3016
- * @param rotation - 旋转角度
3017
- * @returns 焊盘图元对象
4315
+ * @public
4316
+ * @returns 图元 ID
3018
4317
  */
3019
- setState_Rotation(rotation: number): IPCB_PrimitivePad;
4318
+ getState_PrimitiveId(): string;
3020
4319
  /**
3021
- * 设置属性状态:焊盘外形
4320
+ * 获取属性状态:层
3022
4321
  *
3023
- * @beta
3024
- * @remarks
3025
- * 设置焊盘外形时将会联动设置部分其它属性状态:
3026
- *
3027
- * 1. 特殊焊盘外形属性将被清空
3028
- *
3029
- * @param pad - 焊盘外形
3030
- * @returns 焊盘图元对象
4322
+ * @public
4323
+ * @returns 层
3031
4324
  */
3032
- setState_Pad(pad: TPCB_PrimitivePadShape): IPCB_PrimitivePad;
4325
+ getState_Layer(): TPCB_LayersOfRegion;
3033
4326
  /**
3034
- * 设置属性状态:网络
4327
+ * 获取属性状态:复杂多边形
3035
4328
  *
3036
- * @beta
3037
- * @remarks 本接口仅在 PCB 编辑器可用,空字符串与 `undefined` 均被视为空网络
3038
- * @param net - 网络名称
3039
- * @returns 焊盘图元对象
4329
+ * @public
4330
+ * @returns 复杂多边形
3040
4331
  */
3041
- setState_Net(net?: string): IPCB_PrimitivePad;
4332
+ getState_ComplexPolygon(): IPCB_ComplexPolygon;
3042
4333
  /**
3043
- * 设置属性状态:孔
3044
- *
3045
- * @beta
3046
- * @remarks
3047
- * 设置孔时将会联动设置部分其它属性状态:
3048
- *
3049
- * 1. 层将会强制切换到多层
4334
+ * 获取属性状态:区域规则类型
3050
4335
  *
3051
- * 本接口无法将孔设置为 `null`,如果想要移除孔属性,请使用 {@link IPCB_PrimitivePad.setState_Layer | setState_Layer} 方法切换层为顶层或底层
3052
- *
3053
- * @param hole - 焊盘钻孔
3054
- * @returns 焊盘图元对象
4336
+ * @public
4337
+ * @returns 区域规则类型
3055
4338
  */
3056
- setState_Hole(hole: TPCB_PrimitivePadHole): IPCB_PrimitivePad;
4339
+ getState_RuleType(): Array<EPCB_PrimitiveRegionRuleType>;
3057
4340
  /**
3058
- * 设置属性状态:孔偏移 X
4341
+ * 获取属性状态:区域名称
3059
4342
  *
3060
- * @beta
3061
- * @remarks 如若孔不存在,则属性将不会被修改
3062
- * @param holeOffsetX - 孔偏移 X
3063
- * @returns 焊盘图元对象
4343
+ * @public
4344
+ * @returns 区域名称
3064
4345
  */
3065
- setState_HoleOffsetX(holeOffsetX: number): IPCB_PrimitivePad;
4346
+ getState_RegionName(): string | undefined;
3066
4347
  /**
3067
- * 设置属性状态:孔偏移 Y
4348
+ * 获取属性状态:线宽
3068
4349
  *
3069
- * @beta
3070
- * @remarks 如若孔不存在,则属性将不会被修改
3071
- * @param holeOffsetY - 孔偏移 Y
3072
- * @returns 焊盘图元对象
4350
+ * @public
4351
+ * @returns 线宽
3073
4352
  */
3074
- setState_HoleOffsetY(holeOffsetY: number): IPCB_PrimitivePad;
4353
+ getState_LineWidth(): number;
3075
4354
  /**
3076
- * 设置属性状态:孔相对于焊盘的旋转角度
4355
+ * 获取属性状态:是否锁定
3077
4356
  *
3078
- * @beta
3079
- * @remarks 如若孔不存在,则属性将不会被修改
3080
- * @param holeRotation - 孔相对于焊盘的旋转角度
3081
- * @returns 焊盘图元对象
4357
+ * @public
4358
+ * @returns 是否锁定
3082
4359
  */
3083
- setState_HoleRotation(holeRotation: number): IPCB_PrimitivePad;
4360
+ getState_PrimitiveLock(): boolean;
3084
4361
  /**
3085
- * 设置属性状态:是否金属化孔壁
4362
+ * 设置属性状态:层
3086
4363
  *
3087
4364
  * @beta
3088
- * @remarks 如若孔不存在,则属性将不会被修改
3089
- * @param metallization - 是否金属化孔壁
3090
- * @returns 焊盘图元对象
4365
+ * @param layer - 层
4366
+ * @returns 区域图元对象
3091
4367
  */
3092
- setState_Metallization(metallization: boolean): IPCB_PrimitivePad;
4368
+ setState_Layer(layer: TPCB_LayersOfRegion): IPCB_PrimitiveRegion;
3093
4369
  /**
3094
- * 设置属性状态:焊盘功能
4370
+ * 设置属性状态:复杂多边形
3095
4371
  *
3096
4372
  * @beta
3097
- * @param padFunction - 焊盘功能
3098
- * @returns 焊盘图元对象
4373
+ * @param complexPolygon - 复杂多边形
4374
+ * @returns 区域图元对象
3099
4375
  */
3100
- setState_PadFunction(padFunction: EPCB_PrimitivePadFunction): IPCB_PrimitivePad;
4376
+ setState_ComplexPolygon(complexPolygon: IPCB_ComplexPolygon): IPCB_PrimitiveRegion;
3101
4377
  /**
3102
- * 设置属性状态:特殊焊盘外形
4378
+ * 设置属性状态:区域规则类型
3103
4379
  *
3104
4380
  * @beta
3105
- * @remarks
3106
- * 设置特殊焊盘外形时将会联动设置部分其它属性状态:
3107
- *
3108
- * 1. 焊盘外形属性将被清空
3109
- *
3110
- * @param pad - 特殊焊盘外形
3111
- * @returns 焊盘图元对象
4381
+ * @param ruleType - 区域规则类型
4382
+ * @returns 区域图元对象
3112
4383
  */
3113
- setState_SpecialPad(specialPad: TPCB_PrimitiveSpecialPadShape): IPCB_PrimitivePad;
4384
+ setState_RuleType(ruleType: Array<EPCB_PrimitiveRegionRuleType>): IPCB_PrimitiveRegion;
3114
4385
  /**
3115
- * 设置属性状态:阻焊/助焊扩展
4386
+ * 设置属性状态:区域名称
3116
4387
  *
3117
4388
  * @beta
3118
- * @param solderMaskAndPasteMaskExpansion - 阻焊/助焊扩展
3119
- * @returns 焊盘图元对象
4389
+ * @remarks
4390
+ * 仅当 `ruleType` 为 {@link EPCB_PrimitiveRegionRuleType.FOLLOW_REGION_RULE} 时有效,用于匹配区域 DRC 规则
4391
+ *
4392
+ * 如若 `ruleType` 为 {@link EPCB_PrimitiveRegionRuleType.FOLLOW_REGION_RULE} 但 `regionName` 为空,则系统将会自动分配名称
4393
+ * @param regionName - 区域名称
4394
+ * @returns 区域图元对象
3120
4395
  */
3121
- setState_SolderMaskAndPasteMaskExpansion(solderMaskAndPasteMaskExpansion: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null): IPCB_PrimitivePad;
4396
+ setState_RegionName(regionName?: string): IPCB_PrimitiveRegion;
3122
4397
  /**
3123
- * 设置属性状态:热焊优化参数
4398
+ * 设置属性状态:线宽
3124
4399
  *
3125
4400
  * @beta
3126
- * @param heatWelding - 热焊优化参数
3127
- * @returns 焊盘图元对象
4401
+ * @param lineWidth - 线宽
4402
+ * @returns 区域图元对象
3128
4403
  */
3129
- setState_HeatWelding(heatWelding: IPCB_PrimitivePadHeatWelding | null): IPCB_PrimitivePad;
4404
+ setState_LineWidth(lineWidth: number): IPCB_PrimitiveRegion;
3130
4405
  /**
3131
4406
  * 设置属性状态:是否锁定
3132
4407
  *
3133
4408
  * @beta
3134
4409
  * @param primitiveLock - 是否锁定
3135
- * @returns 焊盘图元对象
4410
+ * @returns 区域图元对象
3136
4411
  */
3137
- setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitivePad;
4412
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveRegion;
3138
4413
  /**
3139
4414
  * 将图元转换为异步图元
3140
4415
  *
3141
4416
  * @public
3142
- * @returns 焊盘图元对象
4417
+ * @returns 区域图元对象
3143
4418
  */
3144
- toAsync(): IPCB_PrimitivePad;
4419
+ toAsync(): IPCB_PrimitiveRegion;
3145
4420
  /**
3146
4421
  * 将图元转换为同步图元
3147
4422
  *
3148
4423
  * @public
3149
- * @returns 焊盘图元对象
4424
+ * @returns 区域图元对象
3150
4425
  */
3151
- toSync(): IPCB_PrimitivePad;
4426
+ toSync(): IPCB_PrimitiveRegion;
3152
4427
  /**
3153
4428
  * 查询图元是否为异步图元
3154
4429
  *
@@ -3156,46 +4431,45 @@ declare class IPCB_PrimitivePad implements IPCB_Primitive {
3156
4431
  * @returns 是否为异步图元
3157
4432
  */
3158
4433
  isAsync(): boolean;
3159
- /**
3160
- * 将异步图元重置为当前画布状态
3161
- *
3162
- * @beta
3163
- * @returns 焊盘图元对象
3164
- */
3165
- reset(): Promise<IPCB_PrimitivePad>;
3166
- /**
3167
- * 将对图元的更改应用到画布
3168
- *
3169
- * @beta
3170
- * @returns 尺寸标注图元对象
3171
- */
3172
- done(): Promise<IPCB_PrimitivePad>;
4434
+ /* Excluded from this release type: reset */
4435
+ /* Excluded from this release type: done */
4436
+ /* Excluded from this release type: convertToFill */
4437
+ /* Excluded from this release type: convertToPolyline */
4438
+ /* Excluded from this release type: convertToPour */
3173
4439
  }
3174
4440
 
3175
4441
  /**
3176
- * 焊盘热焊优化参数
4442
+ * 阻焊/助焊扩展
3177
4443
  *
3178
4444
  * @public
3179
4445
  * @remarks
3180
- * 当连接方式({@link IPCB_PrimitivePadHeatWelding.connectionMethod | connectionMethod})为直连({@link EPCB_PrimitivePadHeatWeldingConnectionMethod.DIRECT_CONNECTED | DIRECT_CONNECTED})、无连接({@link EPCB_PrimitivePadHeatWeldingConnectionMethod.NON_CONNECTED | NON_CONNECTED})时,发散间距、发散线宽、发散角度的设置将被忽略
4446
+ * 本参数设置包含以下三类情况:
4447
+ *
4448
+ * 1. 当图元为顶层/底层贴片焊盘时,允许设置对应层的阻焊/助焊扩展,其余设置不生效
4449
+ *
4450
+ * 2. 当图元为通孔焊盘时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效
4451
+ *
4452
+ * 3. 当图元为过孔时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效,如若为盲孔,则视其暴露层生效其阻焊扩展设置
4453
+ *
4454
+ * 助焊扩展在一般情况下仅用于钢网生产等特定用途,不了解其作用请安心地忽略其参数设置
3181
4455
  */
3182
- declare interface IPCB_PrimitivePadHeatWelding {
3183
- /** 连接方式 */
3184
- connectionMethod: EPCB_PrimitivePadHeatWeldingConnectionMethod;
3185
- /** 发散间距 */
3186
- divergenceSpacing?: number;
3187
- /** 发散线宽 */
3188
- divergenceLineWidth?: number;
3189
- /** 发散角度 */
3190
- divergenceAngle?: number;
4456
+ declare interface IPCB_PrimitiveSolderMaskAndPasteMaskExpansion {
4457
+ /** 顶层阻焊扩展 */
4458
+ topSolderMask?: number;
4459
+ /** 底层阻焊扩展 */
4460
+ bottomSolderMask?: number;
4461
+ /** 顶层助焊扩展 */
4462
+ topPasteMask?: number;
4463
+ /** 底层助焊扩展 */
4464
+ bottomPasteMask?: number;
3191
4465
  }
3192
4466
 
3193
4467
  /**
3194
- * 折线图元
4468
+ * 过孔图元
3195
4469
  *
3196
4470
  * @public
3197
4471
  */
3198
- declare class IPCB_PrimitivePolyline implements IPCB_Primitive {
4472
+ declare class IPCB_PrimitiveVia implements IPCB_Primitive {
3199
4473
  /** 异步 */
3200
4474
  private async;
3201
4475
  /** 图元类型 */
@@ -3204,160 +4478,206 @@ declare class IPCB_PrimitivePolyline implements IPCB_Primitive {
3204
4478
  private primitiveId?;
3205
4479
  /** 网络名称 */
3206
4480
  private net;
3207
- /** */
3208
- private layer;
3209
- /** 单多边形 */
3210
- private polygon;
3211
- /** 线宽 */
3212
- private lineWidth;
4481
+ /** 坐标 X */
4482
+ private x;
4483
+ /** 坐标 Y */
4484
+ private y;
4485
+ /** 孔径 */
4486
+ private holeDiameter;
4487
+ /** 外径 */
4488
+ private diameter;
4489
+ /** 过孔类型 */
4490
+ private viaType;
4491
+ /** 盲埋孔设计规则项名称 */
4492
+ private designRuleBlindViaName;
4493
+ /** 阻焊/助焊扩展 */
4494
+ private solderMaskExpansion;
3213
4495
  /** 是否锁定 */
3214
4496
  private primitiveLock;
3215
4497
  /* Excluded from this release type: __constructor */
4498
+ /* Excluded from this release type: create */
3216
4499
  /**
3217
- * 在 PCB 画布中创建图元
4500
+ * 获取属性状态:图元类型
3218
4501
  *
3219
- * @beta
3220
- * @returns 折线图元对象
4502
+ * @public
4503
+ * @returns 图元类型
3221
4504
  */
3222
- create(): Promise<IPCB_PrimitivePolyline>;
4505
+ getState_PrimitiveType(): EPCB_PrimitiveType;
3223
4506
  /**
3224
- * 获取对象的图元 ID
4507
+ * 获取属性状态:图元 ID
3225
4508
  *
3226
- * @returns
4509
+ * @public
4510
+ * @returns 图元 ID
3227
4511
  */
3228
4512
  getState_PrimitiveId(): string;
3229
- /* Excluded from this release type: setState_Net */
3230
- /* Excluded from this release type: setState_Layer */
3231
- /* Excluded from this release type: setState_Polygon */
3232
- /* Excluded from this release type: setState_LineWidth */
3233
- /* Excluded from this release type: setState_PrimitiveLock */
3234
4513
  /**
3235
- * 将图元转换为异步图元
4514
+ * 获取属性状态:网络名称
4515
+ *
4516
+ * @public
4517
+ * @returns 网络名称
3236
4518
  */
3237
- toAsync(): IPCB_PrimitivePolyline;
4519
+ getState_Net(): string;
3238
4520
  /**
3239
- * 将图元转换为同步图元
4521
+ * 获取属性状态:坐标 X
4522
+ *
4523
+ * @public
4524
+ * @returns 坐标 X
3240
4525
  */
3241
- toSync(): IPCB_PrimitivePolyline;
4526
+ getState_X(): number;
3242
4527
  /**
3243
- * 查询图元是否为异步图元
4528
+ * 获取属性状态:坐标 Y
4529
+ *
4530
+ * @public
4531
+ * @returns 坐标 Y
3244
4532
  */
3245
- isAsync(): boolean;
4533
+ getState_Y(): number;
3246
4534
  /**
3247
- * 将异步图元重置为当前画布状态
4535
+ * 获取属性状态:孔径
4536
+ *
4537
+ * @public
4538
+ * @returns 孔径
4539
+ */
4540
+ getState_HoleDiameter(): number;
4541
+ /**
4542
+ * 获取属性状态:外径
4543
+ *
4544
+ * @public
4545
+ * @returns 外径
4546
+ */
4547
+ getState_Diameter(): number;
4548
+ /**
4549
+ * 获取属性状态:过孔类型
4550
+ *
4551
+ * @public
4552
+ * @returns 过孔类型
4553
+ */
4554
+ getState_ViaType(): EPCB_PrimitiveViaType;
4555
+ /**
4556
+ * 获取属性状态:盲埋孔设计规则项名称
4557
+ *
4558
+ * @public
4559
+ * @returns 盲埋孔设计规则项名称
4560
+ */
4561
+ getState_DesignRuleBlindViaName(): string | null;
4562
+ /**
4563
+ * 获取属性状态:阻焊/助焊扩展
4564
+ *
4565
+ * @public
4566
+ * @returns 阻焊/助焊扩展
4567
+ */
4568
+ getState_SolderMaskExpansion(): IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null;
4569
+ /**
4570
+ * 获取属性状态:是否锁定
4571
+ *
4572
+ * @public
4573
+ * @returns 是否锁定
4574
+ */
4575
+ getState_PrimitiveLock(): boolean;
4576
+ /**
4577
+ * 设置属性状态:网络名称
4578
+ *
4579
+ * @beta
4580
+ * @param net - 网络名称
4581
+ * @returns 过孔图元对象
4582
+ */
4583
+ setState_Net(net: string): IPCB_PrimitiveVia;
4584
+ /**
4585
+ * 设置属性状态:坐标 X
3248
4586
  *
3249
4587
  * @beta
4588
+ * @param x - 坐标 X
4589
+ * @returns 过孔图元对象
3250
4590
  */
3251
- reset(): Promise<IPCB_PrimitivePolyline>;
4591
+ setState_X(x: number): IPCB_PrimitiveVia;
3252
4592
  /**
3253
- * 将对图元的更改应用到画布
4593
+ * 设置属性状态:坐标 Y
4594
+ *
4595
+ * @beta
4596
+ * @param y - 坐标 Y
4597
+ * @returns 过孔图元对象
4598
+ */
4599
+ setState_Y(y: number): IPCB_PrimitiveVia;
4600
+ /**
4601
+ * 设置属性状态:孔径
4602
+ *
4603
+ * @beta
4604
+ * @param holeDiameter - 孔径
4605
+ * @returns 过孔图元对象
4606
+ */
4607
+ setState_HoleDiameter(holeDiameter: number): IPCB_PrimitiveVia;
4608
+ /**
4609
+ * 设置属性状态:外径
4610
+ *
4611
+ * @beta
4612
+ * @param diameter - 外径
4613
+ * @returns 过孔图元对象
4614
+ */
4615
+ setState_Diameter(diameter: number): IPCB_PrimitiveVia;
4616
+ /**
4617
+ * 设置属性状态:过孔类型
4618
+ *
4619
+ * @beta
4620
+ * @param viaType - 过孔类型
4621
+ * @returns 过孔图元对象
4622
+ */
4623
+ setState_ViaType(viaType: EPCB_PrimitiveViaType): IPCB_PrimitiveVia;
4624
+ /**
4625
+ * 设置属性状态:盲埋孔设计规则项名称
3254
4626
  *
3255
4627
  * @beta
4628
+ * @param designRuleBlindViaName - 盲埋孔设计规则项名称
4629
+ * @returns 过孔图元对象
3256
4630
  */
3257
- done(): Promise<IPCB_PrimitivePolyline>;
3258
- }
3259
-
3260
- /**
3261
- * 阻焊/助焊扩展
3262
- *
3263
- * @public
3264
- * @remarks
3265
- * 本参数设置包含以下三类情况:
3266
- *
3267
- * 1. 当图元为顶层/底层贴片焊盘时,允许设置对应层的阻焊/助焊扩展,其余设置不生效
3268
- *
3269
- * 2. 当图元为通孔焊盘时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效
3270
- *
3271
- * 3. 当图元为过孔时,允许设置顶层/底层的阻焊扩展,助焊扩展的设置不生效,如若为盲孔,则视其暴露层生效其阻焊扩展设置
3272
- *
3273
- * 助焊扩展在一般情况下仅用于钢网生产等特定用途,不了解其作用请安心地忽略其参数设置
3274
- */
3275
- declare interface IPCB_PrimitiveSolderMaskAndPasteMaskExpansion {
3276
- /** 顶层阻焊扩展 */
3277
- topSolderMask?: number;
3278
- /** 底层阻焊扩展 */
3279
- bottomSolderMask?: number;
3280
- /** 顶层助焊扩展 */
3281
- topPasteMask?: number;
3282
- /** 底层助焊扩展 */
3283
- bottomPasteMask?: number;
3284
- }
3285
-
3286
- /**
3287
- * 过孔图元
3288
- *
3289
- * @public
3290
- */
3291
- declare class IPCB_PrimitiveVia implements IPCB_Primitive {
3292
- /** 异步 */
3293
- private async;
3294
- /** 图元类型 */
3295
- private readonly primitiveType;
3296
- /** 图元 ID */
3297
- private primitiveId?;
3298
- /** 网络名称 */
3299
- private net;
3300
- /** 坐标 X */
3301
- private x;
3302
- /** 坐标 Y */
3303
- private y;
3304
- /** 孔径 */
3305
- private holeDiameter;
3306
- /** 外径 */
3307
- private diameter;
3308
- /** 过孔类型 */
3309
- private viaType;
3310
- /** 盲埋孔设计规则项名称 */
3311
- private designRuleBlindViaName;
3312
- /** 阻焊/助焊扩展 */
3313
- private solderMaskExpansion;
3314
- /** 是否锁定 */
3315
- private primitiveLock;
3316
- /* Excluded from this release type: __constructor */
4631
+ setState_DesignRuleBlindViaName(designRuleBlindViaName: string | null): IPCB_PrimitiveVia;
3317
4632
  /**
3318
- * 在 PCB 画布中创建图元
4633
+ * 设置属性状态:阻焊/助焊扩展
3319
4634
  *
3320
4635
  * @beta
4636
+ * @param solderMaskExpansion - 阻焊/助焊扩展
3321
4637
  * @returns 过孔图元对象
3322
4638
  */
3323
- create(): Promise<IPCB_PrimitiveVia>;
4639
+ setState_SolderMaskExpansion(solderMaskExpansion: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null): IPCB_PrimitiveVia;
3324
4640
  /**
3325
- * 获取对象的图元 ID
4641
+ * 设置属性状态:是否锁定
3326
4642
  *
3327
- * @returns
4643
+ * @beta
4644
+ * @param primitiveLock - 是否锁定
4645
+ * @returns 过孔图元对象
3328
4646
  */
3329
- getState_PrimitiveId(): string;
3330
- /* Excluded from this release type: setState_Net */
3331
- /* Excluded from this release type: setState_X */
3332
- /* Excluded from this release type: setState_Y */
3333
- /* Excluded from this release type: setState_HoleDiameter */
3334
- /* Excluded from this release type: setState_Diameter */
3335
- /* Excluded from this release type: setState_ViaType */
3336
- /* Excluded from this release type: setState_DesignRuleBlindViaName */
3337
- /* Excluded from this release type: setState_SolderMaskExpansion */
3338
- /* Excluded from this release type: setState_PrimitiveLock */
4647
+ setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveVia;
3339
4648
  /**
3340
4649
  * 将图元转换为异步图元
4650
+ *
4651
+ * @public
4652
+ * @returns 过孔图元对象
3341
4653
  */
3342
4654
  toAsync(): IPCB_PrimitiveVia;
3343
4655
  /**
3344
4656
  * 将图元转换为同步图元
4657
+ *
4658
+ * @public
4659
+ * @returns 过孔图元对象
3345
4660
  */
3346
4661
  toSync(): IPCB_PrimitiveVia;
3347
4662
  /**
3348
4663
  * 查询图元是否为异步图元
4664
+ *
4665
+ * @public
4666
+ * @returns 是否为异步图元
3349
4667
  */
3350
4668
  isAsync(): boolean;
3351
4669
  /**
3352
4670
  * 将异步图元重置为当前画布状态
3353
4671
  *
3354
4672
  * @beta
4673
+ * @returns 过孔图元对象
3355
4674
  */
3356
4675
  reset(): Promise<IPCB_PrimitiveVia>;
3357
4676
  /**
3358
4677
  * 将对图元的更改应用到画布
3359
4678
  *
3360
4679
  * @beta
4680
+ * @returns 过孔图元对象
3361
4681
  */
3362
4682
  done(): Promise<IPCB_PrimitiveVia>;
3363
4683
  }
@@ -3693,7 +5013,7 @@ declare class ISCH_PrimitiveComponent implements ISCH_Primitive {
3693
5013
  private uniqueId?;
3694
5014
  /** Component 属性:制造商 */
3695
5015
  private manufacturer?;
3696
- /** Component 属性���制造商编号 */
5016
+ /** Component 属性:制造商编号 */
3697
5017
  private manufacturerId?;
3698
5018
  /** Component 属性:供应商 */
3699
5019
  private supplier?;
@@ -4232,7 +5552,7 @@ declare interface ISYS_MultilingualLanguagesData {
4232
5552
  * 窗口事件监听可移除对象
4233
5553
  *
4234
5554
  * @public
4235
- * @remarks 本对象从 {@link addEventListener} 获取,并可用于移除创建的事件监听,仅需将其传入 {@link removeEventListener}
5555
+ * @remarks 本对象从 {@link SYS_Window.addEventListener | addEventListener} 获取,并可用于移除创建的事件监听,仅需将其传入 {@link SYS_Window.removeEventListener | removeEventListener}
4236
5556
  */
4237
5557
  declare interface ISYS_WindowEventListenerRemovableObject {
4238
5558
  type: ESYS_WindowEventType;
@@ -4366,7 +5686,7 @@ declare class LIB_Cbb {
4366
5686
  */
4367
5687
  get(cbbUuid: string, libraryUuid?: string): Promise<ILIB_CbbItem | undefined>;
4368
5688
  /**
4369
- * 复制复用模块
5689
+ * 复制复用���块
4370
5690
  *
4371
5691
  * @beta
4372
5692
  * @param cbbUuid - 复用模块 UUID
@@ -4946,6 +6266,15 @@ declare class PCB_Document {
4946
6266
  * @returns 导入操作是否成功,导入失败或游离 PCB 返回 `false`
4947
6267
  */
4948
6268
  importChanges(uuid: string): Promise<boolean>;
6269
+ /**
6270
+ * 导入旧版自动布线文件(JSON)
6271
+ *
6272
+ * @public
6273
+ * @remarks 可以使用 {@link SYS_FileSystem.openReadFileDialog} 读入文件
6274
+ * @param autoRouteFile - 欲导入的 JSON 文件
6275
+ * @returns 导入操作是否成功
6276
+ */
6277
+ importOldAutoRouteJsonFile(autoRouteFile: File): Promise<boolean>;
4949
6278
  /**
4950
6279
  * 保存文档
4951
6280
  *
@@ -5727,9 +7056,41 @@ declare class PCB_ManufactureData {
5727
7056
  * @beta
5728
7057
  * @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
5729
7058
  * @param fileName - 文件名
5730
- * @returns 自动布线文件数据
7059
+ * @returns 自动布线 DSN 文件数据
5731
7060
  */
5732
7061
  getDsnFile(fileName?: string): Promise<File | undefined>;
7062
+ /**
7063
+ * 获取旧版自动布线文件(JSON)
7064
+ *
7065
+ * @alpha
7066
+ * @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
7067
+ * @deprecated 新版自动布线 JSON 文件正在开发中,之后将会取代本接口
7068
+ * @param fileName - 文件名
7069
+ * @param routeNet - 布线网络,`All` 所有网络、`SelectedNet` 所选网络、`SelectedComponentsNet` 所选器件的网络
7070
+ * @param cablingCorner - 布线拐角,支持 `45` 度或 `90` 度
7071
+ * @param existingWiresAndVias - 已有导线/过孔的处理方式,`Save` 保留、`Remove` 移除
7072
+ * @param performancePriority - 效果优先级,`Quality` 质量(完成度优先)、`Fast` 快速(速度优先)
7073
+ * @param netPriority - 网络优先级,
7074
+ *
7075
+ * `Default` 默认、`Random` 随机、`Custom net names are preferred` 有自定义网络名的网络优先、
7076
+ *
7077
+ * `Pads from more to less` 焊盘从多到少、`Pads from less to more` 焊盘从少到多、
7078
+ *
7079
+ * `Pads from far to near` 焊盘从远到近、`Pads from near to far` 焊盘从近到远
7080
+ * @param routeLayers - 布线图层,`All` 所有层,你也可以在数组内列出所有需要布线的铜箔层
7081
+ * @param ignoredNets - 忽略的网络,请在数组内列出所有忽略的网络的名称
7082
+ * @returns 旧版自动布线 JSON 文件数据
7083
+ */
7084
+ /**
7085
+ * 获取旧版自动布线文件(JSON)
7086
+ *
7087
+ * @public
7088
+ * @remarks 可以使用 {@link SYS_FileSystem.saveFile} 接口将文件导出到本地文件系统
7089
+ * @deprecated 新版自动布线 JSON 文件正在开发中,之后将会取代本接口
7090
+ * @param fileName - 文件名
7091
+ * @returns 旧版自动布线 JSON 文件数据
7092
+ */
7093
+ getOldAutoRouteJsonFile(fileName?: string): Promise<File | undefined>;
5733
7094
  /**
5734
7095
  * 获取 PCB 信息文件
5735
7096
  *
@@ -5913,16 +7274,7 @@ declare class PCB_PrimitiveArc implements IPCB_PrimitiveAPI {
5913
7274
  *
5914
7275
  * @beta
5915
7276
  * @param primitiveId - 图元 ID
5916
- * @param net - 网络名称
5917
- * @param layer - 层
5918
- * @param startX - 起始位置 X
5919
- * @param startY - 起始位置 Y
5920
- * @param endX - 终止位置 X
5921
- * @param endY - 终止位置 Y
5922
- * @param arcAngle - 圆弧角度
5923
- * @param lineWidth - 线宽
5924
- * @param interactiveMode - 交互模式
5925
- * @param primitiveLock - 是否锁定
7277
+ * @param property - 修改参数
5926
7278
  * @returns 圆弧线图元对象
5927
7279
  */
5928
7280
  modify(primitiveId: string | IPCB_PrimitiveArc, property: {
@@ -5942,9 +7294,17 @@ declare class PCB_PrimitiveArc implements IPCB_PrimitiveAPI {
5942
7294
  *
5943
7295
  * @beta
5944
7296
  * @param primitiveIds - 圆弧线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
5945
- * @returns 圆弧线图元对象
7297
+ * @returns 圆弧线图元对象,`undefined` 表示获取失败
5946
7298
  */
5947
7299
  get(primitiveIds: string): Promise<IPCB_PrimitiveArc | undefined>;
7300
+ /**
7301
+ * 获取圆弧线
7302
+ *
7303
+ * @beta
7304
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7305
+ * @param primitiveIds - 圆弧线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7306
+ * @returns 圆弧线图元对象,空数组表示获取失败
7307
+ */
5948
7308
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveArc>>;
5949
7309
  /**
5950
7310
  * 获取所有圆弧线的图元 ID
@@ -5963,7 +7323,7 @@ declare class PCB_PrimitiveArc implements IPCB_PrimitiveAPI {
5963
7323
  * @param net - 网络名称
5964
7324
  * @param layer - 层
5965
7325
  * @param primitiveLock - 是否锁定
5966
- * @returns 圆弧线图元对象数组
7326
+ * @returns ���弧线图元对象数组
5967
7327
  */
5968
7328
  getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean): Promise<Array<IPCB_PrimitiveArc>>;
5969
7329
  }
@@ -6101,14 +7461,8 @@ declare class PCB_PrimitiveDimension implements IPCB_PrimitiveAPI {
6101
7461
  *
6102
7462
  * @beta
6103
7463
  * @param primitiveId - 图元 ID
6104
- * @param dimensionType - 尺寸标注类型
6105
- * @param coordinateSet - 尺寸标注坐标集
6106
- * @param layer - 层
6107
- * @param unit - 单位
6108
- * @param lineWidth - 线宽
6109
- * @param precision - 精度,取值范围 `0`-`4`
6110
- * @param primitiveLock - 是否锁定
6111
- * @returns 尺寸标注图��对象
7464
+ * @param property - 修改参数
7465
+ * @returns 尺寸标注图元对象
6112
7466
  */
6113
7467
  modify(primitiveId: string | IPCB_PrimitiveDimension, property: {
6114
7468
  dimensionType?: EPCB_PrimitiveDimensionType;
@@ -6124,9 +7478,17 @@ declare class PCB_PrimitiveDimension implements IPCB_PrimitiveAPI {
6124
7478
  *
6125
7479
  * @beta
6126
7480
  * @param primitiveIds - 尺寸标注的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6127
- * @returns 尺寸标注图元对象
7481
+ * @returns 尺寸标注图元对象,`undefined` 表示获取失败
6128
7482
  */
6129
7483
  get(primitiveIds: string): Promise<IPCB_PrimitiveDimension | undefined>;
7484
+ /**
7485
+ * 获取尺寸标注
7486
+ *
7487
+ * @beta
7488
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7489
+ * @param primitiveIds - 尺寸标注的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7490
+ * @returns 尺寸标注图元对象,空数组表示获取失败
7491
+ */
6130
7492
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveDimension>>;
6131
7493
  /**
6132
7494
  * 获取所有尺寸标注的图元 ID
@@ -6148,6 +7510,21 @@ declare class PCB_PrimitiveDimension implements IPCB_PrimitiveAPI {
6148
7510
  getAll(layer?: TPCB_LayersOfDimension, primitiveLock?: boolean): Promise<Array<IPCB_PrimitiveDimension>>;
6149
7511
  }
6150
7512
 
7513
+ /**
7514
+ * PCB & 封装 / 填充图元类
7515
+ *
7516
+ * @public
7517
+ */
7518
+ declare class PCB_PrimitiveFill implements IPCB_PrimitiveAPI {
7519
+ /* Excluded from this release type: create */
7520
+ /* Excluded from this release type: delete */
7521
+ /* Excluded from this release type: modify */
7522
+ /* Excluded from this release type: get */
7523
+ /* Excluded from this release type: get */
7524
+ /* Excluded from this release type: getAllPrimitiveId */
7525
+ /* Excluded from this release type: getAll */
7526
+ }
7527
+
6151
7528
  /**
6152
7529
  * PCB & 封装 / 图像图元类
6153
7530
  *
@@ -6183,14 +7560,7 @@ declare class PCB_PrimitiveImage implements IPCB_PrimitiveAPI {
6183
7560
  *
6184
7561
  * @beta
6185
7562
  * @param primitiveId - 图元 ID
6186
- * @param x - BBox 左上点坐标 X
6187
- * @param y - BBox 左上点坐标 Y
6188
- * @param layer - 层
6189
- * @param width - 宽
6190
- * @param height - 高
6191
- * @param rotation - 旋转角度
6192
- * @param horizonMirror - 是否水平镜像
6193
- * @param primitiveLock - 是否锁定
7563
+ * @param property - 修改参数
6194
7564
  * @returns 图像图元对象
6195
7565
  */
6196
7566
  modify(primitiveId: string | IPCB_PrimitiveImage, property: {
@@ -6208,9 +7578,17 @@ declare class PCB_PrimitiveImage implements IPCB_PrimitiveAPI {
6208
7578
  *
6209
7579
  * @beta
6210
7580
  * @param primitiveIds - 图像的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6211
- * @returns 图像图元对象
7581
+ * @returns 图像图元对象,`undefined` 表示获取失败
6212
7582
  */
6213
7583
  get(primitiveIds: string): Promise<IPCB_PrimitiveImage | undefined>;
7584
+ /**
7585
+ * 获取图像
7586
+ *
7587
+ * @beta
7588
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7589
+ * @param primitiveIds - 图像的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7590
+ * @returns 图像图元对象,空数组表示获取失败
7591
+ */
6214
7592
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveImage>>;
6215
7593
  /**
6216
7594
  * 获取所有图像的图元 ID
@@ -6241,7 +7619,7 @@ declare class PCB_PrimitiveLine implements IPCB_PrimitiveAPI {
6241
7619
  /**
6242
7620
  * 创建导线
6243
7621
  *
6244
- * @beta
7622
+ * @public
6245
7623
  * @param net - 网络名称
6246
7624
  * @param layer - 层
6247
7625
  * @param startX - 起始位置 X
@@ -6266,14 +7644,7 @@ declare class PCB_PrimitiveLine implements IPCB_PrimitiveAPI {
6266
7644
  *
6267
7645
  * @beta
6268
7646
  * @param primitiveId - 图元 ID
6269
- * @param net - 网络名称
6270
- * @param layer - 层
6271
- * @param startX - 起始位置 X
6272
- * @param startY - 起始位置 Y
6273
- * @param endX - 终止位置 X
6274
- * @param endY - 终止位置 Y
6275
- * @param lineWidth - 线宽
6276
- * @param primitiveLock - 是否锁定
7647
+ * @param property - 修改参数
6277
7648
  * @returns 导线图元对象
6278
7649
  */
6279
7650
  modify(primitiveId: string | IPCB_PrimitiveLine, property: {
@@ -6291,9 +7662,17 @@ declare class PCB_PrimitiveLine implements IPCB_PrimitiveAPI {
6291
7662
  *
6292
7663
  * @beta
6293
7664
  * @param primitiveIds - 导线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6294
- * @returns 导线图元对象
7665
+ * @returns 导线图元对象,`undefined` 表示获取失败
6295
7666
  */
6296
7667
  get(primitiveIds: string): Promise<IPCB_PrimitiveLine | undefined>;
7668
+ /**
7669
+ * 获取导线
7670
+ *
7671
+ * @beta
7672
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7673
+ * @param primitiveIds - 导线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7674
+ * @returns 导线图元对象,空数组表示获取失败
7675
+ */
6297
7676
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveLine>>;
6298
7677
  /**
6299
7678
  * 获取所有导线的图元 ID
@@ -6360,23 +7739,7 @@ declare class PCB_PrimitivePad implements IPCB_PrimitiveAPI {
6360
7739
  *
6361
7740
  * @beta
6362
7741
  * @param primitiveId - 图元 ID
6363
- * @param layer -
6364
- * @param padNumber - 焊盘编号
6365
- * @param x - 位置 X
6366
- * @param y - 位置 Y
6367
- * @param rotation - 旋转角度
6368
- * @param pad - 焊盘外形
6369
- * @param net - 网络名称
6370
- * @param hole - 孔,`null` 标识无孔
6371
- * @param holeOffsetX - 孔偏移 X
6372
- * @param holeOffsetY - 孔偏移 Y
6373
- * @param holeRotation - 孔相对于焊盘的旋转角度
6374
- * @param metallization - 是否金属化孔壁
6375
- * @param padFunction - 焊盘功能
6376
- * @param specialPad - 特殊焊盘外形
6377
- * @param solderMaskAndPasteMaskExpansion - 阻焊/助焊扩展,`null` 表示遵循规则
6378
- * @param heatWelding - 热焊优化参数
6379
- * @param primitiveLock - 是否锁定
7742
+ * @param property - 修改参数
6380
7743
  * @returns 焊盘图元对象
6381
7744
  */
6382
7745
  modify(primitiveId: string | IPCB_PrimitivePad, property: {
@@ -6403,9 +7766,17 @@ declare class PCB_PrimitivePad implements IPCB_PrimitiveAPI {
6403
7766
  *
6404
7767
  * @beta
6405
7768
  * @param primitiveIds - 焊盘的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6406
- * @returns 焊盘图元对象
7769
+ * @returns 焊盘图元对象,`undefined` 表示获取失败
6407
7770
  */
6408
7771
  get(primitiveIds: string): Promise<IPCB_PrimitivePad | undefined>;
7772
+ /**
7773
+ * 获取焊盘
7774
+ *
7775
+ * @beta
7776
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7777
+ * @param primitiveIds - 焊盘的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7778
+ * @returns 焊盘图元对象,空数组表示获取失败
7779
+ */
6409
7780
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitivePad>>;
6410
7781
  /**
6411
7782
  * 获取所有焊盘的图元 ID
@@ -6438,7 +7809,7 @@ declare class PCB_PrimitivePolyline implements IPCB_PrimitiveAPI {
6438
7809
  /**
6439
7810
  * 创建折线
6440
7811
  *
6441
- * @beta
7812
+ * @public
6442
7813
  * @param net - 网络名称
6443
7814
  * @param layer - 层
6444
7815
  * @param polygon - 单多边形对象
@@ -6460,11 +7831,7 @@ declare class PCB_PrimitivePolyline implements IPCB_PrimitiveAPI {
6460
7831
  *
6461
7832
  * @beta
6462
7833
  * @param primitiveId - 图元 ID
6463
- * @param net - 网络名称
6464
- * @param layer - 层
6465
- * @param polygon - 单多边形对象
6466
- * @param lineWidth - 线宽
6467
- * @param primitiveLock - 是否锁定
7834
+ * @param property - 修改参数
6468
7835
  * @returns 折线图元对象
6469
7836
  */
6470
7837
  modify(primitiveId: string | IPCB_PrimitivePolyline, property: {
@@ -6479,9 +7846,17 @@ declare class PCB_PrimitivePolyline implements IPCB_PrimitiveAPI {
6479
7846
  *
6480
7847
  * @beta
6481
7848
  * @param primitiveIds - 折线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6482
- * @returns 折线图元对象
7849
+ * @returns 折线图元对象,`undefined` 表示获取失败
6483
7850
  */
6484
7851
  get(primitiveIds: string): Promise<IPCB_PrimitivePolyline | undefined>;
7852
+ /**
7853
+ * 获取折线
7854
+ *
7855
+ * @beta
7856
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7857
+ * @param primitiveIds - 折线的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7858
+ * @returns 折线图元对象,空数组表示获取失败
7859
+ */
6485
7860
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitivePolyline>>;
6486
7861
  /**
6487
7862
  * 获取所有折线的图元 ID
@@ -6505,6 +7880,36 @@ declare class PCB_PrimitivePolyline implements IPCB_PrimitiveAPI {
6505
7880
  getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean): Promise<Array<IPCB_PrimitivePolyline>>;
6506
7881
  }
6507
7882
 
7883
+ /**
7884
+ * PCB & 封装 / 覆铜边框图元类
7885
+ *
7886
+ * @public
7887
+ */
7888
+ declare class PCB_PrimitivePour implements IPCB_PrimitiveAPI {
7889
+ /* Excluded from this release type: create */
7890
+ /* Excluded from this release type: delete */
7891
+ /* Excluded from this release type: modify */
7892
+ /* Excluded from this release type: get */
7893
+ /* Excluded from this release type: get */
7894
+ /* Excluded from this release type: getAllPrimitiveId */
7895
+ /* Excluded from this release type: getAll */
7896
+ }
7897
+
7898
+ /**
7899
+ * PCB & 封装 / 区域图元类
7900
+ *
7901
+ * @public
7902
+ */
7903
+ declare class PCB_PrimitiveRegion implements IPCB_PrimitiveAPI {
7904
+ /* Excluded from this release type: create */
7905
+ /* Excluded from this release type: delete */
7906
+ /* Excluded from this release type: modify */
7907
+ /* Excluded from this release type: get */
7908
+ /* Excluded from this release type: get */
7909
+ /* Excluded from this release type: getAllPrimitiveId */
7910
+ /* Excluded from this release type: getAll */
7911
+ }
7912
+
6508
7913
  /**
6509
7914
  * PCB & 封装 / 过孔图元类
6510
7915
  *
@@ -6514,13 +7919,13 @@ declare class PCB_PrimitiveVia implements IPCB_PrimitiveAPI {
6514
7919
  /**
6515
7920
  * 创建过孔
6516
7921
  *
6517
- * @beta
7922
+ * @public
6518
7923
  * @param net - 网络名称
6519
7924
  * @param x - 坐标 X
6520
7925
  * @param y - 坐标 Y
6521
7926
  * @param holeDiameter - 孔径
6522
7927
  * @param diameter - 外径
6523
- * @param viaType - 过孔类型,`0` 普通过孔,`1` 缝合孔
7928
+ * @param viaType - 过孔类型
6524
7929
  * @param designRuleBlindViaName - 盲埋孔设计规则项名称,定义过孔的开始层与结束层,`null` 表示非盲埋孔
6525
7930
  * @param solderMaskExpansion - 阻焊/助焊扩展,`null` 表示跟随规则
6526
7931
  * @param primitiveLock - 是否锁定
@@ -6540,15 +7945,7 @@ declare class PCB_PrimitiveVia implements IPCB_PrimitiveAPI {
6540
7945
  *
6541
7946
  * @beta
6542
7947
  * @param primitiveId - 图元 ID
6543
- * @param net - 网络名称
6544
- * @param x - 坐标 X
6545
- * @param y - 坐标 Y
6546
- * @param holeDiameter - 孔径
6547
- * @param diameter - 外径
6548
- * @param viaType - 过孔类型,`0` 普通过孔,`1` 缝合孔
6549
- * @param designRuleBlindViaName - 盲埋孔设计规则项名称,定义过孔的开始层与结束层,`null` 表示非盲埋孔
6550
- * @param solderMaskExpansion - 阻焊/助焊扩展,`null` 表示跟随规则
6551
- * @param primitiveLock - 是否锁定
7948
+ * @param property - 修改参数
6552
7949
  * @returns 过孔图元对象
6553
7950
  */
6554
7951
  modify(primitiveId: string | IPCB_PrimitiveVia, property: {
@@ -6567,15 +7964,25 @@ declare class PCB_PrimitiveVia implements IPCB_PrimitiveAPI {
6567
7964
  *
6568
7965
  * @beta
6569
7966
  * @param primitiveIds - 过孔的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
6570
- * @returns 过孔图元对象
7967
+ * @returns 过孔图元对象,`undefined` 表示获取失败
6571
7968
  */
6572
7969
  get(primitiveIds: string): Promise<IPCB_PrimitiveVia | undefined>;
7970
+ /**
7971
+ * 获取过孔
7972
+ *
7973
+ * @beta
7974
+ * @remarks 如若传入多个图元 ID,任意图元 ID 未匹配到不影响其它图元的返回,即可能返回少于传入的图元 ID 数量的图元对象
7975
+ * @param primitiveIds - 过孔的图元 ID,可以为字符串或字符串数组,如若为数组,则返回的也是数组
7976
+ * @returns 过孔图元对象,空数组表示获取失败
7977
+ */
6573
7978
  get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveVia>>;
6574
7979
  /**
6575
7980
  * 获取所有过孔图元 ID
6576
7981
  *
6577
7982
  * @beta
6578
- * @returns
7983
+ * @param net - 网络名称
7984
+ * @param primitiveLock - 是否锁定
7985
+ * @returns 过孔的图元 ID 数组
6579
7986
  */
6580
7987
  getAllPrimitiveId(net?: string, primitiveLock?: boolean): Promise<Array<string>>;
6581
7988
  /**
@@ -6583,7 +7990,7 @@ declare class PCB_PrimitiveVia implements IPCB_PrimitiveAPI {
6583
7990
  *
6584
7991
  * @beta
6585
7992
  * @param net - 网络名称
6586
- * @param primitiveLock - 锁定
7993
+ * @param primitiveLock - 是否锁定
6587
7994
  * @returns 过孔图元对象数组
6588
7995
  */
6589
7996
  getAll(net?: string, primitiveLock?: boolean): Promise<Array<IPCB_PrimitiveVia>>;
@@ -7720,7 +9127,7 @@ declare class SYS_ClientUrl {
7720
9127
  */
7721
9128
  declare class SYS_Environment {
7722
9129
  /**
7723
- * 是否处���浏览器环境
9130
+ * 是否处于浏览器环境
7724
9131
  *
7725
9132
  * @public
7726
9133
  * @returns 是否处于浏览器环境
@@ -8445,9 +9852,17 @@ declare class SYS_ToastMessage {
8445
9852
  * 系统 / 单位类
8446
9853
  *
8447
9854
  * @public
8448
- * @remarks 控制系统单位与单位转换基础函数,当前系统标准单位跨度等效为 `mil`
9855
+ * @remarks 控制系统数据单位与单位转换基础函数,当前系统数据单位跨度等效为 `mil`
8449
9856
  */
8450
9857
  declare class SYS_Unit {
9858
+ /**
9859
+ * 获取 API 系统数据单位跨度
9860
+ *
9861
+ * @public
9862
+ * @remarks 当前 API 系统数据单位跨度等效为 `mil`,不会发生改变
9863
+ * @returns 单位
9864
+ */
9865
+ getSystemDataUnit(): ESYS_Unit.MIL;
8451
9866
  /**
8452
9867
  * 单位转换:密尔到毫米
8453
9868
  *
@@ -8631,6 +10046,14 @@ declare type TPCB_LayersOfCustom = EPCB_LayerId.CUSTOM_1 | EPCB_LayerId.CUSTOM_2
8631
10046
  */
8632
10047
  declare type TPCB_LayersOfDimension = TPCB_LayersOfCustom | EPCB_LayerId.TOP_SILKSCREEN | EPCB_LayerId.BOTTOM_SILKSCREEN | EPCB_LayerId.DOCUMENT | EPCB_LayerId.MECHANICAL;
8633
10048
 
10049
+ /**
10050
+ * 填充所属层
10051
+ *
10052
+ * @public
10053
+ * @remarks 填充所属层为 {@link EPCB_LayerId.MULTI} 时代表挖槽区域
10054
+ */
10055
+ declare 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;
10056
+
8634
10057
  /**
8635
10058
  * SVG 图像所属层
8636
10059
  *
@@ -8659,6 +10082,13 @@ declare type TPCB_LayersOfLine = TPCB_LayersOfCopper | TPCB_LayersOfCustom | EPC
8659
10082
  */
8660
10083
  declare type TPCB_LayersOfPad = EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM | EPCB_LayerId.MULTI;
8661
10084
 
10085
+ /**
10086
+ * 区域所属层
10087
+ *
10088
+ * @public
10089
+ */
10090
+ declare type TPCB_LayersOfRegion = TPCB_LayersOfCopper | EPCB_LayerId.MULTI;
10091
+
8662
10092
  /**
8663
10093
  * 内层允许设置的图层类型
8664
10094
  *