[{"data":1,"prerenderedAt":1930},["ShallowReactive",2],{"docs-navigation":3,"\u002Fdocs\u002Freference\u002Fjet-printing":231,"\u002Fdocs\u002Freference\u002Fjet-printing-surround":1925},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,16,20,69,90,123,144,165,190],{"title":10,"path":6,"stem":11},"Gerbtrace Documentation","docs\u002Findex",{"title":13,"path":14,"stem":15},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",{"title":17,"path":18,"stem":19},"Licensing","\u002Fdocs\u002Flicensing","docs\u002F2.licensing",{"title":21,"path":22,"stem":23,"children":24,"page":68},"Viewer","\u002Fdocs\u002Fviewer","docs\u002F3.viewer",[25,29,33,37,41,45,49,53,56,60,64],{"title":26,"path":27,"stem":28},"Files","\u002Fdocs\u002Fviewer\u002Ffiles","docs\u002F3.viewer\u002F01.files",{"title":30,"path":31,"stem":32},"PCB","\u002Fdocs\u002Fviewer\u002Fpcb","docs\u002F3.viewer\u002F02.pcb",{"title":34,"path":35,"stem":36},"Panel","\u002Fdocs\u002Fviewer\u002Fpanel","docs\u002F3.viewer\u002F03.panel",{"title":38,"path":39,"stem":40},"Paste","\u002Fdocs\u002Fviewer\u002Fpaste","docs\u002F3.viewer\u002F04.paste",{"title":42,"path":43,"stem":44},"SMD","\u002Fdocs\u002Fviewer\u002Fsmd","docs\u002F3.viewer\u002F05.smd",{"title":46,"path":47,"stem":48},"THT","\u002Fdocs\u002Fviewer\u002Ftht","docs\u002F3.viewer\u002F06.tht",{"title":50,"path":51,"stem":52},"BOM","\u002Fdocs\u002Fviewer\u002Fbom","docs\u002F3.viewer\u002F07.bom",{"title":5,"path":54,"stem":55},"\u002Fdocs\u002Fviewer\u002Fdocs","docs\u002F3.viewer\u002F08.docs",{"title":57,"path":58,"stem":59},"Conversation","\u002Fdocs\u002Fviewer\u002Fconversation","docs\u002F3.viewer\u002F09.conversation",{"title":61,"path":62,"stem":63},"Summary","\u002Fdocs\u002Fviewer\u002Fsummary","docs\u002F3.viewer\u002F10.summary",{"title":65,"path":66,"stem":67},"Pricing","\u002Fdocs\u002Fviewer\u002Fpricing","docs\u002F3.viewer\u002F11.pricing",false,{"title":70,"path":71,"stem":72,"children":73,"page":68},"Tools","\u002Fdocs\u002Ftools","docs\u002F4.tools",[74,78,82,86],{"title":75,"path":76,"stem":77},"Exports","\u002Fdocs\u002Ftools\u002Fexports","docs\u002F4.tools\u002F1.exports",{"title":79,"path":80,"stem":81},"Compare","\u002Fdocs\u002Ftools\u002Fcompare","docs\u002F4.tools\u002F2.compare",{"title":83,"path":84,"stem":85},"Package Manager","\u002Fdocs\u002Ftools\u002Fpackage-manager","docs\u002F4.tools\u002F3.package-manager",{"title":87,"path":88,"stem":89},"Draw Tool","\u002Fdocs\u002Ftools\u002Fdraw-tool","docs\u002F4.tools\u002F4.draw-tool",{"title":91,"path":92,"stem":93,"children":94,"page":68},"Collaboration","\u002Fdocs\u002Fcollaboration","docs\u002F5.collaboration",[95,99,103,107,111,115,119],{"title":96,"path":97,"stem":98},"Team Settings","\u002Fdocs\u002Fcollaboration\u002Fteam-settings","docs\u002F5.collaboration\u002F1.team-settings",{"title":100,"path":101,"stem":102},"Team Members","\u002Fdocs\u002Fcollaboration\u002Fteam-members","docs\u002F5.collaboration\u002F2.team-members",{"title":104,"path":105,"stem":106},"User Profile","\u002Fdocs\u002Fcollaboration\u002Fuser-profile","docs\u002F5.collaboration\u002F3.user-profile",{"title":108,"path":109,"stem":110},"Spaces","\u002Fdocs\u002Fcollaboration\u002Fspaces","docs\u002F5.collaboration\u002F4.spaces",{"title":112,"path":113,"stem":114},"Notifications","\u002Fdocs\u002Fcollaboration\u002Fnotifications","docs\u002F5.collaboration\u002F6.notifications",{"title":116,"path":117,"stem":118},"Plans & Billing","\u002Fdocs\u002Fcollaboration\u002Fplans-and-billing","docs\u002F5.collaboration\u002F7.plans-and-billing",{"title":120,"path":121,"stem":122},"Connected Apps & MCP","\u002Fdocs\u002Fcollaboration\u002Fconnected-apps","docs\u002F5.collaboration\u002F8.connected-apps",{"title":124,"path":125,"stem":126,"children":127,"page":68},"App","\u002Fdocs\u002Fapp","docs\u002F6.app",[128,132,136,140],{"title":129,"path":130,"stem":131},"Desktop App","\u002Fdocs\u002Fapp\u002Fdesktop","docs\u002F6.app\u002F1.desktop",{"title":133,"path":134,"stem":135},"Light & Dark Mode","\u002Fdocs\u002Fapp\u002Flight-dark-mode","docs\u002F6.app\u002F2.light-dark-mode",{"title":137,"path":138,"stem":139},"Performance Monitor","\u002Fdocs\u002Fapp\u002Fperformance-monitor","docs\u002F6.app\u002F3.performance-monitor",{"title":141,"path":142,"stem":143},"Report a Bug","\u002Fdocs\u002Fapp\u002Freport-a-bug","docs\u002F6.app\u002F4.report-a-bug",{"title":145,"path":146,"stem":147,"children":148,"page":68},"Guides","\u002Fdocs\u002Fguides","docs\u002F7.guides",[149,153,157,161],{"title":150,"path":151,"stem":152},"Importing Files","\u002Fdocs\u002Fguides\u002Fimporting-files","docs\u002F7.guides\u002F1.importing-files",{"title":154,"path":155,"stem":156},"Supported Formats","\u002Fdocs\u002Fguides\u002Fsupported-formats","docs\u002F7.guides\u002F2.supported-formats",{"title":158,"path":159,"stem":160},"Package Library","\u002Fdocs\u002Fguides\u002Fpackage-library","docs\u002F7.guides\u002F3.package-library",{"title":162,"path":163,"stem":164},"Panel Checks","\u002Fdocs\u002Fguides\u002Fpanel-checks","docs\u002F7.guides\u002F4.panel-checks",{"title":166,"path":167,"stem":168,"children":169,"page":68},"Reference","\u002Fdocs\u002Freference","docs\u002F8.reference",[170,174,178,182,186],{"title":171,"path":172,"stem":173},"BOM File Format","\u002Fdocs\u002Freference\u002Fbom-format","docs\u002F8.reference\u002F1.bom-format",{"title":175,"path":176,"stem":177},"Package Definitions","\u002Fdocs\u002Freference\u002Fpackage-definitions","docs\u002F8.reference\u002F2.package-definitions",{"title":179,"path":180,"stem":181},"Package Naming","\u002Fdocs\u002Freference\u002Fpackage-naming","docs\u002F8.reference\u002F3.package-naming",{"title":183,"path":184,"stem":185},"TPSys Format","\u002Fdocs\u002Freference\u002Ftpsys-format","docs\u002F8.reference\u002F4.tpsys-format",{"title":187,"path":188,"stem":189},"Jet Printing","\u002Fdocs\u002Freference\u002Fjet-printing","docs\u002F8.reference\u002F5.jet-printing",{"title":191,"path":192,"stem":193,"children":194,"page":68},"Development","\u002Fdocs\u002Fdevelopment","docs\u002F9.development",[195,199,203,207,211,215,219,223,227],{"title":196,"path":197,"stem":198},"Development Setup","\u002Fdocs\u002Fdevelopment\u002Fsetup","docs\u002F9.development\u002F1.setup",{"title":200,"path":201,"stem":202},"Architecture","\u002Fdocs\u002Fdevelopment\u002Farchitecture","docs\u002F9.development\u002F2.architecture",{"title":204,"path":205,"stem":206},"CAD Libraries","\u002Fdocs\u002Fdevelopment\u002Fcad-libraries","docs\u002F9.development\u002F3.cad-libraries",{"title":208,"path":209,"stem":210},"Release Process","\u002Fdocs\u002Fdevelopment\u002Frelease-process","docs\u002F9.development\u002F4.release-process",{"title":212,"path":213,"stem":214},"Error Monitoring","\u002Fdocs\u002Fdevelopment\u002Ferror-monitoring","docs\u002F9.development\u002F5.error-monitoring",{"title":216,"path":217,"stem":218},"Contributing","\u002Fdocs\u002Fdevelopment\u002Fcontributing","docs\u002F9.development\u002F6.contributing",{"title":220,"path":221,"stem":222},"Commit Conventions","\u002Fdocs\u002Fdevelopment\u002Fcommit-conventions","docs\u002F9.development\u002F7.commit-conventions",{"title":224,"path":225,"stem":226},"Sidebar Design","\u002Fdocs\u002Fdevelopment\u002Fsidebar-design","docs\u002F9.development\u002F8.sidebar-design",{"title":228,"path":229,"stem":230},"Operational Runbooks","\u002Fdocs\u002Fdevelopment\u002Frunbooks","docs\u002F9.development\u002F9.runbooks",{"id":232,"title":187,"body":233,"description":1918,"extension":1919,"links":1920,"meta":1921,"navigation":1922,"path":188,"seo":1923,"stem":189,"__hash__":1924},"docs\u002Fdocs\u002F8.reference\u002F5.jet-printing.md",{"type":234,"value":235,"toc":1881},"minimark",[236,241,250,255,258,262,356,359,363,370,374,381,384,388,398,402,491,614,618,741,749,760,824,833,837,841,844,852,863,867,870,876,880,887,893,899,919,923,929,933,940,946,949,953,960,964,967,973,976,980,983,987,1001,1008,1012,1019,1025,1039,1043,1046,1049,1069,1077,1081,1084,1117,1120,1124,1128,1367,1371,1376,1382,1385,1510,1513,1623,1626,1744,1747,1847,1851,1858,1862,1865,1868,1871,1874,1877],[237,238,240],"h1",{"id":239},"my600-jet-printer","MY600 Jet Printer",[242,243,244,245,249],"p",{},"The ",[246,247,248],"strong",{},"Mycronic MY600"," is a high-precision solder paste jet printing system designed for stencil-free PCB assembly. Instead of forcing paste through a fixed stencil aperture, it deposits solder paste volumetrically, enabling dynamic, per-pad control of paste volume and geometry within a single print cycle.",[251,252,254],"h2",{"id":253},"core-principle","Core principle",[242,256,257],{},"The MY600 uses a piezo-driven ejector to dispense controlled droplets of solder paste. It dynamically adjusts droplet count, volume, spacing, and stacking pattern per pad. This enables immediate transitions between small and large deposits without hardware changes.",[251,259,261],{"id":260},"ejector-types","Ejector types",[263,264,265,281],"table",{},[266,267,268],"thead",{},[269,270,271,275,278],"tr",{},[272,273,274],"th",{},"Property",[272,276,277],{},"AG04 (standard)",[272,279,280],{},"AR02 (fine-pitch)",[282,283,284,301,312,323,334,345],"tbody",{},[269,285,286,290,296],{},[287,288,289],"td",{},"Cassette Model ID",[287,291,292],{},[293,294,295],"code",{},"2130714632",[287,297,298],{},[293,299,300],{},"2130808852",[269,302,303,306,309],{},[287,304,305],{},"Default media",[287,307,308],{},"MY600 Senju M705-LFAC19",[287,310,311],{},"AR Tamura T6",[269,313,314,317,320],{},[287,315,316],{},"Dot diameter range",[287,318,319],{},"330 -- 520 µm",[287,321,322],{},"219 -- 250 µm",[269,324,325,328,331],{},[287,326,327],{},"Default dot period",[287,329,330],{},"0.00333 s (~300 Hz)",[287,332,333],{},"0.005 s (~200 Hz)",[269,335,336,339,342],{},[287,337,338],{},"Typical velocity",[287,340,341],{},"0.075 -- 0.115 m\u002Fs",[287,343,344],{},"0.024 m\u002Fs",[269,346,347,350,353],{},[287,348,349],{},"Requires FinePitch option",[287,351,352],{},"No",[287,354,355],{},"Yes",[242,357,358],{},"The AR02 ejector produces smaller minimum droplets for finer-pitch deposits. It generates significantly more path segments per board because smaller dots require more passes to achieve the same volume.",[251,360,362],{"id":361},"finepitch-option","FinePitch option",[242,364,365,366,369],{},"Without the FinePitch option enabled, JPSys enforces a ",[246,367,368],{},"minimum dot diameter of 300 µm",". Any segment with a smaller diameter is automatically increased to 300 µm on load. The AR02 ejector (219--250 µm dots) requires FinePitch to be enabled. FinePitch defaults to ON on current machines.",[251,371,373],{"id":372},"dot-size-behavior","Dot size behavior",[242,375,376,377,380],{},"With the standard AG04 ejector, typical printed dot diameters are approximately ",[246,378,379],{},"0.33 -- 0.52 mm",". The MY600 can change deposit size for every individual pad on the board in real time during the same print cycle.",[382,383],"hr",{},[237,385,387],{"id":386},"jpsys-json-format","JPSys JSON Format",[242,389,244,390,393,394,397],{},[246,391,392],{},"JPSys JSON"," is the native program format exported from MYCenter \u002F JPSys for the Mycronic MY600 jet printer. A single ",[293,395,396],{},".json"," file contains everything the machine needs to execute a print run: board layout, panel definitions, component positions, paste deposit geometries, paste volumes, and the optimized head movement path.",[251,399,401],{"id":400},"object-hierarchy","Object hierarchy",[403,404,409],"pre",{"className":405,"code":406,"language":407,"meta":408,"style":408},"language-mermaid shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","graph TD\n    Layout[\"Layout (root)\"]\n    Layout -->|boardPosList| BP[\"BoardPosition\"]\n    BP -->|panel| PanelNode[\"Panel\"]\n    PanelNode -->|panelPcbPosList| PPP[\"PanelPcbPos\"]\n    PPP -->|pcb| PCBNode[\"PCB\"]\n    PCBNode -->|jetComponentsList| JC[\"JetComponent\"]\n    PCBNode -->|segmentOrdersList| SO[\"SegmentOrder\"]\n    JC -->|depositsList| Dep[\"Deposit\"]\n    JC -->|padsList| PadNode[\"Pad\"]\n    BP -->|boardPosTrimPointsList| TP[\"TrimPoint\"]\n    PanelNode -->|\"fiducial_1\u002F2\u002F3\"| FM[\"FiducialMark\"]\n    PCBNode -->|\"fiducial_1\u002F2\u002F3\"| FM2[\"FiducialMark\"]\n","mermaid","",[293,410,411,419,425,431,437,443,449,455,461,467,473,479,485],{"__ignoreMap":408},[412,413,416],"span",{"class":414,"line":415},"line",1,[412,417,418],{},"graph TD\n",[412,420,422],{"class":414,"line":421},2,[412,423,424],{},"    Layout[\"Layout (root)\"]\n",[412,426,428],{"class":414,"line":427},3,[412,429,430],{},"    Layout -->|boardPosList| BP[\"BoardPosition\"]\n",[412,432,434],{"class":414,"line":433},4,[412,435,436],{},"    BP -->|panel| PanelNode[\"Panel\"]\n",[412,438,440],{"class":414,"line":439},5,[412,441,442],{},"    PanelNode -->|panelPcbPosList| PPP[\"PanelPcbPos\"]\n",[412,444,446],{"class":414,"line":445},6,[412,447,448],{},"    PPP -->|pcb| PCBNode[\"PCB\"]\n",[412,450,452],{"class":414,"line":451},7,[412,453,454],{},"    PCBNode -->|jetComponentsList| JC[\"JetComponent\"]\n",[412,456,458],{"class":414,"line":457},8,[412,459,460],{},"    PCBNode -->|segmentOrdersList| SO[\"SegmentOrder\"]\n",[412,462,464],{"class":414,"line":463},9,[412,465,466],{},"    JC -->|depositsList| Dep[\"Deposit\"]\n",[412,468,470],{"class":414,"line":469},10,[412,471,472],{},"    JC -->|padsList| PadNode[\"Pad\"]\n",[412,474,476],{"class":414,"line":475},11,[412,477,478],{},"    BP -->|boardPosTrimPointsList| TP[\"TrimPoint\"]\n",[412,480,482],{"class":414,"line":481},12,[412,483,484],{},"    PanelNode -->|\"fiducial_1\u002F2\u002F3\"| FM[\"FiducialMark\"]\n",[412,486,488],{"class":414,"line":487},13,[412,489,490],{},"    PCBNode -->|\"fiducial_1\u002F2\u002F3\"| FM2[\"FiducialMark\"]\n",[263,492,493,506],{},[266,494,495],{},[269,496,497,500,503],{},[272,498,499],{},"Level",[272,501,502],{},"Object",[272,504,505],{},"Description",[282,507,508,521,534,546,559,571,584,597],{},[269,509,510,513,518],{},[287,511,512],{},"0",[287,514,515],{},[246,516,517],{},"Layout",[287,519,520],{},"Root. Board dimensions, machine coordinates, batch settings.",[269,522,523,526,531],{},[287,524,525],{},"1",[287,527,528],{},[246,529,530],{},"BoardPosition",[287,532,533],{},"One slot in the layout. Links to a Panel and TrimPoints.",[269,535,536,539,543],{},[287,537,538],{},"2",[287,540,541],{},[246,542,34],{},[287,544,545],{},"Panelization container. Fiducials, bad-board tracking, PCB placements.",[269,547,548,551,556],{},[287,549,550],{},"3",[287,552,553],{},[246,554,555],{},"PanelPcbPos",[287,557,558],{},"Position of one PCB instance within the panel.",[269,560,561,564,568],{},[287,562,563],{},"4",[287,565,566],{},[246,567,30],{},[287,569,570],{},"Full PCB program. Components, path segments, paste media, volumes.",[269,572,573,576,581],{},[287,574,575],{},"5a",[287,577,578],{},[246,579,580],{},"JetComponent",[287,582,583],{},"A component placement with its deposits and pads.",[269,585,586,589,594],{},[287,587,588],{},"5b",[287,590,591],{},[246,592,593],{},"SegmentOrder",[287,595,596],{},"One segment of the optimized jetting path.",[269,598,599,602,611],{},[287,600,601],{},"6",[287,603,604,607,608],{},[246,605,606],{},"Deposit"," \u002F ",[246,609,610],{},"Pad",[287,612,613],{},"Individual paste deposit \u002F copper pad footprint.",[251,615,617],{"id":616},"units-and-conventions","Units and conventions",[263,619,620,633],{},[266,621,622],{},[269,623,624,627,630],{},[272,625,626],{},"Quantity",[272,628,629],{},"Unit",[272,631,632],{},"Example",[282,634,635,646,660,673,691,712,728],{},[269,636,637,640,643],{},[287,638,639],{},"Spatial coordinates, sizes",[287,641,642],{},"µm",[287,644,645],{},"1 mm = 1000 µm",[269,647,648,651,654],{},[287,649,650],{},"Rotations",[287,652,653],{},"millidegrees",[287,655,656,657],{},"90° = ",[293,658,659],{},"90000",[269,661,662,665,668],{},[287,663,664],{},"Volumes",[287,666,667],{},"nL (nanoliters)",[287,669,670],{},[293,671,672],{},"160.59",[269,674,675,682,685],{},[287,676,677,678,681],{},"Time between dots (",[293,679,680],{},"dotPeriod",")",[287,683,684],{},"seconds",[287,686,687,690],{},[293,688,689],{},"0.00333"," ≈ 300 Hz",[269,692,693,703,706],{},[287,694,695,696,699,700,681],{},"Velocities (",[293,697,698],{},"vx",", ",[293,701,702],{},"vy",[287,704,705],{},"m\u002Fs",[287,707,708,711],{},[293,709,710],{},"0.15"," = 150 mm\u002Fs",[269,713,714,717,720],{},[287,715,716],{},"Shape enum",[287,718,719],{},"integer",[287,721,722,724,725,727],{},[293,723,525],{}," = circular, ",[293,726,538],{}," = rectangular",[269,729,730,733,736],{},[287,731,732],{},"Timestamps",[287,734,735],{},"epoch milliseconds",[287,737,738],{},[293,739,740],{},"1771507297120",[742,743,244,745,748],"h3",{"id":744},"the-ref-pattern",[293,746,747],{},"#ref"," pattern",[242,750,751,752,755,756,759],{},"JPSys uses a deduplication strategy for repeated objects. The ",[246,753,754],{},"first occurrence"," of a PCB or fiducial is fully serialized. Every ",[246,757,758],{},"subsequent occurrence"," is replaced with a compact back-reference:",[403,761,765],{"className":762,"code":763,"language":764,"meta":408,"style":408},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"id\": 42, \"#ref\": true, \"normalizedUcName\": \"MY_PCB\" }\n","json",[293,766,767],{"__ignoreMap":408},[412,768,769,773,776,780,783,786,790,793,795,797,799,801,804,806,809,811,813,815,819,821],{"class":414,"line":415},[412,770,772],{"class":771},"sMK4o","{",[412,774,775],{"class":771}," \"",[412,777,779],{"class":778},"spNyl","id",[412,781,782],{"class":771},"\"",[412,784,785],{"class":771},":",[412,787,789],{"class":788},"sbssI"," 42",[412,791,792],{"class":771},",",[412,794,775],{"class":771},[412,796,747],{"class":778},[412,798,782],{"class":771},[412,800,785],{"class":771},[412,802,803],{"class":771}," true,",[412,805,775],{"class":771},[412,807,808],{"class":778},"normalizedUcName",[412,810,782],{"class":771},[412,812,785],{"class":771},[412,814,775],{"class":771},[412,816,818],{"class":817},"sfazB","MY_PCB",[412,820,782],{"class":771},[412,822,823],{"class":771}," }\n",[242,825,826,827,829,830,832],{},"Consumers must resolve ",[293,828,747],{}," objects by looking up the corresponding ",[293,831,779],{}," from the first full definition.",[251,834,836],{"id":835},"volume-calculation","Volume calculation",[742,838,840],{"id":839},"base-volume-from-deposit-geometry","Base volume from deposit geometry",[242,842,843],{},"The nominal paste volume is derived from the deposit area and a virtual stencil thickness:",[403,845,850],{"className":846,"code":848,"language":849},[847],"language-text","nominalVolume_nL = (deposit.sizeX × deposit.sizeY × stencilHeight) \u002F 1,000,000\n","text",[293,851,848],{"__ignoreMap":408},[242,853,854,855,858,859,862],{},"Where ",[293,856,857],{},"stencilHeight"," is approximately ",[246,860,861],{},"127 µm"," (5 mil).",[742,864,866],{"id":865},"volume-percentage-scaling","Volume percentage scaling",[242,868,869],{},"The volume percentage (90%, 100%, etc.) scales all three volume fields linearly:",[403,871,874],{"className":872,"code":873,"language":849},[847],"nominalVolume = baseVolume × (volumePercent \u002F 100)\nminVolume     = nominalVolume × 0.9\nmaxVolume     = nominalVolume × 1.1\n",[293,875,873],{"__ignoreMap":408},[742,877,879],{"id":878},"deposit-shrink-factor","Deposit shrink factor",[242,881,882,883,886],{},"Deposits are intentionally undersized relative to their pads. The default shrink factor is ",[246,884,885],{},"0.96"," (96%):",[403,888,891],{"className":889,"code":890,"language":849},[847],"deposit.sizeX ≈ pad.sizeX × 0.96\ndeposit.sizeY ≈ pad.sizeY × 0.96\n",[293,892,890],{"__ignoreMap":408},[242,894,895,898],{},[246,896,897],{},"Worked example"," -- 2512 pad at 100% volume:",[900,901,902,906,909,912],"ul",{},[903,904,905],"li",{},"Pad: 3401 × 2499 µm",[903,907,908],{},"Deposit: 3401 × 0.96 = 3265 µm, 2499 × 0.96 = 2399 µm",[903,910,911],{},"Area: 3265 × 2399 = 7,832,735 µm²",[903,913,914,915,918],{},"Volume: 7,832,735 × 127 \u002F 1,000,000 = ",[246,916,917],{},"994.76 nL"," (reference JSON: 994.92 nL)",[251,920,922],{"id":921},"oscillated-movement-path-planning","Oscillated movement (path planning)",[242,924,925,926,928],{},"The JPSys path compiler converts deposit geometries into an optimized sequence of ",[293,927,593],{}," entries. The machine's Z-servo uses height measurement points to interpolate the correct jetting height for the start and stop of every strip.",[742,930,932],{"id":931},"strips","Strips",[242,934,935,936,939],{},"The fundamental unit of movement is a ",[246,937,938],{},"strip",": one linear sweep across a deposit area. During a strip the head moves at constant velocity while ejecting dots at a fixed period. The dot spacing along a strip equals:",[403,941,944],{"className":942,"code":943,"language":849},[847],"dotSpacing_µm = |velocity| × dotPeriod × 1,000,000\n",[293,945,943],{"__ignoreMap":408},[242,947,948],{},"Each strip has a minimum dot count determined by its length and diameter -- the machine will not accept fewer dots than this minimum.",[742,950,952],{"id":951},"refill","Refill+",[242,954,955,956,959],{},"On each strip, the volume of the first dot can be boosted slightly if it would otherwise be smaller than subsequent dots. This is controlled by the ",[246,957,958],{},"Refill Dwell"," parameter in the cassette model (default 0). It compensates for the brief dwell time before the first ejection in a new strip.",[742,961,963],{"id":962},"serpentine-pattern","Serpentine pattern",[242,965,966],{},"Deposits wider than a single dot diameter are filled using a serpentine (back-and-forth) pattern. Consecutive strips alternate their velocity sign:",[403,968,971],{"className":969,"code":970,"language":849},[847],"Strip 1:  vx = +0.10, vy = 0     → sweep right\nStrip 2:  vx = -0.10, vy = 0     → sweep left\nStrip 3:  vx = +0.10, vy = 0     → sweep right\n",[293,972,970],{"__ignoreMap":408},[242,974,975],{},"Between strips the head repositions by one dot-pitch in the perpendicular direction. This minimizes travel distance and avoids lifting the head between adjacent lines.",[742,977,979],{"id":978},"component-level-optimization","Component-level optimization",[242,981,982],{},"All strips belonging to the same component's deposits are grouped and ordered to minimize repositioning moves. Pads within a single component are visited in sequence.",[742,984,986],{"id":985},"global-path-ordering","Global path ordering",[242,988,989,990,993,994,997,998,1000],{},"Components are visited in a ",[246,991,992],{},"nearest-neighbor"," sequence across the entire PCB. The ",[293,995,996],{},"orderNumber"," field on each ",[293,999,593],{}," reflects this global optimization. The machine's path optimizer groups segment orders and applies a nearest-neighbor algorithm to minimize total travel distance.",[242,1002,1003,1004,1007],{},"When ",[246,1005,1006],{},"Online PCB Merge"," is enabled, the machine overrides the offline compiler's path and re-optimizes across all PCBs in the panel as if they were a single PCB, using nearest-neighbor for groups of segment orders.",[742,1009,1011],{"id":1010},"volume-per-segment-spherical-cap-model","Volume per segment (spherical cap model)",[242,1013,1014,1015,1018],{},"The volume of paste deposited by a single segment is calculated using a ",[246,1016,1017],{},"spherical cap"," model. Given the dot diameter and a contact angle parameter (set globally on the machine), the volume of each dot is:",[403,1020,1023],{"className":1021,"code":1022,"language":849},[847],"V_dot = (π × h \u002F 6) × (3r² + h²)\n",[293,1024,1022],{"__ignoreMap":408},[242,1026,854,1027,1030,1031,1034,1035,1038],{},[293,1028,1029],{},"r"," is the dot radius and ",[293,1032,1033],{},"h"," is the cap height derived from the contact angle. The total segment volume is ",[293,1036,1037],{},"V_dot × dotCount",".",[251,1040,1042],{"id":1041},"height-zones-and-z-control","Height zones and Z control",[242,1044,1045],{},"Before jetting, the machine measures board height at designated points. These height measurement points are interpolated into a height matrix. The Z-servo uses this matrix to set the correct nozzle height at the start and end of every strip.",[242,1047,1048],{},"Height zones group deposits together with their measurement points. Each PCB gets at least one height zone by default (one zone per PCB). Height zones can be regenerated as:",[900,1050,1051,1057,1063],{},[903,1052,1053,1056],{},[246,1054,1055],{},"One zone per PCB"," -- default, each PCB gets its own zone",[903,1058,1059,1062],{},[246,1060,1061],{},"Single zone"," -- all PCBs share one zone (faster for large panels)",[903,1064,1065,1068],{},[246,1066,1067],{},"Multiple zones"," -- automatic clustering based on deposit grouping",[242,1070,244,1071,997,1074,1076],{},[293,1072,1073],{},"z",[293,1075,593],{}," reflects the planned jetting height (typically 0 for flat boards). For boards with cavities or height variations, the machine adjusts the Z position per-strip using the height zone data.",[251,1078,1080],{"id":1079},"coordinate-systems","Coordinate systems",[242,1082,1083],{},"Two coordinate systems are involved in panelization:",[900,1085,1086,1099],{},[903,1087,1088,1091,1092,699,1095,1098],{},[246,1089,1090],{},"PCB coordinates"," -- defined by the PCB's fiducial marks. Jet component positions (",[293,1093,1094],{},"x",[293,1096,1097],{},"y",") and deposit\u002Fpad offsets are in PCB coordinates.",[903,1100,1101,1104,1105,1107,1108,699,1111,699,1114,1038],{},[246,1102,1103],{},"Panel coordinates"," -- defined by the panel's fiducial marks. The ",[293,1106,555],{}," entries map each PCB's fiducials into panel coordinates via ",[293,1109,1110],{},"x1\u002Fy1",[293,1112,1113],{},"x2\u002Fy2",[293,1115,1116],{},"x3\u002Fy3",[242,1118,1119],{},"The first fiducial defines the origin and the line from fiducial 1 to fiducial 2 defines the board angle.",[251,1121,1123],{"id":1122},"field-reference","Field reference",[742,1125,1127],{"id":1126},"layout-root","Layout (root)",[263,1129,1130,1142],{},[266,1131,1132],{},[269,1133,1134,1137,1140],{},[272,1135,1136],{},"Field",[272,1138,1139],{},"Type",[272,1141,505],{},[282,1143,1144,1155,1168,1179,1191,1203,1215,1227,1239,1260,1280,1292,1304,1316,1328,1340,1354],{},[269,1145,1146,1150,1152],{},[287,1147,1148],{},[293,1149,779],{},[287,1151,719],{},[287,1153,1154],{},"Unique identifier",[269,1156,1157,1162,1165],{},[287,1158,1159],{},[293,1160,1161],{},"name",[287,1163,1164],{},"string",[287,1166,1167],{},"Program name",[269,1169,1170,1174,1176],{},[287,1171,1172],{},[293,1173,808],{},[287,1175,1164],{},[287,1177,1178],{},"Upper-case normalized name",[269,1180,1181,1186,1188],{},[287,1182,1183],{},[293,1184,1185],{},"comment",[287,1187,1164],{},[287,1189,1190],{},"Structured metadata (see below)",[269,1192,1193,1198,1200],{},[287,1194,1195],{},[293,1196,1197],{},"createTime",[287,1199,719],{},[287,1201,1202],{},"Creation timestamp (epoch ms)",[269,1204,1205,1210,1212],{},[287,1206,1207],{},[293,1208,1209],{},"__modifiedTime",[287,1211,719],{},[287,1213,1214],{},"Last modification timestamp",[269,1216,1217,1222,1224],{},[287,1218,1219],{},[293,1220,1221],{},"__modifiedCount",[287,1223,719],{},[287,1225,1226],{},"Modification counter",[269,1228,1229,1234,1236],{},[287,1230,1231],{},[293,1232,1233],{},"modifiedBy",[287,1235,1164],{},[287,1237,1238],{},"Last modifier",[269,1240,1241,1246,1248],{},[287,1242,1243],{},[293,1244,1245],{},"lifeCycleStatus",[287,1247,1164],{},[287,1249,1250,699,1253,1256,1257],{},[293,1251,1252],{},"\"PRELIMINARY\"",[293,1254,1255],{},"\"RELEASED\"",", or ",[293,1258,1259],{},"\"DISCONTINUED\"",[269,1261,1262,1267,1269],{},[287,1263,1264],{},[293,1265,1266],{},"clampForce",[287,1268,1164],{},[287,1270,1271,699,1274,1256,1277],{},[293,1272,1273],{},"\"NORMAL\"",[293,1275,1276],{},"\"LOW\"",[293,1278,1279],{},"\"HIGH\"",[269,1281,1282,1287,1289],{},[287,1283,1284],{},[293,1285,1286],{},"length",[287,1288,719],{},[287,1290,1291],{},"Board length along conveyor (µm). Zero = auto-measure.",[269,1293,1294,1299,1301],{},[287,1295,1296],{},[293,1297,1298],{},"conveyorWidth",[287,1300,719],{},[287,1302,1303],{},"Conveyor rail width (µm). Range 30--508 mm.",[269,1305,1306,1311,1313],{},[287,1307,1308],{},[293,1309,1310],{},"lowerLeftCornerX",[287,1312,719],{},[287,1314,1315],{},"Machine-coordinate X origin (µm)",[269,1317,1318,1323,1325],{},[287,1319,1320],{},[293,1321,1322],{},"lowerLeftCornerY",[287,1324,719],{},[287,1326,1327],{},"Machine-coordinate Y origin (µm)",[269,1329,1330,1335,1337],{},[287,1331,1332],{},[293,1333,1334],{},"batchSize",[287,1336,719],{},[287,1338,1339],{},"Batch size count",[269,1341,1342,1347,1349],{},[287,1343,1344],{},[293,1345,1346],{},"batchSizeType",[287,1348,1164],{},[287,1350,1351],{},[293,1352,1353],{},"\"LAYOUTS\"",[269,1355,1356,1361,1364],{},[287,1357,1358],{},[293,1359,1360],{},"boardPosList",[287,1362,1363],{},"array",[287,1365,1366],{},"Board position slots",[742,1368,1370],{"id":1369},"comment-field-metadata","Comment field metadata",[242,1372,244,1373,1375],{},[293,1374,1185],{}," field stores structured metadata as a multi-line string:",[403,1377,1380],{"className":1378,"code":1379,"language":849},[847],"Heinrich: Hier stehen Kommentare:\nPurpose: AG04-M705-LFAC19 100%\nMachine Type: MY500_S3\nCompiler Settings: Default\n",[293,1381,1379],{"__ignoreMap":408},[742,1383,30],{"id":1384},"pcb",[263,1386,1387,1397],{},[266,1388,1389],{},[269,1390,1391,1393,1395],{},[272,1392,1136],{},[272,1394,1139],{},[272,1396,505],{},[282,1398,1399,1411,1423,1438,1450,1462,1474,1486,1498],{},[269,1400,1401,1406,1408],{},[287,1402,1403],{},[293,1404,1405],{},"totalVolume",[287,1407,719],{},[287,1409,1410],{},"Total paste volume (nL)",[269,1412,1413,1418,1420],{},[287,1414,1415],{},[293,1416,1417],{},"executionTime",[287,1419,719],{},[287,1421,1422],{},"Estimated execution time (s)",[269,1424,1425,1430,1432],{},[287,1426,1427],{},[293,1428,1429],{},"mediaCategory",[287,1431,1164],{},[287,1433,1434,1435],{},"e.g. ",[293,1436,1437],{},"\"Paste, LeadFree\"",[269,1439,1440,1445,1447],{},[287,1441,1442],{},[293,1443,1444],{},"cassetteModelId",[287,1446,719],{},[287,1448,1449],{},"Ejector type identifier",[269,1451,1452,1457,1459],{},[287,1453,1454],{},[293,1455,1456],{},"media",[287,1458,1164],{},[287,1460,1461],{},"Paste media name",[269,1463,1464,1469,1471],{},[287,1465,1466],{},[293,1467,1468],{},"dotCount",[287,1470,719],{},[287,1472,1473],{},"Total dots across all segments",[269,1475,1476,1481,1483],{},[287,1477,1478],{},[293,1479,1480],{},"jetComponentsList",[287,1482,1363],{},[287,1484,1485],{},"Component placements",[269,1487,1488,1493,1495],{},[287,1489,1490],{},[293,1491,1492],{},"segmentOrdersList",[287,1494,1363],{},[287,1496,1497],{},"Optimized jetting path",[269,1499,1500,1505,1507],{},[287,1501,1502],{},[293,1503,1504],{},"inspectionThreshold",[287,1506,719],{},[287,1508,1509],{},"Inspection threshold (%)",[742,1511,580],{"id":1512},"jetcomponent",[263,1514,1515,1525],{},[266,1516,1517],{},[269,1518,1519,1521,1523],{},[272,1520,1136],{},[272,1522,1139],{},[272,1524,505],{},[282,1526,1527,1539,1556,1574,1586,1599,1611],{},[269,1528,1529,1534,1536],{},[287,1530,1531],{},[293,1532,1533],{},"componentNumber",[287,1535,719],{},[287,1537,1538],{},"Sequential number",[269,1540,1541,1545,1547],{},[287,1542,1543],{},[293,1544,1161],{},[287,1546,1164],{},[287,1548,1549,1550,699,1553,681],{},"Reference designator (",[293,1551,1552],{},"R1",[293,1554,1555],{},"U3",[269,1557,1558,1563,1565],{},[287,1559,1560],{},[293,1561,1562],{},"shapeName",[287,1564,1164],{},[287,1566,1567,1568,699,1571,681],{},"Package name (",[293,1569,1570],{},"0402",[293,1572,1573],{},"QFN48",[269,1575,1576,1581,1583],{},[287,1577,1578],{},[293,1579,1580],{},"rotation",[287,1582,719],{},[287,1584,1585],{},"Rotation (millidegrees)",[269,1587,1588,1594,1596],{},[287,1589,1590,699,1592],{},[293,1591,1094],{},[293,1593,1097],{},[287,1595,719],{},[287,1597,1598],{},"Component center in PCB coords (µm)",[269,1600,1601,1606,1608],{},[287,1602,1603],{},[293,1604,1605],{},"depositsList",[287,1607,1363],{},[287,1609,1610],{},"Paste deposits",[269,1612,1613,1618,1620],{},[287,1614,1615],{},[293,1616,1617],{},"padsList",[287,1619,1363],{},[287,1621,1622],{},"Copper pads",[742,1624,606],{"id":1625},"deposit",[263,1627,1628,1638],{},[266,1629,1630],{},[269,1631,1632,1634,1636],{},[272,1633,1136],{},[272,1635,1139],{},[272,1637,505],{},[282,1639,1640,1652,1664,1679,1694,1707,1720,1732],{},[269,1641,1642,1647,1649],{},[287,1643,1644],{},[293,1645,1646],{},"depositId",[287,1648,719],{},[287,1650,1651],{},"Sequence number",[269,1653,1654,1659,1661],{},[287,1655,1656],{},[293,1657,1658],{},"padId",[287,1660,719],{},[287,1662,1663],{},"Corresponding pad",[269,1665,1666,1674,1676],{},[287,1667,1668,699,1671],{},[293,1669,1670],{},"sizeX",[293,1672,1673],{},"sizeY",[287,1675,719],{},[287,1677,1678],{},"Deposit dimensions (µm)",[269,1680,1681,1686,1688],{},[287,1682,1683],{},[293,1684,1685],{},"shape",[287,1687,719],{},[287,1689,1690,724,1692,727],{},[293,1691,525],{},[293,1693,538],{},[269,1695,1696,1702,1704],{},[287,1697,1698,699,1700],{},[293,1699,1094],{},[293,1701,1097],{},[287,1703,719],{},[287,1705,1706],{},"Position relative to component center (µm)",[269,1708,1709,1714,1717],{},[287,1710,1711],{},[293,1712,1713],{},"nominalVolume",[287,1715,1716],{},"number",[287,1718,1719],{},"Target volume (nL)",[269,1721,1722,1727,1729],{},[287,1723,1724],{},[293,1725,1726],{},"minVolume",[287,1728,1716],{},[287,1730,1731],{},"Minimum acceptable volume (nL)",[269,1733,1734,1739,1741],{},[287,1735,1736],{},[293,1737,1738],{},"maxVolume",[287,1740,1716],{},[287,1742,1743],{},"Maximum acceptable volume (nL)",[742,1745,593],{"id":1746},"segmentorder",[263,1748,1749,1759],{},[266,1750,1751],{},[269,1752,1753,1755,1757],{},[272,1754,1136],{},[272,1756,1139],{},[272,1758,505],{},[282,1760,1761,1772,1787,1800,1812,1823,1834],{},[269,1762,1763,1767,1769],{},[287,1764,1765],{},[293,1766,996],{},[287,1768,719],{},[287,1770,1771],{},"Execution sequence (ascending)",[269,1773,1774,1782,1784],{},[287,1775,1776,699,1778,699,1780],{},[293,1777,1094],{},[293,1779,1097],{},[293,1781,1073],{},[287,1783,719],{},[287,1785,1786],{},"Segment start position (µm)",[269,1788,1789,1795,1797],{},[287,1790,1791,699,1793],{},[293,1792,698],{},[293,1794,702],{},[287,1796,1716],{},[287,1798,1799],{},"Velocity components (m\u002Fs)",[269,1801,1802,1807,1809],{},[287,1803,1804],{},[293,1805,1806],{},"diameter",[287,1808,719],{},[287,1810,1811],{},"Dot diameter (µm)",[269,1813,1814,1818,1820],{},[287,1815,1816],{},[293,1817,680],{},[287,1819,1716],{},[287,1821,1822],{},"Time between dots (seconds)",[269,1824,1825,1829,1831],{},[287,1826,1827],{},[293,1828,1468],{},[287,1830,719],{},[287,1832,1833],{},"Dots in this segment",[269,1835,1836,1841,1844],{},[287,1837,1838],{},[293,1839,1840],{},"arcSegmentRadius",[287,1842,1843],{},"integer\u002Fnull",[287,1845,1846],{},"Arc radius, null for straight",[251,1848,1850],{"id":1849},"gerbtrace-integration","Gerbtrace integration",[242,1852,1853,1854,1857],{},"Gerbtrace's ",[1855,1856,38],"a",{"href":39}," feature includes a jet print mode that simulates the MY600 dot deposition pattern on the board canvas. The JPSys export generates a complete program JSON including the optimized serpentine path that can be loaded directly onto the machine.",[742,1859,1861],{"id":1860},"export-validation-and-coordinate-frames","Export validation and coordinate frames",[242,1863,1864],{},"Gerbtrace's export supports circular and axis-aligned rectangular paste pads.\nUnsupported geometry, parser warnings, arbitrary rotations, empty placements,\nand pads outside the board outline stop the export with an error. Coordinates\nare normalized to millimetres, translated by the board origin and transformed\nfor 0°, 90°, 180° or 270° board rotation before conversion to machine units.\nThe program must have a name and valid paste settings.",[242,1866,1867],{},"The library's panel export additionally requires explicit panel dimensions and\nPCB-local fiducials; panel placement fiducials are in the panel coordinate\nframe. All four PCB corners are checked through the two-reference placement\ntransform, including rotation and scale, against the panel envelope. The current\nexport dialog generates a single-board program.",[242,1869,1870],{},"Desktop exports write exactly to the filename selected in the native save\ndialog. Keep the suggested extension when the receiving application requires it.",[242,1872,1873],{},"Before production use, open the exported program in JPSys, verify dimensions,\norientation, fiducials, deposition volumes and path, and perform the machine's\nnormal simulation or dry-run acceptance procedure. Automated reference tests\nverify the serialized contract; they do not replace acceptance on the target\nmachine.",[242,1875,1876],{},"Machine export requires a closed, warning-free Outline or Keep-Out contour. Copper or paste extents are not physical board dimensions and cannot supply a missing machine frame. Correct the layer classification or import the board outline before exporting.",[1878,1879,1880],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":408,"searchDepth":427,"depth":421,"links":1882},[1883,1884,1885,1886,1887,1888,1892,1897,1905,1906,1907,1915],{"id":253,"depth":421,"text":254},{"id":260,"depth":421,"text":261},{"id":361,"depth":421,"text":362},{"id":372,"depth":421,"text":373},{"id":400,"depth":421,"text":401},{"id":616,"depth":421,"text":617,"children":1889},[1890],{"id":744,"depth":427,"text":1891},"The #ref pattern",{"id":835,"depth":421,"text":836,"children":1893},[1894,1895,1896],{"id":839,"depth":427,"text":840},{"id":865,"depth":427,"text":866},{"id":878,"depth":427,"text":879},{"id":921,"depth":421,"text":922,"children":1898},[1899,1900,1901,1902,1903,1904],{"id":931,"depth":427,"text":932},{"id":951,"depth":427,"text":952},{"id":962,"depth":427,"text":963},{"id":978,"depth":427,"text":979},{"id":985,"depth":427,"text":986},{"id":1010,"depth":427,"text":1011},{"id":1041,"depth":421,"text":1042},{"id":1079,"depth":421,"text":1080},{"id":1122,"depth":421,"text":1123,"children":1908},[1909,1910,1911,1912,1913,1914],{"id":1126,"depth":427,"text":1127},{"id":1369,"depth":427,"text":1370},{"id":1384,"depth":427,"text":30},{"id":1512,"depth":427,"text":580},{"id":1625,"depth":427,"text":606},{"id":1746,"depth":427,"text":593},{"id":1849,"depth":421,"text":1850,"children":1916},[1917],{"id":1860,"depth":427,"text":1861},"Technical overview of the Mycronic MY600 jet printer and the JPSys JSON program format.","md",null,{},true,{"title":187,"description":1918},"nAyWimnjacCo3iAPLTSSICGtxJQMvarznlNY8zNUGPs",[1926,1928],{"title":183,"path":184,"stem":185,"description":1927,"children":-1},"Deep reference for the Mycronic TPSys pck.pck package database format.",{"title":196,"path":197,"stem":198,"description":1929,"children":-1},"Prerequisites, development server, desktop builds, and production builds.",1790998748686]