Compare commits

...
9 Commits
Author SHA1 Message Date
foley 76f94ab937 problems with import fixed 2026-09-29 15:30:01 +00:00
foley a7b40bada4 JLCPCB constraints added 2026-09-10 16:08:32 +00:00
foley b25ba8b558 Use unix line-endings 2026-09-08 23:02:08 +00:00
foley fb0f667d55 consistent levels of the titles and subtitles 2026-09-08 23:00:31 +00:00
foley e8bcade5ff dropped the inspection down a list level 2026-09-08 22:56:48 +00:00
foley 33ce8b592f reformatted rest of the procedure 2026-09-08 22:55:42 +00:00
foley e642d6aa71 grouped the PCB layout steps 2026-09-08 22:52:12 +00:00
foley 951d2d3f2f drop a level to make the numbering more sensible 2026-09-08 22:50:37 +00:00
foley 819e5a582b constraint numbering 2026-09-08 22:48:47 +00:00
3 changed files with 968 additions and 234 deletions
+723
View File
@@ -0,0 +1,723 @@
<ConstraintSets SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<Clearance SourceType="All - All" TypeFrom="All" NameFrom="All" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False" TypeTo="All" NameTo="All" IsClassTo="False" IsPredefinedTo="False"><![CDATA[<ClearanceMatrixItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<ClearanceConstraintSet Id="d05626c2-da15-4c95-a6c2-983395858870" Name="All - All">
<Clearances>
<ClearanceByLayer LayerId="2147483645" LayerType="Outer" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
<ClearanceByLayer LayerId="2147483646" LayerType="Inner" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
</Clearances>
</ClearanceConstraintSet>
</ClearanceMatrixItem>]]></Clearance>
<Physical SourceType="Net Class" TypeFrom="Net" NameFrom="All Nets" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="True"><![CDATA[<PhysicalItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<PhysicalConstraintSet Id="07e1fe1a-455c-4ffd-9f6f-3a0a21559215" Name="All Nets">
<PhysicalRule PhysicalRuleType="DifferentialPairsRouting">
<DiffPair ImpedanceId="" UseImpedanceProfile="False" MaximumUncoupledLength="500mil">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="15mil" PreferredWidth="15mil" MaximumWidth="15mil" MinimumGap="10mil" PreferredGap="10mil" MaximumGap="10mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="15mil" PreferredWidth="15mil" MaximumWidth="15mil" MinimumGap="10mil" PreferredGap="10mil" MaximumGap="10mil" />
</DiffPair>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="RoutingViaStyle">
<RoutingViaStyle ViaType="MinMax">
<Data ViaDiameterMin="50mil" ViaDiameterPreferred="50mil" ViaDiameterMax="50mil" ViaHoleSizeMin="28mil" ViaHoleSizePreferred="28mil" ViaHoleSizeMax="28mil" />
<Templates />
</RoutingViaStyle>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="PolygonConnectStyle">
<PolygonConnectStyle Advanced="False">
<ConnectType Type="THPad" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
<ConnectType Type="SMDPad" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
<ConnectType Type="Via" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" Rotation="NinetyDegrees" ConductorsCount="Four" />
</PolygonConnectStyle>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="MaxMinWidth">
<Width Connected="False" ImpedanceId="" UseImpedanceProfile="False">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="7.874mil" PreferredWidth="9.8425mil" MaximumWidth="9.8425mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="7.874mil" PreferredWidth="9.8425mil" MaximumWidth="9.8425mil" />
</Width>
</PhysicalRule>
<PhysicalRule PhysicalRuleType="PhysicalClearance">
<PhysicalClearance>
<ClearanceByLayer LayerId="2147483645" LayerType="Outer" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
<ClearanceByLayer LayerId="2147483646" LayerType="Inner" ScopeType="DifferentNetsOnly">
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Arc">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Arc" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Track">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Track" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="SMDPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="SMDPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="THPad">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="THPad" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Via">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Via" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Fill">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Fill" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Poly">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Poly" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Region">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Region" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Text">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Text" ClearanceTo="Hole">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Arc" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Track" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="SMDPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="THPad" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Via" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Fill" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Poly" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Region" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Text" IsInverted="True">10mil</ClearanceMap>
<ClearanceMap ClearanceFrom="Hole" ClearanceTo="Hole">10mil</ClearanceMap>
</ClearanceByLayer>
</PhysicalClearance>
</PhysicalRule>
</PhysicalConstraintSet>
</PhysicalItem>]]></Physical>
<Physical SourceType="Net Class" TypeFrom="Net" NameFrom="Power" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="False"><![CDATA[<PhysicalItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<PhysicalConstraintSet Id="e82ba30f-2476-4903-a950-5c358f67dc55" Name="Power">
<PhysicalRule PhysicalRuleType="MaxMinWidth">
<Width Connected="False" ImpedanceId="" UseImpedanceProfile="False">
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="1" LayerName="[1] Top Layer" MinimumWidth="9.8425mil" PreferredWidth="39.3701mil" MaximumWidth="39.3701mil" />
<RoutingByLayer LayerStackId="73ff0543-8db7-4b01-9a33-33cffbf58950" LayerStackName="Board Layer Stack" LayerId="32" LayerName="[2] Bottom Layer" MinimumWidth="9.8425mil" PreferredWidth="39.3701mil" MaximumWidth="39.3701mil" />
</Width>
</PhysicalRule>
</PhysicalConstraintSet>
</PhysicalItem>]]></Physical>
<ElectricalNet SourceType="Net Class" TypeFrom="Net" NameFrom="All Nets" AssignedConstraintSetId="" IsClassFrom="True" IsPredefinedFrom="True"><![CDATA[<ElectricalNetsItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<ElectricalNetsConstraintSet Id="95314dee-f6da-4f31-9e53-8d1c97854392" Name="All Nets">
<ElectricalNetsRule ElectricalNetsRuleType="RoutingTopology">
<RoutingTopology Topology="Shortest" />
</ElectricalNetsRule>
<ElectricalNetsRule ElectricalNetsRuleType="RoutingLayers">
<RoutingLayers>
<RoutingByLayer LayerId="1" LayerName="[1] Top Layer" />
<RoutingByLayer LayerId="32" LayerName="[2] Bottom Layer" />
</RoutingLayers>
</ElectricalNetsRule>
</ElectricalNetsConstraintSet>
</ElectricalNetsItem>]]></ElectricalNet>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="AssemblyTestpoint" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="d0dd1a6a-779f-4177-8029-94ace125f841" Name="AssemblyTestpoint">
<AdvancedRuleItem Type="AssemblyTestPointStyle" Id="BQBVBFKK" Name="AssemblyTestpoint" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<AssemblyTestpoint MinSize="40mil" MinHole="0mil" MaxSize="100mil" MaxHole="40mil" PreferredSize="60mil" PreferredHole="32mil" UseGrid="True" GridOriginX="-2496.0629mil" GridOriginY="-1000mil" GridSize="1mil" GridTolerance="0.01mil" UnderComponent="True" UseTopSide="True" UseBottomSide="True" MinInterSpacing="0mil" ComponentBodyClearance="0mil" BoardEdgeClearance="0mil" DistanceToPadHole="0mil" DistanceToViaHole="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="AssemblyTestPointUsage" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="7e6f8e3b-c237-4308-890f-287bd80b1a71" Name="AssemblyTestPointUsage">
<AdvancedRuleItem Type="AssemblyTestPointUsage" Id="USAMKQHQ" Name="AssemblyTestPointUsage" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<AssemblyTestPointUsage Kind="Require" AllowMultiple="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="ComponentClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="29c48281-b0c2-4a5c-a003-1a0130b45af7" Name="ComponentClearance">
<AdvancedRuleItem Type="ComponentClearance" Id="SXDGPCRM" Name="ComponentClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<ComponentClearance Vertical="10mil" Horizontal="10mil" ShowActual="False" DontCheckWithout3DBody="False" CheckByBoundary="False" VerticalMode="Specified" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="FabricationTestpoint" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="24ab44ba-f733-46c7-ba2f-0f867610626b" Name="FabricationTestpoint">
<AdvancedRuleItem Type="TestPointStyle" Id="VOUEIXMI" Name="FabricationTestpoint" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<FabricationTestpoint MinSize="40mil" MinHole="0mil" MaxSize="100mil" MaxHole="40mil" PreferredSize="60mil" PreferredHole="32mil" UseGrid="True" GridOriginX="-2496.0629mil" GridOriginY="-1000mil" GridSize="1mil" GridTolerance="0.01mil" UnderComponent="True" UseTopSide="True" UseBottomSide="True" MinInterSpacing="0mil" ComponentBodyClearance="0mil" BoardEdgeClearance="0mil" DistanceToPadHole="0mil" DistanceToViaHole="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="FabricationTestPointUsage" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="0ab045ce-6342-423a-bbc7-9adcc7e9e948" Name="FabricationTestPointUsage">
<AdvancedRuleItem Type="TestPointUsage" Id="EKMFCVMF" Name="FabricationTestPointUsage" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<FabricationTestPointUsage Kind="Require" AllowMultiple="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsBGA - All" TypeFrom="IsBGA - All" NameFrom="Fanout_BGA" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4f960e50-05d9-4a3c-8836-cf90c4e4652f" Name="Fanout_BGA">
<AdvancedRuleItem Type="FanoutControl" Id="BTCLLNAU" Name="Fanout_BGA" ScopeExpression="IsBGA" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="Fanout_BGA (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="Fanout_Default" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="c31f9a20-eb09-4161-8e72-8237456c53b8" Name="Fanout_Default">
<AdvancedRuleItem Type="FanoutControl" Id="TECDYNHP" Name="Fanout_Default" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="5" Comment="Fanout_Default (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsLCC - All" TypeFrom="IsLCC - All" NameFrom="Fanout_LCC" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="68c8071a-ec70-4c00-8b8b-a969f97c9305" Name="Fanout_LCC">
<AdvancedRuleItem Type="FanoutControl" Id="EMYERBSC" Name="Fanout_LCC" ScopeExpression="IsLCC" ScopeExpression2="All" IsEnabled="True" Priority="2" Comment="Fanout_LCC (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="(CompPinCount &lt; 5) - All" TypeFrom="(CompPinCount &lt; 5) - All" NameFrom="Fanout_Small" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="ffd60c06-712b-40c4-8569-f7cabd529dfb" Name="Fanout_Small">
<AdvancedRuleItem Type="FanoutControl" Id="PWGXRVTC" Name="Fanout_Small" ScopeExpression="(CompPinCount &lt; 5)" ScopeExpression2="All" IsEnabled="True" Priority="4" Comment="Fanout_Small (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="OutThenIn" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsSOIC - All" TypeFrom="IsSOIC - All" NameFrom="Fanout_SOIC" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="8364b979-8456-4ff6-a138-84065dfce31f" Name="Fanout_SOIC">
<AdvancedRuleItem Type="FanoutControl" Id="PGQOFBRC" Name="Fanout_SOIC" ScopeExpression="IsSOIC" ScopeExpression2="All" IsEnabled="True" Priority="3" Comment="Fanout_SOIC (Default Rule)">
<ScopeExpressions />
<FanoutControl Style="Auto" Direction="Alternating" BgaDirection="Out" BgaFanoutViaMode="Centered" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="Height" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5a679932-52f4-4d2f-9351-42281d80bdeb" Name="Height">
<AdvancedRuleItem Type="MaxMinHeight" Id="EGKSYKPS" Name="Height" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<Height Minimum="0mil" Preferred="500mil" Maximum="1000mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="HoleSize" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="e5daf43a-7841-4b8b-ad61-783f2638a62b" Name="HoleSize">
<AdvancedRuleItem Type="MaxMinHoleSize" Id="PJIOTTFN" Name="HoleSize" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<HoleSize Minimum="1mil" Maximum="100mil" MinimumPercents="0%" MaximumPercents="0%" MeasurementMethod="Absolute" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="HoleToHoleClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="f9242ab8-ab82-4105-94dd-06fe23e77776" Name="HoleToHoleClearance">
<AdvancedRuleItem Type="HoleToHoleClearance" Id="EKBNTGLH" Name="HoleToHoleClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<HoleToHoleClearance AllowStackedMicroVia="True" Clearance="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="LayerPairs" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="aca8d9a8-90f3-452c-9d7c-77e69062400d" Name="LayerPairs">
<AdvancedRuleItem Type="LayerPair" Id="BBXOLONW" Name="LayerPairs" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<LayerPairs EnforceLayerPairSettings="True" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="MinimumSolderMaskSliver" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="094c6621-ab44-44be-8b76-625b0f23f86d" Name="MinimumSolderMaskSliver">
<AdvancedRuleItem Type="MinimumSolderMaskSliver" Id="GVRVDBJD" Name="MinimumSolderMaskSliver" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<MinimumSolderMaskSliver Sliver="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="NetAntennae" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="df49cdb0-b895-42ce-96c4-99742e9a3592" Name="NetAntennae">
<AdvancedRuleItem Type="NetAntennae" Id="XDFKTIKY" Name="NetAntennae" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<NetAntennae Tolerance="0mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PasteMaskExpansion" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="f5c2e050-c553-4c6a-b312-69e298bae549" Name="PasteMaskExpansion">
<AdvancedRuleItem Type="PasteMaskExpansion" Id="SWSYOLQW" Name="PasteMaskExpansion" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PasteMaskExpansion Expansion="0mil" UsePaste="True" UsePercents="False" UseTopPaste="False" UseBottomPaste="False" Percents="0%" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PlaneClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="ab895dc5-44cf-41cd-be36-14a43c094e47" Name="PlaneClearance">
<AdvancedRuleItem Type="PowerPlaneClearance" Id="UWXAOJVA" Name="PlaneClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PowerPlaneClearance Clearance="20mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="PlaneConnect" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="23e133b9-5cfb-4be2-8e04-9784a00c3e57" Name="PlaneConnect">
<AdvancedRuleItem Type="PowerPlaneConnectStyle" Id="SIBNMWWC" Name="PlaneConnect" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<PowerPlaneConnectStyle Advanced="False">
<Pad Expansion="20mil" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" ConductorsCount="Four" />
<Via Expansion="20mil" AirGap="10mil" ConductorWidth="10mil" ConnectStyle="ReliefConnect" ConductorsCount="Four" />
</PowerPlaneConnectStyle>
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="RoutingCorners" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4c06cb93-597c-4bb6-b24a-c887386f858e" Name="RoutingCorners">
<AdvancedRuleItem Type="RoutingCornerStyle" Id="LDSVCARF" Name="RoutingCorners" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<RoutingCorners MinSetBack="100mil" MaxSetBack="100mil" CornerType="Corner45" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="RoutingPriority" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="2a3495fa-ba9a-4435-a39c-e6620387f1b1" Name="RoutingPriority">
<AdvancedRuleItem Type="RoutingPriority" Id="MFPKARDV" Name="RoutingPriority" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<RoutingPriority RoutingPriority="0" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('7V2') - All" TypeFrom="InNet('7V2') - All" NameFrom="Schematic Supply Nets" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="c3c86105-e486-4bd0-8e6e-eeea7441328f" Name="Schematic Supply Nets">
<AdvancedRuleItem Type="SupplyNets" Id="4ba0ca50-146c-4fc4-820d-23f34597c78b" Name="Schematic Supply Nets" ScopeExpression="InNet('7V2')" ScopeExpression2="All" IsEnabled="True" Priority="4" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('3V3') - All" TypeFrom="InNet('3V3') - All" NameFrom="Schematic Supply Nets_1" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="7ea4b6d2-d325-428a-a393-21c02ce31abb" Name="Schematic Supply Nets_1">
<AdvancedRuleItem Type="SupplyNets" Id="8bcf80c3-975e-4b49-8d4a-dd217d7a9380" Name="Schematic Supply Nets_1" ScopeExpression="InNet('3V3')" ScopeExpression2="All" IsEnabled="True" Priority="3" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('5V') - All" TypeFrom="InNet('5V') - All" NameFrom="Schematic Supply Nets_2" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="06ddfb86-4a25-4aad-98f3-a17fea7d8108" Name="Schematic Supply Nets_2">
<AdvancedRuleItem Type="SupplyNets" Id="06476a4a-ba8e-4b27-b71c-ee6157ed993b" Name="Schematic Supply Nets_2" ScopeExpression="InNet('5V')" ScopeExpression2="All" IsEnabled="True" Priority="2" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="InNet('GND') - All" TypeFrom="InNet('GND') - All" NameFrom="Schematic Supply Nets_3" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="466aac9a-c222-48a9-a94a-717f20bae641" Name="Schematic Supply Nets_3">
<AdvancedRuleItem Type="SupplyNets" Id="1a1b096c-01e8-4640-ac9f-041b579b1dea" Name="Schematic Supply Nets_3" ScopeExpression="InNet('GND')" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SupplyNets Voltage="0V" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="ShortCircuit" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="4b682aec-0620-4d56-b2a5-7dd7e8dab804" Name="ShortCircuit">
<AdvancedRuleItem Type="ShortCircuit" Id="VRCQKAYR" Name="ShortCircuit" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<ShortCircuit AllowShortCircuit="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All" TypeFrom="All" NameFrom="SilkToSilkClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="22637064-3e09-4d1a-8ca9-3fb5c0df9674" Name="SilkToSilkClearance">
<AdvancedRuleItem Type="SilkToSilkClearance" Id="TLDITWEV" Name="SilkToSilkClearance" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SilkToSilkClearance Clearance="10mil" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="IsPad" TypeFrom="IsPad" NameFrom="SilkToSolderMaskClearance" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5aa43cfe-d733-476a-9215-8147130ea34d" Name="SilkToSolderMaskClearance">
<AdvancedRuleItem Type="SilkToSolderMaskClearance" Id="QSNYIIVI" Name="SilkToSolderMaskClearance" ScopeExpression="IsPad" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SilkToSolderMaskClearance Clearance="10mil" Mode="ExposedCooper" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="SolderMaskExpansion" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="a8982250-3a1b-4b5c-b525-dff67286b44e" Name="SolderMaskExpansion">
<AdvancedRuleItem Type="SolderMaskExpansion" Id="OMUSCKTI" Name="SolderMaskExpansion" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<SolderMaskExpansion Top="0mil" Bottom="0mil" FromHoleEdge="False" TopAndBottomLinked="True" TentingTop="False" TentingBottom="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="UnpouredPolygon" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="58bd63a3-4946-4707-b289-ca67ef76f11d" Name="UnpouredPolygon">
<AdvancedRuleItem Type="ModifiedPolygon" Id="UJKRXLHK" Name="UnpouredPolygon" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<UnpouredPolygon AllowShelved="False" AllowModified="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
<Advanced SourceType="All - All" TypeFrom="All - All" NameFrom="UnRoutedNet" AssignedConstraintSetId="" IsClassFrom="False" IsPredefinedFrom="False"><![CDATA[<AdvancedItem SerializerVersion="1.0" xmlns="http://altium.com/ns/ConstraintManager2">
<AdvancedConstraintSet Id="5da73f43-4648-40c1-bc2f-4d1fb2ab729e" Name="UnRoutedNet">
<AdvancedRuleItem Type="BrokenNets" Id="LPMVHADD" Name="UnRoutedNet" ScopeExpression="All" ScopeExpression2="All" IsEnabled="True" Priority="1" Comment="">
<ScopeExpressions />
<UnRoutedNet ChkForIncompleteConnections="False" />
</AdvancedRuleItem>
</AdvancedConstraintSet>
</AdvancedItem>]]></Advanced>
</ConstraintSets>
+240 -229
View File
@@ -1,229 +1,240 @@
# Altium # Altium
Documentation and support files for Altium at Reykjavik University Documentation and support files for Altium at Reykjavik University
* Maintainer: Joseph T. Foley * Maintainer: Joseph T. Foley
* Main Contact: `cad-admin` at RU.IS * Main Contact: `cad-admin` at RU.IS
## Students: ## Students:
* Get your license at [Altium Education](altium-education.md) * Get your license at [Altium Education](altium-education.md)
* Getting help, particularly regarding licenses: `studentsupport@altium.com` * Getting help, particularly regarding licenses: `studentsupport@altium.com`
## Staff: ## Staff:
* Contact `cad-admin` requesting access. We have a very limited number of staff licenses. * Contact `cad-admin` requesting access. We have a very limited number of staff licenses.
# Overview # Overview
Altium Designer is an expensive professional-grade ECAD software for schematic capture, PCB layout, and simulation. They also sell free PCB layout tools for hobbyists under the name [CircuitMaker](https://www.altium.com/circuitmaker). Altium Designer is an expensive professional-grade ECAD software for schematic capture, PCB layout, and simulation. They also sell free PCB layout tools for hobbyists under the name [CircuitMaker](https://www.altium.com/circuitmaker).
* Altium requires the Windows operating system. If you are on linux or OSX, you will need to run it in a 64-bit virtual machine. We recommend using VirtualBox with Windows 11 Education at the [Microsoft Azure Dev Tools for Teaching](https://aka.ms/devtoolsforteaching) * Altium requires the Windows operating system. If you are on linux or OSX, you will need to run it in a 64-bit virtual machine. We recommend using VirtualBox with Windows 11 Education at the [Microsoft Azure Dev Tools for Teaching](https://aka.ms/devtoolsforteaching)
* All Altium licenses and content has been moved into the official Altium Cloud called Altium 365. You will be using Altium 365 Workspaces detailed at https://www.altium.com/documentation/altium-365/workspace One large benefit is that you will be able to access Altium off campus without needing to use the VPN. * All Altium licenses and content has been moved into the official Altium Cloud called Altium 365. You will be using Altium 365 Workspaces detailed at https://www.altium.com/documentation/altium-365/workspace One large benefit is that you will be able to access Altium off campus without needing to use the VPN.
## Documentation: https://www.altium.com/documentation/ ## Documentation: https://www.altium.com/documentation/
* Altium itself has a Help menu! * Altium itself has a Help menu!
* Altium Education * Altium Education
** Introduction to Altium 365: https://education.altium.com/p/altium-365-for-students ** Introduction to Altium 365: https://education.altium.com/p/altium-365-for-students
** Tutorial (after registration): https://education.altium.com/courses/unit-1-introduction-to-pcb-design ** Tutorial (after registration): https://education.altium.com/courses/unit-1-introduction-to-pcb-design
* Altium365: https://www.altium.com/documentation/altium-365 * Altium365: https://www.altium.com/documentation/altium-365
* Classic Tutorial: https://www.altium.com/documentation/altium-designer/tutorial-complete-design-walkthrough * Classic Tutorial: https://www.altium.com/documentation/altium-designer/tutorial-complete-design-walkthrough
* Tutorial and Hint Videos http://altiumvideos.live.altium.com * Tutorial and Hint Videos http://altiumvideos.live.altium.com
* More videos: https://my.altium.com/discover * More videos: https://my.altium.com/discover
# Reykjavik University Workspace # Reykjavik University Workspace
1. After getting a license, you will need to contact `cad-admin AT ru.is`: explain what class/project you are working on and that you need access to the Altium "Reykjavik University Workspace" 1. After getting a license, you will need to contact `cad-admin AT ru.is`: explain what class/project you are working on and that you need access to the Altium "Reykjavik University Workspace"
1. The first window is "License Management". You need to pick a license and click on "Use" before you can get started. 1. The first window is "License Management". You need to pick a license and click on "Use" before you can get started.
2. To access our Workspace, click on the "Not Connected" on the top right corner and pick "Reykjavik University". **Of note, anyone in the Workspace can see the work and parts that you have in this Workspace.** For more private work, create a new Workspace. 2. To access our Workspace, click on the "Not Connected" on the top right corner and pick "Reykjavik University". **Of note, anyone in the Workspace can see the work and parts that you have in this Workspace.** For more private work, create a new Workspace.
1. Click on the same spot again and it will open the "Explorer" so you can see what parts are already in our library. 1. Click on the same spot again and it will open the "Explorer" so you can see what parts are already in our library.
1. If you make a particularly useful component, please share it in the Workspace so others can use it as well. 1. If you make a particularly useful component, please share it in the Workspace so others can use it as well.
1. By default, things are public so if you need to change permissions on a project related to an assignment, please contact your instructor to change the "Share" setting on a file or directory. 1. By default, things are public so if you need to change permissions on a project related to an assignment, please contact your instructor to change the "Share" setting on a file or directory.
# Starting a PCB # Making a PCB
1. Setup what pins are allowed to connect in the Project > Options > Connection Matrix The process of making a PCB starts with a tested schematic.
* The most common change is to change IO to Output to be "No Report" otherwise connecting a Pi GPIO to an output will create a warning. ## Setup the schematic and blank board
1. Find the Schematic Symbols and PCB layout in the Reykjavik University Workspace library 1. Setup what pins are allowed to connect in the Project > Options > Connection Matrix
* If they are missing, you will need to import them from the Manufacturer and/or create schematic symbols and footprints * The most common change is to change IO to Output to be "No Report" otherwise connecting a Pi GPIO to an output will create a warning.
1. Drag them onto your Schematic 1. Find the Schematic Symbols and PCB layout in the Reykjavik University Workspace library
1. Connect them together with appropriate wires and busses * If they are missing, you will need to import them from the Manufacturer and/or create schematic symbols and footprints
* Unattached inputs (for components with internal pullup/pulldown) can be left floating with a "NO ERC" marker 1. Drag them onto your Schematic
1. Project > Validate and look at the output in Messages 1. Connect them together with appropriate wires and busses
1. Test your circuit using a breadboard. **THIS IS VERY IMPORTANT to avoid wasting time later!** * Unattached inputs (for components with internal pullup/pulldown) can be left floating with a "NO ERC" marker
1. Create a new PCB document in your project (Of note, the 2026 rover's plate has a size of 100x135mm (4x5.3 inches) 1. Project > Validate and look at the output in Messages
1. View > Board Planning Mode 1. Test your circuit using a breadboard. **THIS IS VERY IMPORTANT to avoid wasting time later!**
2. Design > Edit Board shape 1. Create a new PCB document in your project (Of note, the 2026 rover's plate has a size of 100x135mm (4x5.3 inches)
2. Drag handles until the size is what you want 1. View > Board Planning Mode
2. View > 2D Layer Mode 2. Design > Edit Board shape
2. Add a "keepout" line around the board if you want to use the Autorouter to avoid it routing off the board 2. Drag handles until the size is what you want
1. Import the components from the Schematic by: Design > Import Changes from ... 2. View > 2D Layer Mode
1. It will create an Engineering Change popup showing the operations it will do 2. Add a "keepout" line around the board if you want to use the Autorouter to avoid it routing off the board
2. Click Validate (look for red X's for possible issues) 1. Import the components from the Schematic by: Design > Import Changes from ...
2. Click Execute 1. It will create an Engineering Change popup showing the operations it will do
2. Click Validate (look for red X's for possible issues)
# Pick a PCB manufacturer. 2. Click Execute
This will determine the options for traces and vias. Some options in no particular order:
## [JLCPCB](https://jlcpcb.com/) ## Pick a PCB manufacturer.
This company is located in [Hong Kong (China)](https://jlcpcb.com/help/article/terms-%26-conditions) This will determine the options for traces and vias. Some options in no particular order:
This The boards in the 2026 rover kits were made here. Website: https://jlcpcb.com/ ### [JLCPCB](https://jlcpcb.com/)
## [AllPCB](https://www.allpcb.com/) This company is located in [Hong Kong (China)](https://jlcpcb.com/help/article/terms-%26-conditions)
This company is somewhere in China. As of 2026-07-29 they were not accepting orders: This The boards in the 2026 rover kits were made here. Website: https://jlcpcb.com/
"Due to adjustments to the Company's corporate governance structure, our website will temporarily suspend operations effective immediately. Outstanding orders and services will still be fulfilled as agreed. For more information, please contact your dedicated customer service representative. We apologize for any inconvenience and appreciate your understanding." ### [AllPCB](https://www.allpcb.com/)
The first iteration of the 2026 PowerMotor board was made here. This company is somewhere in China. As of 2026-07-29 they were not accepting orders:
Manufacturing capabilities at https://www.allpcb.com/advanced_pcb_manufacturing_capability.html "Due to adjustments to the Company's corporate governance structure, our website will temporarily suspend operations effective immediately. Outstanding orders and services will still be fulfilled as agreed. For more information, please contact your dedicated customer service representative. We apologize for any inconvenience and appreciate your understanding."
* Drill hole size: 0.15-6.5mm The first iteration of the 2026 PowerMotor board was made here.
* Minimum via/pad: Manufacturing capabilities at https://www.allpcb.com/advanced_pcb_manufacturing_capability.html
* Double-side board: 0.2mm (inner diameter)/0.5mm (outer diameter) * Drill hole size: 0.15-6.5mm
* Multi-layer board: 0.15mm (inner diameter)/0.25mm (outer diameter) * Minimum via/pad:
* The outer diameter must be 0.1mm larger than the inner diameter, 0.15mm preferred * Double-side board: 0.2mm (inner diameter)/0.5mm (outer diameter)
* Preferred Min. Via hole size: 0.2mm * Multi-layer board: 0.15mm (inner diameter)/0.25mm (outer diameter)
* Minimum trace: This depends up on the copper thickness! (1OZ copper) 0.076/0.076mm(3mil/3mil). Tolerance is 20% so you probably want to set the width to 1mm * The outer diameter must be 0.1mm larger than the inner diameter, 0.15mm preferred
* Silkscreen text minimum height 0.75mm, width 0.1mm * Preferred Min. Via hole size: 0.2mm
* Silkscreen spacing from character to copper: 0.15mm * Minimum trace: This depends up on the copper thickness! (1OZ copper) 0.076/0.076mm(3mil/3mil). Tolerance is 20% so you probably want to set the width to 1mm
* Silkscreen text minimum height 0.75mm, width 0.1mm
## [PCB4Less](https://pcb4less.com) * Silkscreen spacing from character to copper: 0.15mm
This is a US PCB vendor, which may be helpful when collaborating with US partners.
## [EuroCircuits](https://www.eurocircuits.com/) ### [PCB4Less](https://pcb4less.com)
Their headquarters is in Belgium. This is a US PCB vendor, which may be helpful when collaborating with US partners.
## [EuroCircuits](https://www.eurocircuits.com/)
Their headquarters is in Belgium.
# Setup the Constraints
These ensure that the vendor can make the board and the Design Rule Checker will catch the mistakes. Your chances of having a working board are very low if you skip this step! ## Setup the Constraints
Design > Constraint Manager These ensure that the vendor can make the board and the Design Rule Checker will catch the mistakes. Your chances of having a working board are very low if you skip this step! I have included some constraints as `.CstrDot` files to get people started.
Clearances > All Nets
Click on the dimension and set it to "0.2mm". You can go as small as 0.1mm if you are using the 1Oz AllPCB copper. Start by "Open Design > Constraint Manager"
Physical > All Nets 1. Clearances > All Nets
Click on "Min Width" and look at the bottom of the screen 2. Click on the dimension and set it to "0.2mm". You can go as small as 0.1mm if you are using the 1Oz AllPCB copper.
Most manufacturers can handle Min: 0.2mm, Prefer: 2.5mm Max 2.5 as a default 2. Physical > All Nets
Power nets might want to have larger traces: 1. Click on "Min Width" and look at the bottom of the screen
Right click on "All Nets" > Classes > Add Class > Net Class 3. Most manufacturers can handle Min: 0.2mm, Prefer: 2.5mm Max 2.5 as a default
Set the class as "Power" 3. Power nets might want to have larger traces:
Select all the nets such as "GND" and "3V3" in Non-members and click ">" to make them members 1. Right click on "All Nets" > Classes > Add Class > Net Class
Click OK 4. Set the class as "Power"
Click on the new "Power" class of nets 4. Select all the nets such as "GND" and "3V3" in Non-members and click ">" to make them members
Look at the bottom and set the Min: 0.5mm, Prefer 5.0mm, Max 0.9mm for some big traces 4. Click OK
Setup the layers of the board. 4. Click on the new "Power" class of nets
RU CNC: Suggest doing it in one layer with jumper wires. Autoroute has an option for this. 4. Look at the bottom and set the Min: 0.5mm, Prefer 5.0mm, Max 0.9mm for some big traces
Most projects: 2 layer is cheapest and enough for most projects
Fit in small space or lots of connections: 4 layers is commonly used on most modern devices ## Layout the board
Manually route wires (or use Autorouting, my favorite) to place all the wires. 1. Setup the layers of the board.
If you need mounting holes, create Pads with a hole of the size you want 1. RU CNC: Suggest doing it in one layer with jumper wires. Autoroute has an option for this.
You'll have to assign it an identifier (such as S1, S2, S3,..) and match it to a pin in the "Pins" list 2. Most projects: 2 layer is cheapest and enough for most projects
Edit the schematic symbol and put the new pins slightly off the symbol 2. Fit in small space or lots of connections: 4 layers is commonly used on most modern devices
Click on a blank spot 1. Manually route wires (or use Autorouting, my favorite) to place all the wires.
Properties: Pins tab > click on the pencil to edit 1. If you need mounting holes, create Pads with a hole of the size you want
Uncheck the boxes for Show, Number, and Name on the mounting hole pads to hide them 1. You'll have to assign it an identifier (such as S1, S2, S3,..) and match it to a pin in the "Pins" list
If the hole is bigger than 2.5mm, you'll have to increase the max hole constraint 2. Edit the schematic symbol and put the new pins slightly off the symbol
Constraint Manager > All Rules 2. Click on a blank spot
Scroll to Manufacturing > Hole size 2. Properties: Pins tab > click on the pencil to edit
Expand "Advanced Rules" 2. Uncheck the boxes for Show, Number, and Name on the mounting hole pads to hide them
Increase the maximum to your mounting hole size 2. If the hole is bigger than 2.5mm, you'll have to increase the max hole constraint
Check for Design Rule violations and fix them 1. Constraint Manager > All Rules
Tools > Design Rule Check 3. Scroll to Manufacturing > Hole size
Click "Run Design Rule Check" which is on the bottom left! OK will just close the dialog. 3. Expand "Advanced Rules"
3. Increase the maximum to your mounting hole size
## Output the job to send to the PCB manufacturer 1. Check for Design Rule violations and fix them
Create an Outjob to produce the files the PCB manufacturer wants (Gerber and NC drill usually) 1. Tools > Design Rule Check
Right click on the project > Add New to Project > Output Job File 2. Click "Run Design Rule Check" which is on the bottom left! OK will just close the dialog.
Click on [Add New Fabrication Output] > Gerber Files > pick the PCB file
Right click on Gerber Files and choose "Configure" ## Output the job to send to the PCB manufacturer
Change the Units to Inches Create an Outjob to produce the files the PCB manufacturer wants (Gerber and NC drill usually)
Click on "Plot Layers" and choose "Select Used" 1. Right click on the project > Add New to Project > Output Job File
Click on [Add New Fabrication Output] > NC Drill Files > pick the PCB file 1. Click on [Add New Fabrication Output] > Gerber Files > pick the PCB file
Click on "Folder Structure" in the output containers on the right size 1. Right click on Gerber Files and choose "Configure"
Click on both of these Fabrication outputs on the right where there is a circle 1. Change the Units to Inches
Click on the "Generate Content" 2. Click on "Plot Layers" and choose "Select Used"
This will put files into the folder on that container. This is usually something like "Documents\Altium\<projectname>\|Project Outputs for <projectname>\<type>" 2. Click on [Add New Fabrication Output] > NC Drill Files > pick the PCB file
Take all the files in the Gerber and "NC Drill" folder and put them in a zip file 2. Click on "Folder Structure" in the output containers on the right size
Submit the Gerber file and the NC Drill files to the PCB manufacturer and pay them the money. Some vendors have the option to have them send you the files to review before production: I choose that even if it costs more to avoid having an issue such as no holes getting drilled. Usually it takes 1 week to get your board back due to Icelandic shipping and customs. 2. Click on both of these Fabrication outputs on the right where there is a circle
If you asked for a check before production, they will often send you a zip file with their CAM output. To check it (AllPCB example): 2. Click on the "Generate Content"
Decompress the file somewhere easily accessible such as "AllPCB-cam". It will have two subdirectories: 1. This will put files into the folder on that container. This is usually something like "Documents\Altium\<projectname>\|Project Outputs for <projectname>\<type>"
yg: the original Gerber files you sent in 1. Take all the files in the Gerber and "NC Drill" folder and put them in a zip file
ok: the company's CAM output for you to look at 1. Submit the Gerber file and the NC Drill files to the PCB manufacturer and pay them the money. Some vendors have the option to have them send you the files to review before production: I choose that even if it costs more to avoid having an issue such as no holes getting drilled. Usually it takes 1 week to get your board back due to Icelandic shipping and customs.
Create a CAM document in your project such as "<projectname>-AllPCB.cam"
File > Import > Quick Load ## Check the board before it goes to production
Change the filter to "all files" because the files do not have extensions (.gbl) instead the filename is just gbl If you asked for a check before production, they will often send you a zip file with their CAM output. To check it (AllPCB example):
Navigate to the AllPCB-cam/ok and click OK 1. Decompress the file somewhere easily accessible such as "AllPCB-cam". It will have two subdirectories:
Examine the file to make sure that it looks like what you expect: no missing traces or holes * yg: the original Gerber files you sent in
When the board arrives: inspect it for missing traces, shorts, etc. (In one case, the board was missing an entire layer!) * ok: the company's CAM output for you to look at
Solder one the components to the board (or send it to a fabricator for larger orders with a pick and place) 1. Create a CAM document in your project such as `<projectname>-AllPCB.cam`
Test, Share, and Enjoy! 1. File > Import > Quick Load
1. Change the filter to "all files" because the files do not have extensions (.gbl) instead the filename is just gbl
# FAQ 1. Navigate to the AllPCB-cam/ok and click OK
## How do I keep the part Comment from getting changed when the part in the library is updated? 1. Examine the file to make sure that it looks like what you expect: no missing traces or holes
1. In the SCH, click on the part and look at the Properties window
1. Click the lock symbol next to the Comment field ## Check the board once it arrives
1. Click on the Comment text itself on the page 1. Inspect it for missing traces, shorts, etc. (In one case, the board was missing an entire layer!)
1. In the Properties window: make sure "Allow Sychronization with Database" is not checked 1. Solder one the components to the board (or send it to a fabricator for larger orders with a pick and place)
1. Test, Share, and Enjoy!
## How do I put the Value of resistors and other passive parts on the PCB
You'll have to give up using the Comment field for this # FAQ
1. Click on the part and open the Properties window ## I'm trying to Design > Import changes from Schematic for my new PCB file but it keeps giving an error that the file does not exist.
1. Under Comment, replace the text with `=Value` 1. The Engineering Change Order requires that an empty file exist on your computer before it starts. Do a "Save As" of the file before trying to import.
1. Click on the Comment text itself on the page
1. In the Properties window: make sure "Allow Sychronization with Database" is not checked ## How do I keep the part Comment from getting changed when the part in the library is updated?
1. Menu: Design > Update PCB Document 1. In the SCH, click on the part and look at the Properties window
1. Click the lock symbol next to the Comment field
## How do I reuse footprints and symbols when creating a new part? 1. Click on the Comment text itself on the page
1. In the Properties window: make sure "Allow Sychronization with Database" is not checked
Click on Existing in the dropdown
Navigate to the "Models" folder ## How do I put the Value of resistors and other passive parts on the PCB
Pick footprint or symbol You'll have to give up using the Comment field for this
1. Click on the part and open the Properties window
## My mounting holes are causing the footprint to get errors on Validation 1. Under Comment, replace the text with `=Value`
1. Click on the Comment text itself on the page
Edit the schematic symbol 1. In the Properties window: make sure "Allow Sychronization with Database" is not checked
Click on an empty spot on the sheet 1. Menu: Design > Update PCB Document
Go to the Properties panel and select the Pins tab
Click on the edit "pencil" ## How do I reuse footprints and symbols when creating a new part?
Add the designators associated with the mounting hole pads
Uncheck all the boxes regarding what is visible Click on Existing in the dropdown
Click OK Navigate to the "Models" folder
Pick footprint or symbol
## My mounting holes are causing the footprint to get errors on the Design Rule check "Hole Size Constraint" ## My mounting holes are causing the footprint to get errors on Validation
Open Constraint MNAGER Edit the schematic symbol
Tab "All Rules" Click on an empty spot on the sheet
Scroll to Manufacturing > Hole Size Go to the Properties panel and select the Pins tab
Increase the Maximum to your hole size or create a new rule for your mounting holes specifically Click on the edit "pencil"
This page has a suggestion I'm still testing: https://electronics.stackexchange.com/questions/682935/how-can-i-select-mounting-holes-pads-for-design-rule-checks-or-queries-in-alti Add the designators associated with the mounting hole pads
Uncheck all the boxes regarding what is visible
## What if my component's pins have a missing number in the sequence? Validation fails! Click OK
Oh boy. This took a while to figure out. The trick is to make a hidden pin just as you would for a mounting hole. See the suggestion above.
I have a suspicion that if you make a hole with no copper, then maybe it isn't a pad. ## My mounting holes are causing the footprint to get errors on the Design Rule check "Hole Size Constraint"
## Surface mount components aren't working with the autorouter! Open Constraint MNAGER
Tab "All Rules"
Tight surfacemount components need a fanout before routing. Scroll to Manufacturing > Hole Size
Increase the Maximum to your hole size or create a new rule for your mounting holes specifically
Route > Autoroute > Setup This page has a suggestion I'm still testing: https://electronics.stackexchange.com/questions/682935/how-can-i-select-mounting-holes-pads-for-design-rule-checks-or-queries-in-alti
Duplicate an existing one such as "Default 2 Layer Board"
Rename your new route with "Default 2 Layer Board (SMD)" ## What if my component's pins have a missing number in the sequence? Validation fails!
Make sure the first 3 steps (in the right panel are)
Fan out signal Oh boy. This took a while to figure out. The trick is to make a hidden pin just as you would for a mounting hole. See the suggestion above.
Fan out plane I have a suspicion that if you make a hole with no copper, then maybe it isn't a pad.
Spread
Click OK and OK ## Surface mount components aren't working with the autorouter!
Design > Contstraint Manager
Clearances for All Nets: 0.076/3mil (if AllPCB) Tight surfacemount components need a fanout before routing.
Physical All net: Min: 0.076mm, Prefer: 0.2mm, Max: 0.25
Make sure that if you have a Power net, it also has the same sizes Route > Autoroute > Setup
Duplicate an existing one such as "Default 2 Layer Board"
In addition, the Constraints Manager is missing some of the SMT rules so the Autorouter makes some assumptions. Read the [Altium article "SMT Rule Types"](https://www.altium.com/documentation/altium-designer/pcb/design-rule-types/smt#smd-to-plane)for more information on these. Rename your new route with "Default 2 Layer Board (SMD)"
Make sure the first 3 steps (in the right panel are)
Design > Constraint Manager Fan out signal
All Rules Fan out plane
SMT > SMD Neck-Down Spread
Create Advanced rule and keep the default neckdown of 50% Click OK and OK
Design > Contstraint Manager
Clearances for All Nets: 0.076/3mil (if AllPCB)
## I want to reuse my constraints to make another board without having to put all the numbers in again. How do I do this? Physical All net: Min: 0.076mm, Prefer: 0.2mm, Max: 0.25
Reference: https://www.altium.com/documentation/altium-designer/pcb/constraints-editor#new-custom-constraint-rule Make sure that if you have a Power net, it also has the same sizes
1. Open the constraint manager (either on the Schematic or PCB depending upon where you set it up)
1. Open "All Rules" ab In addition, the Constraints Manager is missing some of the SMT rules so the Autorouter makes some assumptions. Read the [Altium article "SMT Rule Types"](https://www.altium.com/documentation/altium-designer/pcb/design-rule-types/smt#smd-to-plane)for more information on these.
1. Right click on "Rule Class"
1. Choose "Export all rules" Design > Constraint Manager
1. Pick which things to export if you don't want to include everything All Rules
1. Click on the "Export X Items" and choose which filename to put it in SMT > SMD Neck-Down
Create Advanced rule and keep the default neckdown of 50%
## How do I move where various text shows up on the schematic symbol?
https://www.altium.com/documentation/knowledge-base/altium-designer/control-component-parameter-appearance-in-schematic
## I want to reuse my constraints to make another board without having to put all the numbers in again. How do I do this?
Reference: https://www.altium.com/documentation/altium-designer/pcb/constraints-editor#new-custom-constraint-rule
1. Open the constraint manager (either on the Schematic or PCB depending upon where you set it up)
1. Open "All Rules" ab
1. Right click on "Rule Class"
1. Choose "Export all rules"
1. Pick which things to export if you don't want to include everything
1. Click on the "Export X Items" and choose which filename to put it in
## How do I move where various text shows up on the schematic symbol?
https://www.altium.com/documentation/knowledge-base/altium-designer/control-component-parameter-appearance-in-schematic
+5 -5
View File
@@ -1,5 +1,5 @@
# Bookmarks for later use # Bookmarks for later use
* [Defining, Scoping & Managing PCB Design Rules: creating a new rule](https://www.altium.com/documentation/altium-designer/pcb/defining-scoping-managing-design-rules#creating-a-new-rule) * [Defining, Scoping & Managing PCB Design Rules: creating a new rule](https://www.altium.com/documentation/altium-designer/pcb/defining-scoping-managing-design-rules#creating-a-new-rule)
* [Defining Design Requirements Using the Constraint Manager](https://www.altium.com/documentation/altium-designer/sch-pcb/constraint-manager) * [Defining Design Requirements Using the Constraint Manager](https://www.altium.com/documentation/altium-designer/sch-pcb/constraint-manager)
* [Processes and Workflows](https://www.altium.com/documentation/altium-365/processes-workflows) * [Processes and Workflows](https://www.altium.com/documentation/altium-365/processes-workflows)
* [Altium 365 Workspace Quickstart(https://my.altium.com/altium-365/getting-started/what-is-a365-workspace) * [Altium 365 Workspace Quickstart(https://my.altium.com/altium-365/getting-started/what-is-a365-workspace)