@windypro-rourou/dsh-eda 0.1.4 → 0.1.6
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/README.md +1 -1
- package/lib/backend.js +49 -0
- package/lib/capabilities.js +6 -2
- package/lib/client.js +33 -0
- package/lib/index.js +197 -3
- package/package.json +10 -1
- package/skill/INDEX.md +10 -8
- package/skill/README.md +125 -0
- package/skill/README.zh-Hans.md +125 -0
- package/skill/SKILL.md +746 -746
- package/skill/format/index.md +152 -152
- package/skill/format/pcb/3d.md +166 -166
- package/skill/format/pcb/attr.md +63 -63
- package/skill/format/pcb/common.md +306 -306
- package/skill/format/pcb/component.md +132 -132
- package/skill/format/pcb/dimension.md +58 -58
- package/skill/format/pcb/index.md +17 -17
- package/skill/format/pcb/obj.md +43 -43
- package/skill/format/pcb/pad_via.md +151 -151
- package/skill/format/pcb/panel.md +64 -64
- package/skill/format/pcb/partition.md +43 -43
- package/skill/format/pcb/primitive.md +196 -196
- package/skill/format/pcb/rule.md +71 -71
- package/skill/format/pcb/shape.md +441 -441
- package/skill/format/pcb/text.md +62 -62
- package/skill/format/project/blob.md +30 -30
- package/skill/format/project/common.md +42 -42
- package/skill/format/project/group.md +62 -62
- package/skill/format/project/index.md +12 -12
- package/skill/format/project/instance.md +32 -32
- package/skill/format/project/meta.md +189 -189
- package/skill/format/project/variant.md +30 -30
- package/skill/format/schematic/attr.md +41 -41
- package/skill/format/schematic/common.md +47 -47
- package/skill/format/schematic/component.md +91 -91
- package/skill/format/schematic/index.md +14 -14
- package/skill/format/schematic/obj.md +41 -41
- package/skill/format/schematic/pin.md +59 -59
- package/skill/format/schematic/shape.md +231 -231
- package/skill/format/schematic/structure.md +53 -53
- package/skill/format/schematic/table.md +109 -109
- package/skill/format/schematic/text.md +47 -47
- package/skill/format/schematic/wire.md +132 -132
- package/skill/guide/ancillary-projects/easyeda-api-sdk.md +1 -0
- package/skill/guide/ancillary-projects/pro-api-types.md +5 -5
- package/skill/guide/ancillary-projects.md +10 -10
- package/skill/guide/cli.md +1510 -0
- package/skill/guide/error-handling.md +38 -38
- package/skill/guide/extension-json.md +135 -135
- package/skill/guide/extensions-marketplace.md +61 -61
- package/skill/guide/how-to-start.md +316 -301
- package/skill/guide/i18n.md +57 -57
- package/skill/guide/index.md +7 -7
- package/skill/guide/inline-frame.md +20 -20
- package/skill/guide/invoke-apis.md +81 -81
- package/skill/guide/stability.md +37 -37
- package/skill/references/_index.md +471 -398
- package/skill/references/_quick-reference.md +3103 -3028
- package/skill/references/classes/DMT_Board.md +537 -533
- package/skill/references/classes/DMT_EditorControl.md +1736 -1736
- package/skill/references/classes/DMT_Event.md +356 -356
- package/skill/references/classes/DMT_Folder.md +775 -775
- package/skill/references/classes/DMT_Panel.md +531 -531
- package/skill/references/classes/DMT_Pcb.md +579 -575
- package/skill/references/classes/DMT_Project.md +734 -573
- package/skill/references/classes/DMT_Schematic.md +1482 -1477
- package/skill/references/classes/DMT_SelectControl.md +96 -96
- package/skill/references/classes/DMT_Team.md +172 -172
- package/skill/references/classes/DMT_Workspace.md +198 -198
- package/skill/references/classes/EDA.md +1001 -961
- package/skill/references/classes/IPCB_ComplexPolygon.md +299 -299
- package/skill/references/classes/IPCB_Polygon.md +175 -175
- package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -1901
- package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -2993
- package/skill/references/classes/IPCB_PrimitiveComponent.md +2624 -2627
- package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -410
- package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -1419
- package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -1325
- package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -1461
- package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -1639
- package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -1700
- package/skill/references/classes/IPCB_PrimitivePad.md +3155 -3155
- package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -1193
- package/skill/references/classes/IPCB_PrimitivePour.md +1858 -1858
- package/skill/references/classes/IPCB_PrimitivePoured.md +556 -556
- package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -1332
- package/skill/references/classes/IPCB_PrimitiveString.md +2315 -2315
- package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -1588
- package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -1676
- package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -2541
- package/skill/references/classes/ISCH_PrimitiveBus.md +973 -973
- package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -260
- package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -1392
- package/skill/references/classes/ISCH_PrimitiveComponent.md +2910 -2913
- package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -155
- package/skill/references/classes/ISCH_PrimitiveObject.md +960 -960
- package/skill/references/classes/ISCH_PrimitivePin.md +2402 -2402
- package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -1028
- package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -1777
- package/skill/references/classes/ISCH_PrimitiveText.md +1771 -1771
- package/skill/references/classes/ISCH_PrimitiveWire.md +973 -973
- package/skill/references/classes/LIB_3DModel.md +782 -780
- package/skill/references/classes/LIB_Cbb.md +957 -957
- package/skill/references/classes/LIB_Classification.md +969 -965
- package/skill/references/classes/LIB_Device.md +1222 -1221
- package/skill/references/classes/LIB_Footprint.md +1298 -1153
- package/skill/references/classes/LIB_LibrariesList.md +361 -329
- package/skill/references/classes/LIB_PanelLibrary.md +855 -855
- package/skill/references/classes/LIB_SelectControl.md +89 -89
- package/skill/references/classes/LIB_SimulationModel.md +807 -821
- package/skill/references/classes/LIB_Symbol.md +1341 -1195
- package/skill/references/classes/PCB_Document.md +1770 -1754
- package/skill/references/classes/PCB_Drc.md +3379 -3375
- package/skill/references/classes/PCB_Event.md +1166 -1081
- package/skill/references/classes/PCB_ImageTool.md +363 -0
- package/skill/references/classes/PCB_Layer.md +1915 -1911
- package/skill/references/classes/PCB_ManufactureData.md +2968 -2968
- package/skill/references/classes/PCB_MathPolygon.md +916 -785
- package/skill/references/classes/PCB_Net.md +1128 -1128
- package/skill/references/classes/PCB_Primitive.md +217 -217
- package/skill/references/classes/PCB_PrimitiveArc.md +820 -894
- package/skill/references/classes/PCB_PrimitiveAttribute.md +635 -717
- package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -1050
- package/skill/references/classes/PCB_PrimitiveDimension.md +789 -833
- package/skill/references/classes/PCB_PrimitiveFill.md +783 -861
- package/skill/references/classes/PCB_PrimitiveImage.md +803 -875
- package/skill/references/classes/PCB_PrimitiveLine.md +787 -858
- package/skill/references/classes/PCB_PrimitiveObject.md +796 -800
- package/skill/references/classes/PCB_PrimitivePad.md +947 -944
- package/skill/references/classes/PCB_PrimitivePolyline.md +744 -819
- package/skill/references/classes/PCB_PrimitivePour.md +808 -845
- package/skill/references/classes/PCB_PrimitivePoured.md +363 -363
- package/skill/references/classes/PCB_PrimitiveRegion.md +765 -799
- package/skill/references/classes/PCB_PrimitiveString.md +828 -910
- package/skill/references/classes/PCB_PrimitiveVia.md +761 -765
- package/skill/references/classes/PCB_RayTracerEngine.md +603 -263
- package/skill/references/classes/PCB_SelectControl.md +495 -495
- package/skill/references/classes/PCB_Tool.md +9 -0
- package/skill/references/classes/PNL_Document.md +83 -83
- package/skill/references/classes/SCH_Document.md +797 -809
- package/skill/references/classes/SCH_Drc.md +246 -242
- package/skill/references/classes/SCH_Event.md +583 -583
- package/skill/references/classes/SCH_ManufactureData.md +1209 -1205
- package/skill/references/classes/SCH_Net.md +200 -200
- package/skill/references/classes/SCH_Netlist.md +191 -191
- package/skill/references/classes/SCH_Primitive.md +337 -337
- package/skill/references/classes/SCH_PrimitiveArc.md +686 -692
- package/skill/references/classes/SCH_PrimitiveAttribute.md +579 -590
- package/skill/references/classes/SCH_PrimitiveBus.md +618 -624
- package/skill/references/classes/SCH_PrimitiveCircle.md +667 -683
- package/skill/references/classes/SCH_PrimitiveComponent.md +2256 -2240
- package/skill/references/classes/SCH_PrimitiveObject.md +666 -666
- package/skill/references/classes/SCH_PrimitivePin.md +737 -754
- package/skill/references/classes/SCH_PrimitivePolygon.md +621 -627
- package/skill/references/classes/SCH_PrimitiveRectangle.md +715 -731
- package/skill/references/classes/SCH_PrimitiveText.md +736 -746
- package/skill/references/classes/SCH_PrimitiveWire.md +701 -703
- package/skill/references/classes/SCH_SelectControl.md +520 -520
- package/skill/references/classes/SCH_SimulationEngine.md +133 -133
- package/skill/references/classes/SCH_Utils.md +121 -121
- package/skill/references/classes/SYS_ClientUrl.md +173 -173
- package/skill/references/classes/SYS_Dialog.md +825 -825
- package/skill/references/classes/SYS_Environment.md +640 -502
- package/skill/references/classes/SYS_ExternalApi.md +246 -0
- package/skill/references/classes/SYS_FileManager.md +1664 -1686
- package/skill/references/classes/SYS_FileSystem.md +1366 -1171
- package/skill/references/classes/SYS_FontManager.md +224 -224
- package/skill/references/classes/SYS_FormatConversion.md +349 -349
- package/skill/references/classes/SYS_HeaderMenu.md +480 -479
- package/skill/references/classes/SYS_Help.md +141 -0
- package/skill/references/classes/SYS_I18n.md +861 -861
- package/skill/references/classes/SYS_IFrame.md +541 -535
- package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -246
- package/skill/references/classes/SYS_Log.md +422 -424
- package/skill/references/classes/SYS_Math.md +1565 -1565
- package/skill/references/classes/SYS_Message.md +363 -363
- package/skill/references/classes/SYS_MessageBox.md +285 -285
- package/skill/references/classes/SYS_MessageBus.md +1618 -1618
- package/skill/references/classes/SYS_PanelControl.md +696 -696
- package/skill/references/classes/SYS_RightClickMenu.md +175 -175
- package/skill/references/classes/SYS_Setting.md +134 -85
- package/skill/references/classes/SYS_ShortcutKey.md +623 -623
- package/skill/references/classes/SYS_Storage.md +484 -484
- package/skill/references/classes/SYS_Timer.md +447 -447
- package/skill/references/classes/SYS_ToastMessage.md +194 -194
- package/skill/references/classes/SYS_Tool.md +317 -241
- package/skill/references/classes/SYS_Unit.md +594 -594
- package/skill/references/classes/SYS_WebSocket.md +401 -401
- package/skill/references/classes/SYS_Window.md +849 -850
- package/skill/references/enums/EDMT_EditorDocumentType.md +324 -278
- package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +51 -47
- package/skill/references/enums/EDMT_EditorTabEventType.md +68 -62
- package/skill/references/enums/EDMT_IndicatorMarkerType.md +90 -80
- package/skill/references/enums/EDMT_ItemType.md +181 -157
- package/skill/references/enums/EDMT_ProjectCollaborationMode.md +51 -47
- package/skill/references/enums/EDMT_ProjectFileFormat.md +60 -0
- package/skill/references/enums/EDMT_ProjectReadyState.md +82 -0
- package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +51 -47
- package/skill/references/enums/ELIB_LibraryType.md +129 -113
- package/skill/references/enums/ELIB_PreviewType.md +77 -69
- package/skill/references/enums/ELIB_SimulationModelType.md +51 -47
- package/skill/references/enums/ELIB_SymbolType.md +142 -124
- package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingOptimization.md +51 -47
- package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +51 -47
- package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +55 -51
- package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +64 -58
- package/skill/references/enums/EPCB_LayerColorConfiguration.md +90 -80
- package/skill/references/enums/EPCB_LayerId.md +1169 -881
- package/skill/references/enums/EPCB_LayerStatus.md +64 -58
- package/skill/references/enums/EPCB_LayerType.md +129 -113
- package/skill/references/enums/EPCB_MouseEventType.md +64 -58
- package/skill/references/enums/EPCB_NetEventType.md +64 -58
- package/skill/references/enums/EPCB_PcbPlateType.md +51 -47
- package/skill/references/enums/EPCB_PdfOutputMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +51 -47
- package/skill/references/enums/EPCB_PrimitiveDimensionType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveEventType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveFillMode.md +68 -62
- package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadHoleType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadShapeType.md +90 -80
- package/skill/references/enums/EPCB_PrimitivePadType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +107 -95
- package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +142 -124
- package/skill/references/enums/EPCB_PrimitiveType.md +233 -201
- package/skill/references/enums/EPCB_PrimitiveViaType.md +64 -58
- package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +116 -102
- package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +90 -80
- package/skill/references/enums/ESCH_ExportDocumentFileType.md +64 -58
- package/skill/references/enums/ESCH_MouseEventType.md +51 -47
- package/skill/references/enums/ESCH_PrimitiveComponentType.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveEventType.md +77 -69
- package/skill/references/enums/ESCH_PrimitiveFillStyle.md +129 -113
- package/skill/references/enums/ESCH_PrimitiveLineType.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinShape.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinType.md +168 -146
- package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveType.md +207 -179
- package/skill/references/enums/ESCH_SimulationNetlistType.md +38 -36
- package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +51 -47
- package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +77 -69
- package/skill/references/enums/ESYS_BottomPanelTab.md +94 -80
- package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +181 -157
- package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +55 -51
- package/skill/references/enums/ESYS_ImportProjectImportOption.md +64 -58
- package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +51 -47
- package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +55 -51
- package/skill/references/enums/ESYS_JobState.md +95 -0
- package/skill/references/enums/ESYS_LeftPanelTab.md +94 -80
- package/skill/references/enums/ESYS_LogType.md +77 -102
- package/skill/references/enums/ESYS_NetlistType.md +129 -113
- package/skill/references/enums/ESYS_PanelPosition.md +69 -0
- package/skill/references/enums/ESYS_PanelTab.md +368 -0
- package/skill/references/enums/ESYS_RightPanelTab.md +237 -201
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +220 -190
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +103 -91
- package/skill/references/enums/ESYS_StartPageQuickStartItem.md +237 -205
- package/skill/references/enums/ESYS_Theme.md +51 -47
- package/skill/references/enums/ESYS_ToastMessageType.md +90 -80
- package/skill/references/enums/ESYS_Unit.md +116 -102
- package/skill/references/enums/ESYS_WindowEventType.md +64 -47
- package/skill/references/enums/ESYS_WindowOpenTarget.md +51 -47
- package/skill/references/enums/NetportDeviceName.md +146 -146
- package/skill/references/enums/SchToolBarDeviceName.md +278 -278
- package/skill/references/interfaces/BoardProps.md +169 -169
- package/skill/references/interfaces/BorderConfig.md +109 -0
- package/skill/references/interfaces/ButtonProps.md +196 -169
- package/skill/references/interfaces/CellClickInfo.md +142 -0
- package/skill/references/interfaces/CellCoord.md +88 -0
- package/skill/references/interfaces/CheckBoxProps.md +223 -196
- package/skill/references/interfaces/CheckChangeDetail.md +88 -0
- package/skill/references/interfaces/CheckboxEditConfig.md +159 -0
- package/skill/references/interfaces/ClipboardCellData.md +142 -0
- package/skill/references/interfaces/ClipboardConfig.md +115 -0
- package/skill/references/interfaces/ColorPickerProps.md +169 -0
- package/skill/references/interfaces/ColumnDef.md +605 -0
- package/skill/references/interfaces/ColumnEditTrigger.md +57 -0
- package/skill/references/interfaces/ColumnGroupDef.md +192 -0
- package/skill/references/interfaces/ColumnResizeConfig.md +142 -0
- package/skill/references/interfaces/ComponentPropsMap.md +517 -448
- package/skill/references/interfaces/CustomHeaderConfig.md +169 -0
- package/skill/references/interfaces/DialogProps.md +385 -385
- package/skill/references/interfaces/DragSortConfig.md +115 -0
- package/skill/references/interfaces/EditingConfig.md +196 -0
- package/skill/references/interfaces/FilteringConfig.md +250 -0
- package/skill/references/interfaces/FixedColumnConfig.md +88 -0
- package/skill/references/interfaces/FlexItemProps.md +116 -116
- package/skill/references/interfaces/FlexProps.md +224 -224
- package/skill/references/interfaces/GridItemProps.md +143 -143
- package/skill/references/interfaces/GridProps.md +143 -143
- package/skill/references/interfaces/IDMT_BoardItem.md +171 -171
- package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -171
- package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -169
- package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -173
- package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -169
- package/skill/references/interfaces/IDMT_FolderItem.md +225 -225
- package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -393
- package/skill/references/interfaces/IDMT_PanelItem.md +144 -144
- package/skill/references/interfaces/IDMT_PcbItem.md +171 -171
- package/skill/references/interfaces/IDMT_ProjectItem.md +143 -143
- package/skill/references/interfaces/IDMT_SchematicItem.md +225 -225
- package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -198
- package/skill/references/interfaces/IDMT_TeamItem.md +144 -144
- package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -117
- package/skill/references/interfaces/IDesignPortal.md +103 -103
- package/skill/references/interfaces/ILIB_3DModelItem.md +198 -198
- package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_CbbItem.md +225 -225
- package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ClassificationNode.md +98 -0
- package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -210
- package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -304
- package/skill/references/interfaces/ILIB_DeviceItem.md +279 -279
- package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -250
- package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -521
- package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -64
- package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +93 -99
- package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +143 -157
- package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -63
- package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -123
- package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -97
- package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -98
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -115
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -169
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -234
- package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +91 -105
- package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -96
- package/skill/references/interfaces/ILIB_FootprintItem.md +256 -198
- package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -92
- package/skill/references/interfaces/ILIB_LibraryItem.md +115 -115
- package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -198
- package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_RegisterExtendLibraryProps.md +71 -0
- package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -306
- package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -304
- package/skill/references/interfaces/ILIB_SymbolItem.md +306 -279
- package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -304
- package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -169
- package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -220
- package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -169
- package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -169
- package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -115
- package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -65
- package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -88
- package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -115
- package/skill/references/interfaces/IPCB_LayerItem.md +277 -277
- package/skill/references/interfaces/IPCB_NetClassItem.md +115 -115
- package/skill/references/interfaces/IPCB_NetInfo.md +115 -115
- package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -88
- package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -88
- package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -115
- package/skill/references/interfaces/IPCB_Primitive.md +218 -218
- package/skill/references/interfaces/IPCB_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -151
- package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -142
- package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -154
- package/skill/references/interfaces/IPCB_RayTracerBackgroundConfig.md +223 -0
- package/skill/references/interfaces/IPCB_RayTracerLightConfig.md +412 -0
- package/skill/references/interfaces/IPCB_RayTracerMaterialConfig.md +547 -0
- package/skill/references/interfaces/IPCB_RayTracerPcbMaterialConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerRenderConfigurations.md +200 -0
- package/skill/references/interfaces/IPCB_RayTracerRendererConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElement.md +115 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElementTransform.md +123 -0
- package/skill/references/interfaces/IPCB_RayTracerTexture.md +88 -0
- package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -88
- package/skill/references/interfaces/IRawNet.md +103 -103
- package/skill/references/interfaces/IRawPureSchematic.md +80 -80
- package/skill/references/interfaces/IRawSchematic.md +103 -103
- package/skill/references/interfaces/IRawWire.md +149 -149
- package/skill/references/interfaces/ISCH_DrcError.md +142 -142
- package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -142
- package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -94
- package/skill/references/interfaces/ISCH_NetInfo.md +88 -88
- package/skill/references/interfaces/ISCH_Primitive.md +218 -219
- package/skill/references/interfaces/ISCH_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -142
- package/skill/references/interfaces/ISCH_WireInfo.md +169 -169
- package/skill/references/interfaces/ISYS_ComparisonResponse.md +115 -0
- package/skill/references/interfaces/ISYS_ExtensionExternalApiIndex.md +13 -0
- package/skill/references/interfaces/ISYS_ExtensionRegisteredExternalApis.md +13 -0
- package/skill/references/interfaces/ISYS_ExternalApiHelp.md +173 -0
- package/skill/references/interfaces/ISYS_ExternalApiRegistration.md +146 -0
- package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -169
- package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +205 -174
- package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +178 -147
- package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -115
- package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -408
- package/skill/references/interfaces/ISYS_HelpAudienceEntry.md +92 -0
- package/skill/references/interfaces/ISYS_HelpClassSummary.md +205 -0
- package/skill/references/interfaces/ISYS_HelpData.md +92 -0
- package/skill/references/interfaces/ISYS_HelpMethodDetail.md +310 -0
- package/skill/references/interfaces/ISYS_JobHandle.md +65 -0
- package/skill/references/interfaces/ISYS_JobLogEntry.md +142 -0
- package/skill/references/interfaces/ISYS_JobStatus.md +176 -0
- package/skill/references/interfaces/ISYS_LogLine.md +115 -115
- package/skill/references/interfaces/ISYS_MathBBox.md +142 -142
- package/skill/references/interfaces/ISYS_MathPoint.md +88 -88
- package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -92
- package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -115
- package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +12 -12
- package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -174
- package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -169
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -62
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -62
- package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -109
- package/skill/references/interfaces/IconProps.md +88 -88
- package/skill/references/interfaces/ImageProps.md +115 -115
- package/skill/references/interfaces/InputEditConfig.md +182 -0
- package/skill/references/interfaces/InputProps.md +547 -520
- package/skill/references/interfaces/KeyboardConfig.md +61 -0
- package/skill/references/interfaces/ListChildren.md +223 -223
- package/skill/references/interfaces/ListProps.md +250 -223
- package/skill/references/interfaces/ModalProps.md +358 -358
- package/skill/references/interfaces/NumberEditConfig.md +234 -0
- package/skill/references/interfaces/RadioGroupProps.md +196 -196
- package/skill/references/interfaces/RadioItem.md +115 -115
- package/skill/references/interfaces/RichTableProps.md +1357 -0
- package/skill/references/interfaces/RowMetaConfig.md +142 -0
- package/skill/references/interfaces/ScrollerProps.md +169 -169
- package/skill/references/interfaces/SelectEditConfig.md +211 -0
- package/skill/references/interfaces/SelectListItem.md +142 -142
- package/skill/references/interfaces/SelectOption.md +142 -0
- package/skill/references/interfaces/SelectProps.md +169 -169
- package/skill/references/interfaces/SelectionConfig.md +358 -0
- package/skill/references/interfaces/SliderProps.md +142 -0
- package/skill/references/interfaces/SlotProps.md +88 -88
- package/skill/references/interfaces/SortState.md +88 -0
- package/skill/references/interfaces/SortingConfig.md +169 -0
- package/skill/references/interfaces/StyleProps.md +439 -385
- package/skill/references/interfaces/TextAreaProps.md +196 -196
- package/skill/references/interfaces/TextProps.md +169 -169
- package/skill/references/interfaces/TextareaEditConfig.md +182 -0
- package/skill/references/interfaces/ValidationRule.md +223 -0
- package/skill/references/interfaces/VirtualScrollConfig.md +115 -0
- package/skill/references/types/Align.md +9 -0
- package/skill/references/types/CellContentType.md +9 -0
- package/skill/references/types/ColumnDefOrGroup.md +12 -0
- package/skill/references/types/ColumnEditConfig.md +13 -0
- package/skill/references/types/ColumnType.md +9 -0
- package/skill/references/types/DataChangeType.md +9 -0
- package/skill/references/types/FilterMatchMode.md +9 -0
- package/skill/references/types/RichTableRow.md +12 -0
- package/skill/references/types/Serializable.md +10 -0
- package/skill/references/types/SerializablePrimitive.md +9 -0
- package/skill/references/types/SortOrder.md +9 -0
- package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +11 -11
- package/skill/references/types/TPCB_LayersInTheSelectable.md +42 -42
- package/skill/references/types/TPCB_LayersOfComponent.md +11 -11
- package/skill/references/types/TPCB_LayersOfCopper.md +15 -15
- package/skill/references/types/TPCB_LayersOfCustom.md +41 -41
- package/skill/references/types/TPCB_LayersOfDimension.md +16 -16
- package/skill/references/types/TPCB_LayersOfFill.md +28 -28
- package/skill/references/types/TPCB_LayersOfImage.md +22 -22
- package/skill/references/types/TPCB_LayersOfInner.md +41 -41
- package/skill/references/types/TPCB_LayersOfLine.md +25 -25
- package/skill/references/types/TPCB_LayersOfObject.md +12 -12
- package/skill/references/types/TPCB_LayersOfPad.md +11 -11
- package/skill/references/types/TPCB_LayersOfRegion.md +11 -11
- package/skill/references/types/TPCB_NumberOfCopperLayers.md +9 -9
- package/skill/references/types/TPCB_PolygonSourceArray.md +85 -83
- package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +66 -66
- package/skill/references/types/TPCB_PrimitivePadHole.md +30 -30
- package/skill/references/types/TPCB_PrimitivePadShape.md +61 -61
- package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +19 -19
- package/skill/references/types/TSYS_ComparisonErrorCode.md +15 -0
- package/skill/references/types/TSYS_LanguageKeyValuePairs.md +13 -0
- package/skill/references/types/TSYS_MathPolygonGroup.md +15 -15
- package/skill/references/types/TSYS_MathPolygonInput.md +20 -20
- package/skill/references/types/TSYS_ShortcutKeys.md +96 -96
- package/skill/user-guide/using-extension.md +47 -47
- package/src/json-gen.test.js +430 -0
- package/skill/guide/ancillary-projects/pro-api-sdk.md +0 -1
- package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +0 -115
- package/skill/references/types/ISYS_LanguageKeyValuePairs.md +0 -13
- package/skill/references/types/TSYS_PcbComparisonErrorCode.md +0 -10
|
@@ -1,1028 +1,1028 @@
|
|
|
1
|
-
# ISCH\_PrimitivePolygon class
|
|
2
|
-
|
|
3
|
-
Polygon (polyline) primitive
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class ISCH_PrimitivePolygon implements ISCH_Primitive
|
|
9
|
-
```
|
|
10
|
-
**Implements:** [ISCH\_Primitive](../interfaces/ISCH_Primitive.md)
|
|
11
|
-
|
|
12
|
-
## Remarks
|
|
13
|
-
|
|
14
|
-
## Methods
|
|
15
|
-
|
|
16
|
-
<table><thead><tr><th>
|
|
17
|
-
|
|
18
|
-
Method
|
|
19
|
-
|
|
20
|
-
</th><th>
|
|
21
|
-
|
|
22
|
-
Modifiers
|
|
23
|
-
|
|
24
|
-
</th><th>
|
|
25
|
-
|
|
26
|
-
Description
|
|
27
|
-
|
|
28
|
-
</th></tr></thead>
|
|
29
|
-
<tbody><tr><td>
|
|
30
|
-
|
|
31
|
-
[done()](./ISCH_PrimitivePolygon.md)
|
|
32
|
-
|
|
33
|
-
</td><td>
|
|
34
|
-
|
|
35
|
-
</td><td>
|
|
36
|
-
|
|
37
|
-
**_(BETA)_** Apply the changes to the primitives to the canvas
|
|
38
|
-
|
|
39
|
-
</td></tr>
|
|
40
|
-
<tr><td>
|
|
41
|
-
|
|
42
|
-
[getState\_Color()](./ISCH_PrimitivePolygon.md)
|
|
43
|
-
|
|
44
|
-
</td><td>
|
|
45
|
-
|
|
46
|
-
</td><td>
|
|
47
|
-
|
|
48
|
-
Get the property state: color
|
|
49
|
-
|
|
50
|
-
</td></tr>
|
|
51
|
-
<tr><td>
|
|
52
|
-
|
|
53
|
-
[getState\_FillColor()](./ISCH_PrimitivePolygon.md)
|
|
54
|
-
|
|
55
|
-
</td><td>
|
|
56
|
-
|
|
57
|
-
</td><td>
|
|
58
|
-
|
|
59
|
-
Get the property state: fill color
|
|
60
|
-
|
|
61
|
-
</td></tr>
|
|
62
|
-
<tr><td>
|
|
63
|
-
|
|
64
|
-
[getState\_Line()](./ISCH_PrimitivePolygon.md)
|
|
65
|
-
|
|
66
|
-
</td><td>
|
|
67
|
-
|
|
68
|
-
</td><td>
|
|
69
|
-
|
|
70
|
-
Get the property state: coordinate group
|
|
71
|
-
|
|
72
|
-
</td></tr>
|
|
73
|
-
<tr><td>
|
|
74
|
-
|
|
75
|
-
[getState\_LineType()](./ISCH_PrimitivePolygon.md)
|
|
76
|
-
|
|
77
|
-
</td><td>
|
|
78
|
-
|
|
79
|
-
</td><td>
|
|
80
|
-
|
|
81
|
-
Get the property state: line type
|
|
82
|
-
|
|
83
|
-
</td></tr>
|
|
84
|
-
<tr><td>
|
|
85
|
-
|
|
86
|
-
[getState\_LineWidth()](./ISCH_PrimitivePolygon.md)
|
|
87
|
-
|
|
88
|
-
</td><td>
|
|
89
|
-
|
|
90
|
-
</td><td>
|
|
91
|
-
|
|
92
|
-
Get the property state: Line width
|
|
93
|
-
|
|
94
|
-
</td></tr>
|
|
95
|
-
<tr><td>
|
|
96
|
-
|
|
97
|
-
[getState\_PrimitiveId()](./ISCH_PrimitivePolygon.md)
|
|
98
|
-
|
|
99
|
-
</td><td>
|
|
100
|
-
|
|
101
|
-
</td><td>
|
|
102
|
-
|
|
103
|
-
Get the property state: primitive ID
|
|
104
|
-
|
|
105
|
-
</td></tr>
|
|
106
|
-
<tr><td>
|
|
107
|
-
|
|
108
|
-
[getState\_PrimitiveType()](./ISCH_PrimitivePolygon.md)
|
|
109
|
-
|
|
110
|
-
</td><td>
|
|
111
|
-
|
|
112
|
-
</td><td>
|
|
113
|
-
|
|
114
|
-
Get the property state: primitive type
|
|
115
|
-
|
|
116
|
-
</td></tr>
|
|
117
|
-
<tr><td>
|
|
118
|
-
|
|
119
|
-
[isAsync()](./ISCH_PrimitivePolygon.md)
|
|
120
|
-
|
|
121
|
-
</td><td>
|
|
122
|
-
|
|
123
|
-
</td><td>
|
|
124
|
-
|
|
125
|
-
Query whether the primitive is an async primitive
|
|
126
|
-
|
|
127
|
-
</td></tr>
|
|
128
|
-
<tr><td>
|
|
129
|
-
|
|
130
|
-
[reset()](./ISCH_PrimitivePolygon.md)
|
|
131
|
-
|
|
132
|
-
</td><td>
|
|
133
|
-
|
|
134
|
-
</td><td>
|
|
135
|
-
|
|
136
|
-
**_(BETA)_** Reset the async primitive to the current canvas state
|
|
137
|
-
|
|
138
|
-
</td></tr>
|
|
139
|
-
<tr><td>
|
|
140
|
-
|
|
141
|
-
[setState\_Color(color)](./ISCH_PrimitivePolygon.md)
|
|
142
|
-
|
|
143
|
-
</td><td>
|
|
144
|
-
|
|
145
|
-
</td><td>
|
|
146
|
-
|
|
147
|
-
**_(BETA)_** Set the property state: color
|
|
148
|
-
|
|
149
|
-
</td></tr>
|
|
150
|
-
<tr><td>
|
|
151
|
-
|
|
152
|
-
[setState\_FillColor(fillColor)](./ISCH_PrimitivePolygon.md)
|
|
153
|
-
|
|
154
|
-
</td><td>
|
|
155
|
-
|
|
156
|
-
</td><td>
|
|
157
|
-
|
|
158
|
-
**_(BETA)_** Set the property state: fill color
|
|
159
|
-
|
|
160
|
-
</td></tr>
|
|
161
|
-
<tr><td>
|
|
162
|
-
|
|
163
|
-
[setState\_Line(line)](./ISCH_PrimitivePolygon.md)
|
|
164
|
-
|
|
165
|
-
</td><td>
|
|
166
|
-
|
|
167
|
-
</td><td>
|
|
168
|
-
|
|
169
|
-
**_(BETA)_** Set the property state: coordinate group
|
|
170
|
-
|
|
171
|
-
</td></tr>
|
|
172
|
-
<tr><td>
|
|
173
|
-
|
|
174
|
-
[setState\_LineType(lineType)](./ISCH_PrimitivePolygon.md)
|
|
175
|
-
|
|
176
|
-
</td><td>
|
|
177
|
-
|
|
178
|
-
</td><td>
|
|
179
|
-
|
|
180
|
-
**_(BETA)_** Set the property state: line type
|
|
181
|
-
|
|
182
|
-
</td></tr>
|
|
183
|
-
<tr><td>
|
|
184
|
-
|
|
185
|
-
[setState\_LineWidth(lineWidth)](./ISCH_PrimitivePolygon.md)
|
|
186
|
-
|
|
187
|
-
</td><td>
|
|
188
|
-
|
|
189
|
-
</td><td>
|
|
190
|
-
|
|
191
|
-
**_(BETA)_** Set the property state: Line width
|
|
192
|
-
|
|
193
|
-
</td></tr>
|
|
194
|
-
<tr><td>
|
|
195
|
-
|
|
196
|
-
[toAsync()](./ISCH_PrimitivePolygon.md)
|
|
197
|
-
|
|
198
|
-
</td><td>
|
|
199
|
-
|
|
200
|
-
</td><td>
|
|
201
|
-
|
|
202
|
-
Convert Primitive to Async primitive
|
|
203
|
-
|
|
204
|
-
</td></tr>
|
|
205
|
-
<tr><td>
|
|
206
|
-
|
|
207
|
-
[toSync()](./ISCH_PrimitivePolygon.md)
|
|
208
|
-
|
|
209
|
-
</td><td>
|
|
210
|
-
|
|
211
|
-
</td><td>
|
|
212
|
-
|
|
213
|
-
Convert Primitive to Sync primitive
|
|
214
|
-
|
|
215
|
-
</td></tr>
|
|
216
|
-
</tbody></table>
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## 方法详情
|
|
221
|
-
|
|
222
|
-
### done
|
|
223
|
-
|
|
224
|
-
# ISCH\_PrimitivePolygon.done() method
|
|
225
|
-
|
|
226
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
227
|
-
|
|
228
|
-
Apply the changes to the primitives to the canvas
|
|
229
|
-
|
|
230
|
-
## Signature
|
|
231
|
-
|
|
232
|
-
```typescript
|
|
233
|
-
function done(): Promise<ISCH_PrimitivePolygon>;
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
## Returns
|
|
237
|
-
|
|
238
|
-
Promise<[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)<!-- -->>
|
|
239
|
-
|
|
240
|
-
Polygon primitive object
|
|
241
|
-
|
|
242
|
-
## Example
|
|
243
|
-
|
|
244
|
-
```javascript
|
|
245
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
246
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
247
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
248
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
249
|
-
|
|
250
|
-
// 2. 创建一个测试多边形:4 顶点矩形、线宽 6(SCH 坐标单位 10mil)
|
|
251
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
252
|
-
|
|
253
|
-
// 3. 切换异步模式,累计两处修改(加粗边线 + 改颜色)
|
|
254
|
-
const asyncPolygon = polygon.toAsync();
|
|
255
|
-
asyncPolygon.setState_LineWidth(10);
|
|
256
|
-
asyncPolygon.setState_Color('#00AA00');
|
|
257
|
-
|
|
258
|
-
// 4. 一次性提交到画布
|
|
259
|
-
await asyncPolygon.done();
|
|
260
|
-
|
|
261
|
-
// 5. 从画布重新读取,确认两处修改都已生效(保留现场供观察)
|
|
262
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
263
|
-
|
|
264
|
-
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
265
|
-
console.log('color:', '#00AA00', '→', refetched.getState_Color());
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### getstate_color
|
|
269
|
-
|
|
270
|
-
# ISCH\_PrimitivePolygon.getState\_Color() method
|
|
271
|
-
|
|
272
|
-
Get the property state: color
|
|
273
|
-
|
|
274
|
-
## Signature
|
|
275
|
-
|
|
276
|
-
```typescript
|
|
277
|
-
function getState_Color(): string | null;
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
## Returns
|
|
281
|
-
|
|
282
|
-
string \| null
|
|
283
|
-
|
|
284
|
-
Color
|
|
285
|
-
|
|
286
|
-
## Example
|
|
287
|
-
|
|
288
|
-
```javascript
|
|
289
|
-
// 1. 创建一个红色轮廓的测试多边形(SCH 坐标单位 10mil)
|
|
290
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
291
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
292
|
-
|
|
293
|
-
// 2. 读取轮廓颜色
|
|
294
|
-
const color = polygon.getState_Color();
|
|
295
|
-
|
|
296
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
297
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
298
|
-
|
|
299
|
-
console.log('color:', color);
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### getstate_fillcolor
|
|
303
|
-
|
|
304
|
-
# ISCH\_PrimitivePolygon.getState\_FillColor() method
|
|
305
|
-
|
|
306
|
-
Get the property state: fill color
|
|
307
|
-
|
|
308
|
-
## Signature
|
|
309
|
-
|
|
310
|
-
```typescript
|
|
311
|
-
function getState_FillColor(): string | null;
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
## Returns
|
|
315
|
-
|
|
316
|
-
string \| null
|
|
317
|
-
|
|
318
|
-
Fill color
|
|
319
|
-
|
|
320
|
-
## Example
|
|
321
|
-
|
|
322
|
-
```javascript
|
|
323
|
-
// 1. 创建一个黄色填充的测试多边形(SCH 坐标单位 10mil)
|
|
324
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
325
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', '#FFFF00');
|
|
326
|
-
|
|
327
|
-
// 2. 读取填充颜色
|
|
328
|
-
const fillColor = polygon.getState_FillColor();
|
|
329
|
-
|
|
330
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
331
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
332
|
-
|
|
333
|
-
console.log('fillColor:', fillColor);
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
### getstate_line
|
|
337
|
-
|
|
338
|
-
# ISCH\_PrimitivePolygon.getState\_Line() method
|
|
339
|
-
|
|
340
|
-
Get the property state: coordinate group
|
|
341
|
-
|
|
342
|
-
## Signature
|
|
343
|
-
|
|
344
|
-
```typescript
|
|
345
|
-
function getState_Line(): Array<number>;
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
## Returns
|
|
349
|
-
|
|
350
|
-
Array<number>
|
|
351
|
-
|
|
352
|
-
Coordinate group
|
|
353
|
-
|
|
354
|
-
## Example
|
|
355
|
-
|
|
356
|
-
```javascript
|
|
357
|
-
// 1. 创建一个 4 顶点矩形测试多边形(SCH 坐标单位 10mil)
|
|
358
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
359
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
360
|
-
|
|
361
|
-
// 2. 读取顶点坐标组
|
|
362
|
-
const coords = polygon.getState_Line();
|
|
363
|
-
|
|
364
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
365
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
366
|
-
|
|
367
|
-
console.log('line:', JSON.stringify(coords));
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### getstate_linetype
|
|
371
|
-
|
|
372
|
-
# ISCH\_PrimitivePolygon.getState\_LineType() method
|
|
373
|
-
|
|
374
|
-
Get the property state: line type
|
|
375
|
-
|
|
376
|
-
## Signature
|
|
377
|
-
|
|
378
|
-
```typescript
|
|
379
|
-
function getState_LineType(): ESCH_PrimitiveLineType | null;
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
## Returns
|
|
383
|
-
|
|
384
|
-
[ESCH\_PrimitiveLineType](../enums/ESCH_PrimitiveLineType.md) \| null
|
|
385
|
-
|
|
386
|
-
Line type
|
|
387
|
-
|
|
388
|
-
## Example
|
|
389
|
-
|
|
390
|
-
```javascript
|
|
391
|
-
// 1. 创建一个虚线边框的测试多边形(末参 1 = DASHED,SCH 坐标单位 10mil)
|
|
392
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
393
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 1);
|
|
394
|
-
|
|
395
|
-
// 2. 读取线型
|
|
396
|
-
const lineType = polygon.getState_LineType();
|
|
397
|
-
|
|
398
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
399
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
400
|
-
|
|
401
|
-
console.log('lineType:', lineType);
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
### getstate_linewidth
|
|
405
|
-
|
|
406
|
-
# ISCH\_PrimitivePolygon.getState\_LineWidth() method
|
|
407
|
-
|
|
408
|
-
Get the property state: Line width
|
|
409
|
-
|
|
410
|
-
## Signature
|
|
411
|
-
|
|
412
|
-
```typescript
|
|
413
|
-
function getState_LineWidth(): number | null;
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
## Returns
|
|
417
|
-
|
|
418
|
-
number \| null
|
|
419
|
-
|
|
420
|
-
Line width
|
|
421
|
-
|
|
422
|
-
## Example
|
|
423
|
-
|
|
424
|
-
```javascript
|
|
425
|
-
// 1. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
426
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
427
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
428
|
-
|
|
429
|
-
// 2. 读取线宽
|
|
430
|
-
const lineWidth = polygon.getState_LineWidth();
|
|
431
|
-
|
|
432
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
433
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
434
|
-
|
|
435
|
-
console.log('lineWidth:', lineWidth);
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
### getstate_primitiveid
|
|
439
|
-
|
|
440
|
-
# ISCH\_PrimitivePolygon.getState\_PrimitiveId() method
|
|
441
|
-
|
|
442
|
-
Get the property state: primitive ID
|
|
443
|
-
|
|
444
|
-
## Signature
|
|
445
|
-
|
|
446
|
-
```typescript
|
|
447
|
-
function getState_PrimitiveId(): string;
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
## Returns
|
|
451
|
-
|
|
452
|
-
string
|
|
453
|
-
|
|
454
|
-
Primitive ID
|
|
455
|
-
|
|
456
|
-
## Example
|
|
457
|
-
|
|
458
|
-
```javascript
|
|
459
|
-
// 1. 创建一个测试多边形:4 个顶点构成矩形(SCH 坐标单位 10mil,line 为 [x1,y1, x2,y2, x3,y3, x4,y4] 扁平数组)
|
|
460
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
461
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
462
|
-
|
|
463
|
-
// 2. 读取图元 ID
|
|
464
|
-
const primitiveId = polygon.getState_PrimitiveId();
|
|
465
|
-
|
|
466
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
467
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
468
|
-
|
|
469
|
-
console.log('primitiveId:', primitiveId);
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
### getstate_primitivetype
|
|
473
|
-
|
|
474
|
-
# ISCH\_PrimitivePolygon.getState\_PrimitiveType() method
|
|
475
|
-
|
|
476
|
-
Get the property state: primitive type
|
|
477
|
-
|
|
478
|
-
## Signature
|
|
479
|
-
|
|
480
|
-
```typescript
|
|
481
|
-
function getState_PrimitiveType(): ESCH_PrimitiveType;
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
## Returns
|
|
485
|
-
|
|
486
|
-
[ESCH\_PrimitiveType](../enums/ESCH_PrimitiveType.md)
|
|
487
|
-
|
|
488
|
-
Primitive type
|
|
489
|
-
|
|
490
|
-
## Example
|
|
491
|
-
|
|
492
|
-
```javascript
|
|
493
|
-
// 1. 创建一个测试多边形(SCH 坐标单位 10mil)
|
|
494
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
495
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
496
|
-
|
|
497
|
-
// 2. 读取图元类型
|
|
498
|
-
const primitiveType = polygon.getState_PrimitiveType();
|
|
499
|
-
|
|
500
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
501
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
502
|
-
|
|
503
|
-
console.log('primitiveType:', primitiveType);
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
### isasync
|
|
507
|
-
|
|
508
|
-
# ISCH\_PrimitivePolygon.isAsync() method
|
|
509
|
-
|
|
510
|
-
Query whether the primitive is an async primitive
|
|
511
|
-
|
|
512
|
-
## Signature
|
|
513
|
-
|
|
514
|
-
```typescript
|
|
515
|
-
function isAsync(): boolean;
|
|
516
|
-
```
|
|
517
|
-
|
|
518
|
-
## Returns
|
|
519
|
-
|
|
520
|
-
boolean
|
|
521
|
-
|
|
522
|
-
Whether Is async primitive
|
|
523
|
-
|
|
524
|
-
## Example
|
|
525
|
-
|
|
526
|
-
```javascript
|
|
527
|
-
// 1. 创建一个测试多边形,创建后默认处于异步模式(SCH 坐标单位 10mil)
|
|
528
|
-
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
529
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
530
|
-
const asyncOnCreate = polygon.isAsync();
|
|
531
|
-
|
|
532
|
-
// 2. 切换到同步模式再查询一次,对比两种模式
|
|
533
|
-
polygon.toSync();
|
|
534
|
-
const asyncAfterToSync = polygon.isAsync();
|
|
535
|
-
|
|
536
|
-
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
537
|
-
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
538
|
-
|
|
539
|
-
console.log('isAsync on create:', asyncOnCreate);
|
|
540
|
-
console.log('isAsync after toSync:', asyncAfterToSync);
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
### reset
|
|
544
|
-
|
|
545
|
-
# ISCH\_PrimitivePolygon.reset() method
|
|
546
|
-
|
|
547
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
548
|
-
|
|
549
|
-
Reset the async primitive to the current canvas state
|
|
550
|
-
|
|
551
|
-
## Signature
|
|
552
|
-
|
|
553
|
-
```typescript
|
|
554
|
-
function reset(): Promise<ISCH_PrimitivePolygon>;
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
## Returns
|
|
558
|
-
|
|
559
|
-
Promise<[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)<!-- -->>
|
|
560
|
-
|
|
561
|
-
Polygon primitive object
|
|
562
|
-
|
|
563
|
-
## Example
|
|
564
|
-
|
|
565
|
-
```javascript
|
|
566
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
567
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
568
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
569
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
570
|
-
|
|
571
|
-
// 2. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
572
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
573
|
-
|
|
574
|
-
// 3. 切换异步模式,累计一处未提交的线宽修改(6 → 99)
|
|
575
|
-
const asyncPolygon = polygon.toAsync();
|
|
576
|
-
asyncPolygon.setState_LineWidth(99);
|
|
577
|
-
|
|
578
|
-
// 4. 重置:丢弃未提交的修改,回到画布当前状态
|
|
579
|
-
await asyncPolygon.reset();
|
|
580
|
-
|
|
581
|
-
// 5. 从画布重新读取,线宽仍是 6(保留现场供观察)
|
|
582
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
583
|
-
|
|
584
|
-
console.log('lineWidth after reset:', refetched.getState_LineWidth());
|
|
585
|
-
```
|
|
586
|
-
|
|
587
|
-
### setstate_color
|
|
588
|
-
|
|
589
|
-
# ISCH\_PrimitivePolygon.setState\_Color() method
|
|
590
|
-
|
|
591
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
592
|
-
|
|
593
|
-
Set the property state: color
|
|
594
|
-
|
|
595
|
-
## Signature
|
|
596
|
-
|
|
597
|
-
```typescript
|
|
598
|
-
function setState_Color(color: string | null): ISCH_PrimitivePolygon;
|
|
599
|
-
```
|
|
600
|
-
|
|
601
|
-
## Parameters
|
|
602
|
-
|
|
603
|
-
<table><thead><tr><th>
|
|
604
|
-
|
|
605
|
-
Parameter
|
|
606
|
-
|
|
607
|
-
</th><th>
|
|
608
|
-
|
|
609
|
-
Type
|
|
610
|
-
|
|
611
|
-
</th><th>
|
|
612
|
-
|
|
613
|
-
Description
|
|
614
|
-
|
|
615
|
-
</th></tr></thead>
|
|
616
|
-
<tbody><tr><td>
|
|
617
|
-
|
|
618
|
-
color
|
|
619
|
-
|
|
620
|
-
</td><td>
|
|
621
|
-
|
|
622
|
-
string \| null
|
|
623
|
-
|
|
624
|
-
</td><td>
|
|
625
|
-
|
|
626
|
-
Color
|
|
627
|
-
|
|
628
|
-
</td></tr>
|
|
629
|
-
</tbody></table>
|
|
630
|
-
|
|
631
|
-
## Returns
|
|
632
|
-
|
|
633
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
634
|
-
|
|
635
|
-
Polygon primitive object
|
|
636
|
-
|
|
637
|
-
## Example
|
|
638
|
-
|
|
639
|
-
```javascript
|
|
640
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
641
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
642
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
643
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
644
|
-
|
|
645
|
-
// 2. 创建一个红色轮廓的测试多边形(SCH 坐标单位 10mil)
|
|
646
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
647
|
-
|
|
648
|
-
// 3. 切换异步模式并改为绿色
|
|
649
|
-
const asyncPolygon = polygon.toAsync();
|
|
650
|
-
asyncPolygon.setState_Color('#00AA00');
|
|
651
|
-
await asyncPolygon.done();
|
|
652
|
-
|
|
653
|
-
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
654
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
655
|
-
|
|
656
|
-
console.log('color:', '#FF0000', '→', refetched.getState_Color());
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
### setstate_fillcolor
|
|
660
|
-
|
|
661
|
-
# ISCH\_PrimitivePolygon.setState\_FillColor() method
|
|
662
|
-
|
|
663
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
664
|
-
|
|
665
|
-
Set the property state: fill color
|
|
666
|
-
|
|
667
|
-
## Signature
|
|
668
|
-
|
|
669
|
-
```typescript
|
|
670
|
-
function setState_FillColor(fillColor: string | null): ISCH_PrimitivePolygon;
|
|
671
|
-
```
|
|
672
|
-
|
|
673
|
-
## Parameters
|
|
674
|
-
|
|
675
|
-
<table><thead><tr><th>
|
|
676
|
-
|
|
677
|
-
Parameter
|
|
678
|
-
|
|
679
|
-
</th><th>
|
|
680
|
-
|
|
681
|
-
Type
|
|
682
|
-
|
|
683
|
-
</th><th>
|
|
684
|
-
|
|
685
|
-
Description
|
|
686
|
-
|
|
687
|
-
</th></tr></thead>
|
|
688
|
-
<tbody><tr><td>
|
|
689
|
-
|
|
690
|
-
fillColor
|
|
691
|
-
|
|
692
|
-
</td><td>
|
|
693
|
-
|
|
694
|
-
string \| null
|
|
695
|
-
|
|
696
|
-
</td><td>
|
|
697
|
-
|
|
698
|
-
Fill color
|
|
699
|
-
|
|
700
|
-
</td></tr>
|
|
701
|
-
</tbody></table>
|
|
702
|
-
|
|
703
|
-
## Returns
|
|
704
|
-
|
|
705
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
706
|
-
|
|
707
|
-
Polygon primitive object
|
|
708
|
-
|
|
709
|
-
## Example
|
|
710
|
-
|
|
711
|
-
```javascript
|
|
712
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
713
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
714
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
715
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
716
|
-
|
|
717
|
-
// 2. 创建一个黄色填充的测试多边形(SCH 坐标单位 10mil)
|
|
718
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', '#FFFF00');
|
|
719
|
-
|
|
720
|
-
// 3. 切换异步模式并改为浅绿填充
|
|
721
|
-
const asyncPolygon = polygon.toAsync();
|
|
722
|
-
asyncPolygon.setState_FillColor('#AAFFAA');
|
|
723
|
-
await asyncPolygon.done();
|
|
724
|
-
|
|
725
|
-
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
726
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
727
|
-
|
|
728
|
-
console.log('fillColor:', '#FFFF00', '→', refetched.getState_FillColor());
|
|
729
|
-
```
|
|
730
|
-
|
|
731
|
-
### setstate_line
|
|
732
|
-
|
|
733
|
-
# ISCH\_PrimitivePolygon.setState\_Line() method
|
|
734
|
-
|
|
735
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
736
|
-
|
|
737
|
-
Set the property state: coordinate group
|
|
738
|
-
|
|
739
|
-
## Signature
|
|
740
|
-
|
|
741
|
-
```typescript
|
|
742
|
-
function setState_Line(line: Array<number>): ISCH_PrimitivePolygon;
|
|
743
|
-
```
|
|
744
|
-
|
|
745
|
-
## Parameters
|
|
746
|
-
|
|
747
|
-
<table><thead><tr><th>
|
|
748
|
-
|
|
749
|
-
Parameter
|
|
750
|
-
|
|
751
|
-
</th><th>
|
|
752
|
-
|
|
753
|
-
Type
|
|
754
|
-
|
|
755
|
-
</th><th>
|
|
756
|
-
|
|
757
|
-
Description
|
|
758
|
-
|
|
759
|
-
</th></tr></thead>
|
|
760
|
-
<tbody><tr><td>
|
|
761
|
-
|
|
762
|
-
line
|
|
763
|
-
|
|
764
|
-
</td><td>
|
|
765
|
-
|
|
766
|
-
Array<number>
|
|
767
|
-
|
|
768
|
-
</td><td>
|
|
769
|
-
|
|
770
|
-
Coordinate group
|
|
771
|
-
|
|
772
|
-
</td></tr>
|
|
773
|
-
</tbody></table>
|
|
774
|
-
|
|
775
|
-
## Returns
|
|
776
|
-
|
|
777
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
778
|
-
|
|
779
|
-
Polygon primitive object
|
|
780
|
-
|
|
781
|
-
## Example
|
|
782
|
-
|
|
783
|
-
```javascript
|
|
784
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
785
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
786
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
787
|
-
|
|
788
|
-
// 2. 创建一个 4 顶点矩形测试多边形(SCH 坐标单位 10mil)
|
|
789
|
-
const rect = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
790
|
-
const polygon = await eda.sch_PrimitivePolygon.create(rect, '#FF0000');
|
|
791
|
-
|
|
792
|
-
// 3. 切换异步模式,改为 3 顶点三角形
|
|
793
|
-
const asyncPolygon = polygon.toAsync();
|
|
794
|
-
asyncPolygon.setState_Line([x, y, x + 400, y, x + 200, y + 350]);
|
|
795
|
-
await asyncPolygon.done();
|
|
796
|
-
|
|
797
|
-
// 4. 从画布重新读取,确认形状已替换(保留现场供观察)
|
|
798
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
799
|
-
|
|
800
|
-
console.log('line:', JSON.stringify(rect), '→', JSON.stringify(refetched.getState_Line()));
|
|
801
|
-
```
|
|
802
|
-
|
|
803
|
-
### setstate_linetype
|
|
804
|
-
|
|
805
|
-
# ISCH\_PrimitivePolygon.setState\_LineType() method
|
|
806
|
-
|
|
807
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
808
|
-
|
|
809
|
-
Set the property state: line type
|
|
810
|
-
|
|
811
|
-
## Signature
|
|
812
|
-
|
|
813
|
-
```typescript
|
|
814
|
-
function setState_LineType(lineType: ESCH_PrimitiveLineType | null): ISCH_PrimitivePolygon;
|
|
815
|
-
```
|
|
816
|
-
|
|
817
|
-
## Parameters
|
|
818
|
-
|
|
819
|
-
<table><thead><tr><th>
|
|
820
|
-
|
|
821
|
-
Parameter
|
|
822
|
-
|
|
823
|
-
</th><th>
|
|
824
|
-
|
|
825
|
-
Type
|
|
826
|
-
|
|
827
|
-
</th><th>
|
|
828
|
-
|
|
829
|
-
Description
|
|
830
|
-
|
|
831
|
-
</th></tr></thead>
|
|
832
|
-
<tbody><tr><td>
|
|
833
|
-
|
|
834
|
-
lineType
|
|
835
|
-
|
|
836
|
-
</td><td>
|
|
837
|
-
|
|
838
|
-
[ESCH\_PrimitiveLineType](../enums/ESCH_PrimitiveLineType.md) \| null
|
|
839
|
-
|
|
840
|
-
</td><td>
|
|
841
|
-
|
|
842
|
-
Line type
|
|
843
|
-
|
|
844
|
-
</td></tr>
|
|
845
|
-
</tbody></table>
|
|
846
|
-
|
|
847
|
-
## Returns
|
|
848
|
-
|
|
849
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
850
|
-
|
|
851
|
-
Polygon primitive object
|
|
852
|
-
|
|
853
|
-
## Example
|
|
854
|
-
|
|
855
|
-
```javascript
|
|
856
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
857
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
858
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
859
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
860
|
-
|
|
861
|
-
// 2. 创建一个实线边框的测试多边形(末参 0 = SOLID)
|
|
862
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
863
|
-
|
|
864
|
-
// 3. 切换异步模式并改为虚线(1 = DASHED)
|
|
865
|
-
const asyncPolygon = polygon.toAsync();
|
|
866
|
-
asyncPolygon.setState_LineType(1);
|
|
867
|
-
await asyncPolygon.done();
|
|
868
|
-
|
|
869
|
-
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
870
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
871
|
-
|
|
872
|
-
console.log('lineType:', 0, '→', refetched.getState_LineType());
|
|
873
|
-
```
|
|
874
|
-
|
|
875
|
-
### setstate_linewidth
|
|
876
|
-
|
|
877
|
-
# ISCH\_PrimitivePolygon.setState\_LineWidth() method
|
|
878
|
-
|
|
879
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
880
|
-
|
|
881
|
-
Set the property state: Line width
|
|
882
|
-
|
|
883
|
-
## Signature
|
|
884
|
-
|
|
885
|
-
```typescript
|
|
886
|
-
function setState_LineWidth(lineWidth: number | null): ISCH_PrimitivePolygon;
|
|
887
|
-
```
|
|
888
|
-
|
|
889
|
-
## Parameters
|
|
890
|
-
|
|
891
|
-
<table><thead><tr><th>
|
|
892
|
-
|
|
893
|
-
Parameter
|
|
894
|
-
|
|
895
|
-
</th><th>
|
|
896
|
-
|
|
897
|
-
Type
|
|
898
|
-
|
|
899
|
-
</th><th>
|
|
900
|
-
|
|
901
|
-
Description
|
|
902
|
-
|
|
903
|
-
</th></tr></thead>
|
|
904
|
-
<tbody><tr><td>
|
|
905
|
-
|
|
906
|
-
lineWidth
|
|
907
|
-
|
|
908
|
-
</td><td>
|
|
909
|
-
|
|
910
|
-
number \| null
|
|
911
|
-
|
|
912
|
-
</td><td>
|
|
913
|
-
|
|
914
|
-
Line width
|
|
915
|
-
|
|
916
|
-
</td></tr>
|
|
917
|
-
</tbody></table>
|
|
918
|
-
|
|
919
|
-
## Returns
|
|
920
|
-
|
|
921
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
922
|
-
|
|
923
|
-
Polygon primitive object
|
|
924
|
-
|
|
925
|
-
## Example
|
|
926
|
-
|
|
927
|
-
```javascript
|
|
928
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
929
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
930
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
931
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
932
|
-
|
|
933
|
-
// 2. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
934
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
935
|
-
|
|
936
|
-
// 3. 切换异步模式并加粗到 10
|
|
937
|
-
const asyncPolygon = polygon.toAsync();
|
|
938
|
-
asyncPolygon.setState_LineWidth(10);
|
|
939
|
-
await asyncPolygon.done();
|
|
940
|
-
|
|
941
|
-
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
942
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
943
|
-
|
|
944
|
-
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
945
|
-
```
|
|
946
|
-
|
|
947
|
-
### toasync
|
|
948
|
-
|
|
949
|
-
# ISCH\_PrimitivePolygon.toAsync() method
|
|
950
|
-
|
|
951
|
-
Convert Primitive to Async primitive
|
|
952
|
-
|
|
953
|
-
## Signature
|
|
954
|
-
|
|
955
|
-
```typescript
|
|
956
|
-
function toAsync(): ISCH_PrimitivePolygon;
|
|
957
|
-
```
|
|
958
|
-
|
|
959
|
-
## Returns
|
|
960
|
-
|
|
961
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
962
|
-
|
|
963
|
-
Polygon primitive object
|
|
964
|
-
|
|
965
|
-
## Example
|
|
966
|
-
|
|
967
|
-
```javascript
|
|
968
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
969
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
970
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
971
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
972
|
-
|
|
973
|
-
// 2. 创建一个测试多边形(创建后默认已处于异步模式)
|
|
974
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
975
|
-
|
|
976
|
-
// 3. 转换为异步图元,修改边线颜色后提交
|
|
977
|
-
const asyncPolygon = polygon.toAsync();
|
|
978
|
-
asyncPolygon.setState_Color('#00AA00');
|
|
979
|
-
await asyncPolygon.done();
|
|
980
|
-
|
|
981
|
-
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
982
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
983
|
-
|
|
984
|
-
console.log('isAsync after toAsync:', polygon.isAsync());
|
|
985
|
-
console.log('color:', '#00AA00', '→', refetched.getState_Color());
|
|
986
|
-
```
|
|
987
|
-
|
|
988
|
-
### tosync
|
|
989
|
-
|
|
990
|
-
# ISCH\_PrimitivePolygon.toSync() method
|
|
991
|
-
|
|
992
|
-
Convert Primitive to Sync primitive
|
|
993
|
-
|
|
994
|
-
## Signature
|
|
995
|
-
|
|
996
|
-
```typescript
|
|
997
|
-
function toSync(): ISCH_PrimitivePolygon;
|
|
998
|
-
```
|
|
999
|
-
|
|
1000
|
-
## Returns
|
|
1001
|
-
|
|
1002
|
-
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
1003
|
-
|
|
1004
|
-
Polygon primitive object
|
|
1005
|
-
|
|
1006
|
-
## Example
|
|
1007
|
-
|
|
1008
|
-
```javascript
|
|
1009
|
-
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
1010
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
1011
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
1012
|
-
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
1013
|
-
|
|
1014
|
-
// 2. 创建一个测试多边形(创建后默认处于异步模式)
|
|
1015
|
-
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
1016
|
-
|
|
1017
|
-
// 3. 转换为同步图元
|
|
1018
|
-
const syncPolygon = polygon.toSync();
|
|
1019
|
-
|
|
1020
|
-
// 4. 同步模式下加粗边线,立即生效,无需 done()
|
|
1021
|
-
syncPolygon.setState_LineWidth(15);
|
|
1022
|
-
|
|
1023
|
-
// 5. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
1024
|
-
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
1025
|
-
|
|
1026
|
-
console.log('isAsync after toSync:', polygon.isAsync());
|
|
1027
|
-
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
1028
|
-
```
|
|
1
|
+
# ISCH\_PrimitivePolygon class
|
|
2
|
+
|
|
3
|
+
Polygon (polyline) primitive
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class ISCH_PrimitivePolygon implements ISCH_Primitive
|
|
9
|
+
```
|
|
10
|
+
**Implements:** [ISCH\_Primitive](../interfaces/ISCH_Primitive.md)
|
|
11
|
+
|
|
12
|
+
## Remarks
|
|
13
|
+
|
|
14
|
+
## Methods
|
|
15
|
+
|
|
16
|
+
<table><thead><tr><th>
|
|
17
|
+
|
|
18
|
+
Method
|
|
19
|
+
|
|
20
|
+
</th><th>
|
|
21
|
+
|
|
22
|
+
Modifiers
|
|
23
|
+
|
|
24
|
+
</th><th>
|
|
25
|
+
|
|
26
|
+
Description
|
|
27
|
+
|
|
28
|
+
</th></tr></thead>
|
|
29
|
+
<tbody><tr><td>
|
|
30
|
+
|
|
31
|
+
[done()](./ISCH_PrimitivePolygon.md)
|
|
32
|
+
|
|
33
|
+
</td><td>
|
|
34
|
+
|
|
35
|
+
</td><td>
|
|
36
|
+
|
|
37
|
+
**_(BETA)_** Apply the changes to the primitives to the canvas
|
|
38
|
+
|
|
39
|
+
</td></tr>
|
|
40
|
+
<tr><td>
|
|
41
|
+
|
|
42
|
+
[getState\_Color()](./ISCH_PrimitivePolygon.md)
|
|
43
|
+
|
|
44
|
+
</td><td>
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
Get the property state: color
|
|
49
|
+
|
|
50
|
+
</td></tr>
|
|
51
|
+
<tr><td>
|
|
52
|
+
|
|
53
|
+
[getState\_FillColor()](./ISCH_PrimitivePolygon.md)
|
|
54
|
+
|
|
55
|
+
</td><td>
|
|
56
|
+
|
|
57
|
+
</td><td>
|
|
58
|
+
|
|
59
|
+
Get the property state: fill color
|
|
60
|
+
|
|
61
|
+
</td></tr>
|
|
62
|
+
<tr><td>
|
|
63
|
+
|
|
64
|
+
[getState\_Line()](./ISCH_PrimitivePolygon.md)
|
|
65
|
+
|
|
66
|
+
</td><td>
|
|
67
|
+
|
|
68
|
+
</td><td>
|
|
69
|
+
|
|
70
|
+
Get the property state: coordinate group
|
|
71
|
+
|
|
72
|
+
</td></tr>
|
|
73
|
+
<tr><td>
|
|
74
|
+
|
|
75
|
+
[getState\_LineType()](./ISCH_PrimitivePolygon.md)
|
|
76
|
+
|
|
77
|
+
</td><td>
|
|
78
|
+
|
|
79
|
+
</td><td>
|
|
80
|
+
|
|
81
|
+
Get the property state: line type
|
|
82
|
+
|
|
83
|
+
</td></tr>
|
|
84
|
+
<tr><td>
|
|
85
|
+
|
|
86
|
+
[getState\_LineWidth()](./ISCH_PrimitivePolygon.md)
|
|
87
|
+
|
|
88
|
+
</td><td>
|
|
89
|
+
|
|
90
|
+
</td><td>
|
|
91
|
+
|
|
92
|
+
Get the property state: Line width
|
|
93
|
+
|
|
94
|
+
</td></tr>
|
|
95
|
+
<tr><td>
|
|
96
|
+
|
|
97
|
+
[getState\_PrimitiveId()](./ISCH_PrimitivePolygon.md)
|
|
98
|
+
|
|
99
|
+
</td><td>
|
|
100
|
+
|
|
101
|
+
</td><td>
|
|
102
|
+
|
|
103
|
+
Get the property state: primitive ID
|
|
104
|
+
|
|
105
|
+
</td></tr>
|
|
106
|
+
<tr><td>
|
|
107
|
+
|
|
108
|
+
[getState\_PrimitiveType()](./ISCH_PrimitivePolygon.md)
|
|
109
|
+
|
|
110
|
+
</td><td>
|
|
111
|
+
|
|
112
|
+
</td><td>
|
|
113
|
+
|
|
114
|
+
Get the property state: primitive type
|
|
115
|
+
|
|
116
|
+
</td></tr>
|
|
117
|
+
<tr><td>
|
|
118
|
+
|
|
119
|
+
[isAsync()](./ISCH_PrimitivePolygon.md)
|
|
120
|
+
|
|
121
|
+
</td><td>
|
|
122
|
+
|
|
123
|
+
</td><td>
|
|
124
|
+
|
|
125
|
+
Query whether the primitive is an async primitive
|
|
126
|
+
|
|
127
|
+
</td></tr>
|
|
128
|
+
<tr><td>
|
|
129
|
+
|
|
130
|
+
[reset()](./ISCH_PrimitivePolygon.md)
|
|
131
|
+
|
|
132
|
+
</td><td>
|
|
133
|
+
|
|
134
|
+
</td><td>
|
|
135
|
+
|
|
136
|
+
**_(BETA)_** Reset the async primitive to the current canvas state
|
|
137
|
+
|
|
138
|
+
</td></tr>
|
|
139
|
+
<tr><td>
|
|
140
|
+
|
|
141
|
+
[setState\_Color(color)](./ISCH_PrimitivePolygon.md)
|
|
142
|
+
|
|
143
|
+
</td><td>
|
|
144
|
+
|
|
145
|
+
</td><td>
|
|
146
|
+
|
|
147
|
+
**_(BETA)_** Set the property state: color
|
|
148
|
+
|
|
149
|
+
</td></tr>
|
|
150
|
+
<tr><td>
|
|
151
|
+
|
|
152
|
+
[setState\_FillColor(fillColor)](./ISCH_PrimitivePolygon.md)
|
|
153
|
+
|
|
154
|
+
</td><td>
|
|
155
|
+
|
|
156
|
+
</td><td>
|
|
157
|
+
|
|
158
|
+
**_(BETA)_** Set the property state: fill color
|
|
159
|
+
|
|
160
|
+
</td></tr>
|
|
161
|
+
<tr><td>
|
|
162
|
+
|
|
163
|
+
[setState\_Line(line)](./ISCH_PrimitivePolygon.md)
|
|
164
|
+
|
|
165
|
+
</td><td>
|
|
166
|
+
|
|
167
|
+
</td><td>
|
|
168
|
+
|
|
169
|
+
**_(BETA)_** Set the property state: coordinate group
|
|
170
|
+
|
|
171
|
+
</td></tr>
|
|
172
|
+
<tr><td>
|
|
173
|
+
|
|
174
|
+
[setState\_LineType(lineType)](./ISCH_PrimitivePolygon.md)
|
|
175
|
+
|
|
176
|
+
</td><td>
|
|
177
|
+
|
|
178
|
+
</td><td>
|
|
179
|
+
|
|
180
|
+
**_(BETA)_** Set the property state: line type
|
|
181
|
+
|
|
182
|
+
</td></tr>
|
|
183
|
+
<tr><td>
|
|
184
|
+
|
|
185
|
+
[setState\_LineWidth(lineWidth)](./ISCH_PrimitivePolygon.md)
|
|
186
|
+
|
|
187
|
+
</td><td>
|
|
188
|
+
|
|
189
|
+
</td><td>
|
|
190
|
+
|
|
191
|
+
**_(BETA)_** Set the property state: Line width
|
|
192
|
+
|
|
193
|
+
</td></tr>
|
|
194
|
+
<tr><td>
|
|
195
|
+
|
|
196
|
+
[toAsync()](./ISCH_PrimitivePolygon.md)
|
|
197
|
+
|
|
198
|
+
</td><td>
|
|
199
|
+
|
|
200
|
+
</td><td>
|
|
201
|
+
|
|
202
|
+
Convert Primitive to Async primitive
|
|
203
|
+
|
|
204
|
+
</td></tr>
|
|
205
|
+
<tr><td>
|
|
206
|
+
|
|
207
|
+
[toSync()](./ISCH_PrimitivePolygon.md)
|
|
208
|
+
|
|
209
|
+
</td><td>
|
|
210
|
+
|
|
211
|
+
</td><td>
|
|
212
|
+
|
|
213
|
+
Convert Primitive to Sync primitive
|
|
214
|
+
|
|
215
|
+
</td></tr>
|
|
216
|
+
</tbody></table>
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 方法详情
|
|
221
|
+
|
|
222
|
+
### done
|
|
223
|
+
|
|
224
|
+
# ISCH\_PrimitivePolygon.done() method
|
|
225
|
+
|
|
226
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
227
|
+
|
|
228
|
+
Apply the changes to the primitives to the canvas
|
|
229
|
+
|
|
230
|
+
## Signature
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
function done(): Promise<ISCH_PrimitivePolygon>;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Returns
|
|
237
|
+
|
|
238
|
+
Promise<[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)<!-- -->>
|
|
239
|
+
|
|
240
|
+
Polygon primitive object
|
|
241
|
+
|
|
242
|
+
## Example
|
|
243
|
+
|
|
244
|
+
```javascript
|
|
245
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
246
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
247
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
248
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
249
|
+
|
|
250
|
+
// 2. 创建一个测试多边形:4 顶点矩形、线宽 6(SCH 坐标单位 10mil)
|
|
251
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
252
|
+
|
|
253
|
+
// 3. 切换异步模式,累计两处修改(加粗边线 + 改颜色)
|
|
254
|
+
const asyncPolygon = polygon.toAsync();
|
|
255
|
+
asyncPolygon.setState_LineWidth(10);
|
|
256
|
+
asyncPolygon.setState_Color('#00AA00');
|
|
257
|
+
|
|
258
|
+
// 4. 一次性提交到画布
|
|
259
|
+
await asyncPolygon.done();
|
|
260
|
+
|
|
261
|
+
// 5. 从画布重新读取,确认两处修改都已生效(保留现场供观察)
|
|
262
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
263
|
+
|
|
264
|
+
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
265
|
+
console.log('color:', '#00AA00', '→', refetched.getState_Color());
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### getstate_color
|
|
269
|
+
|
|
270
|
+
# ISCH\_PrimitivePolygon.getState\_Color() method
|
|
271
|
+
|
|
272
|
+
Get the property state: color
|
|
273
|
+
|
|
274
|
+
## Signature
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
function getState_Color(): string | null;
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Returns
|
|
281
|
+
|
|
282
|
+
string \| null
|
|
283
|
+
|
|
284
|
+
Color
|
|
285
|
+
|
|
286
|
+
## Example
|
|
287
|
+
|
|
288
|
+
```javascript
|
|
289
|
+
// 1. 创建一个红色轮廓的测试多边形(SCH 坐标单位 10mil)
|
|
290
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
291
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
292
|
+
|
|
293
|
+
// 2. 读取轮廓颜色
|
|
294
|
+
const color = polygon.getState_Color();
|
|
295
|
+
|
|
296
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
297
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
298
|
+
|
|
299
|
+
console.log('color:', color);
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### getstate_fillcolor
|
|
303
|
+
|
|
304
|
+
# ISCH\_PrimitivePolygon.getState\_FillColor() method
|
|
305
|
+
|
|
306
|
+
Get the property state: fill color
|
|
307
|
+
|
|
308
|
+
## Signature
|
|
309
|
+
|
|
310
|
+
```typescript
|
|
311
|
+
function getState_FillColor(): string | null;
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## Returns
|
|
315
|
+
|
|
316
|
+
string \| null
|
|
317
|
+
|
|
318
|
+
Fill color
|
|
319
|
+
|
|
320
|
+
## Example
|
|
321
|
+
|
|
322
|
+
```javascript
|
|
323
|
+
// 1. 创建一个黄色填充的测试多边形(SCH 坐标单位 10mil)
|
|
324
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
325
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', '#FFFF00');
|
|
326
|
+
|
|
327
|
+
// 2. 读取填充颜色
|
|
328
|
+
const fillColor = polygon.getState_FillColor();
|
|
329
|
+
|
|
330
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
331
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
332
|
+
|
|
333
|
+
console.log('fillColor:', fillColor);
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### getstate_line
|
|
337
|
+
|
|
338
|
+
# ISCH\_PrimitivePolygon.getState\_Line() method
|
|
339
|
+
|
|
340
|
+
Get the property state: coordinate group
|
|
341
|
+
|
|
342
|
+
## Signature
|
|
343
|
+
|
|
344
|
+
```typescript
|
|
345
|
+
function getState_Line(): Array<number>;
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
## Returns
|
|
349
|
+
|
|
350
|
+
Array<number>
|
|
351
|
+
|
|
352
|
+
Coordinate group
|
|
353
|
+
|
|
354
|
+
## Example
|
|
355
|
+
|
|
356
|
+
```javascript
|
|
357
|
+
// 1. 创建一个 4 顶点矩形测试多边形(SCH 坐标单位 10mil)
|
|
358
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
359
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
360
|
+
|
|
361
|
+
// 2. 读取顶点坐标组
|
|
362
|
+
const coords = polygon.getState_Line();
|
|
363
|
+
|
|
364
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
365
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
366
|
+
|
|
367
|
+
console.log('line:', JSON.stringify(coords));
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### getstate_linetype
|
|
371
|
+
|
|
372
|
+
# ISCH\_PrimitivePolygon.getState\_LineType() method
|
|
373
|
+
|
|
374
|
+
Get the property state: line type
|
|
375
|
+
|
|
376
|
+
## Signature
|
|
377
|
+
|
|
378
|
+
```typescript
|
|
379
|
+
function getState_LineType(): ESCH_PrimitiveLineType | null;
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## Returns
|
|
383
|
+
|
|
384
|
+
[ESCH\_PrimitiveLineType](../enums/ESCH_PrimitiveLineType.md) \| null
|
|
385
|
+
|
|
386
|
+
Line type
|
|
387
|
+
|
|
388
|
+
## Example
|
|
389
|
+
|
|
390
|
+
```javascript
|
|
391
|
+
// 1. 创建一个虚线边框的测试多边形(末参 1 = DASHED,SCH 坐标单位 10mil)
|
|
392
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
393
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 1);
|
|
394
|
+
|
|
395
|
+
// 2. 读取线型
|
|
396
|
+
const lineType = polygon.getState_LineType();
|
|
397
|
+
|
|
398
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
399
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
400
|
+
|
|
401
|
+
console.log('lineType:', lineType);
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### getstate_linewidth
|
|
405
|
+
|
|
406
|
+
# ISCH\_PrimitivePolygon.getState\_LineWidth() method
|
|
407
|
+
|
|
408
|
+
Get the property state: Line width
|
|
409
|
+
|
|
410
|
+
## Signature
|
|
411
|
+
|
|
412
|
+
```typescript
|
|
413
|
+
function getState_LineWidth(): number | null;
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
## Returns
|
|
417
|
+
|
|
418
|
+
number \| null
|
|
419
|
+
|
|
420
|
+
Line width
|
|
421
|
+
|
|
422
|
+
## Example
|
|
423
|
+
|
|
424
|
+
```javascript
|
|
425
|
+
// 1. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
426
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
427
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
428
|
+
|
|
429
|
+
// 2. 读取线宽
|
|
430
|
+
const lineWidth = polygon.getState_LineWidth();
|
|
431
|
+
|
|
432
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
433
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
434
|
+
|
|
435
|
+
console.log('lineWidth:', lineWidth);
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### getstate_primitiveid
|
|
439
|
+
|
|
440
|
+
# ISCH\_PrimitivePolygon.getState\_PrimitiveId() method
|
|
441
|
+
|
|
442
|
+
Get the property state: primitive ID
|
|
443
|
+
|
|
444
|
+
## Signature
|
|
445
|
+
|
|
446
|
+
```typescript
|
|
447
|
+
function getState_PrimitiveId(): string;
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
## Returns
|
|
451
|
+
|
|
452
|
+
string
|
|
453
|
+
|
|
454
|
+
Primitive ID
|
|
455
|
+
|
|
456
|
+
## Example
|
|
457
|
+
|
|
458
|
+
```javascript
|
|
459
|
+
// 1. 创建一个测试多边形:4 个顶点构成矩形(SCH 坐标单位 10mil,line 为 [x1,y1, x2,y2, x3,y3, x4,y4] 扁平数组)
|
|
460
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
461
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
462
|
+
|
|
463
|
+
// 2. 读取图元 ID
|
|
464
|
+
const primitiveId = polygon.getState_PrimitiveId();
|
|
465
|
+
|
|
466
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
467
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
468
|
+
|
|
469
|
+
console.log('primitiveId:', primitiveId);
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### getstate_primitivetype
|
|
473
|
+
|
|
474
|
+
# ISCH\_PrimitivePolygon.getState\_PrimitiveType() method
|
|
475
|
+
|
|
476
|
+
Get the property state: primitive type
|
|
477
|
+
|
|
478
|
+
## Signature
|
|
479
|
+
|
|
480
|
+
```typescript
|
|
481
|
+
function getState_PrimitiveType(): ESCH_PrimitiveType;
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
## Returns
|
|
485
|
+
|
|
486
|
+
[ESCH\_PrimitiveType](../enums/ESCH_PrimitiveType.md)
|
|
487
|
+
|
|
488
|
+
Primitive type
|
|
489
|
+
|
|
490
|
+
## Example
|
|
491
|
+
|
|
492
|
+
```javascript
|
|
493
|
+
// 1. 创建一个测试多边形(SCH 坐标单位 10mil)
|
|
494
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
495
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
496
|
+
|
|
497
|
+
// 2. 读取图元类型
|
|
498
|
+
const primitiveType = polygon.getState_PrimitiveType();
|
|
499
|
+
|
|
500
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
501
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
502
|
+
|
|
503
|
+
console.log('primitiveType:', primitiveType);
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### isasync
|
|
507
|
+
|
|
508
|
+
# ISCH\_PrimitivePolygon.isAsync() method
|
|
509
|
+
|
|
510
|
+
Query whether the primitive is an async primitive
|
|
511
|
+
|
|
512
|
+
## Signature
|
|
513
|
+
|
|
514
|
+
```typescript
|
|
515
|
+
function isAsync(): boolean;
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
## Returns
|
|
519
|
+
|
|
520
|
+
boolean
|
|
521
|
+
|
|
522
|
+
Whether Is async primitive
|
|
523
|
+
|
|
524
|
+
## Example
|
|
525
|
+
|
|
526
|
+
```javascript
|
|
527
|
+
// 1. 创建一个测试多边形,创建后默认处于异步模式(SCH 坐标单位 10mil)
|
|
528
|
+
const line = [400, 300, 800, 300, 800, 600, 400, 600];
|
|
529
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
530
|
+
const asyncOnCreate = polygon.isAsync();
|
|
531
|
+
|
|
532
|
+
// 2. 切换到同步模式再查询一次,对比两种模式
|
|
533
|
+
polygon.toSync();
|
|
534
|
+
const asyncAfterToSync = polygon.isAsync();
|
|
535
|
+
|
|
536
|
+
// 3. 清理测试图元(查询类案例不留测试对象)
|
|
537
|
+
await eda.sch_PrimitivePolygon.delete([polygon.getState_PrimitiveId()]);
|
|
538
|
+
|
|
539
|
+
console.log('isAsync on create:', asyncOnCreate);
|
|
540
|
+
console.log('isAsync after toSync:', asyncAfterToSync);
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
### reset
|
|
544
|
+
|
|
545
|
+
# ISCH\_PrimitivePolygon.reset() method
|
|
546
|
+
|
|
547
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
548
|
+
|
|
549
|
+
Reset the async primitive to the current canvas state
|
|
550
|
+
|
|
551
|
+
## Signature
|
|
552
|
+
|
|
553
|
+
```typescript
|
|
554
|
+
function reset(): Promise<ISCH_PrimitivePolygon>;
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
## Returns
|
|
558
|
+
|
|
559
|
+
Promise<[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)<!-- -->>
|
|
560
|
+
|
|
561
|
+
Polygon primitive object
|
|
562
|
+
|
|
563
|
+
## Example
|
|
564
|
+
|
|
565
|
+
```javascript
|
|
566
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
567
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
568
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
569
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
570
|
+
|
|
571
|
+
// 2. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
572
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
573
|
+
|
|
574
|
+
// 3. 切换异步模式,累计一处未提交的线宽修改(6 → 99)
|
|
575
|
+
const asyncPolygon = polygon.toAsync();
|
|
576
|
+
asyncPolygon.setState_LineWidth(99);
|
|
577
|
+
|
|
578
|
+
// 4. 重置:丢弃未提交的修改,回到画布当前状态
|
|
579
|
+
await asyncPolygon.reset();
|
|
580
|
+
|
|
581
|
+
// 5. 从画布重新读取,线宽仍是 6(保留现场供观察)
|
|
582
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
583
|
+
|
|
584
|
+
console.log('lineWidth after reset:', refetched.getState_LineWidth());
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
### setstate_color
|
|
588
|
+
|
|
589
|
+
# ISCH\_PrimitivePolygon.setState\_Color() method
|
|
590
|
+
|
|
591
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
592
|
+
|
|
593
|
+
Set the property state: color
|
|
594
|
+
|
|
595
|
+
## Signature
|
|
596
|
+
|
|
597
|
+
```typescript
|
|
598
|
+
function setState_Color(color: string | null): ISCH_PrimitivePolygon;
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
## Parameters
|
|
602
|
+
|
|
603
|
+
<table><thead><tr><th>
|
|
604
|
+
|
|
605
|
+
Parameter
|
|
606
|
+
|
|
607
|
+
</th><th>
|
|
608
|
+
|
|
609
|
+
Type
|
|
610
|
+
|
|
611
|
+
</th><th>
|
|
612
|
+
|
|
613
|
+
Description
|
|
614
|
+
|
|
615
|
+
</th></tr></thead>
|
|
616
|
+
<tbody><tr><td>
|
|
617
|
+
|
|
618
|
+
color
|
|
619
|
+
|
|
620
|
+
</td><td>
|
|
621
|
+
|
|
622
|
+
string \| null
|
|
623
|
+
|
|
624
|
+
</td><td>
|
|
625
|
+
|
|
626
|
+
Color
|
|
627
|
+
|
|
628
|
+
</td></tr>
|
|
629
|
+
</tbody></table>
|
|
630
|
+
|
|
631
|
+
## Returns
|
|
632
|
+
|
|
633
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
634
|
+
|
|
635
|
+
Polygon primitive object
|
|
636
|
+
|
|
637
|
+
## Example
|
|
638
|
+
|
|
639
|
+
```javascript
|
|
640
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
641
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
642
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
643
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
644
|
+
|
|
645
|
+
// 2. 创建一个红色轮廓的测试多边形(SCH 坐标单位 10mil)
|
|
646
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
647
|
+
|
|
648
|
+
// 3. 切换异步模式并改为绿色
|
|
649
|
+
const asyncPolygon = polygon.toAsync();
|
|
650
|
+
asyncPolygon.setState_Color('#00AA00');
|
|
651
|
+
await asyncPolygon.done();
|
|
652
|
+
|
|
653
|
+
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
654
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
655
|
+
|
|
656
|
+
console.log('color:', '#FF0000', '→', refetched.getState_Color());
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
### setstate_fillcolor
|
|
660
|
+
|
|
661
|
+
# ISCH\_PrimitivePolygon.setState\_FillColor() method
|
|
662
|
+
|
|
663
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
664
|
+
|
|
665
|
+
Set the property state: fill color
|
|
666
|
+
|
|
667
|
+
## Signature
|
|
668
|
+
|
|
669
|
+
```typescript
|
|
670
|
+
function setState_FillColor(fillColor: string | null): ISCH_PrimitivePolygon;
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
## Parameters
|
|
674
|
+
|
|
675
|
+
<table><thead><tr><th>
|
|
676
|
+
|
|
677
|
+
Parameter
|
|
678
|
+
|
|
679
|
+
</th><th>
|
|
680
|
+
|
|
681
|
+
Type
|
|
682
|
+
|
|
683
|
+
</th><th>
|
|
684
|
+
|
|
685
|
+
Description
|
|
686
|
+
|
|
687
|
+
</th></tr></thead>
|
|
688
|
+
<tbody><tr><td>
|
|
689
|
+
|
|
690
|
+
fillColor
|
|
691
|
+
|
|
692
|
+
</td><td>
|
|
693
|
+
|
|
694
|
+
string \| null
|
|
695
|
+
|
|
696
|
+
</td><td>
|
|
697
|
+
|
|
698
|
+
Fill color
|
|
699
|
+
|
|
700
|
+
</td></tr>
|
|
701
|
+
</tbody></table>
|
|
702
|
+
|
|
703
|
+
## Returns
|
|
704
|
+
|
|
705
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
706
|
+
|
|
707
|
+
Polygon primitive object
|
|
708
|
+
|
|
709
|
+
## Example
|
|
710
|
+
|
|
711
|
+
```javascript
|
|
712
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
713
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
714
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
715
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
716
|
+
|
|
717
|
+
// 2. 创建一个黄色填充的测试多边形(SCH 坐标单位 10mil)
|
|
718
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', '#FFFF00');
|
|
719
|
+
|
|
720
|
+
// 3. 切换异步模式并改为浅绿填充
|
|
721
|
+
const asyncPolygon = polygon.toAsync();
|
|
722
|
+
asyncPolygon.setState_FillColor('#AAFFAA');
|
|
723
|
+
await asyncPolygon.done();
|
|
724
|
+
|
|
725
|
+
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
726
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
727
|
+
|
|
728
|
+
console.log('fillColor:', '#FFFF00', '→', refetched.getState_FillColor());
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
### setstate_line
|
|
732
|
+
|
|
733
|
+
# ISCH\_PrimitivePolygon.setState\_Line() method
|
|
734
|
+
|
|
735
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
736
|
+
|
|
737
|
+
Set the property state: coordinate group
|
|
738
|
+
|
|
739
|
+
## Signature
|
|
740
|
+
|
|
741
|
+
```typescript
|
|
742
|
+
function setState_Line(line: Array<number>): ISCH_PrimitivePolygon;
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
## Parameters
|
|
746
|
+
|
|
747
|
+
<table><thead><tr><th>
|
|
748
|
+
|
|
749
|
+
Parameter
|
|
750
|
+
|
|
751
|
+
</th><th>
|
|
752
|
+
|
|
753
|
+
Type
|
|
754
|
+
|
|
755
|
+
</th><th>
|
|
756
|
+
|
|
757
|
+
Description
|
|
758
|
+
|
|
759
|
+
</th></tr></thead>
|
|
760
|
+
<tbody><tr><td>
|
|
761
|
+
|
|
762
|
+
line
|
|
763
|
+
|
|
764
|
+
</td><td>
|
|
765
|
+
|
|
766
|
+
Array<number>
|
|
767
|
+
|
|
768
|
+
</td><td>
|
|
769
|
+
|
|
770
|
+
Coordinate group
|
|
771
|
+
|
|
772
|
+
</td></tr>
|
|
773
|
+
</tbody></table>
|
|
774
|
+
|
|
775
|
+
## Returns
|
|
776
|
+
|
|
777
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
778
|
+
|
|
779
|
+
Polygon primitive object
|
|
780
|
+
|
|
781
|
+
## Example
|
|
782
|
+
|
|
783
|
+
```javascript
|
|
784
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
785
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
786
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
787
|
+
|
|
788
|
+
// 2. 创建一个 4 顶点矩形测试多边形(SCH 坐标单位 10mil)
|
|
789
|
+
const rect = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
790
|
+
const polygon = await eda.sch_PrimitivePolygon.create(rect, '#FF0000');
|
|
791
|
+
|
|
792
|
+
// 3. 切换异步模式,改为 3 顶点三角形
|
|
793
|
+
const asyncPolygon = polygon.toAsync();
|
|
794
|
+
asyncPolygon.setState_Line([x, y, x + 400, y, x + 200, y + 350]);
|
|
795
|
+
await asyncPolygon.done();
|
|
796
|
+
|
|
797
|
+
// 4. 从画布重新读取,确认形状已替换(保留现场供观察)
|
|
798
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
799
|
+
|
|
800
|
+
console.log('line:', JSON.stringify(rect), '→', JSON.stringify(refetched.getState_Line()));
|
|
801
|
+
```
|
|
802
|
+
|
|
803
|
+
### setstate_linetype
|
|
804
|
+
|
|
805
|
+
# ISCH\_PrimitivePolygon.setState\_LineType() method
|
|
806
|
+
|
|
807
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
808
|
+
|
|
809
|
+
Set the property state: line type
|
|
810
|
+
|
|
811
|
+
## Signature
|
|
812
|
+
|
|
813
|
+
```typescript
|
|
814
|
+
function setState_LineType(lineType: ESCH_PrimitiveLineType | null): ISCH_PrimitivePolygon;
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
## Parameters
|
|
818
|
+
|
|
819
|
+
<table><thead><tr><th>
|
|
820
|
+
|
|
821
|
+
Parameter
|
|
822
|
+
|
|
823
|
+
</th><th>
|
|
824
|
+
|
|
825
|
+
Type
|
|
826
|
+
|
|
827
|
+
</th><th>
|
|
828
|
+
|
|
829
|
+
Description
|
|
830
|
+
|
|
831
|
+
</th></tr></thead>
|
|
832
|
+
<tbody><tr><td>
|
|
833
|
+
|
|
834
|
+
lineType
|
|
835
|
+
|
|
836
|
+
</td><td>
|
|
837
|
+
|
|
838
|
+
[ESCH\_PrimitiveLineType](../enums/ESCH_PrimitiveLineType.md) \| null
|
|
839
|
+
|
|
840
|
+
</td><td>
|
|
841
|
+
|
|
842
|
+
Line type
|
|
843
|
+
|
|
844
|
+
</td></tr>
|
|
845
|
+
</tbody></table>
|
|
846
|
+
|
|
847
|
+
## Returns
|
|
848
|
+
|
|
849
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
850
|
+
|
|
851
|
+
Polygon primitive object
|
|
852
|
+
|
|
853
|
+
## Example
|
|
854
|
+
|
|
855
|
+
```javascript
|
|
856
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
857
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
858
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
859
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
860
|
+
|
|
861
|
+
// 2. 创建一个实线边框的测试多边形(末参 0 = SOLID)
|
|
862
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
863
|
+
|
|
864
|
+
// 3. 切换异步模式并改为虚线(1 = DASHED)
|
|
865
|
+
const asyncPolygon = polygon.toAsync();
|
|
866
|
+
asyncPolygon.setState_LineType(1);
|
|
867
|
+
await asyncPolygon.done();
|
|
868
|
+
|
|
869
|
+
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
870
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
871
|
+
|
|
872
|
+
console.log('lineType:', 0, '→', refetched.getState_LineType());
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
### setstate_linewidth
|
|
876
|
+
|
|
877
|
+
# ISCH\_PrimitivePolygon.setState\_LineWidth() method
|
|
878
|
+
|
|
879
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
880
|
+
|
|
881
|
+
Set the property state: Line width
|
|
882
|
+
|
|
883
|
+
## Signature
|
|
884
|
+
|
|
885
|
+
```typescript
|
|
886
|
+
function setState_LineWidth(lineWidth: number | null): ISCH_PrimitivePolygon;
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
## Parameters
|
|
890
|
+
|
|
891
|
+
<table><thead><tr><th>
|
|
892
|
+
|
|
893
|
+
Parameter
|
|
894
|
+
|
|
895
|
+
</th><th>
|
|
896
|
+
|
|
897
|
+
Type
|
|
898
|
+
|
|
899
|
+
</th><th>
|
|
900
|
+
|
|
901
|
+
Description
|
|
902
|
+
|
|
903
|
+
</th></tr></thead>
|
|
904
|
+
<tbody><tr><td>
|
|
905
|
+
|
|
906
|
+
lineWidth
|
|
907
|
+
|
|
908
|
+
</td><td>
|
|
909
|
+
|
|
910
|
+
number \| null
|
|
911
|
+
|
|
912
|
+
</td><td>
|
|
913
|
+
|
|
914
|
+
Line width
|
|
915
|
+
|
|
916
|
+
</td></tr>
|
|
917
|
+
</tbody></table>
|
|
918
|
+
|
|
919
|
+
## Returns
|
|
920
|
+
|
|
921
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
922
|
+
|
|
923
|
+
Polygon primitive object
|
|
924
|
+
|
|
925
|
+
## Example
|
|
926
|
+
|
|
927
|
+
```javascript
|
|
928
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
929
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
930
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
931
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
932
|
+
|
|
933
|
+
// 2. 创建一个线宽 6 的测试多边形(SCH 坐标单位 10mil)
|
|
934
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
935
|
+
|
|
936
|
+
// 3. 切换异步模式并加粗到 10
|
|
937
|
+
const asyncPolygon = polygon.toAsync();
|
|
938
|
+
asyncPolygon.setState_LineWidth(10);
|
|
939
|
+
await asyncPolygon.done();
|
|
940
|
+
|
|
941
|
+
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
942
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
943
|
+
|
|
944
|
+
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
945
|
+
```
|
|
946
|
+
|
|
947
|
+
### toasync
|
|
948
|
+
|
|
949
|
+
# ISCH\_PrimitivePolygon.toAsync() method
|
|
950
|
+
|
|
951
|
+
Convert Primitive to Async primitive
|
|
952
|
+
|
|
953
|
+
## Signature
|
|
954
|
+
|
|
955
|
+
```typescript
|
|
956
|
+
function toAsync(): ISCH_PrimitivePolygon;
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
## Returns
|
|
960
|
+
|
|
961
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
962
|
+
|
|
963
|
+
Polygon primitive object
|
|
964
|
+
|
|
965
|
+
## Example
|
|
966
|
+
|
|
967
|
+
```javascript
|
|
968
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
969
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
970
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
971
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
972
|
+
|
|
973
|
+
// 2. 创建一个测试多边形(创建后默认已处于异步模式)
|
|
974
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000');
|
|
975
|
+
|
|
976
|
+
// 3. 转换为异步图元,修改边线颜色后提交
|
|
977
|
+
const asyncPolygon = polygon.toAsync();
|
|
978
|
+
asyncPolygon.setState_Color('#00AA00');
|
|
979
|
+
await asyncPolygon.done();
|
|
980
|
+
|
|
981
|
+
// 4. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
982
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
983
|
+
|
|
984
|
+
console.log('isAsync after toAsync:', polygon.isAsync());
|
|
985
|
+
console.log('color:', '#00AA00', '→', refetched.getState_Color());
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
### tosync
|
|
989
|
+
|
|
990
|
+
# ISCH\_PrimitivePolygon.toSync() method
|
|
991
|
+
|
|
992
|
+
Convert Primitive to Sync primitive
|
|
993
|
+
|
|
994
|
+
## Signature
|
|
995
|
+
|
|
996
|
+
```typescript
|
|
997
|
+
function toSync(): ISCH_PrimitivePolygon;
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
## Returns
|
|
1001
|
+
|
|
1002
|
+
[ISCH\_PrimitivePolygon](./ISCH_PrimitivePolygon.md)
|
|
1003
|
+
|
|
1004
|
+
Polygon primitive object
|
|
1005
|
+
|
|
1006
|
+
## Example
|
|
1007
|
+
|
|
1008
|
+
```javascript
|
|
1009
|
+
// 1. 生成本次运行专用的坐标,避免与之前保留的测试多边形重合
|
|
1010
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
1011
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
1012
|
+
const line = [x, y, x + 400, y, x + 400, y + 300, x, y + 300];
|
|
1013
|
+
|
|
1014
|
+
// 2. 创建一个测试多边形(创建后默认处于异步模式)
|
|
1015
|
+
const polygon = await eda.sch_PrimitivePolygon.create(line, '#FF0000', null, 6, 0);
|
|
1016
|
+
|
|
1017
|
+
// 3. 转换为同步图元
|
|
1018
|
+
const syncPolygon = polygon.toSync();
|
|
1019
|
+
|
|
1020
|
+
// 4. 同步模式下加粗边线,立即生效,无需 done()
|
|
1021
|
+
syncPolygon.setState_LineWidth(15);
|
|
1022
|
+
|
|
1023
|
+
// 5. 从画布重新读取,确认修改已生效(保留现场供观察)
|
|
1024
|
+
const refetched = await eda.sch_PrimitivePolygon.get(polygon.getState_PrimitiveId());
|
|
1025
|
+
|
|
1026
|
+
console.log('isAsync after toSync:', polygon.isAsync());
|
|
1027
|
+
console.log('lineWidth:', 6, '→', refetched.getState_LineWidth());
|
|
1028
|
+
```
|