Showing posts with label Bugs. Show all posts
Showing posts with label Bugs. Show all posts

Saturday, October 14, 2023

Bug - Zero Height Text

Altium Designer Version AD23.9.2 

Altium Bug Crunch #22010

Zero Height Text strings can be created and displayed in a PCB on any layer.

Note these zero height strings will NOT be generated in the Gerber outputs.

Zero Height Silkscreen Polarity Dots will not be generated in the Gerber data.


Related Points of Interest.

The zero height strings will be displayed in Draftsman


The zero height strings will be displayed in 3D PDF files.


The zero height strings will NOT be displayed in the Gerber data.


To Find and Fix all Zero Height Text Strings.

PCB Filter > (ObjectKind = 'Text') And (AsMM(TextHeight) = 0)

In the Properties Panel set the Text.Height to a value greater than zero.  

Example Silkscreen Text.Height  = 0.01mm






















That's it !

Saturday, July 30, 2022

AD22.7.1 Variant = DNI - Fitted / Not Fitted Bug

 DNI - L202 ?  Not-Fitted on Assy Dwg






















L202 is shown as Fitted in the Schematic DNI Variant





















Current Variant = DNI













Houston, we have a problem. Red = DNI on Assy Dwg
Specifically note L202 and more bogus looking DNIs on the Assy dwg

Looking at the project *.PrjPcb file in Notepad++

I see multiple entries for L202 and several other duplicated designators with different Unique IDs.





Also I see U? & H? however there are no un-annotated components in the design.

Suggested Workaround

Print a PDF version of the existing schematic for reference and sanity checks.

Use a customized BOM to find the correct Unique ID for the Designators.

Or review the Unique ID for each component:

Preferences > General > Advanced > System.UI.IPP.ShowUniqueID

Related Link:   Unique ID - Show Enabled

Close Altium and use a text editor to delete the incorrectly duplicated designators in the *.PrjPcb file. Then open the project in Altium and review the schematics and drawings.


Comments to my Customer 

We will need to work together to get through this DNI bug I found in the Ceres3 project.

Just curious . . .

How did Ceres3 come into being ?  
Cloned A365 or a Copied project file ?

How did this Happen ?

Note the engineer did not intentionally reset any Unique IDs by using a Unique ID Reset button or script.

Engineers will save one or more Schematic.SchDoc files from a project then add the saved Schematic.SchDoc files to a different project.

When a Schematic.SchDoc is added to another project there may be duplicate designators depending on what designators are already in other sheets.

Next the engineer re-annotates the sheets to resolve the duplicate Designators and now the Variant data in the *.PrjPcb file is a Train Wreck.

Also there is a statically rare but not impossible chance that one or more Unique IDs could be duplicated.

You may have a better understanding how this happens after reading these links

Component Links - Part 1
Component Links - Part 2

Observations:
 
Looking at L202 in the *.PrjPcb file
 
Variation46=Designator=L202|UniqueId=\VWGFHICD|Kind=0|AlternatePart= 
 
A fitted component (Kind=0) with NO Alternate Part does not need to be included in the Project Variant data that is stored in the *.PrjPcb file.
 
As shown in Draftsman L202 was shown as Not-Fitted while in Schematic L202 is shown as Fitted.  This leads me to believe that the code base (Algorithm)  used to determine which parts are not fitted is not consistent between the Schematic and Draftsman,
 
It appears to me the Schematic is updated by reading all of the Variations found in the *.PrjPcb file and using the last found Variation for the designator.
 
It appears to me the Draftsman drawing is updated by reading the Variations found in the *.PrjPcb file and using the first found Variation for the designator. 
 
Unique IDs for every component in the design are not included in the *.PrjPcb file, therefore when Draftsman is reading the *.PrjPcb file and updating the drawing it must be assuming the first found Variation for L202 is correct regardless of the Unique ID which did not match the Unique ID of the part in the schematic.
 
In the case of duplicated Designators my findings indicate that the last entry of the same Designator for the Variation in the *.PrjPcb file is correct while the previous entries may or may not be correct.
 
 
Possible Solutions and Suggestions:
 
Draftsman should be updated by reading all of the Designator Variations found in the *.PrjPcb file and using the last found Variation for the designator.
 
Suggestion, remove unused variations from the *.PrjPcb file, for example . . .
Variation46=Designator=L202|UniqueId=\VWGFHICD|Kind=0|AlternatePart=
 
Because a fitted component (Kind=0) with NO Alternate Part does not need to be included in the Project Variant data that is stored in the *.PrjPcb file.

When the user re-annotates the Designators in a Project that would the appropriate time to cleanup the *.PrjPcb file.

End of Story !

Wednesday, May 19, 2021

Component Unions That Won't Break - Bug Fix

Select All Component > Make Union > Break All

Thank you Olivier

Tuesday, September 24, 2019

AD19.1.7 - Pushing Tracks and Differential Pairs

Some routing issues have been reported which are related to the new glossing algorithm.

Altium forum link: I'm not drinking the ad18/19 Koolaid

Solution: Use the Legacy Glossing

Preferences > System > General > Advanced button > Check "Legacy.PCB.InternalGloss" > Close > OK > Restart AD

Thank you Tim !

Diff Pair not starting from selected tracks. Diff Pair Gap Setting ?

That's it !

Sunday, July 1, 2018

Split Planes - AD18.1.7 Gotcha

If  you build a Split Plane with a No Net area on the plane that area will be flooded with copper assigned to GND.

















3D View

















2D View - Before Rebuilding Split Planes















2D View - After Rebuilding Split Planes















Tools > Split Planes > Rebuild . . . 












Gerbers viewed in Camtasic (Negative Image)



















(Negative Image) Black = Copper, Gray = No Copper


Tips: 

Don't count on unused No Net areas to remain free of copper, they will default to GND.

Use Fills or Solid Regions assigned to No Net to remove copper.


That's it !

Wednesday, May 11, 2016

Live Drill Table = Slow Performance

I'm currently working on a fairly complicated 16 layer design which has 3000+ vias.

This is a second spin due to feature creep.

click on images to view

















Live Drill Table (3178 Driils)




















I was experiencing very slow and sluggish performance while placing new vias, moving existing vias or deleting vias.

So the troubleshooting began:

At first I suspected active online DRC checking. After some further investigation I determined the sluggish performance was due to the Live Drill table.

Test:

Open any large design in Altium with a live Drill table, select the P then V key and start placing vias, there will be a long delay (~ 2 seconds) between the via placements.

Work around:  

Delete the Live Drill table.  Place the drill table after all routing is done.

Idea:

Stop updating the Live Drill Table if it is NOT visible.

Note: The managed release will fail to generate the fabrication outputs (Gerbers) if the drill table is missing (not placed) in the design.


That's It !