Het commando Countlist maakt een tellijst van de blocks in de tekening. Van elk block worden de gegevens uit de database(s) gezocht, zoals gewicht, omschrijving enz. De database(s) zijn in te stellen met SETLIB.
Resultaten zijn zichtbaar op het scherm en als export. De Export setting Include not in DB exporteert ook de blocks die in de tekening gevonden werden, maar die niet in de database staan. De settings Apply suplier filter bepaalt of artikelen van alle leveranciers getoond worden, of van alleen geselecteerde leveranciers (zie SETLIB).
Export to:
Een block kan weer uit subblocks bestaan (genest block), maar de telling is altijd op het laagste niveau, tenzij een sub-blocknaam begint met $ óf als het (sub)block voorkomt in de database. Als een genest block begint met $ wordt wel het bovenliggende block geteld. Een block waarvan de naam begint met $ wordt niet geteld.
Onderstaande tekening bestaat uit 3 sets van 4 stoelen en een tafel.
Het resultaat:
De knop Filters opent de lijst met aanwezige filters (Categoriën en Leveranciers).
Door het selecteren van een categorie worden de resulaten in het menu gefilterd, alleen de artikelen uit de geselecteerde categorie worden getoond. Gebruik de ctrl toets om meerdere categoriën te selecteren. Een categorie is het veld POST in de database.
Het selecteren van een leverancier kleurt de resultaten zodat direct zichtbaar is welke artikelen de betreffende leverancier kan leveren.
Countlist haalt de gegevens van een block uit de database, standaard is dit CADBASE.CSV. Dit is een lijst met alle blocknamen (de kolom SYMBOOL) en de gegevens die bij het block horen.
Bekijk of bewerk de database in Excel of met het commando EDITDATABASE.
Met SETLIB wordt ingesteld wlke database(s) gebruikt worden.
Als de telling in de tekening gedaan is wordt aan de hand van deze lijst eerst gekeken of er namen gewijzigd moeten worden. Vervolgens worden artikelen vervangen en tenslotte toegevoegd. Deze volgorde is van belang als bijvoorbeeld een block hernoemd wordt en later moet bij dit hernoemde block weer artikelen toegevoegd worden. De volgorde is dus altijd hernoemen, vervangen, toevoegen, ongeacht de volgorde in de Add/Replace Database.
Na bovenstaande bewerkingen wordt gekeken of er artikelen toegevoegd moeten worden (“ADD” in de laatste kolom). Het kan dus zijn dat een artikel eerst hernoemd is en dat bij dit hernoemde artikelen nog weer andere artikelen toegevoegd moeten worden. In het voorbeeld worden bij alle artikelen die eindigen op ”ADD-BLOCK-TEST” een extra artikel “EXTRA-ITEM1” toegevoegd en twee keer een artikel “EXTRA-ITEM2”. Het oorspronkelijke artikel blijft dus ook gewoon in de resultaten staan. Op deze manier kunnen dus eenvoudige, niet geneste blocks, zorgen voor meerdere artikelen in de COUNTLIST resultaten.
Als een artikel vervangen moet worden door een ander artikel staat in de laatste kolom een tekst is “REPLACE”. In bovenstaand voorbeeld wordt “H30D-HALVESWIV” vervangen door “H30-SWIVEL”. Het aantal is 0.5, dus elk block uit de eerste kolom wordt er in dit geval vervangen door een halve uit de tweede kolom. In de resultaten wordt alles naar boven afgerond, 2.5 wordt 3 en 2.1 ook. Stel dat je in de telling wil zien hoeveel kisten van iets nodig zijn vul dan de waarde van 1 item per kist in. Bijvoorbeeld er zitten 25 pennen in 1 kist, vervang dan 1 pen door 1/25e (0,04) kist. Je krijgt dan 1 kist bij 20 pennen en 2 kisten bij 30 pennen.
In het voorbeeld hierboven worden bijvoorbeeld alle blocks waarvan de naam eindigt op -3q hernoemd naar dezelfde naam zonder -3q. De pattern “*-3q” maakt dat alle blocks eindigend op die naam gevonden worden. Naast * mag ook ? als wildcard gebruikt worden. Als in de tweede kolom iets had gestaan was dit in de plaats gekomen van de tekst in de eerste kolom. Het aantal zal bij hernoemen altijd 1 zijn. De laatste kolom bepaald wat er moet gebeuren: als de tekst hier “RENAME” is, dan wordt het block hernoemd.
Wanneer je artikelen per kist wil tellen maar wat er overblijft als losse artikelen wil zien dan kan dit met REPLACENUM. Bijvoorbeeld er zitten 25 pennen in 1 kist, en er staan 30 pennen in de tekening, dan worden er 1 kist en 5 pennen geteld.
Als laatste wordt gekeken of er sets te maken zijn. Een set betekent dat meerdere losse onderdelen als een set in het resultaat komen te staan. In het voorbeeld van de tafels met stoelen (bij subblocks) zou bijvoorbeeld de losse Tafel 80cm samen met de 4 Pavarotti stoelen een set kunnen vormen. In de Add-Replace database ziet dat er dan zo uit:
In dit voorbeeld wordt gekeken of er een set te maken is van 4 stoelen en 1 tafel. Als dat het geval is (er staan minstens 4 stoelen en 1 tafel in de tekening), dan worden deze artikelen vervangen door een tafel-080-4p, wat dus in het magazijn een samengesteld onderdeel is. In de volgende tekening staan meerdere stoelen en tafels:
In totaal zijn er 3 tafels en 18 stoelen. Als we dit tellen zijn er 3 sets te maken en blijven er 6 stoelen over.
Het verschil met REPLACENUM is dus dat je niet één artikel wat een bepaald aantal keren in de tekening voorkomt vervangt door één ander onderdeel (25 pennen in 1 kist), maar dat er verschillende onderdelen kunnen zijn die samen een set vormen. De artikelen hoeven overigens niet bij elkaar te staan en mogen ook als subblock in de tekening staan.
Als voorgaande bewerkingen in Add-Replace de lijst hebben gewijzigd door artikelen te vervangen of toe te voegen dan werken de SET regels op de gewijzigde lijst. Met andere woorden: een artikel kan eerst met ADD zijn toegevoegd aan het resultaat en kan later in een SET worden samengevoegd.
Wanneer een block als regel EXCLUDE heeft, wordt deze overgeslagen tijdens de telling. Ook subblocks in het block worden niet geteld.
Na het tellen worden alle blocks die IGNORE als regel hebben uit de lijst verwijderd. Deze komen niet terug op de tellijst, ook niet bij 'Not in database'.
Wanneer een laag is ingesteld met regel IGNORELAYER worden blocks op die laag overgeslagen. Ook hun subblocks worden niet geteld.
Wanneer een dynamic block visual states bevat, wordt standaard de actieve visual state aan de blocknaam toegevoegd. Om dit voor specifieke blocks uit te schakelen kan de ADV regel worden gebruikt.